ViewGroup分发事件流程
2019-09-17 15:21:50 0 举报
ViewGroup事件分发流程
作者其他创作
大纲/内容
super.dispatchTouchEvent(ev)方法,默认向下分发
dispatchTouchEvent分发
onInterceptTouchEvent 返回默认值的时候,根据ViewGroup的onTouchEvent返回值判断
返回值默认
返回值false
返回false
返回值true
onTouchEvent
if()
1.默认返回super.onTouchEvent(event),事件将传递给ViewGroup中的View进行处理,2.如果ViewGroup中View不消费事件,事件将会返回给ViewGroup的onTouchEvent方法处理,3.ViewGroup的onTouchEvent方法默认不处理,返回给上层的onTouchEvent方法处理
事件将交给ViewGroup中的View处理
dispatchTouchEvent返回默认值的时候,将分发并传递给onInterceptTouchEvent
ViewGroup
返回true
事件也会传递给ViewGroup中的View进行处理,如果ViewGroup中View不消费事件,事件将会返回给ViewGroup的onTouchEvent方法,这时ViewGroup的onTouchEvent直接将事件消费掉,不返回上层的onTouchEvent方法了
super.onInterceptTouchEvent(ev)方法,默认向下分发
onInterceptTouchEvent 拦截
事件传递给ViewGroup的onTouchEvent消费,不再传递给它的View
如果返回false,事件将默认由ViewGroup传递给View,View不处理又返回给ViewGroup的onTouchEvent,ViewGroup的onTouchEvent返回false,所以事件又返回给上层的onTouchEvent方法
不分发,并且由ViewGroup的dispatchTouchEvent消费,后面的事件也是这样处理
0 条评论
下一页