简介:手势是连续触碰的行为,比如左右上下滑动屏幕,又或者画一些不规则的几何图形。
支持:1.Android提供手势检测,并为手势识别提供了相应的监听器。
2.Android运行开发者自行添加手势,并且提供了相应的API识别用户手势。
1.Android中手势交互的执行顺序
MotionEvent —— onTouchListener —— GestureDetector —— OnGestureListener —— MotionEvent
通过GestureDetector转发MotionEvent对象给OnGestureListener
MotionEvent: 这个类用于封装手势、触摸笔、轨迹球等等的动作事件。封装了X、Y轴坐标等重要属性。
GestureDetector: 识别各种手势。
OnGestureListener:这是一个手势交互的监听接口,提供了多个抽象方法, 并根据手势识别结果调用相对应的方法。
2.GestureListener详解:
按下(onDown): 刚刚手指接触到触摸屏的那一刹那,就是触的那一下。
抛掷(onFling): 手指在触摸屏上迅速移动,并松开的动作。
长按(onLongPress): 手指按在持续一段时间,并且没有松开。
滚动(onScroll): 手指在触摸屏上滑动。
按住(onShowPress): 手指按在触摸屏上,它的时间范围在按下起效,在长按之前。
抬起(onSingleTapUp):手指离开触摸屏的那一刹那。
实现: Step 1: 创建GestureDetector对象,创建时需实现GestureListener传入。
Step 2: 将Activity或者特定组件上的TouchEvent的事件交给GestureDetector处理即可。、
简单使用:
1.使用OnGestureListener(需要实现所有抽象方法)
2.使用SimpleOnGestureListener(推荐)
可以选择性实现抽象方法
添加自定义手势:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"