事件分发机制
一、为什么会有事件分发机制
安卓上面的View是树形结构的,View可能会重叠在一起,当我们点击的地方有多个View可以响应的时候,这个点击事件应该给谁呢?为了解决这一个问题,就有了事件分发机制。
二、三个重要的事件分发的方法
1.dispatchTouchEvent**(决定是自己还是下发到子View来询问是否处理)
2.onInterceptTouchEvent(对事件进行拦截)
3.onTouchEvent(处理传递到该View的事件)
三、事件分发流程
Activity->PhoneWindow->DecorView->ViewGroup->...->View
如果最后没有View处理事件,则反转回Activity,Activity没有处理才会报弃