ViewPager以前有简单的用过,但没做过自动滚动和循环滚动,在实现起来还是有很多细节需要注意。总体思路:
1.实现循环滚动的思路就是:
1)将PagerAdapter的getCount方法返回值设为无穷大,这样就可以实现无限制的滑动,不会出现滑到头的时候。
2)在每次添加新的View时,都是取当前position对总页数的取余数,然后得到要显示的页View进行添加,删除也是相同操作。
3)设定最开始的要显示的ViewPager的currentItem为Integ.MAX的一半左右,这样保证可以向左循环滑动。
2.实现自动循环的思路:
设定一个变量position来记录当前ViewPager的位置,开启一个新的线程,每隔一定时间对position加1,并发送一个Message给Handler,在Handler中重新setCurrentItem。
3.实现手动滑动与自动滑动结合:
1)利用一个boolean变量isTouched来记录当前是否在触摸ViewPager,在ViewPager的setOnTouchListener中更新该值

本文详细介绍了如何在Android开发中实现ViewPager的自动循环滚动和手动切换页面。首先,通过设置getCount返回无穷大实现无限滚动,再利用position取余数添加和删除页面。其次,创建线程并设定Handler,定时更新position实现自动循环。最后,通过isTouched变量判断用户是否在触摸,结合OnTouchListener和OnPageChangeListener确保手动滑动与自动滑动的平滑过渡。
最低0.47元/天 解锁文章
823

被折叠的 条评论
为什么被折叠?



