Android学习笔记之手势识别

手势识别有两种方式
1、使用GestureDetector
2、使用GestureOverlayView

一、使用GestureDetector进行手势识别

MotionEvent:
1.用于封装手势、触摸笔、轨迹球等动作事件
2.内部封装用于记录横轴和纵轴坐标的属性X和Y
GestureDetector
识别各种手势
OnGestureListener
1.手势交互的监听接口,其提供多个抽象方法
2.根据GestureDetector的手势识别结果调用相对应的方法

GestureDetector详解:
触摸屏:按下、移动、抬起等
重载onTouch或者设置setOnTouchListener
GestureDetector工作原理
1.当接收到用户触摸消息时,将消息交给GestureDetector加工
2.通过设置监听器获得GestureDetector处理后的手势
GestureDetector提供两个监听器
1.OnGestureListener:处理单击类消息
2.OnDoubleTapListener:处理双击类消息

OnGestureListener接口:
单击:onDown( MotionEvent e)
抬起:onSingleTapup( MotionEvent e)
短按:onShowPress( MotionEvent e)
长按:onLongPress( MotionEvent e)
滚动:onScroll( MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
滑动:onFling( MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
OnDoubleTapListener接口:
双击:onDoubleTap( MotionEvent e)
双击按下和抬起各触发一次:onDoubleTapEvent( MotionEvent e)
单击确认:onSingleTapConfirmed( MotionEvent e),即很快的按下并抬起,但并不连续点击第二下

SimpleOnGestureListener
1.继承SimpleOnGestureListener
2.重载感兴趣的手势

二、使用GestureOverlayView进行手势识别

1、使用Gesture Builder生成手势文件(要生成预先使用的手势加入程序中,才能使用)
2、将该文件加入项目
3、在项目中创建GestureOverlayView,放在想要实现手势识别的控件上

导入Gesture Builder,新建一个项目:new—> other—> Android—> Android Sample Project,选择模拟器,选择Gesture Builder,结束。
通过Gesture Builder去增加手势,之后导出手势文件,并增加到项目res文件夹中的raw文件夹中(如没有,则新建raw文件夹)

GestureOverlayView:一种用于手势输入的透明覆盖层,可覆盖在其他控件的上方,也可包含其他控件。存在三个监听器接口:
GestureOverlayView.OnGestureListener 手势监听器
GestureOverlayView.OnGesturePerformedListener 手势执行监听器
GestureOverlayView.OnGesturingListener 手势执行中监听器

使用GestureOverlayView:
1.找到刚才的预设定的手势文件
2.加载那个手势文件中的所有手势
3.匹配,识别

GestureOverlayView.OnGesturePerformedListener
1.读出手势库中的内容,识别手势

你可能感兴趣的:(Android学习笔记之手势识别)