事件分发机制
| ViewGroup | view |
|---|---|
| //分发事件 | //分发事件 |
| dispatchTouchEvent | dispatchTouchEvent |
| //拦截事件 | \ |
| onInterceptTouchEvent | \ |
| //处理事件 | //处理事件 |
| onTouchEvent | onTouchEvent |
ViewGroup:
事件开始>dispatchTouchEvent问自己是否需要拦截此事件?
true:拦截事件,直接交给自己的onTouchEvent方法去处理事件,事件终止
false:不拦截,交给子控件去处理.
View:
传递到view控件:View下没有子控件
true:当前view处理该事件,事件终止
false:不处理当前事件,向上回传(传到上层的onTouchEvent)
如果最高层的onTouchEvent收到了子控件回传的事件,返回true则处理该事件,返回false,则不处理事件,事件丢失
本文详细解析了Android中触摸事件的分发机制,包括ViewGroup如何决定是否拦截事件,以及事件如何在ViewGroup和View之间传递。通过理解dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent等方法的工作原理,帮助开发者更好地掌控用户交互。
976

被折叠的 条评论
为什么被折叠?



