上周使用 ViewPager+MediaPlayer开发了一个图片视频轮播的小程序,在客户端反馈:图片切换过程中动画的滑动速度可以自定义设置,切换速度可快可慢。
基于以上需求,我在stackoverflow上面找到了一个不错的解决方案,在此和大家分享下。原文
原理是自定义ViewPager里面的Scroller,因为在ViewPager通过默认的Scroller来控制滑动速度的,通过继承ViewPager.Scroller.java
,并且覆写startScroll
方法实现。
@Override
public void startScroll(int startX, int startY, int dx, int dy, int duration) {
super.startScroll(startX, startY, dx, dy, (int) (duration * mScrollFactor));
}
在这里就不重复贴代码了,需要的可以看下详细地实现流程。