事件分发机制
神坑小白
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
View事件分发机制(一)
只是做一个总结,其他的下篇文章再讲1. 同一个事件序列是指从手指接触屏幕的一刻开始,到手指离开屏幕的一刻结束,在这个过程中所产生的一系列事件,这个事件序列冲down事件开始,中间有数量不定的move事件,到up事件结束。2. 正常情况下,一个事件序列,只能被一个View拦截且消耗,这一条原因可以参考 3,因为一个元素一旦拦截了某次事件,那么同一个事件序列内的所有事件都会交给这个元素来处理,因此同一...原创 2018-03-15 11:28:34 · 257 阅读 · 0 评论 -
事件分发机制(二)—— Activity 的事件分发机制之源码分析
1. Activity 对点击事件的分发过程点击事件用 MotionEvent 来表示,当一个点击操作发生时,事件最先传递到当前的 Activity,由Activity 的 dispatchTouchEvent 来进行事件的派发,具体的工作是由 Activity 内部的 Window 来完成的。Window会将事件传递给 decor view,decor view一般就是当前界面的底层容器(即 s...原创 2018-03-15 14:46:54 · 751 阅读 · 0 评论 -
事件分发机制(三)—— 顶级 View 的事件分发机制之源码分析
关于点击事件如何在 View 中进行分发,上一篇文章已经做了详细的介绍,这里就不做过多的解释了,下边我们来看顶级 View 是如何进行事件的分发的。首先看 ViewGroup 的点击事件分发过程,其主要实现在 ViewGroup 的 dispatchTouchEvent 方法中。这个方法比较长,我们分段说明。先看下边的代码,很显然,它描述的是当前 View 是否拦截点击事件这个逻辑。 // ...原创 2018-03-15 16:55:39 · 213 阅读 · 0 评论 -
事件分发机制(三)—— View 的事件分发机制之源码分析
View 对事件的处理过程要稍微简单一些,注意 View 不包含 ViewGroup,先看下它的 dispatchTouchEvent 方法如下: /** * Pass the touch screen motion event down to the target view, or this * view if it is the target. * ...原创 2018-03-15 17:55:02 · 247 阅读 · 0 评论
分享