官方的ViewPager提供setCurrentItem方法没有提供参数取消过渡动画,只有通过自定义的方式调用setCurrentItem(item,false)方法取消了。
取消ViewPager的滑动切换,只需要在onInterceptTouchEvent放回false即可。
public class NoAnimationViewPager extends ViewPager {
public NoAnimationViewPager(Context context) {
super(context);
}
public NoAnimationViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void setCurrentItem(int item, boolean smoothScroll) {
super.setCurrentItem(item, smoothScroll);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return false;//返回false禁止滑动切换
}
@Override
public void setCurrentItem(int item) {
//去除页面切换时的滑动翻页效果
super.setCurrentItem(item, false);
}
}