对Android view/viewgroup事件分发的理解
2016-07-04 18:20
274 查看
首先看看讲事件分发的博客: http://blog.csdn.net/xiaanming/article/details/21696315 和 http://www.csdn123.com/html/topnews201408/57/3457.htm
事件分发是自上而下的, 父节点消费了事件后, 子节点就无法再得到该事件(即拦截);如果子view消费了事件, 那么父view就不再传递该事件。、
最简单的例子, 一个viewgroup里包含一个view, 点击这个view。
07-04 18:08:08.507 10851-10851/android.gr.com.myapplication D/MyRelativeLayout: viewgroup dispatchTouchEvent
07-04 18:08:08.507 10851-10851/android.gr.com.myapplication D/MyRelativeLayout: viewgroup onInterceptTouchEvent
07-04 18:08:08.507 10851-10851/android.gr.com.myapplication D/MyView: view dispatchTouchEvent
07-04 18:08:08.508 10851-10851/android.gr.com.myapplication D/MyView: view onTouchEvent
07-04 18:08:08.508 10851-10851/android.gr.com.myapplication D/MyRelativeLayout: viewgroup onTouchEvent
我们要注意下ViewGroup的dispatchTouchEvent函数中这块代码, 如果拦截了ACTION_DOWN事件, 后续就不会有MOVE、UP事件了。
事件分发是自上而下的, 父节点消费了事件后, 子节点就无法再得到该事件(即拦截);如果子view消费了事件, 那么父view就不再传递该事件。、
最简单的例子, 一个viewgroup里包含一个view, 点击这个view。
07-04 18:08:08.507 10851-10851/android.gr.com.myapplication D/MyRelativeLayout: viewgroup dispatchTouchEvent
07-04 18:08:08.507 10851-10851/android.gr.com.myapplication D/MyRelativeLayout: viewgroup onInterceptTouchEvent
07-04 18:08:08.507 10851-10851/android.gr.com.myapplication D/MyView: view dispatchTouchEvent
07-04 18:08:08.508 10851-10851/android.gr.com.myapplication D/MyView: view onTouchEvent
07-04 18:08:08.508 10851-10851/android.gr.com.myapplication D/MyRelativeLayout: viewgroup onTouchEvent
我们要注意下ViewGroup的dispatchTouchEvent函数中这块代码, 如果拦截了ACTION_DOWN事件, 后续就不会有MOVE、UP事件了。
相关文章推荐
- Android Touch事件分发深入了解
- Android Touch事件的分发机制
- android中touch事件的分发机制
- android 事件分发机制完全解析 从源码开始(上)
- android 事件分发机制完全解析 从源码开始(下)
- cocos2dx事件监听器
- 谈谈对dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent的理解
- android view手势冲突的通用解决方法
- 对于Android事件分发机制的总结
- 【UI】【View】View事件分发(一)
- 【UI】【View】MotionEvent类详解
- [知识点整理]Android事件传递机制
- Android 编程下 Touch 事件的分发和消费机制
- Android事件分发机制
- 大话Android Touch事件传递机制
- android中的事件分发机制
- Android的事件分发(二)
- 事件的传递(一篇老外的博客)
- Android事件分发分析(一)
- Android模仿华为长按功能键实现清除内存功能