美文网首页
事件分发原理(不包括实战)

事件分发原理(不包括实战)

作者: 落叶随风花落入泥 | 来源:发表于2017-09-14 14:31 被阅读0次

事件分发

事件分发,不论在面试还是在项目中出现的频率都是很大的,我对事件分发机制原理一直是模棱两可的,所以花了一点时间彻底梳理一下,以备自己遗忘后可以快速的记起。

事件分发流程图

屏幕快照 2017-09-14 下午1.32.11.png

流程图解析

1 处理事件分发有三个层级  Activity 层   viewGroup 层   view 层
2 处理事件有三个方法,dispatchTouchEvent  onInterceptTouchEvent   
 onTouchEvent 
3 dispatchTouchEvent 如果是返回的是true,表明在本层进行消费,如果是
 false,则表明不消费此事件(不接受,所以其子控件也就不会接收到这个事
 件,并进行相应的操作),如果是返回的是true,说明这个层级是消费这个事件
 的,这个时候调用的是onIntercepTouchEvent方法,这个方法返回的是true,说
 明对这个事件进行拦截,不给自view了,直接调用本层级的onTouchEvent方
 法,对事件进行消费,如果是返回的false说明是不拦截这个事件,传递给子
 view,会调用子view的dispatchTouchEvent方法,这个方法也会返回一个值,
 如果是true,说明我这要消费,这时会调用onTouchEvent的方法,进行事件的
 处理。如果是false,表示我也不干,这时候会调用上一层级的onTouchEvent方
 法,它也会返回一个值,如果是true,说明这个活我干了,你不用管了。如果是
 false就说明,我也不干,接着返回上衣层级的onTouchEvent方法,这里进行着
上述同样的操作。如果都不消费最终会交给activity终止此次事件。

相关文章

  • 事件分发原理(不包括实战)

    事件分发 事件分发,不论在面试还是在项目中出现的频率都是很大的,我对事件分发机制原理一直是模棱两可的,所以花了一点...

  • 自定义PhotoView 缩放 & 多点触摸

    注意:对事件分发原理不了解的,建议学习下事件分发原理。 PhotoView项目实战 完整的demo参考GitHub...

  • 自定义View进阶《十三》——事件分发机制详解

    Android 事件分发机制详解,在上一篇文章 事件分发机制原理 中简要分析了一下事件分发机制的原理,原理是十分简...

  • 事件分发原理?

    事件分发原理? 事件分发原理? 参考答案:事件分发,其实就是一个责任链的变种,这个责任链,是一个设计模式。 在An...

  • Android 事件传递机制

    一、事件分发的原理 1、事件是如何传递的: 首先由Activity分发,分发给根View,也就是DecorView...

  • MotionEvent详解

    Android MotionEvent 详解,之前用了两篇文章 事件分发机制原理 和 事件分发机制详解 来讲解事件...

  • 自定义View进阶《十四》——MotionEvent详解

    Android MotionEvent 详解,之前用了两篇文章 事件分发机制原理 和 事件分发机制详解来讲解事件分...

  • 安卓事件分发机制

    ##事件分发原理 1 事件分发的对象是谁? 答:事件 当用户触摸屏幕时(View或ViewGroup派生的控件),...

  • Andorid事件分发详解

    前言 Android事件分发机制是Android开发者必须了解的基础,本文将对Android事件分发机制的原理进行...

  • Android 面试题8

    事件分发流程Carson_Ho Android事件分发机制详解:史上最全面、最易懂View的渲染机制动画的原理,...

网友评论

      本文标题:事件分发原理(不包括实战)

      本文链接:https://www.haomeiwen.com/subject/ivqpdxtx.html