重写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;    }}

更多相关文章

  1. Android(安卓)Studio 找不到R文件解决方法汇总
  2. [置顶] 【Android】毫无耦合性,一个Item根布局搞定 item侧滑删除
  3. Exception in thread "main" java.lang.RuntimeException: Stub!
  4. Cocos2d-x 3.2导入到Eclipse后出现The import org.cocos2dx.lib
  5. android studio运行时提示All packages are not available for d
  6. Android利用ViewPager仿微信主界面-android学习之旅(78)
  7. Android实现ViewPager滑动播放视频,ViewPager+Fragment取消懒加载
  8. Android中为每个Activity显示自己的标题
  9. Android(安卓)禁止响应屏幕翻转

随机推荐

  1. 奈何两字拉成桥、不得不双击两次才能激活
  2. 使用node.js托管一个asp.net或jsp网站。
  3. 用原生js实现数字自相加
  4. 将对象值传递给指令而不是任何其他数据变
  5. 使用angularjs添加包含事件的新标记
  6. 使用倒计时进度条退出
  7. jQuery Slimbox没有正确请求文件
  8. 如何通过javascript显示隐藏的div?
  9. Javascript对象
  10. 在jQuery中使用css transform属性