Android View 事件分发机制
触摸事件处理框架
Android 的 View 和 ViewGroup 采用了 Composite(组合) 设计模式,View 的组合具有高度动态性,在这种情况下,由于触摸事件是从底层驱动传递至上层 View 对象,如果按照普通对象间传递信息的方式,将会很复杂,很难处理,这里 Android 采用了 Chain of Responsibility(责任链) 设计模式,触摸事件流将通过视图树,使每个 View 对象都有机会处理事件,一旦某个 View 选择接收事件流,那么整个事件将交给它处理,如果 View 选择不处理,那么事件流会继续传递,直到找到最后的处理者,在处理触摸事件时有几个重要的方法,在弄懂 Android 事件分发机制之前,需要先了解这几个方法的作用及关系。