解决ViewPager.serCurrentItem滑动页面不顺滑问题

来源:互联网 发布:微信可以打开淘宝地址 编辑:程序博客网 时间:2024/06/11 10:00

在调用viewpager.setCurrentItem(item, smoothscroll)方法的时候,把smoothscroll设为true,但还是感觉不顺滑,有种跳的感觉。解决这个问题需要自定义ViewPager.

public class MyViewPager extends ViewPager {
public MyViewPager(Context context) {
super(context);
}

public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
setMyScroller();
}

private void setMyScroller() {
try {
Class<?> clz = ViewPager.class;
Field scroller = clz.getDeclaredField("mScroller");
scroller.setAccessible(true);
scroller.set(this, new MyScroller(getContext())); // 设置自定义滚动器
} catch (Exception e) {
e.printStackTrace();
}
}

public class MyScroller extends Scroller {
public MyScroller(Context context) {
super(context, new DecelerateInterpolator());
}

public void startScroll(int startX, int startY, int dx, int dy, int duration) {
super.startScroll(startX, startY, dx, dy, 1000/*滑动动画一秒*/);
}
}
}

0 0
原创粉丝点击