事件分发流程 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)一样,事件都会继续往回传递
网友评论