通过自定义ViewPager的方式,禁止滑动切换和取消过渡动画

官方的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);

    }

}

你可能感兴趣的:(自定义view,ViewPager)