当前位置:  编程技术>移动开发

android教程viewpager自动循环和手动循环

    来源: 互联网  发布时间:2014-10-23

    本文导语:  代码如下:package com.imoyo.expert; import java.util.ArrayList; import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.util.Log;import android.view.Lay...

代码如下:

package com.imoyo.expert;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;

public class ExActivity extends Activity {
 ViewPager viewPager;
 ArrayList list;
 ViewGroup main, group;
 boolean cunhuan = false;
 ImageView imageView;
 ImageView[] imageViews;
 private static int c_id = 0;
 static int page_id = 1;
 private Runnable switchTask = new Runnable() {
  public void run() {
   if (cunhuan) {
    viewPager.setCurrentItem(page_id); 
    page_id++;
   }
   cunhuan=true;
   Log.e("is_run", cunhuan+"");
   mHandler.postDelayed(switchTask, 3000);

  }
 };
 Handler mHandler = new Handler();
 @Override
 protected void onResume() {
  super.onResume();
  switchTask.run();
 }
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  getView();

  imageViews = new ImageView[list.size()];
  ViewGroup main = (ViewGroup) inflater.inflate(R.layout.activity_main,
    null);

  ViewGroup group = (ViewGroup) main.findViewById(R.id.viewGroup);

  viewPager = (ViewPager) main.findViewById(R.id.viewPager);

  for (int i = 0; i < 5; i++) {
   imageView = new ImageView(this);
   imageView.setLayoutParams(new LayoutParams(12, 12));
   imageViews[i] = imageView;
   if (i == 0) {
    imageViews[i].setBackgroundResource(R.drawable.img_blue_point);
   } else {
    imageViews[i].setBackgroundResource(R.drawable.img_white_point);
   }
   group.addView(imageView);
  }

  setContentView(main);
  ViewPagerAdapter adapter = new ViewPagerAdapter(this, list);
  viewPager.setAdapter(adapter);
  viewPager.setOnPageChangeListener(listener);
  viewPager.setCurrentItem(2);

 }

 public void getView() {
  inflater = getLayoutInflater();
  list = new ArrayList();
  list.add(inflater.inflate(R.layout.item4, null));
  list.add(inflater.inflate(R.layout.item5, null));

  list.add(inflater.inflate(R.layout.item1, null));
  list.add(inflater.inflate(R.layout.item2, null));
  list.add(inflater.inflate(R.layout.item3, null));
  list.add(inflater.inflate(R.layout.item4, null));
  list.add(inflater.inflate(R.layout.item5, null));

  list.add(inflater.inflate(R.layout.item1, null));
  list.add(inflater.inflate(R.layout.item2, null));
 }

 OnPageChangeListener listener = new OnPageChangeListener() {

  @Override
  public void onPageSelected(int arg0) {

   if (arg0 == 0) {
    viewPager.setCurrentItem(5, false);
    page_id=5;
   } else if (arg0 == 8) {
    viewPager.setCurrentItem(3, false);
    page_id=3;
   }else{
    page_id=arg0;
   }
   Log.e("arg", arg0 + "");

   for (int i = 2; i < 7; i++) {
    imageViews[i - 2]
      .setBackgroundResource(R.drawable.img_white_point);
   }
   switch (arg0) {
   case 7:
   case 2:
    imageViews[0]
      .setBackgroundResource(R.drawable.img_blue_point);
    break;
   case 3:
   case 8:
    imageViews[1]
      .setBackgroundResource(R.drawable.img_blue_point);
    break;
   case 4:
    imageViews[2]
      .setBackgroundResource(R.drawable.img_blue_point);
    break;
   case 0:
   case 5:
    imageViews[3]
      .setBackgroundResource(R.drawable.img_blue_point);
    break;
   case 1:
   case 6:
    imageViews[4]
      .setBackgroundResource(R.drawable.img_blue_point);
    break;
   }

  }

  @Override
  public void onPageScrolled(int arg0, float arg1, int arg2) {
  }

  @Override
  public void onPageScrollStateChanged(int arg0) {

  }
 };
 private LayoutInflater inflater;
}


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • android-viewpager-indicator
  • Android ViewPager相册横向移动的实现方法
  • Android利用ViewPager实现滑动广告板实例源码
  • android配合viewpager实现可滑动的标签栏示例分享
  • android 通过向viewpage中添加listview来完成滑动效果(类似于qq滑动界面)
  • 使用ViewPager实现android软件使用向导功能实现步骤
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • Android开发需要的几点注意事项总结
  • Android系统自带样式 (android:theme)
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android网络共享软件 Android Wifi Tether
  • Android访问与手机通讯相关类的介绍
  • Android 图标库 Android GraphView
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 轻量级Android开发工具 Android Tools
  • Android 2.3 下StrictMode介绍
  • Android 开发环境 Android Studio
  • IDEA的Android开发插件 idea-android
  • Android手机事件提醒 Android Notifier
  • XBMC的Android客户端 android-xbmcremote
  • Android小游戏 Android Shapes
  • Android电池监控 Android Battery Dog
  • android开发:“android:WindowTitle”没有对应项no resource
  • Android 上类似IOS 的开关控件。 Android ToggleButton
  • Android 将 android view 的位置设为右下角的解决方法
  • Android 2D游戏引擎 Android Angle


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3