事件简介
事件类型
事件分发
-
Activity 的 dispatchTouchEvent 方法
-
PhoneWindow#superDispatchTouchEvent 调用了 DecorView#superDispatchTouchEvent
-
DecorView#superDispatchTouchEvent 调用了 ViewGroup#dispatchTouchEvent
-
ViewGroup#dispatchTouchEvent 重写了 View#dispatchTouchEvent
-
View#dispatchTouchEvent
-
View#onTouchEvent
事件处理
默认 View 类中的 dispatchTouchEvent 方法
事件处理顺序:onTouch -> onTouchEvent -> Onclick
事件流程
- 判断是否拦截子view
- 分发事件,判断哪个子view处理事件
- 执行事件 (当前view进行处理 或者 子view进行处理)