关于android中的事件分发机制,点击事件分发机制详解
2016-12-20 19:58
274 查看
一,什么是事件分发机制: 一个动作从手指落下到手指抬起的整个过程,这个事件(动作)在程序中所经历的顺序,或者说发放的过程,或者说程序处理的过程。 整体有一句话概述:隧道式向下(内)分发,冒泡式向上处理, 二,事件分发机制涉及到的三个基本的方法及调用关系: 1,public boolean dispatchTouchEvent(MotionEvent ev) 方法描述: 此方法是隧道式分发。 如果此方法返回的是系统默认的 super.dispatchTouchEvent(ev)或者false时,会调用 onInterceptTouchEvent方法判断是否拦截。 如果返回的是true会调用onTouchEvent进行消费。不再向下传递。 2,public boolean onInterceptTouchEvent(MotionEvent ev) 方法描述: 如果此方法的返回值是默认的super.onInterceptTouchEvent(ev) 那么将会调用ontouch方法处理,不会被拦截 如果返回值是false,那么将会放行并且调用子控件的dispatchTouchEvent交给子类去处理。 如果此方法的返回值是true,那么将会调用onTouchEvent来处理事件。并且事件将会被拦截。 3,public boolean onTouchEvent(MotionEvent ev) 方法描述: 此方法的传递很特殊,是向上传递的,又叫做冒泡式响应。 如果此方法返回的是false,或者是默认的super.onTouchEvent(ev) 那么将会向上传递给上级的onTouchEvent事件,如果上级也返回false,那么事件将会消失,并且而且接收不到下一次事件。 如果返回的是true,则不再向上传递。接收并消费该事件。
如图所示,图片详细描述了一个点击事件从外向内进行分发的整个过程。先是隧道式分发,然后冒泡式响应。
相关文章推荐
- Android Touch事件分发机制详解之由点击引发的战争
- 关于Android事件分发机制的理解
- Android 事件分发机制详解
- Android 事件分发机制详解
- Android 事件分发机制详解--真正的解析
- Android:View事件分发机制详解
- Android事件分发机制详解
- android View的点击事件分发机制的简单认知
- 【Android学习】View点击事件的分发机制(一)
- Android中Touch事件分发机制-关于dispatchTouchEvent等方法的研究
- Android事件分发机制源码剖析(2)—顶层View对点击事件的分发过程
- Android事件分发机制详解(2)----分析ViewGruop的事件分发
- Android事件分发机制详解(1)----探究View的事件分发
- Android中事件分发机制详解
- Android 事件分发机制详解
- Android 事件分发机制详解
- Android 事件分发机制详解
- 关于Android的Touch事件的分发机制
- Android事件分发机制详解
- Android事件分发机制详解