事件分发机制
ViewGroup | view |
---|---|
//分发事件 | //分发事件 |
dispatchTouchEvent | dispatchTouchEvent |
//拦截事件 | \ |
onInterceptTouchEvent | \ |
//处理事件 | //处理事件 |
onTouchEvent | onTouchEvent |
ViewGroup:
事件开始>dispatchTouchEvent问自己是否需要拦截此事件?
true:拦截事件,直接交给自己的onTouchEvent方法去处理事件,事件终止
false:不拦截,交给子控件去处理.
View:
传递到view控件:View下没有子控件
true:当前view处理该事件,事件终止
false:不处理当前事件,向上回传(传到上层的onTouchEvent)
如果最高层的onTouchEvent收到了子控件回传的事件,返回true则处理该事件,返回false,则不处理事件,事件丢失