ViewPager自动滚动

来源:互联网 发布:企业qq for mac版 编辑:程序博客网 时间:2024/06/05 09:55

ViewPage实现自动滚动并没有通过ScheduledExcutorService或者Timer定期执行某个任务实现,而是简单的通过handler发送消息去完成一次滚动,在完成一次滚动后发送另外一个delay的滚动消息,如此循环实现。

ViewPager滑动速度的设置是通过反射的方式重新设置ViewPager的Scroller,改变Scroller的startScroll的间隔时间完成的。调用setScrollDuration(double)即可。

如何使用呢?

首先,引入公共库。

Android Auto Scroll ViewPager 作为你项目的library。

然后,调用。分两步。

第一步,利用自动滚动AutoScrollViewPager来代替一般的ViewPager。

第二步,启动ViewPager自动滚动。

startAutoScroll()启动自动滚动

stopAutoScroll()停止自动滚动

另外,我们可以根据自己的需求进行一系列相关的设置。

setInterval(long)设置自动滚动的间隔时间,单位为毫秒

setDirection(int)设置自动滚动的方向,默认向右

setCycle(boolean)是否自动循环轮播,默认为ture

setScrollDurationFactor(double)设置VIewPager滑动动画间隔时间的倍率,达到减慢动画或者改变动画速度的效果

setStopScrollWhenTouch(boolean)当手指碰到ViewPager时是否停止自动滚动,默认为true。

setSlideBorderMote(int)滑动到第一个或者最后一个Item的处理方式,支持没有任何操作、轮播以及传递到父View三种模式。

setBorderAnimation(boolean)设置循环滚动时滑动到边缘滚动到下一个是否需要动画,默认为true。

0 0
原创粉丝点击