onInterceptTouchEvent / onTouchEvent响应事件的详析
onInterceptTouchEvent(),onTouchEvent() 默认返回false
注:事件分发机制是由 dispatchTouchEvent() 开始分发的
onInterceptTouchEvent()
ACTION_DOWN ------------ return true: ---→ 将事件传递给该view下的 onTouchEvent() ACTION_MOVE ACTION_UP 都将直接由 onTouchEvent() 响应
该view的 onInterceptTouchEvent() 将无法响应 ACTION_MOVE,ACTION_UP
------------ return false: ↓ 将事件向下传递(判断是否存在下级)
无下级: 将事件传递给该view下的 onTouchEvent()(等同于返回true)
有下级: 判断下一级是View 还是 ViewGroup
ViewGroup : 将事件传递给下一级的 onInterceptTouchEvent(),一直向下传递
View: 将事件传递给下一级的 onTouchEvent()
ACTION_MOVE ,ACTION_UP 都将由第一级别的 onInterceptTouchEvent() 响应
return false: 将ACTION_MOVE 事件传递给下一级的 onInterceptTouchEvent() ,以此类推
return true: 将ACTION_CANCEL 事件传递给 下面级别的所有响应 ACTION_DOWN 事件的方法,
将ACTION_MOVE 事件传递给此view 的onTouchEvent()
,所以接下来的action(ACTION_MOVE,ACTION_UP)都将按照这个顺序传递
onTouchEvent()
ACTION_DOWN ------------- return true: ---→ 判断是否存在上级
无上级:将事件传递给下面的action(响应 ACTION_MOVE,ACTION_UP)
ACTION_MOVE,ACTION_UP: 将直接由 onTouchEvent() 响应
有上级:将事件传递给 第一级 onInterceptTouchEvent() 来响应 ACTION_MOVE,ACTION_UP 事件
第一级的onInterceptTouchEvent() 响应了ACTION_MOVE 事件后
return false: 将ACTION_MOVE 事件传递给下一级的 onInterceptTouchEvent() ,以此类推
return true: 将ACTION_CANCEL 事件传递给 下面级别的所有响应 ACTION_DOWN 事件的方法
将ACTION_MOVE 事件传递给此view 的onTouchEvent() ,所以接下来的action(ACTION_MOVE,ACTION_UP)都将按照这个顺序传递
------------- return false: ↑ 将事件向上传递(判断是否存在上级)
无上级:事件终止 X
有上级:事件传递给上一级的 onTouchEvent()
onTouchEvent()
onInterceptTouchEvent / onTouchEvent响应事件的详析的更多相关文章
- cocos2dx+lua注册事件函数详解 事件
coocs2dx 版本 3.1.1 registerScriptTouchHandler 注册触屏事件 registerScriptTapHandler ...
- cocos2dx+lua注册事件函数详解
coocs2dx 版本 3.1.1 registerScriptTouchHandler 注册触屏事件 registerScriptTapHandler 注册点击事件 registerScriptHa ...
- 关于dispatchTouchEvent, onInterceptTouchEvent, onTouchEvent的分发机制浅析
虽说这个问题不是很难...动动手就能看出答案...但是似乎不太容易理解...几次尝试把这个问题说明白....但是好像感觉说不明白....(顿时想起了那句话----说不明白就是自己还不明白! 我怎么可能 ...
- HTTP 状态响应码 意思详解/大全
HTTP 状态响应码 意思详解/大全 转:http://blog.csdn.net/helin916012530/article/details/29842595 HTTP状态码(HTTP Statu ...
- JS的预编译和执行顺序 详析
原文:JS的预编译和执行顺序 详析 最近在复习javascript的事件处理时发现了一个问题,然后也是我来写javascript的预编译和执行顺序的问题 代码: 复制代码 代码一 <ht ...
- (转载)【cocos2dx 3.x Lua] 注册事件函数详解
出处: http://www.2cto.com/kf/201409/338235.html coocs2dx 版本 3.1.1 registerScriptTouchHandler 注册触屏事件 re ...
- 【转】关于cocos2dx+lua注册事件函数详解
转载:http://www.taikr.com/article/1605 registerScriptTouchHandler 注册触屏事件registerScriptTapHandler注册点击事件 ...
- 每日一问:到底为什么属性动画后 View 在新位置还能响应事件
在 Android 开发中,我们难免会使用动画来处理各种各样的动画效果,以满足 UI 的高逼格设计.对于比较复杂的动画效果,我们通常会采用著名的开源库:lottie-android,或许你会对 lot ...
- css3中动画(transition)和过渡(animation)详析
css3中动画(transition)和过渡(animation)详析
随机推荐
- 诚信的cpm广告联盟该怎么选择
诚信的cpm广告联盟该怎么选择?58传媒广告联盟介绍说,在目前我国的互联网行业发展中,新站长在不断的崛起,这也就意味着老站长在不断的衰败,而老站长的衰败并不是一天两天造成的,而是其长期积累形成的,将错 ...
- NDK开发历程(一):android native code的调试方法
引用:http://www.cnblogs.com/ychellboy/archive/2013/02/22/2922683.html 使用NDK在android上做开发是一件“痛并快乐着”的差事,之 ...
- nodejs与模块soap的用法
最近做了点东西要求用到soap模块,我是怎么知道的呢,收到了 <soap:Body><soap:Fault><faultcode>soap:Client</f ...
- 如何使用iTunes与iTools导出微信聊天记录
.tocblock .tocblock .tocblock { margin-left: 2.25em; } .madoko .toc>.tocblock .tocblock { margin- ...
- UBUNTU 10.04上安装和使用HAMACHI
https://secure.logmein.com/US-ES/labs/#HamachiforLinux https://secure.logmein.com/CN/,经过笔者使用,非常不错. 官 ...
- Java中Map的三种遍历方法
Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历. 告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...
- SQLServer游标(Cursor) (B)
游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力.我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许 ...
- ecplise常用快捷键
常用 Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+ ...
- GitHub上整理的一些工具
技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 ...
- C#的HTTP协议中POST与GET的区别
引言 HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来.但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状态 ...