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

     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中更新该值,只有在isTouched为false时才对Handler发送Message。

             2)在手动滑动页面时要改变position值,否则在下次自动滑动时position的值没有更新将报错,所以我们在ViewPager的setOnPageChangeListener中来更新position。

      接下来来动手实现自己的思路:<

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值