Android onTouchEvent和setOnTouchListener中onTouch的区别
2024-10-21 05:51:53
OnTouchEvent()方法
是获取的对屏幕的各种操作,比如向左向右滑动,点击返回按钮等等。
属于一个宏观的屏幕触摸监控。
OnTouchListener()方法
是获取某一个控件某一个View的点击监控。
官方文档:http://developer.android.com/ref
... nTouchListener.html
两者很容易区分。
区别如下:
1、如果setOnTouchListener中的onTouch方法返回值是true(事件被消费)时,则onTouchEvent方法将不会被执行;
2、只有当setOnTouchListener中的onTouch方法返回值是false(事件未被消费,向下传递)时,onTouchEvent方法才被执行。
3、以上说的情况适用于View对象(事件会最先被最内层的View对象先响应)而不是ViewGroup对象(事件会最先被最外层的View对象先响应)。
综合来讲:
onTouchListener的onTouch方法优先级比onTouchEvent高,会先触发。
假如onTouch方法返回false,会接着触发onTouchEvent,反之onTouchEvent方法不会被调用。
内置诸如click事件的实现等等都基于onTouchEvent,假如onTouch返回true,这些事件将不会被触发。
最新文章
- javax.crypto.BadPaddingException: Given final block not properly padded 解决方法
- ios框架
- 20145215实验三 敏捷开发与XP实践
- 利用烧鹅制作简单BadUSB,插谁谁怀孕
- Android拍照保存图片内存大小
- 注册表修改PSD关联photoshop
- Windows7部署WordPress傻瓜式教程(IIS7.5+MySQL+PHP+WordPress)
- 二叉树中序遍历 (C语言实现)
- Linux C判断字符串是否为数字
- SSH整合创建SessionFactory
- 深入理解java虚拟机之——JVM垃圾回收策略总结
- 2.1命令行和JSON的配置「深入浅出ASP.NET Core系列」
- linux 上 mysql 的使用
- [Swift]LeetCode98. 验证二叉搜索树 | Validate Binary Search Tree
- 应用调试(二)GDB
- CFile、CStdioFile、FILE和其他文件操作(转+总结)
- C# WPF 父控件通过使用可视化树找到子控件
- Linux记录-CentOS配置Docker
- Linux学习笔记之Linux环境变量总结
- 查看docker容器日志
热门文章
- mysql二进制包安装和遇到的问题
- Keras实践:实现非线性回归
- LVS基本介绍
- Java基础_基本语法
- Android bluetooth介绍
- 关于git bash的问题,pull不下来(登录之后,git帮你记住了,想切换其他用户)
- jQuery带缩略图的宽屏焦点图插件
- HTML5抽奖转盘
- libc.so.6(GLIBC_2.14)(64bit) is needed by MySQL
- bzoj 1623: [Usaco2008 Open]Cow Cars 奶牛飞车