Android的手势操作识别
2016-02-19 10:33
411 查看
在Android系统中,每一次手势交互都会依照以下顺序执行。
1. 接触接触屏一刹那,触发一个MotionEvent事件。
2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象。
3. 通过GestureDetector(手势识别器)转发次MotionEvent对象至OnGestureListener。
4. OnGestureListener获得该对象,听根据该对象封装的的信息,做出合适的反馈。
这个顺序可以说就是手势交互的原理,下面一同来了解一下MotionEvent、GestureDetector和OnGestureListener。
MotionEvent: 这个类用于封装手势、触摸笔、轨迹球等等的动作事件。其内部封装了两个重要的属性X和Y,这两个属性分别用于记录横轴和纵轴的坐标。
GestureDetector: 识别各种手势。
OnGestureListener: 这是一个手势交互的监听接口,其中提供了多个抽象方法,并根据GestureDetector的手势识别结果调用相对应的方法。
下面我再通过一个切换图片的代码示例,演示一下手势交互的实现,让大伙对上面的执行顺序,以及各手势动作的区分有一个更加深刻的了解和记忆。
首先,提供一个只有ImageView的布局文件——main.xml。
1. 接触接触屏一刹那,触发一个MotionEvent事件。
2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象。
3. 通过GestureDetector(手势识别器)转发次MotionEvent对象至OnGestureListener。
4. OnGestureListener获得该对象,听根据该对象封装的的信息,做出合适的反馈。
这个顺序可以说就是手势交互的原理,下面一同来了解一下MotionEvent、GestureDetector和OnGestureListener。
MotionEvent: 这个类用于封装手势、触摸笔、轨迹球等等的动作事件。其内部封装了两个重要的属性X和Y,这两个属性分别用于记录横轴和纵轴的坐标。
GestureDetector: 识别各种手势。
OnGestureListener: 这是一个手势交互的监听接口,其中提供了多个抽象方法,并根据GestureDetector的手势识别结果调用相对应的方法。
下面我再通过一个切换图片的代码示例,演示一下手势交互的实现,让大伙对上面的执行顺序,以及各手势动作的区分有一个更加深刻的了解和记忆。
首先,提供一个只有ImageView的布局文件——main.xml。
相关文章推荐
- android使用gesturedetector手势识别示例分享
- 在Swift程序中实现手势识别的方法
- IOS初级教程2:UITapGestureRecognizer手势识别的简单使用
- Android手势库
- CheckBox的OnCheckedChangeListener、OnClickListener、OnTouchListener
- 监听OnTouchListener、OnLongClickListener中返回值true或者false的含义
- Android Gesture Detector
- GestureDetector.OnGestureListener 详解
- 实战1.2-利用手势识别器,实现视图的手势控制
- 导航控制器 手势识别不了
- UIGestureRecognizer手势识别器
- Android中Activity继承思想
- IOS 开发手势识别
- 转自原文地址:IOS UIScrollview UIImageView点击事件处理
- Android笔记——GestureDetector
- ios自用学习笔记-触摸事件与手势识别
- 安卓(Android)surfaceview无法使用gesturedetector的解决办法
- 【Android游戏开发十七】让玩家自定义手势玩转Android游戏!—Android Gesture之【输入法手势技术】
- iOS--手势识别UIGestureRecognizer
- DirectionControlView 一个方向控制自定义View