【安卓-自定义布局】安卓App开发思路 一步一个脚印(七)实现ViewPager无限循环与自动播放
2016-10-04 12:01
661 查看
实现ViewPager无限循环与自动播放
自动播放,无非就是将ViewPager长度加到很大很大,大到无聊用户滑到手机没电为止,ViewPager实现滑动的监听,从而实现我要你滑到哪里你就去哪里。
mviewpager.setOnPageChangeListener(newViewPager.OnPageChangeListener(){ @Override publicvoidonPageScrolled(intposition,floatpositionOffset,intpositionOffsetPixels){ currentItem=position; } @Override publicvoidonPageSelected(intposition){ } @Override publicvoidonPageScrollStateChanged(intstate){ } });
关键函数
mViewPager.setCurrentItem(currentItem);
//设置ViewPager的默认项, 设置为长度的100倍,这样子开始就能往左滑动
mViewPager.setCurrentItem((mImageViews.length) * 100);
启动自动滚动的子线程
@OverridepublicvoidonResume(){super.onResume();//activity启动两秒钟后,发送一个message,用来将viewPager中的图片切换到下一个mHandler.sendEmptyMessageDelayed(1,2000);}@OverridepublicvoidonStop(){super.onStop();//停止viewPager中图片的自动切换mHandler.removeMessages(1);}
Handler
privateHandlermHandler=newHandler(){publicvoidhandleMessage(android.os.Messagemsg){switch(msg.what){case1:mviewpager.setCurrentItem(currentItem+1);//每两秒钟发送一个message,用于切换viewPager中的图片this.sendEmptyMessageDelayed(1,2000);}}};
适配器
@OverridepublicintgetCount(){returnInteger.MAX_VALUE/2;}@OverridepublicbooleanisViewFromObject(Viewview,Objectobject){returnview==object;}@OverridepublicvoiddestroyItem(ViewGroupcontainer,intposition,Objectobject){container.removeView(marrayList.get(position%marrayList.size()));}@OverridepublicObjectinstantiateItem(ViewGroupcontainer,intposition){Viewv=marrayList.get(position%marrayList.size());//防止v被添加前存在与另一个父容器中 如果View已经在之前添加到了一个父组件,则必须先remove,否则会抛出IllegalStateException。 if(v.getParent()!=null){((ViewGroup)v.getParent()).removeView(v);}container.addView(v);returnv;}备注,图片必须大于3张.其他可参考链接: http://blog.csdn.net/xiaanming/article/details/8966621
相关文章推荐
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(六)实现ViewPager最基本的
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十)实现内嵌在app中的webview 腾讯开源X5 高效安全
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十一)实现自定义左右滚动的导航栏目--仿美团
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十四)实现Fragment的缓冲视图和数据,防止重复加载
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十二)实现自定义左右滚动的信息块-仿蘑菇街
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(九)实现自定义滚动的新闻条目上下滚动-仿蘑菇街
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十三)关于ListView的优化总结
- 【安卓】安卓App开发思路 一步一个脚印(十五)实现闪屏的优化
- 【安卓】安卓App开发思路 一步一个脚印(二)FragmentTabHost实现底部的菜单
- Android无限循环与自动播放ViewPager的简单实现(广告栏)
- android 自定义无限循环播放的viewPager。轮播ViewPager。实现循环播放 广告,主题内容,活动,新闻内容时。
- 【安卓-优化点】安卓App开发思路 一步一个脚印(四)Fragment的重复利用
- 【安卓】安卓App开发思路 一步一个脚印(三)BaseActivity BaseFragment
- 【安卓】安卓App开发思路 一步一个脚印(一)欢迎界面
- Android实现基于ViewPager的无限循环自动播放带指示器的轮播图CarouselFigureView控件
- 【安卓】安卓App开发思路 一步一个脚印(五)多点触碰与单点触碰的冲突处理思路
- 实现无限自动循环的Viewpager,广告轮询页面
- Android 使用ViewPager实现图片左右循环滑动自动播放
- 安卓开发_慕课网_ViewPager与FragmentPagerAdapter实现Tab实现Tab(App主界面)
- 开发----Swift自定义View实现 实现自动循环滚动