Android事件分发06——事件分发流程图总结
前面我们介绍了事件分发的相关内容,现在我们用流程图来梳理一遍。
一、Activity的dispatchTouchEvent
- 触摸屏幕后,我们的事件会传递到当前的 Activity 的 dispatchTouchEvent 方法中。
- Activity的dispatchTouchEvent把事件分发到 ViewGrop 的 dispatchTouchEvent 方法中
- ViewGrop 的 dispatchTouchEvent方法开始分发给子view
- 如果ViewGrop处理没有消费事件,事件将传递到Activity的onTouchEvent中
- Activity的onTouchEvent,进行一系列判断,看看是否需要关闭Activity,需要就关闭Activity消费事件,不要就丢弃事件
也就是说其实就是就这点事情:Activity的dispatchTouchEvent() —-> ViewGrop的dispatchTouchEvent()—->Activity的onTouchEvent
二、ViewGrop的dispatchTouchEvent
三、View的dispatchTouchEvent
- 如果控件可用的,并且添加了触摸的监听,那么先执行监听的onTouch
- 第1不没有返回true,开始调用 onTouchEvent