Android事件传递机制(四)
来源:互联网 发布:java编写helloworld 编辑:程序博客网 时间:2024/06/15 17:50
本章节讲解 MotionEvent
1、事件类型
这里就引入关于 MotionEvent 的一个重要概念,事件类型。事件类型就是指对象所代表的动作。比如说,当你的一个手指在屏幕上滑动一下时,系统会产生一系列的触摸事件对象,他们所代表的动作有所不同。有的事件代表你手指按下这个动作,有的事件代表你手指在屏幕上滑动,还有的事件代表你手指离开屏幕。常用的如下几种:
ACTION_DOWN —— 手机刚接触屏幕
ACTION_MOVE —— 手指在屏幕上移动
ACTION_UP —— 手指从屏幕松开的一瞬间
当然,除了这三个类型外,还有很多不同的事件类型,比如ACTION_CANCEL。它代表当前的手势被取消。想了解更多大家可以自行查阅资料。
2、事件序列
正常情况下,手指触摸屏幕的行为,会触发一系列点击事件,常见的如下几种:
点击屏幕后离开松开,事件序列为 DOWN → UP
点击屏幕滑动一会再松开,事件序列为 DOWN → MOVE → ... → MOVE → UP
3、便于理解体会,直接上代码
重写onTouchEvent方法
手机滑动打印结果
logcat打印测试
大家可以去试着去写代码,自己体会,上面是典型的事件序列,通过MotionEvent对象我们可以得到点击事件发生的x和y坐标。系统为我们提供了getX() / getY()和getRawX() / getRawY()。
getX() / getY()返回的是相对于相对当前View的左上角的x和y坐标,
getRawX() / getRawY()返回的是相对于手机屏幕左上角的x和y坐标。
滑动的最小距离TouchSlop
TouchSlop是系统所能识别出的被认为是滑动的最小距离。这是一个常量,就是说,当你手指在屏幕滑动大于这个常量,系统才会认定你滑动屏幕了,它和设备有关,不同的设备这个值可能是不同的。
我们可以通过如下代码获取这个常量:
ViewConfiguration.get(this).getScaledTouchSlop();
- Android事件传递机制(四)
- Android事件传递机制(四)deprecated
- Android事件分发(事件传递机制)
- android 事件传递机制
- android 事件传递机制
- android事件传递机制
- Android事件传递机制
- Android 事件传递机制
- Android事件传递机制
- Android事件传递机制
- Android事件传递机制
- Android事件传递机制
- Android事件传递机制
- Android事件传递机制
- Android事件传递机制
- Android事件传递机制
- Android事件传递机制
- Android事件传递机制
- IE8下,button回车触发提交事件的解决
- ASP.NET-常用选择控件
- 使用js代码解析json字符串
- 关于jqGrid使用二级表头拖拽导致表头错位问题解决
- 关系型数据库是什么?所遵循的ACID4个规则是哪些?
- Android事件传递机制(四)
- 打开即玩,H5游戏的实时分享性
- CSS 书写规范、顺序
- Python中filter筛选函数匿名参数问题
- Linux Shell Awk 流程控制语句详细介绍
- 算法细节系列(27):时间复杂度为何还能优化?
- SLAM数据关联
- 第5篇-JAVA面向对象Ⅰ
- 【项目记录】山东大学场馆管理系统之——文档管理