博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 事件传递机制
阅读量:6335 次
发布时间:2019-06-22

本文共 850 字,大约阅读时间需要 2 分钟。

hot3.png

android 事件传递机制:
【触摸事件】
1: onTouchEvent();触摸事件
2: dispatchTouchEvent(MotionEvent)分发事件
3:onInterceptTouchEvent() 拦截事件
onTouchEvent()------->view-----------》 dispatchTouchEvent如果 dispatchTouchEvent返回true,那么 view的 onTouchEvent()处理事件,如果返回false,那么看 onInterceptTouchEvent(),如果 onInterceptTouchEvent()返回ture还是 view的 onTouchEvent()处理事件,如果返回false则交给view的子view dispatchTouchEvent进行再次分发,依次类推;
注:
1:onInterceptTouchEvent()是rootiew向下传递, onTouchEvent()刚好相反;
按键事件
Android按键事件处理主要在View和Activity两个级别。和 触摸事件 相比,简单很多。
按键事件的处理机制:
1、默认情况下,如果没有View获得焦点,事件将传递给Activity处理。
2、如果View获得焦点( View.SetFocusable(true) ),事件首先传递到View的回调方法中。view回调方法返回false,事件继续传递到Activity处理。反之,事件不会继续传递。
注:
1、按键的onKeyDown和onKeyUp是相互独立的,不会相互影响。
2、无论是View还是Activity中,建议重写事件回调方法时,只对处理过的按键返回true,没有处理的事件应该调用其父类方法。
否则,其他未处理事件不会被传递到合适的目标组件中,例如:Back按键失效问题。

转载于:https://my.oschina.net/u/579305/blog/760703

你可能感兴趣的文章
A10虚拟化技术在“云计算”中的应用
查看>>
windows7显示摄像头图标的方法
查看>>
nginx apache Smokeping 安装配置
查看>>
实战1:创建Windows Server 2008域
查看>>
DAO-数据访问对象(Data Access Object) 模式
查看>>
失声的黄莺
查看>>
foreman架构的引入3-安装Foreman1.5.3架构(all-in-one)
查看>>
职业机会成本
查看>>
深入研究java.lang.ProcessBuilder类
查看>>
解析入口参数为实体的表达式树
查看>>
【原创】利用MySQL 的GROUP_CONCAT函数实现聚合乘法
查看>>
使用RHEL6.3+PXE+DHCP+Apache+NFS+KickStart 无人值守安装RHEL6.3
查看>>
Bing Maps进阶系列四:路由功能服务(RouteService)
查看>>
46. Permutations——本质和树DFS遍历无异 fun: for i in nums fun(i)
查看>>
Java线程:大总结
查看>>
java.lang.OutOfMemoryError: GC overhead limit exceeded
查看>>
Android--MediaPlayer高级
查看>>
C#:10进制转2进制函数
查看>>
EBS R12中中间层(Middle Tier)及应用层脚本(单独开启各服务脚本)-DB层
查看>>
基于OEA框架的客户化设计(二) 元数据设计
查看>>