资讯专栏INFORMATION COLUMN

Android之事件分发机制

tainzhi / 1928人阅读

摘要:下事件分发和消费事件前言中与事件相关的方法包括能够响应的空间包括。事件分析事件分发事件发生时的方法会以隧道方式从根元素依次往下传递直到最内层子元素或在中间某一元素中由于某一条件停止传递将事件传递给最外层的

Android下Touch事件分发和消费事件 前言

Android中与touch事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)onInterceptTouchEvent(MotionEvent ev)onTouchEvent(MotionEvent ev);能够
响应的空间包括:ViewGroup、View、Activity。方法与控件的对应关系如下表所示:

Touch事件相关方法 方法功能 View ViewGroup Activity
public boolean dispatchTouchEvent(MotionEvent ev) 事件分发 YES YES YES
public boolean onInterceptTouchEvent(MotionEvent ev) 事件拦截 NO YES NO
public boolean onTouchEvent(MotionEvent ev) 事件响应 YES YES YES

从这张表中可以看出ViewGroup对与Touch事件相关的三个方法均能响应,而Activity和View对于onInterceptTouchEvent(MotionEvent ev)也就是事件拦截不进行响应。`另外需要注意的是View对dispatchTouchEvent(MotionEvent ev)响应的前提是可以向该View中添加子View,如果当前的View已经是一个最小单元View(比如TextView),那么无法向这个最小View中添加子View,也就无法向子 View 进行事件的分发和拦截,所以它没有 dispatchTouchEvent(MotionEvent ev) 和 onInterceptTouchEvent(MotionEvent ev),只有 onTouchEvent(MotionEvent ev)。

Touch事件分析

事件分发:public boolean dispatchTouchEvent(MotionEvent ev)

Touch事件发生时Activity的dispatchTouchEvent(MotionEvent ev)方法会以隧道方式(从根元素依次往下传递直到最内层子元素或在中间某一元素中由于某一条件停止传递)将事件传递给最外层View的dispatchTouchEvent(MotionEvent ev)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/13934.html

相关文章

  • Android事件分发机制

    摘要:下事件分发和消费事件前言中与事件相关的方法包括能够响应的空间包括。事件分析事件分发事件发生时的方法会以隧道方式从根元素依次往下传递直到最内层子元素或在中间某一元素中由于某一条件停止传递将事件传递给最外层的 Android下Touch事件分发和消费事件 前言 Android中与touch事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInte...

    ningwang 评论0 收藏0
  • Android 自定义View - 收藏集 - 掘金

    摘要:在本篇文安卓自定义进阶分类和流程掘金自定义分类与流程经历过前面三篇啰啰嗦嗦的基础篇之后,终于到了进阶篇,正式进入解析自定义的阶段。 这交互炸了(二):爱范儿是如何让详情页缩小为横向列表的 - 掘金本文同步自wing的地方酒馆 写在前面:写这段话的时候,已经是夜里3点了。别问我为什么这么拼,一切为了与你分享干货!!!! 不要太感动,擦擦眼泪继续往下看。 本开源库链接 Expandable...

    yanbingyun1990 评论0 收藏0
  • Android-View进阶-事件分发机制原理

    摘要:事件被上层拦截时触发。事件返回时直接指向了父的这一部分是不合理的,实际上它仅仅是给了父的一个返回值,父根据返回值来调用自身的。是根据的返回值来确定是调用子的还是自身的,并没有将调用交给。 原文链接 简简单单讲清楚android事件分发。 什么叫事件分发机制 ? 事件分发是:当发生了一个事件时,在屏幕上找到一个合适的控件来处理这个事件的过程。 因为一个界面上控件如此之多,发生一个事件后总...

    venmos 评论0 收藏0
  • Android-View进阶-事件分发机制原理

    摘要:事件被上层拦截时触发。事件返回时直接指向了父的这一部分是不合理的,实际上它仅仅是给了父的一个返回值,父根据返回值来调用自身的。是根据的返回值来确定是调用子的还是自身的,并没有将调用交给。 原文链接 简简单单讲清楚android事件分发。 什么叫事件分发机制 ? 事件分发是:当发生了一个事件时,在屏幕上找到一个合适的控件来处理这个事件的过程。 因为一个界面上控件如此之多,发生一个事件后总...

    pkwenda 评论0 收藏0
  • Android 自定义 View - 收藏集 - 掘金

    摘要:在本篇文安卓自定义进阶分类和流程掘金自定义分类与流程经历过前面三篇啰啰嗦嗦的基础篇之后,终于到了进阶篇,正式进入解析自定义的阶段。 Android 从 0 开始自定义控件之 View 的 draw 过程 (九) - Android - 掘金转载请标明出处: http://blog.csdn.net/airsaid/... 本文出自:周游的博客 ... Andriod 从 0 开始自定义...

    AndroidTraveler 评论0 收藏0

发表评论

0条评论

tainzhi

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<