触屏事件传递机制disPatchTouchEvent onInterceptTouchEvent onTouchEvent

来源:互联网 发布:linux命令文件拷贝到 编辑:程序博客网 时间:2024/05/18 06:21
disPatchTouchEvent():方法负责派发触屏事件.onInterceptTouchEvent():方法负责是否截断触屏事件.只有ViewGroup(布局组件有)onTouchEvent():方法负责消费触屏事件(Activity,View都有)1 触摸事件是从Activity的dispatchTouchEvent()方法开始。再调用父类的super.dispatchTouchEvent(ev),事件向派发2 事件派发到ViewGroup,onInterceptTouchEvent()方法回调,默认返回false(不拦截)事件向下View组件派发,View组件onTouchEvent()返回true(已消费),ok那么触屏事件处理完成,dispatchTouchEvent()方法返回true()(派发成功);                                                              false(不消费),向上传播ViewGroup的onTouchEvent()-->不消费        false                             返回true(拦截)事件不会向View派发,ViewGroup的onTouchEvent()true/false消费/不消费,向上传播若无人消费,dispatchTouchEvent()false(派发失败)

整个过程
1
2
3

0 0
原创粉丝点击