Android中的事件分发机制(一)
来源:互联网 发布:手机有刷屏软件吗 编辑:程序博客网 时间:2024/04/27 16:43
Activity或者View类中都有onTouchEvent回调方法,来接收touch事件。
一个完整的是从ACTION_DOWN开始,到ACTION_UP结束。
在简单的情况下,我们只需要在onTouchEvent中switch case语句,来处理三个动作(down,move,up)。
ViewGroup作为一个paraent是可以截获传向它的child的touch事件的。
那么,事件是如何传递的呢?
处理过程是按照Touch事件从上向下传递,再按照是否消费的返回值,从下向上返回,即如果View的onTouchEvent返回false,那么它将不消费事件,这个事件就交给它的上一级去消费,如果上一级也不消费,就再找上一级,这个过程最终会找到Activity,如果Activity也不消费,这个事件就消失了。
即 隧道式向下分发,然后 冒泡式向上处理。
分析图如下:
三个方法的作用:
dispatchTouchEvent:用来事件分发,这个方法调用了 onIterceptTouchEvent和onTouchEvent方法,一般来说,这个方法不重写。
onIterceptTouchEvent:用于事件拦截,ViewGroup类中源代码的事件它返回false,表示不拦截事件,我们可以自己去写返回值来控制事件的分发。
onTouchEvent:用来事件处理,返回true代表这个view能处理该事件,事件将会终止向上传递,如果返回false,表示不能处理该事件,则把事件传递给这个事件的父View的onTouchEvent方法。
1 0
- Android中的事件分发机制(一)
- 系列(一) Android 事件分发机制
- Android事件分发机制(一)
- Android事件分发机制详解(一)
- Android事件分发机制(一)
- Android----View事件分发机制(一)
- Android事件分发机制(一)
- Android事件分发机制(一)
- Android事件分发机制(一)
- android 事件分发机制详解(一)
- Android事件分发机制(一)
- android 事件分发机制一
- android事件分发机制一
- Android事件分发机制一
- android中的事件分发机制
- Android中的事件分发机制
- Android中的事件分发机制
- Android中的事件分发机制
- L1-006. 连续因子
- 他们的列表里包含你的Linux吗?
- VR系列——Oculus最佳实践:八、用户界面
- HTML中表单如何给输入框绑定待选项
- 一
- Android中的事件分发机制(一)
- OpenCV学习笔记四:绘图
- JavaSE 学习参考:static关键字用法汇总
- BZOJ 1413 [ZJOI2009] [洛谷2599] 取石子游戏 (博弈论 dp )
- 动态规划算法入门---java版
- java实现链表
- 自学Android之Activity:(一)关于Activity
- 快速排序 (图片系网络查找)
- hdu2955Robberies