Android开发--ViewPager自动循环滚动,手动换页

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     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中更新该值

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值