Android笔记--整理我所理解的Touch 事件分发机制
来源:互联网 发布:淘宝助理电子面单设置 编辑:程序博客网 时间:2024/05/13 04:17
1、Android 中与 Touch 事件相关的方法有:dispatchTouchEvent(MotionEvent event)、onInterceptTouchEvent(MotionEvent event)、onTouchEvent(MotionEvent event)。其中参数event为手机屏幕触摸事件封装类的对象,其中封装了该事件的所有信息,例如触摸的位置、触摸的类型以及触摸的时间等。该对象会在用户触摸手机屏幕时被创建。
2、dispatchTouchEvent(MotionEvent event)主要用来分发事件,函数主要作用是来决定当前的事件是交由自己消费处理,还是交由子控件处理。
其中“分发”是指一个触摸或点击的事件发生,分发给当前触摸控件所监听的事件(如OnClick、onTouch等),进而来决定是控件的哪个函数来响应此次事件。
3、onInterceptTouchEvent(MotionEvent event)主要来决定当前控件是否需要拦截传递给子控件,如果返回True表示该控件拦截,并交由自己父类的dispatchTouchEvent处理消费,如果返回false表示不拦截,允许传递给子控件处理。
4、onTouchEvent(MotionEvent event) 此函数负责执行事件的处理,负责处理事件,主要处理MotionEvent.ACTION_DOWN、MotionEvent.ACTION_MOVE 、MotionEvent.ACTION_UP这三个事件。
5、一次完整的Touch事件,应该是由一个Down、一个或零个Up和若干个Move组成的。
6、当触摸一个View控件,
首先会调用这个dispatchTouchEvent(MotionEvent event)函数中的onTouch方法,
然后判断三个条件:判断View控件是否注册了OnTouchListener对象的监听、判断View控件是否能被点击、判断回调注册在View控件上的mOnTouchListener对象的onTouch方法返回值,
如果三个条件都返回真,那么dispatchTouchEvent返回真,Touch事件会分发给当前 View 由 dispatchTouchEvent 方法进行处理,同时事件会停止向下传递;返回假,Touch事件返回给 Activity 的 onTouchEvent 处理或者父 View 的 onTouchEvent 进行处理。
就是当dispatchTouchEvent(MotionEvent event)在进行事件分发的时候,只有前一个action返回true,才会触发后一个action。
7、mOnTouchListener对象的onTouch(this, event)这个判断很重要,决定能否回调OnClickListener接口的onClick函数。进而执行用户自定义代码。
- Android笔记--整理我所理解的Touch 事件分发机制
- 分析Android的Touch事件分发机制
- Android Touch事件的分发响应机制
- Android View Touch的事件分发机制
- android中touch事件的分发机制
- android touch事件分发机制的探究
- Android Touch事件分发机制
- Android Touch事件分发机制
- android touch事件分发机制
- android Touch事件分发机制
- Android Touch事件分发机制
- Android Touch事件分发机制
- Android:Touch事件分发机制
- Android Touch事件分发机制
- Android,Touch事件分发机制。
- Android Touch事件分发机制
- Android Touch 事件分发机制
- Android:Touch事件分发机制
- jQuery之动画效果
- 建立ROS的代码环境
- Codeforces 696A. Lorenzo Von Matterhorn(map离散化)
- HDU 1175 连连看
- Linux进程间通讯(IPC)------FIFO
- Android笔记--整理我所理解的Touch 事件分发机制
- 云直播系统架构与实施
- HTTP的请求方法OPTIONS
- 数据结构探险之HashMap 与Hashtable
- HDU1045 ZOJ1002 Fire Net
- Winform跨程序发送、接收消息
- jquery 常用的tabs效果代码
- 以SpringMVC框架为中心疯狂扩展-07、发送持久化的ActiveMQ消息
- Java 正则表达式详解