android 触摸手势 OnGestureListener

来源:互联网 发布:零基础学算法 编辑:程序博客网 时间:2024/05/21 17:01

OnGestureListener 可以处理一些简单的触摸手势,比如滑动,长按等,

OnGestureListener不能直接设置侦听的,可以设置OnTouchListener,让其指向OnGestureListener


public class GestureView extends View implements OnTouchListener, OnGestureListener{GestureDetectormGestureDetector;public GestureView(Context context){super(context);this.setOnTouchListener(this);mGestureDetector = new GestureDetector(this);}@Overridepublic boolean onDown(MotionEvent e){Log.i("@fred", "触摸手势:onDown");return true;}@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY){if (e2.getX() - e1.getX() > 50){Log.i("@fred", "触摸手势:onFling");}return true;}@Overridepublic void onLongPress(MotionEvent e){Log.i("@fred", "触摸手势:onLongPress");}@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY){Log.i("@fred", "触摸手势:onScroll");return true;}@Overridepublic void onShowPress(MotionEvent e){Log.i("@fred", "触摸手势:onShowPress");}@Overridepublic boolean onSingleTapUp(MotionEvent e){Log.i("@fred", "触摸手势:onSingleTapUp");return true;}@Overridepublic boolean onTouch(View v, MotionEvent event){// 将MotionEvent事件传到GestureDetector return  mGestureDetector.onTouchEvent(event);}}


比如点击一下屏幕: