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)详析
随机推荐
- java布局学习 (三)
前文已经讲了常用的4个布局了,今天再介绍最后的三个布局: 5.CardLayout 6.BoxLayout 7.空白布局null (五)CardLayout 纸牌布局 首先这种布局不是二维布局,而 ...
- Microsoft Visual Studio 2015激活密匙
企业版:http://download.microsoft.com/download/B/8/F/B8F1470D-2396-4E7A-83F5-AC09154EB925/vs2015.ent_chs ...
- react.js语法为了更好的兼容可以选以下这种方法配置即可
首先下一个sublime text3 的编辑器: 支持大家使用正版,不过我是为了方便才所以这版本而已... 地址: http://sublimetext.iaixue.com/forum.php?mo ...
- docker命令小记
最近工作需要,对docker稍微了解了一下,大部分内容网上都有各种各样的教程.有两个稍微特殊的命令这里记录一下: 1. rename image的命令 从各种私有镜像下载后用docker images ...
- 提供一个表单,进行post数据处理
var strContent = "aaaaa"; html.Append("<html><body><form id='postUploa ...
- mysql 主从复制实现步骤
fuhi
- xml 的 CDATA
<PolicyURL><![CDATA[http://ectp.tpi.cntaiping.com/TPEBizWeb/pages/B2C/show/downLoad.do?poli ...
- centos常用操作
文件夹赋权chmod -R 777 文件夹 zip压缩和unzip解压缩命令详解以下命令均在/home目录下操作cd /home #进入/home目录1.把/home目录下面的mydata目录压缩为m ...
- 95、Jenkins部署.net持续集成自动化测试环境
##目录 1. 安装Jenkins 1. 配置Jenkins 1. 自动编译 1. 自动部署 1. 自动测试 环境介绍: web服务器机器:192.168.1.7 svn服务器:192.168.1.5 ...
- JavaScript使用技巧(1)——JS常用的函数
1.字符串对象函数和属性 函数: charAt():返回在指定位置的字符. charCodeAt():返回在指定的位置的字符的 Unicode 编码. concat():连接字符串. indexOf( ...