Android事件分发机制二:viewGroup与view对事件的处理 (8)

不管是viewGroup自己处理事件,还是view处理事件,如果没有被子类拦截(子类重写方法),最终都会调用到 view.dispatchTouchEvent 方法来处理事件。view处理事件的逻辑就比viewGroup简单多了,因为它不需要向下去分发事件,只需要自己处理。整体的逻辑如下:

首先判断是否被其他非全屏view覆盖。这和上面viewGroup的安全性检查是一样的

经过检查之后先检查是否有onTouchListener监听器,如果有则调用它

如果第2步没有消费事件,那么会调用onTouchEvent方法来处理事件

这个方法是view处理事件的核心,里面包含了点击、双击、长按等逻辑的处理需要重点关注。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzxwf.html