一、Android的事件分发、拦截和响应
来源:互联网 发布:手机淘宝2015旧版本5.5 编辑:程序博客网 时间:2024/06/05 12:40
dispatchTouchEventonInterceptTouchEventonTouchEvent activity YNY viewgroup YYYviewYNY
注:此处的view指的的是:TextView,Button....等最终节点的view。
事件分发:public boolean dispatchTouchEvent(MotionEvent ev)
返回值(return):
true:表示事件终止向下分发,事件将会被当前view或者activity的dispatchTouchEvent消费。
false:表示事件终止向下分发,事件将会传递给上层的view或者activity的onTouchEvent消费,如
果当前为activity,则事件将会被系统消费。
super.dispatchTouchEvent(ev):将事件交给当前的事件拦截方法onInterceptTouchEvent进行处理,如果没有(view或者activity),
则传递给子view或者viewgroup的dispatchTouchEvent继续进行分发处理。
事件拦截:public boolean onInterceptTouchEvent(MotionEvent ev)
返回值(return):
true: 表示事件将被拦截,并将事件交由当前viewgroup(只有viewgroup有onInterceptTouchEvent方法)的onTouchEvent进行消费。
false:表示事件放行,继续向下分发给子view或者viewgroup的dispatchTouchEvent进行分发处理。
super.onInterceptTouchEvent(ev):表示事件将被拦截,并将事件交由当前viewgroup的onTouchEvent进行消费。
事件响应:public boolean onTouchEvent(MotionEvent ev)
返回值(return):
true:表示事件将被消费,并且此次事件终结。
false:表示事件将向上层viewgroup或者activity传递,并有上层的onTouchEvent进行接收,如果上层的onTouchEvent也返回false,
这次事件将会消失,并且接收不到下一次事件。
super.onTouchEvent(ev):和false相同。
最终要想让onTouchEvent响应:
dispatchTouchEvent返回false,向上传递给上层的onTouchEvent消费,或者系统默认super.dispatchTouchEvent,交由onInterceptTouchEvent
处理,或者继续向下分发。
onInterceptTouchEvent返回true或者super.onInterceptTouchEvent,都是被当前的onTouchEvent消费,如果当前的onTouchEvent返回false
,此次事件不会终结,会依次向上传递,并有上层的onTouchEvent响应,如果上层的onTouchEvent返回false,事件将会消失,并且
接收不到下一次的事件;如果当前的onTouchEvent返回非系统默认值,则代表此次事件终结。
- 一、Android的事件分发、拦截和响应
- Android事件分发机制,事件拦截和事件响应
- Android事件的分发、拦截和执行
- Android事件的分发、拦截和执行
- Android事件拦截/分发/响应 机制
- 分发拦截响应事件
- android 中的事件分发和事件拦截
- android View事件分发和事件拦截
- Android中View的事件分发和拦截机制
- Android 中触摸事件的分发和拦截
- Android中View的事件分发和拦截机制
- Android中View的事件分发和拦截机制
- 深入浅出 Android Touch 事件分发拦截响应机制
- Android 编程下 Touch 事件的分发和响应机制
- android事件拦截和分发机制详解
- Android 事件拦截和分发机制分析
- Android 触摸事件分发和拦截机制
- Android 事件拦截分发
- 2-11、12访问网络文件系统NFS、SMB
- thread
- centos7 安装mysql5.6
- CentOS7下卸载OpenJDK并安装完整JDK
- #ifndef 标识符 #define 标识符 ……#endif通俗说明
- 一、Android的事件分发、拦截和响应
- Kotlin编程之一
- Children of the Candy Corn
- Ubuntu下Python之dlib人脸检测
- Linux系统逻辑卷管理
- 17 多校 4
- <8/4>集训日记
- 剑指offer:包含min函数的栈
- hdu4548 美素数(C语言)