onTouch和onTouchEvent以及onClick的顺序,有什么区别,又该如何使用?
来源:互联网 发布:杭州淘宝城可以进去吗 编辑:程序博客网 时间:2024/05/18 02:01
通过源码查看: View – dispatchTouchEvent方法中
可以看出:
onTouchListener的接口的优先级是要高于onTouchEvent的,假若onTouchListener中的onTouch方法返回true,
表示此次事件已经被消费了,那onTouchEvent是接收不到消息的。
那么思考:
如果给一个Button设置一个onTouchListener并且重写onTouch方法,返回值为true,
此时的Button的点击事件还处理吗?
答案是:
是得不到处理的。
由于Button的performClick是利用onTouchEvent实现,假若onTouchEvent没有被调用到,那么Button的Click事件也无法响应。
这里可以查看源码:
View – onTouchEvent方法,来说明
总结:
onTouchListener的onTouch方法优先级比onTouchEvent高,会先触发。
假如onTouch方法返回false会接着触发onTouchEvent,反之onTouchEvent方法不会被调用。
内置诸如click事件的实现等等都基于onTouchEvent,假如onTouch返回true,这些事件将不会被触发。
顺序为:
onTouch—–>onTouchEvent—>onclick
了解了这个,我们就可以在项目中针对具体情况使用了
0 0
- onTouch和onTouchEvent以及onClick的顺序,有什么区别,又该如何使用?
- onTouch与onTouchEvent的有什么区别
- onTouch与onTouchEvent的有什么区别
- OnTouch(),onTouchEvent(),onClick()的区别
- onTouch()和onTouchEvent()的区别
- onTouch和onTouchEvent的区别
- OnTouch和OnTouchEvent的区别
- onClick、onTouch、onTouchEvent的调用
- Android:onTouch()和onTouchEvent()的区别?
- android:onTouch()和onTouchEvent()的区别
- Android View的onTouchEvent和OnTouch区别
- 关于onTouchEvent()和onTouch()的区别
- Android View的onTouchEvent和OnTouch区别
- Android View的onTouchEvent和OnTouch区别
- Android:onTouch()和onTouchEvent()的区别?
- Android View的onTouchEvent和OnTouch区别
- Android View的onTouchEvent和OnTouch区别
- Android View的onTouchEvent和OnTouch区别
- Hibernate4配置环境
- mac hotspot sa
- Go语言学习3----Go语言特色
- subst 的使用 创建虚拟盘符
- JavaWeb第11章--数据库概述
- onTouch和onTouchEvent以及onClick的顺序,有什么区别,又该如何使用?
- 树梅派应用28:如何让树莓派显示中文?
- JAVA并发编程实战 ——线程安全性
- 优雅编程之这样使用Map,你就“正常”了(三十六)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- Java常见异常(Runtime Exception )小结
- FTP连接树莓派(Linux)进行文件传输
- 文章标题
- Java 中 int 转 char