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);
是不是很简单,赶紧试试吧。