Activity事件分发

2020-07-03  本文已影响0人  一壶浊尿洗香肠

事件分发流程 Activity dispatchTouchEvent --> ViewGroup dispatchTouchEvent --> ViewGroup onInterceptTouchEvent --> View dispatchTouchEvent --> View onTouchEvent

--> ViewGroup onTouchEvent --> Activity onTouchEvent。始终没有消费的话,事件会流失,后续事件也不会再传递。 如果有View/ViewGroup onTounchEvent返回true,后续事件都会到该View/ViewGroup

1、在dispatchTouchEvent中返回true,所有事件都会在dispatchTouchEvent中消费不会继续往下传递

2、在dispatchTouchEvent中返回false,不会调用其他方法,也不会接受之后的事件处理

3、在dispatchTouchEvent中返回super.dispatchTouchEvent(ev),才会正常事件分发流程

4、在onInterceptTouchEvent返回true,事件不会往子View传递,会直接调用同类中的onTouchEvent

5、在onInterceptTouchEvent返回false与super.onInterceptTouchEvent(ev)一样,都会继续往下传递

6、在onTouchEvent返回true,事件不会再往回传递,后续事件都会到这里来。

7、在onTouchEvent返回false与super.onInterceptTouchEvent(ev)一样,事件都会继续往回传递

上一篇 下一篇

猜你喜欢

热点阅读