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)详析
随机推荐
- tomcat
引用:http://blog.csdn.net/nairuohe/article/details/6175243 /etc/tomcat6 - 全局配置 /usr/share/tomcat6/ - 程 ...
- 商品条形码(JBarcode)
之前没有使用过这个,现在使用JBarcode生成商品条形码,工作之前的准备工作: Eclipse:Eclipse Java EE IDE for Web Developers.Version: Hel ...
- 【转】PowerShell 函数(Function)
转至:http://blog.csdn.net/kk185800961/article/details/49022395 函数基本操作: [plain] view plain copy #创建函数 F ...
- ClientScript.RegisterStartupScript 不起作用
asp.net webform 使用 ClientScript.RegisterStartupScript 不起作用 form 加上 runat="server",ok
- 一次APP测试的感悟
项目经理担责任.产品担责任.测试只需要把测试中发现的问题展示出来.如实反应问题.谁担责任谁有权利决定上不上线.所以他们直接绕过了测试.APP的上线让我学到了很多东西,见识了很多东西,也感悟了很多.这是 ...
- 关于Java加载属性文件放在web容器不好使的解决办法
//使用Spring的工具就行了1 import java.util.Properties; import org.springframework.core.io.support.Properties ...
- linux两台服务器之间文件/文件夹拷贝
跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹---------------------------------------------- 把当前文件夹t ...
- WEB前端html基础中的各类标签介绍
2:html中有很多标签,这里列举十几种标签,有它们的用法及在使用过程中的注意事项!
- PHPCMS企业站制作
安装 将下载好的文件放到www目录下 地址栏中输入 http://localhost:8080/phpcms/install_package/install 打开安装页面 进行安装即可. 如果出现: ...
- String 字符串递归截取字节字符串
public static String idgui(String s,int num)throws Exception{ int changdu = s.getBytes("UTF-8&q ...