android 事件分发

1. Android事件分发是先传递到ViewGroup,再由ViewGroup传递到View的。

2. 在ViewGroup中可以通过onInterceptTouchEvent方法对事件传递进行拦截,onInterceptTouchEvent方法返回true代表不允许事件继续向子View传递,返回false代表不对事件进行拦截,默认返回false。

3. 子View中如果将传递的事件消费掉,ViewGroup中将无法接收到任何事件。

4. 子View.mTouchListener.onTouch返回false,(此时,子View只会执行一次Action_Down,后续都不会执行),也就是没有消费该Event,则继续由ViewGroup去执行

5. 子View.mTouchListener.onTouch返回true,也就是消费了该Event。

原文地址:https://www.cnblogs.com/x-bing/p/6743791.html