OnGestureListener 可以处理一些简单的触摸手势,比如滑动,长按等,
OnGestureListener不能直接设置侦听的,可以设置OnTouchListener,让其指向OnGestureListener
public class GestureView extends View implements OnTouchListener, OnGestureListener
{GestureDetector mGestureDetector;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事件传到GestureDetectorreturn mGestureDetector.onTouchEvent(event);}}
比如点击一下屏幕: