ViewPager是Android常用的页面切换组件,默认的是有左右切换的动画的,如何取消切换动画,无论在滑动还是点击切换的时候,今天我们就来学习下。
方法1:在调用切换方法setCurrentItem时,直接调用有传入动画参数的方法,传入参数为false。
viewPager.setCurrentItem(item, false);
方法2:我喜欢第二种,定义一个类继承ViewPager,这样就不用每次都多传入一个参数了。
public class MyViewPager extends ViewPager {
//定义一个变量,用来设置是否有切换动画,支持配置
private boolean scroll = false;
public MyViewPager(@NonNull Context context) {
super(context);
}
public MyViewPager(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
@Override
public void setCurrentItem(int item, boolean smoothScroll) {
//这里读取设置的值
super.setCurrentItem(item, scroll);
}
@Override
public void setCurrentItem(int item) {
//这里读取设置的值
super.setCurrentItem(item, scroll);
}
//设置方法
public void setScroll(boolean scroll) {
this.scroll = scroll;
}
}
最后,在初始化以后,调用下setScroll即可。
myViewPager.setScroll(false);
是不是很简单,赶紧试试吧。