Android响应View组件的touch事件通常是采用重写onTouch(MotionEvent event)方法,或者是setOnTouchListener()设置listener.View组件的touch事件的响应是通过调用dispatchTouchEvent(MotionEvent event)方法分发的,当touch listener为null或者它返回的结果是false时,就调用onTouch()方法,所以touch listener的优先级要比onTouch()方法的高。当onTouch()方法返回false时,才会触发view组件parent的touch事件响应。
ViewGroup的dispatchTouchEvent()方法有所不同,它会对touch事件进行解析,通过调用onInterceptTouchEvent(MotionEvent event), 若返回false时会将事件分发给响应的子组件,否则自己响应这个touch事件,默认的为false, 可以对这个方法进行重写来拦截touch事件。因此,view组件响应事件的机制是,touch事件从view组件树顶层一直分发下去到最底层的组件上,当组件没有consume这个事件时会传回到上一级进行处理,直到返回到最底层扔出,这会最终被Activity进行处理,因为事件最开始分发的地方是从Activity开始的,它会调用getWindow().superDispatchTouchEvent(ev)方法把事件分发给组件树,若果view组件树没有处理则最终会调用自己的onTouch(MotionEvent event)方法。
发表评论
-
java字符串学习:String,StringBuilder,StringBuffer的学习
2012-07-06 09:52 731今晚重新学了一下j ... -
正则在JS中的使用
2012-07-06 09:45 725在Javascript里,有两 ... -
正则表达式
2012-07-06 09:37 827正则表达式基础: import java.util.reg ... -
PeopleSoft Rich Text Boxes上定制Tool Bars
2012-07-06 09:30 1030在使用PT8.50或在8.51时,你可能遇到过Rich-t ... -
showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时
2012-07-05 20:45 796showModalDialog使用例子,父窗口向子窗口 ... -
twaver-flex效率与性能测试
2012-07-02 12:22 627测试环境: 测试一 节点:创建图片节点; 连 ... -
Flex 中List控件的使用,绑定XML!
2012-07-02 12:21 570效果图: Flex代码如下: flex/sp ... -
Flex3 做界面与 VC交互
2012-07-02 12:21 772Flex3 代码 height="290&qu ... -
flex用弹出窗体展示gif
2012-07-02 12:21 552GIFPlayer用于在flex中展示GIF图片。 ... -
使用Flash Catalyst创建Flex 4主题(二)
2012-07-01 09:56 985Adobe Flash Builder 4 简体中文正式版 ... -
关于flex的资料
2012-07-01 09:55 1955====Adobe官方==== Adobe : ... -
IDEA + Eclipse 开发 Maven Flex 项目的简单流程和要点
2012-07-01 09:55 942写在前面: ... -
请问大家如果买笔记本电脑会选择什么牌子的?
2012-06-30 16:20 1277请问大家如果买笔记本 ... -
笔记本电视
2012-06-30 16:20 589笔记本电视 2011年04月11日 笔记本电视 ... -
各品牌笔记本特点
2012-06-30 16:20 976各品牌笔记本特点 2011 ... -
选购笔记本的建议
2012-06-30 16:20 615选购笔记本的建议 2011年08月22日 笔记本的三个 ...
相关推荐
分析Android中OnTouch事件的分发处理,以及当两个组件重叠时,如果处理触摸事件的分发,解决触摸事件冲突问题。
主要介绍了Android判断touch事件点是否在view范围内的方法,涉及Android事件响应与view属性操作的相关技巧,需要的朋友可以参考下
UIScrollView 响应touchEvent事件。 UIScollView的move与touchMove共存。
Android中与Touch事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、...继承ViewGroup的大多是容器控件,如LinearLayout等,而继承View的大部分是显示控件比如TextView,ImageView等,本例演示Touch事件分发过程
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup、View、Activity。...
相应博客请移步:http://blog.csdn.net/zhangao0086/article/details/38356691
安卓Android源码——SurfaceView添加组件view不被组件覆盖.zip
Vmware Horizon View 6.0全套组件下载地址。Vmware Horizon View 6.0全套打包下载包含 VMware-viewconnectionserver-x86_64-6.0.0-1884746.exe VMware-viewcomposer-6.0.0-1884350.exe VMware-viewagent-6.0.0-...
android:clipChildren="false"下突出view部分无法响应点击
NULL 博文链接:https://androidll.iteye.com/blog/1553558
Android View 事件传递与消费,用于view事件传递的理解。
android\用户交互View组件学习android\用户交互View组件学习android\用户交互View组件学习android\用户交互View组件学习android\用户交互View组件学习
GoView 是一个Vue3搭建的低代码数据可视化开发平台,将图表或页面元素封装为基础组件,无需编写代码即可完成业务需求。 它的技术栈为:Vue3 + TypeScript4 + Vite2 + NaiveUI + ECharts5 + Axios + Pinia2 + PlopJS
AndroidSurfaceView添加组件view不被组件覆盖.zip
微信小程序第二章 基础组件view组件
struts2的View组件 struts2的View组件,最新 PPT教程
react-native-tab-view, 用于响应本机的跨平台选项卡视图组件 本地选项卡视图 用于响应本机的跨平台选项卡视图组件。这是swipeable选项卡视图的一个javascript实现。 它是超级定制的,允许你做像coverflow这样的事情...
FactoryTalk View SE报警和事件、Tag Alarm and Event Server
微信小程序第二章 基础组件scroll-view组件