本文实例为大家分享了android手动和自动轮播图效果的具体代码,供大家参考,具体内容如下

1、准备好需要的轮播图片,图片标题(初始化,声明)。

/**轮播图片*/  private int[] imageIds=new int[]{      R.drawable.ic_launcher,      R.drawable.simple_player_control_focused_holo,      R.drawable.dot_player1_1,      R.drawable.jt5,  };  /**轮播图片的标题*/  private String[] titles=new String[]{      "我是一",      "我是二",      "我是三",      "我是四",  };

2、在你要轮播的布局里面加入下面的布局(相当于加入一个控件,看你想放哪里).

                                                                       

3、把图片和标题都设置控件里面。

 /**显示的图片*/    images = new ArrayList();    for(int i=0;i();    dots.add(view.findViewById(R.id.dot_0));    dots.add(view.findViewById(R.id.dot_1));    dots.add(view.findViewById(R.id.dot_2));    dots.add(view.findViewById(R.id.dot_3));    /**轮播的标题*/    title = (TextView) view.findViewById(R.id.title);    title.setText(titles[0]);

4、findViewById到控件布局里面的ViewPager,new 一个ViewpagerAdapter(),通过setOnPageChangeListener的方法来监听改变

viewPager = (ViewPager) view.findViewById(R.id.viewPager);    adapter = new ViewPagerAdapter();    viewPager.setAdapter(adapter);    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {      @Override      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {        title.setText(titles[position]);         dots.get(position).setBackgroundResource(R.drawable.dot_focused);        dots.get(oldPosition).setBackgroundResource(R.drawable.dot_normal);         oldPosition = position;        currentItem = position;      }       @Override      public void onPageSelected(int position) {       }       @Override      public void onPageScrollStateChanged(int state) {       }    });

5、自定义一个ViewPagerAdapter

 /**   * 自定义Adapter   * 内部类   */  private class ViewPagerAdapter extends PagerAdapter {     @Override    public int getCount() {      return images.size();//传入的数据    }     @Override    public boolean isViewFromObject(View arg0, Object arg1) {      return arg0 == arg1;    }     @Override    public void destroyItem(ViewGroup view, int position, Object object) {      // TODO Auto-generated method stub//     super.destroyItem(container, position, object);//     view.removeView(view.getChildAt(position));//     view.removeViewAt(position);      view.removeView(images.get(position));    }     @Override    public Object instantiateItem(ViewGroup view, int position) {      // TODO Auto-generated method stub      view.addView(images.get(position));      return images.get(position);    } }

6、这些自己看着改主要是线程池,handler,定时轮换

 /**   * 图片轮播任务   *   */  private class ViewPageTask implements Runnable{     @Override    public void run() {      currentItem = (currentItem + 1) % imageIds.length;      mHandler.sendEmptyMessage(0);    }  }   /**   * 接收子线程传递过来的数据   */  private Handler mHandler = new Handler(){    public void handleMessage(android.os.Message msg) {      viewPager.setCurrentItem(currentItem);    };  };  @Override  public void onStop() {    // TODO Auto-generated method stub    super.onStop();    if(scheduledExecutorService != null){      scheduledExecutorService.shutdown();      scheduledExecutorService = null;    }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. Android(安卓)RecyclerView控件
  2. Android(安卓)左侧抽屉 +点击事件
  3. android:layout_above="@+id/XXX"与android:layout_below="@+id/
  4. ScrollView中的控件占据ScrollView的match_parent
  5. Android开发 去掉标题栏方法 摘记
  6. Android相册中获取图片和路径
  7. Android快速开发框架dyh详解(五)---基础层的使用
  8. Android(安卓)使用WebView 加载新闻详情,添加点击图片的js(使用的
  9. android 左右滑动+索引图标实现方法与代码

随机推荐

  1. Android(安卓)glide 4.x找不到GlideApp
  2. Android(安卓)WebView Scrolling Perform
  3. Android图片压缩——Luban鲁班压缩
  4. android dpi dp 和px之间的关系
  5. android 使用SharedPreferences保存list
  6. android的sd卡上创建目录不显示
  7. Android(安卓)积累一些RxJava2.0有关的知
  8. android常见问题记录(03.13update)
  9. android 控件
  10. 给Android(安卓)JellyBean添加internal r