手势识别是我们日常使用电子物品中非常常见的一个功能,这个功能大大提升了用户体验的感受
手势识别主要有两种方法,一种是GestureDetector,另一种是GestureOverlayView
现在来研究下GestureDetector方法
1.手指触屏的一瞬间,触发MotionEvent事件
2.被OnTouchListener监听,在onTouch()中获得MotionEvent对象
3.GestureDetector转发MotionEvent对象至OnGestureListener
4.OngestureListener获得该对象,根据该对象封装的信息做出合适的反馈
MotionEvent:用于封装手势、触摸笔、轨迹球等动作事件
内部封装用于记录横轴和纵轴坐标的属性X和Y
手势的滑动相当于屏幕上的XY轴的坐标的变化
GestureDetector:识别各种手势
当手指:按下、移动、抬起等可通过重载onTouch或者设置setOnTouchListener来监听
原理:当接收到用户触摸消息时,将消息交给GestureDetector加工,通过设置监听器获得GestureDetector处理后的手势
OnGestureListener:手势交互的监听接口,其提供多个抽象方法、根据GestureDetector的手势识别结果调用相对应的方法 ,监听单击事件
OnDoubleTapListener:监听双击事件
OnGestureListener接口的方法太多,没有办法写完,所以只需写一个类,实现所需要的方法即可
单击:onDown、抬起:onSingle