zoukankan      html  css  js  c++  java
  • Viewpager禁止滑动

    参考:http://www.jianshu.com/p/d3d766cf73d7

    public class NoScrollViewPager extends ViewPager { private boolean isScroll; public NoScrollViewPager(Context context,AttributeSetattrs{ super(context, attrs); } public NoScrollViewPager(Context context) { super(context); } /** * 1.dispatchTouchEvent一般情况不做处理 *,如果修改了默认的返回值,子孩子都无法收到事件 */ @Override public boolean dispatchTouchEvent(MotionEvent ev) { return super.dispatchTouchEvent(ev); // return true;不行 } /** * 是否拦截 * 拦截:会走到自己的onTouchEvent方法里面来 * 不拦截:事件传递给子孩子 */ @Override public boolean onInterceptTouchEvent(MotionEvent ev) { // return false;//可行,不拦截事件, // return true;//不行,孩子无法处理事件 //return super.onInterceptTouchEvent(ev);//不行,会有细微移动 if (isScroll){ return super.onInterceptTouchEvent(ev); }else{ return false; } } /** * 是否消费事件 * 消费:事件就结束 * 不消费:往父控件传 */ @Override public boolean onTouchEvent(MotionEvent ev) { //return false;// 可行,不消费,传给父控件 //return true;// 可行,消费,拦截事件 //super.onTouchEvent(ev); //不行, //虽然onInterceptTouchEvent中拦截了, //但是如果viewpage里面子控件不是viewgroup,还是会调用这个方法. if (isScroll){ return super.onTouchEvent(ev); }else { return true;// 可行,消费,拦截事件 } } public void setScroll(boolean scroll) { isScroll = scroll; } }


    作者:Jlanglang
    链接:http://www.jianshu.com/p/d3d766cf73d7
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    python(7)-pycharm mac和windows专业版安装破解
    Navicat Premium15激活 安装与激活(转载) 有效!!
    PHP 冒泡排序
    PHP 插入排序 -- 希尔排序
    PHP 插入排序 -- 折半查找
    PHP 插入排序 -- 直接插入排序
    PHP 哈夫曼的实现
    PHP call_user_func的一些用法和注意点
    PHP 组件注册的例子
    PHP 奇葩的debug_zval_dump的输出
  • 原文地址:https://www.cnblogs.com/manmanlu/p/7659966.html
Copyright © 2011-2022 走看看