一、事件分发的对象是谁

答:点击事件(Touch事件)

  • 定义
    当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件。Touch事件的相关细节(发生触摸的位置。时间等)被封装成MotionEvent对象

  • 事件类型(4种)

事件类型 具体动作
MotionEvent.ACTION_DOWN 按下View(所有事件的起点)
MotionEvent.ACTION_UP 抬起View(与Down相对应)
MotionEvent.ACTION_MOVE 滑动View
MotionEvent.ACTION_CANCEL 结束事件(非人为结束)
  • 事件列
    从手指解除屏幕至手指离开屏幕,这个过程产生的一系列事件。

    即当一个点击事件(MotionEvent)产生后,系统需把这个事件传递一个具体的View去处理。

二、事件分发的本质

答:将点击事件(MotionEvent)传递到某个具体的View并且处理整个过程。即事件传递的过程 = 分发过程。

三、事件在哪些对象之间进行传递

答:Activity、ViewGroup、View

四、事件分发的顺序

答:Activity -> ViewGroup -> View。即一个点击事件发生后,事件先传到Activity、再传到ViewGroup、最终传到View。

五、事件分发过程由哪些方法协作完成?

答:

方法 作用 调用时刻
dispatchTouchEvent() 分发(传递)点击事件 当点击事件能够传递给当前View时,该方法就会被调用
onTouchEvent() 处理点击事件 在dispatchTouchEvent()方法内部调用
onInterceptTouchEvent() 判断是否拦截了某个事件,只存在于ViewGroup中,普通的View没有该方法 在ViewGroup的dispatchTouchEvent()内部调用

Android 学习笔记(十二):安卓中的事件分发机制相关推荐

  1. 吴恩达《机器学习》学习笔记十二——机器学习系统

    吴恩达<机器学习>学习笔记十二--机器学习系统 一.设计机器学习系统的思想 1.快速实现+绘制学习曲线--寻找重点优化的方向 2.误差分析 3.数值估计 二.偏斜类问题(类别不均衡) 三. ...

  2. ROS学习笔记十二:使用roswtf

    ROS学习笔记十二:使用roswtf 在使用ROS过程中,roswtf工具可以为我们提供ROS系统是否正常工作的检查作用. 注意:在进行下列操作之前,请确保roscore没有运行. 检查ROS是否安装 ...

  3. Python语言入门这一篇就够了-学习笔记(十二万字)

    Python语言入门这一篇就够了-学习笔记(十二万字) 友情提示:先关注收藏,再查看,12万字保姆级 Python语言从入门到精通教程. 文章目录 Python语言入门这一篇就够了-学习笔记(十二万字 ...

  4. Polyworks脚本开发学习笔记(十二)-输出和读取文本文件

    Polyworks脚本开发学习笔记(十二)-输出和读取文本文件 Polyworks作为一个测量工具,将测量的数据方便的导出到文本文件则是一项必须的功能.在DATA_FILE这个命令下提供了很多子命令用 ...

  5. OpenCV学习笔记(十二)——图像分割与提取

    在图像处理的过程中,经常需要从图像中将前景对象作为目标图像分割或者提取出来.例如,在视频监控中,观测到的是固定背景下的视频内容,而我们对背景本身并无兴趣,感兴趣的是背景中出现的车辆.行人或者其他对象. ...

  6. 【转】 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner

    目录(?)[-] GridView Spinner GridView GridView是网格状布局,如图所示.在了解ListView后,很容易了解GridView.下面是例子的XML文件. <? ...

  7. 【转】Pro Android学习笔记(二五):用户界面和控制(13):LinearLayout和TableLayout...

    目录(?)[-] 布局Layout 线性布局LinearLayout 表格布局TableLayout 布局Layout Layout是容器,用于对所包含的view进行布局.layout是view的子类 ...

  8. 【现代机器人学】学习笔记十二:轮式移动机器人

    目录 轮式机器人类型 全向轮式机器人 建模 单个全向轮是怎么运动的 多个全向轮是如何带动底盘运动的 运动规划和反馈控制 非完整约束轮式移动机器人 建模 独轮车 差速驱动机器人 车型机器人 非完整移动机 ...

  9. Pro Android学习笔记(二九):用户界面和控制(17):include和merge

    xml控件代码重用:include 如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式.例如定义my_button.xml如下 ...

最新文章

  1. Mysql与Oracle区别
  2. 在MVC的cshtml视图页获取默认路由下的ID值的方法
  3. [20170711]关于tmux共享会话问题.txt
  4. ie不支持getElementsByName的解决办法
  5. Educational Codeforces Round 25
  6. AtCoder Beginner Contest 174 总结
  7. linux rsync 安装教程,linux下的rsync配置和使用教程
  8. python制作饼状图
  9. 导入maven项目报错无法运行
  10. nodejs - 服务端管理 - PM2
  11. WIN10 如何隐藏桌面图标
  12. Invalid topo name mytopo
  13. 网站导航应该怎么设计?
  14. Excel技能培训之六-定位功能,隔行插入删除空行,分组插入空行,高亮行列间差异,复制筛选后的数据
  15. 怎样大幅度地提升硬盘的速度
  16. 没有项目经验?软件测试简历项目经验怎么写...
  17. 闪存类型测试软件,轻松测闪存类型 测试软件P10Check上架谷歌商店
  18. 国内外顶级核心期刊TOP20
  19. 【BUUCTF刷题记录】[极客大挑战 2019] Http
  20. 基于神经网络——鸢尾花识别(Iris)

热门文章

  1. java编程好学么_零基础小白学Java编程好学吗
  2. gluster volume
  3. 【应急】应急信息“一张图”,福建省是这样用的
  4. [ CTF ]天格战队WriteUp-首届数字空间安全攻防大赛(初赛)
  5. Windows 正版系统安装(重装) - Win10(微星主板 - MSI)
  6. 外网远程访问管家婆ERP进销存
  7. 小程序 初始化 登录 流程
  8. 推杆如妻子,发球木如情人,短铁如父母,球道木如朋友,长铁如兄弟
  9. linux服务器之间文件传输scp
  10. 重装系统(无法开机时候操作方法)