Android GestureDetector手势识别的使用
2017-07-13 10:18
337 查看
1 实例化GestureDetector,传入的参数是context和onGestureListener
2 写一个类MyGestureDetectorListener实现onGestureListener接口,实现里面的各个抽象方法
在GestureDetector中有个对onGestureListener的空实现SimpleOnGestureListener类,并且这个类同样实现了OnDoubleTapListener,OnContextClickListener,提供了双击的监听事件,我们可以直接继承这个类,然后实现某几个需要的方法。
3 若是对Activity界面做手势识别,直接在Activity中的onTouchEvent方法中:
4 经过测试:
1)轻点一下activity会调用 onDown --> onSingleTapUp
2)稍微长一点的点击(介于轻点和长按之间的点击)会调用 onDown --> onShowPress -->onSingleTapUp
3)长按 会调用 onDown -->onShowPress -->onLongPress
4)在Activity上滑动,并且在滑动的终点时手指没有立即离开屏幕 onDown -->onShowPress -->onScroll(多个)
5)在Activity上滑动,并且在滑动的终点时手指迅速离开屏幕 onDown --> onShowPress --> onScroll (多个)-->onFling
6)在Activity上迅速滑一下会调用 onDown -->onScroll(多个)-->onFling
mGestureDetector = new GestureDetector(this,new MyGestureDectorListener());
2 写一个类MyGestureDetectorListener实现onGestureListener接口,实现里面的各个抽象方法
public class MyGestureDectorListener implements GestureDetector.OnGestureListener { @Override public boolean onDown(MotionEvent e) { //刚刚手指接触到触摸屏的那一刹那,就是触的那一下。 Log.d("sjx","onDown"); return true; } @Override public void onShowPress(MotionEvent e) { //手指按在触摸屏上,它的时间范围在按下起效,在长按之前。 Log.d("sjx","onShowPress"); } @Override public boolean onSingleTapUp(MotionEvent e) { //手指离开触摸屏的那一刹那。 Log.d("sjx","onSingleTapUp"); return false; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // 手指在触摸屏上滑动。 Log.d("sjx","onScroll"); return false; } @Override public void onLongPress(MotionEvent e) { //手指按在持续一段时间,并且没有松开。 Log.d("sjx","onLongPress"); } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //手指在触摸屏上迅速移动,并松开的动作。 Log.d("sjx","onFling"); return false; } }
在GestureDetector中有个对onGestureListener的空实现SimpleOnGestureListener类,并且这个类同样实现了OnDoubleTapListener,OnContextClickListener,提供了双击的监听事件,我们可以直接继承这个类,然后实现某几个需要的方法。
3 若是对Activity界面做手势识别,直接在Activity中的onTouchEvent方法中:
public boolean onTouchEvent(MotionEvent event) { return mGestureDetector.onTouchEvent(event); }
4 经过测试:
1)轻点一下activity会调用 onDown --> onSingleTapUp
2)稍微长一点的点击(介于轻点和长按之间的点击)会调用 onDown --> onShowPress -->onSingleTapUp
3)长按 会调用 onDown -->onShowPress -->onLongPress
4)在Activity上滑动,并且在滑动的终点时手指没有立即离开屏幕 onDown -->onShowPress -->onScroll(多个)
5)在Activity上滑动,并且在滑动的终点时手指迅速离开屏幕 onDown --> onShowPress --> onScroll (多个)-->onFling
6)在Activity上迅速滑一下会调用 onDown -->onScroll(多个)-->onFling
相关文章推荐
- Android入门(53)——第八章 使用GestureDetector进行手势识别
- android使用gesturedetector手势识别示例分享
- android使用GestureDetector实现手势下滑与ListView onTouchEvent 冲突问题 解决
- 简述Android触摸屏手势识别 GestureDetector
- Android笔记系列--GestureDetector手势使用
- android: (手势识别)gestureDetector
- Android应用开发基础篇(13)-----GestureDetector(手势识别)
- Android Gesture 手势识别使用实例 - Android - mobile - ITeye论坛
- Android编程使用GestureDetector实现简单手势监听与处理的方法
- GestureDetector手势识别的简单使用
- Android_GestureDetector手势滑动使用
- Android入门(54)——第九章 使用GestureOverlayView进行手势识别
- Android Gesture 手势识别使用实例
- Android_GestureDetector手势滑动使用
- Android手势识别类GestureDetector手势识别类
- Android L(5.0)源码之手势识别GestureDetector
- 【Android界面实现】使用GestureOverlayView控件实现手势识别
- GestureDetector用户手势识别的使用
- Android使用GestureDetector实现手势滑动效果
- android: (手势识别)gestureDetector