您的位置:首页 > 其它

ViewPager切换滑动速度

2015-09-08 12:17 417 查看
点击打开链接我们都知道,当我们使用setCurrentItem方法切换ViewPager的页面时,会非常迅速,那么我们该如何改变这个速度呢。因为Google官方将速度写死了,所以我们需要通过反射机制来修改底下修改的代码:
public class FixedSpeedScroller extends Scroller {private int mDuration = 300;public FixedSpeedScroller(Context context) {super(context);}public FixedSpeedScroller(Context context, Interpolator interpolator) {super(context, interpolator);}@Overridepublic void startScroll(int startX, int startY, int dx, int dy, int duration) {// Ignore received duration, use fixed one insteadsuper.startScroll(startX, startY, dx, dy, mDuration);}@Overridepublic void startScroll(int startX, int startY, int dx, int dy) {// Ignore received duration, use fixed one insteadsuper.startScroll(startX, startY, dx, dy, mDuration);}public void setmDuration(int time) {mDuration = time;}public int getmDuration() {return mDuration;}}
在使用viewpager的时候调用该方法
 try {Field field = ViewPager.class.getDeclaredField("mScroller");field.setAccessible(true);FixedSpeedScroller scroller = new FixedSpeedScroller(viewPager.getContext(),new DecelerateInterpolator());field.set(viewPager, scroller);scroller.setmDuration(2000);} catch (Exception e) {}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: