mGestureDetector = new GestureDetector(new TestSimpleGesture());
class TestSimpleGesture extends SimpleOnGestureListener {
方法包括:
/**
* 轻触屏幕,由一个ACTION_DOWN触发
*/
@Override
public boolean onDown(MotionEvent e) {
Log.d("test", "onDown");
return super.onDown(e);
}
/**
* 轻触屏幕,上面先执行此方法再执行,一个ACTION_DOWN触发
*/
@Override
public void onShowPress(MotionEvent e) {
super.onShowPress(e);
Log.d("test", "onShowPress");
}
/**
* 轻触屏幕,长按时,多个ACTION_DOWN触发
*/
@Override
public void onLongPress(MotionEvent e) {
Log.d("test", "onLongPress");
super.onLongPress(e);
}
/**
* 轻触屏幕,连续两下,第二下ACTION_DOWN时触发
*/
@Override
public boolean onDoubleTap(MotionEvent e) {
Log.d("test", "onDoubleTap");
return super.onDoubleTap(e);
}
/**
* 轻触屏幕,连续两下,第二下ACTION_DOWN,ACTION_UP都会触发
*/
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
Log.d("test", "onDoubleTapEvent");
return super.onDoubleTapEvent(e);
}
/*
* 轻触屏幕,不滑动,时间稍长,但是比长按短时触发(下面两个方法)
*
*/
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
Log.d("test", "onSingleTapConfirmed");
return super.onSingleTapConfirmed(e);
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
Log.d("test", "onSingleTapUp");
return super.onSingleTapUp(e);
}
/**
* 拖动慢慢滑动屏幕时触发
*/
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
Log.d("test", "onScroll");
return super.onScroll(e1, e2, distanceX, distanceY);
}
/**
* 做抛的动作,松手后触发
*/
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
Log.d("test", "onFling");
return super.onFling(e1, e2, velocityX, velocityY);
}
例如:
1. 快速轻触----->松开
2. 轻触(时间稍长但是比长按短)------->松开
3. 轻触(长按)-------->松开
4.快速点击两下
5.慢慢拖动----->松开
6. 抛--松开