[Android高级进阶] - 触摸事件的传递机制
来源:互联网 发布:淘宝客服设置自动回复 编辑:程序博客网 时间:2024/05/22 00:09
主要本文的主要的内容来源《Android 高级进阶》(顾浩鑫/著)图书
先看一下思维导线
Android View(除ViewGroup的控件) 的事件处理机制,我们可以理解成一个场景。当用户开始一个触摸的事件, 就行先从最外的Activity开始, 首先会问, dispatchTouchEvent是否要继续传递事件呢?如果不传递就就会直接完成的这个的事件,如果继续传递,就到View控件中。然后会继续这个控件, 你会不会继续分发这个事件呢?如果View控件说,我不要这个事件,那么有问View控件,是否要直接杀死这个事件? 如果杀死(true),完成事件。如果不杀死就交给上层进行事件消费的,然后完成事件。
如果,View空间接受这个事件,则会开始处理,View控件先会问一下老大(onTouch)我可以不执行事件吗(想偷个懒)?老大说:不可以,就开始消费事件(onTouchEvent)。如果老大说:可以偷懒,那么就完成放弃了这个事件。
流程图:
Android ViewGroup 的事件处理机制和View控件的很类似,不同的地方有:
1, ViewGroup 有一个拦截的功能(onInterceptTouchEvent)函数,在调用完成分发函数后调用。如果返回的true 表示拦截此事件,事件将不会在继续向下分发事件。直接返回给上一层的Activity
2,在子View中对事件进行消费后,ViewpGroup将接受不到任何事件。
1 0
- [Android高级进阶] - 触摸事件的传递机制
- 《Android高级进阶》读书笔记——第一章:Android 触摸事件传递机制
- Android进阶- 触摸事件的分发机制
- Android进阶- 触摸事件的分发机制
- Android 触摸事件传递机制
- Android 触摸事件传递机制
- Android 触摸事件传递机制
- Android 触摸事件传递机制
- Android 触摸事件传递机制
- Android 触摸事件传递机制
- android 触摸事件传递机制
- android触摸事件传递机制
- Android 触摸事件传递机制
- Android触摸事件传递机制
- Android触摸事件传递机制
- Android 触摸事件传递机制
- Android 触摸事件传递机制
- 触摸事件的传递机制
- yum 和 rpm 安装软件
- Core Data: 非标准数据类型总结
- nachos-java Task1.5 Priority Scheduling
- 【BDTC2016】大数据分析与生态系统论坛:大数据存储、处理技术大比评 百花齐放落地实践大展现
- informix-dbexport-dbimport
- [Android高级进阶] - 触摸事件的传递机制
- 嵌套高度
- java中的标识接口
- mysql字符字节
- 第2章 IPC机制
- springmvc 发送ajax中文乱码的几种解决办法
- Java通过SpyMemcached来缓存数据
- 最小二乘的几何意义及投影矩阵
- 数据库连接工厂错误原因分析