美文网首页Android自定义ViewAndroid开发
一张图看懂android事件分发原理

一张图看懂android事件分发原理

作者: yueyue_projects | 来源:发表于2019-03-08 19:52 被阅读9次

废话不多说,直接上图


android事件分发原理

图解:android中事件分发的起始点是Activity,有Activity里的Detorview通过DispatchTouchEvent开始分发,如图假设一个DOWN,MOVE,UP事件中的DOWN事件传入,通过Detorview的DispatchTouchEvent传到某一个ViewGroup中,ViewGroup也会经过DispatchTouchEvent分发事件,在View树中的分发无非有几个方向,它的父节点,它自己,它的子节点,它的兄弟节点,其中兄弟节点是不可能出现的情况,在树中,兄弟节点是不会有连接点的,所以我们可以看到图中父节点的分发通过在DispatchTouchEvent函数中返回false来搞定,它自己通过返回true来搞定,至于它的子节点可能会复杂一些,它还会通过本身的OnInterceptTouchEvent来分发事件,其本质原因在于在该事件设计中DispatchTouchEvent本身只负责单一事件的分发,而OnTouchEvent会负责通过分析多个事件确定这多个事件的行为,比如Onclick这样一个行为是由DOWN事件和UP事件组成的。OnInterceptTouchEvent被设计出来就是为了在某些特定的场景下,让开发者可以灵活生成由多个事件组成的行为。最后事件会分发到对应的View上,就会按照图右边执行的流程执行下去了。

相关文章

  • 一张图看懂android事件分发原理

    废话不多说,直接上图 图解:android中事件分发的起始点是Activity,有Activity里的Detorv...

  • Andorid事件分发详解

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

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

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

  • View事件分发介绍

    关于Android 事件分发机制,我根据画的一张事件分发流程图,说明的事件从用户点击之后,在不同函数不同返回值的情...

  • MotionEvent详解

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

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

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

  • 2018-04-28

    Android开发中的事件分发机制梳理 Android 事件分发流 如果事件不被中断,整个事件流向是一个类U型图 ...

  • Android 面试题8

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

  • Android 事件分发机制源码

    Android 事件分发机制源码 Android,事件机制,Android事件分发机制源码 Android Tou...

  • android 事件分发原理

    事件分发在 android 中实在是太重要了,滑动冲突的前置基础知识,滑动冲突不会处理,那么大部分页面效果是写不出...

网友评论

    本文标题:一张图看懂android事件分发原理

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