android View 事件处理流程
来源:互联网 发布:网络测速工具 编辑:程序博客网 时间:2024/04/29 14:45
android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。
一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP
当屏幕中包含一个ViewGroup,而这个ViewGroup又包含一个子view,这个时候android系统如何处理Touch事件呢?到底是ViewGroup来处理Touch事件,还是子view来处理Touch事件呢?我只能很肯定的对你说不一定。呵呵,为什么呢?看看下面我的调查结果你就明白了。
每个View中都有的三个函数调用顺序:
此View 先调用dispatchTouchEvent ------> 再调用此View的
onInterceptTouchEvent 返回值为真---------》直接调用此View的onTouchEvent
返回值为假-----》调用下一个View的dispatchTouchEvent
android系统中的每个View的子类都具有下面三个和TouchEvent处理密切相关的方法:
1)public boolean dispatchTouchEvent(MotionEvent ev) 这个方法用来分发TouchEvent
事件分发是由:rootView → 子View
2)public boolean onInterceptTouchEvent(MotionEvent ev) 这个方法用来拦截TouchEvent
在分发过程中,如果哪一个的View 的 onInterceptTouchEvent 返回值为真的话
则停止像其子View 分发事件,子View 将得不到事件
默认的返回值为false
3)public boolean onTouchEvent(MotionEvent ev) 这个方法用来处理TouchEvent
onTouchEvent 如果返回值为真: 则将会执行onTouchEvent 中的内容,它的父View 将不会处理此事件
如果返回值为假:则不会执行onTouchEvent 中的内容, 交给它父View, 由父View 的OnTouchEvent返回值决定
默认返回值为假。
- android View 事件处理流程
- Android View 事件分发处理流程
- Android事件处理流程
- Android事件处理流程
- android事件处理流程
- View以及ViewGroup的事件处理流程
- Android-View事件处理机制
- Android View事件分发处理
- Android热插拔事件处理流程
- Android事件处理流程分析
- Android事件处理流程分析
- Android touch事件处理流程
- android触摸事件处理流程
- android触摸事件处理流程
- Android触摸事件处理流程
- Android热插拔事件处理流程
- Android按键事件处理流程
- Android键盘事件处理流程
- 万一老师直播如何播放音乐文件
- PHP与mysql
- Eclipse无法自动编译出class文件
- respnosive webdesign参考要点
- 第八周实验报告(3)
- android View 事件处理流程
- 名言
- Auto CAd ObjectARX vs vc++ 最佳组合
- 小尝试
- UTF-8编码问题总结:HTML,PHP,MYSQL,JS,FLASH
- Cocos2D-x学习教材
- fflush(stdin)和fflush(stdout)
- C#之获取年、月、日、时、分、秒...
- 两个数组a[N],b[N],其中a[N]的各个元素值已知,现给b[i]赋值