手势检测,用于辅助检测用户的单机、、滑动、长按、双击等行为。要使用GestureDetector也不复杂。
首先,需要创建一个GestureDetector对象并且实现onGestureListner接口,根据需要我们还可以实现OnDoubleTapLinster从而能够监听双击行为:
GestureDetector gestureDetector=new GestureDetector(new GestureDetector.OnGestureListener() { @Override public boolean onDown(MotionEvent motionEvent) { return false; } @Override public void onShowPress(MotionEvent motionEvent) { } @Override public boolean onSingleTapUp(MotionEvent motionEvent) { return false; } @Override public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) { return false; } @Override public void onLongPress(MotionEvent motionEvent) { } @Override public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) { return false; } }); //解决长按屏幕后无法拖动的现象 gestureDetector.setIsLongpressEnabled(false); boolean consume=gestureDetector.onGenericMotionEvent(event); return; consume;