requestDisallowInterceptTouchEvent方法

来源:互联网 发布:手机淘宝怎么设置运费 编辑:程序博客网 时间:2024/05/16 10:15

在android 事件传递的过程中,事件一层一层向下传递,直到父类有拦截,否则会一直传递到底层View的onTouchEvent方法。

如果父类有拦截,则直接跳过子类,走父类的onTouchEvent方法。

冒泡过程中只会有一个控件的ontouchEvent方法返回true,返回true代表事件不再向上冒泡。返回false会继续向上冒泡。


其中,requestDisallowInterceptTouchEvent方法可以阻止父类拦截事件,使用方法是:

重写自己用到的View的onTouchEvent方法,在其ACTION_DOWN的时候,调用父View的requestDisallowInterceptTouchEvent(true)方法设置,在ACTION_UP或者ACTION_CANCEL的时候,调用调用父View的requestDisallowInterceptTouchEvent(false)方法重置。

0 0
原创粉丝点击