Android动态设置ViewPager是否可手指滑动

来源:互联网 发布:cnc模拟仿真软件 编辑:程序博客网 时间:2024/05/18 02:23

重写onTouchEvent和onInterceptTouchEvent即可.
注意:这段代码并不是取消了滑动效果,只是拦截了滑动事件,不允许手指滑动,通过setCurrentItem切换时依旧有滑动的动画效果。

/** * 自定义ViewPager,可动态设置是否支持滑动 * Created by monty on 2017/8/27. */public class CustomViewPager extends ViewPager {    private boolean isCanScroll;    public CustomViewPager(Context context) {        super(context);    }    public CustomViewPager(Context context, AttributeSet attrs) {        super(context, attrs);    }    @Override    public boolean onTouchEvent(MotionEvent ev) {        if (isCanScroll) {            //允许滑动则应该调用父类的方法            return super.onTouchEvent(ev);        } else {            //禁止滑动则不做任何操作,直接返回true即可            return true;        }    }    @Override    public boolean onInterceptTouchEvent(MotionEvent arg0) {        if (isCanScroll)            return super.onInterceptTouchEvent(arg0);        else            return false;    }    //设置是否允许滑动,true是可以滑动,false是禁止滑动    public void setIsCanScroll(boolean isCanScroll) {        this.isCanScroll = isCanScroll;    }}
原创粉丝点击