Android事件模型

转载 2012年03月28日 13:32:53

http://www.cnblogs.com/-OYK/archive/2011/06/01/2067206.html

Touchevent 中,返回值是 true ,则说明消耗掉了这个事件,返回值是 false ,则没有消耗掉,会继续传递下去,这个是最基本的。 

在 View 中跟 Touch 相关的事件有 dispatchTouchEvent , interceptTouchEvnet , onTouchEvent 三种。 dispatchTouchEvent 是负责分发事件的,事件从 activity 传递出来之后,最先到达的就是最顶层 view 的 dispatchTouchEvent ,然后它进行分发,如果返回 false ,则交给这个 view 的 interceptTouchEvent 方法来决定是否要拦截这个事件,如果 interceptTouchEvent 返回 true ,也就是拦截掉了,则交给它的 onTouchEvent 来处理,如果 interceptTouchEvent 返回 false ,那么就传递给子 view ,由子 view 的 dispatchTouchEvent 再来开始这个事件的分发。 

如果事件传递到某一层的子 view 的 onTouchEvent 上了,这个方法返回了 false ,那么这个事件会从这个 view 往上传递,都是 onTouchEvent 来接收。而如果传递到最上面的 onTouchEvent 也返回 false 的话,这个事件就会“消失”,而且接收不到下一次事件。(我说的一次事件指的是 down 到 up 之间的一系列事件) 

 

注:上半部分为父View,下半部分为子View; 

完整的传递流程为:父View->子View->子View的子View->……->子View的子View->子View->父View。 
如果整个流程中都没有处理掉这个事件,即所有处理的返回值均为false,则不会再传递下一次事件,因为他会认为你这次的事件阻塞了,没必要给下一次。 
onTouchEvent如果不消耗的话,会从子view传递到父view。


仅用原生JavaScript手写DOM事件模型

前言 前段时间博客园里有篇很火的帖子2016十家公司前端面试小记,主要讲作者的前端面试经历,其中提到了面试官会考察手写一个简单的DOM事件模型。 “如果上述都ok的话,那么极有可能要求让你【实现事件...
  • GAMEloft9
  • GAMEloft9
  • 2016年04月29日 11:35
  • 7010

JavaScript 事件模型 事件处理机制

这篇文章对于了解Javascript的事件处理机制非常好,将它全文转载于此,以备不时之需。 什么是事件? 事件(Event)是JavaScript应用跳动的心脏 ,也是把所有东西粘在一起的...
  • chenmoquan
  • chenmoquan
  • 2013年08月21日 21:10
  • 13108

Java笔记006_委托事件模型

什么是委托事件模型 在教材上的图中,我们可以发现,用户通过键盘、鼠标等进行操纵的行为,最终都传递给了JVM,那么JVM在接收到这些事件以后该如何处理呢?我们把这种处理事件的方案,称之为事件模型。 J...
  • hbgCSDN
  • hbgCSDN
  • 2014年11月24日 08:32
  • 1320

标准事件模型和IE事件模型

前言:在上一篇博客中总结了0级DOM事件模型和2级DOM事件模型,打铁趁热就在谈谈标准事件模型和IE事件模型的区别吧。一. 标准事件模型 在JavaScript中把标准事件模型的执行分为三个阶段,...
  • Picking_up_stones
  • Picking_up_stones
  • 2017年03月13日 20:11
  • 410

java中的事件模型原理

得首先明白java中的事件机制的参与者,有3种角色:  1.event object:事件对象,就是事件产生时具体的“事件”,用于listener的相应的方法之中,作为参数,一般存在与listern...
  • perfect2011
  • perfect2011
  • 2011年12月14日 16:43
  • 815

AWT事件模型总结

一、常用术语 GUI(Graphics user interface)图形用户接口 CLI (Command line user interface)命令行用户接口 Java为GUI提供的类。 jav...
  • renpingqing
  • renpingqing
  • 2013年07月27日 15:33
  • 2586

Swing 事件模型

在Swing的事件模型中,组件可以发起(触发)一个事件。每种事件的类型由单独的类表 示。当事件被触发时,它将被一个或多个“监听器”接收,监听器负责处理事件。所以, 事件发生的地方可以与事件处理的地...
  • u011607148
  • u011607148
  • 2013年08月30日 10:44
  • 619

Android - 事件模型

androdi
  • wqlpz23045
  • wqlpz23045
  • 2017年04月21日 13:15
  • 191

Android事件模型

Touchevent 中,返回值是 true ,则说明消耗掉了这个事件,返回值是 false ,则没有消耗掉,会继续传递下去,这个是最基本的。 在 View 中跟 Touch 相关的事件有 dis...
  • waychow1986
  • waychow1986
  • 2011年04月10日 21:23
  • 105

基于事件套接字集合的select 模型

基于事件套接字集合的select 模型 select (选择)模型是Winsock 中最常见的I/O 模型。之所以称其为“select 模型”,是由于它的“中心思想”便是利用select 函数,实现...
  • jiht594
  • jiht594
  • 2012年04月17日 12:56
  • 1010
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android事件模型
举报原因:
原因补充:

(最多只允许输入30个字)