图解Android事件传递之ViewGroup篇
2016-02-11 17:25
761 查看
本篇文章主要讲述ViewGroup中关于触摸事件传递的相关逻辑。主要梳理一下
如果一个子
关于
更详细的源代码请查看我的github
dispatchTouchEvent函数。
一些知识点
FLAG_DISALLOW_INTERCEPT,可以使用
requestDisallowInterceptTouchEvent来设置
ViewGroup的这个标记位,让ViewGroup不拦截事件。
ViewGroup只会将触摸事件转发给那些可见并且触摸事件发生在其可视范围内的子
View
如果一个子
View没有接收
ACTION_DOWN事件,那么这个事件系列的
ACTION_MOVE或者
ACTION_UP事件根本不会传递给它
关于
ViewGroup拦截与否消费与否的判断,只要记住一点就可以轻易判断:1
ViewGroup是否最终没有消费触摸事件(无论是自己自己消费,还是分发给子view消费),决定之后的触摸事件是否会再转发给它。
更详细的源代码请查看我的github
相关文章推荐
- ANDROID_MARS学习笔记_S01_009Relative_LAYOUT例子
- android获取时间
- android 访问MediaStore基础
- Android使用xUtils3上传文件
- android:第二个anroid项目 电话拨号器
- Android Window 9问9答
- Android之-异步消息处理机制
- Android保证首次获取到的location对象不为空的解决方案
- Android之图片加载库Picasso源码分析
- Android之Context详解
- Android应用安全开发之防范无意识的数据泄露
- android——error opening trace file: No such file or directory (2)
- 【Android】7.6 FrameLayout(帧布局)
- 【Android】7.5 RelativeLayout(相对布局)
- Android 的性能 II-性能提升技巧
- 【Android】7.4TableLayout(表格布局)
- Android短信大全案例
- Android Studio—— 关于在Android Studio中使用Assets目录下的资源的问题
- Android——内存调试
- android 之 ListView 里面嵌套 GridView 遇到的问题及其解决方法。