Android: 如何减少onSingleTapConfirmed的触发时长?

Android: how to reduce trigger duration of onSingleTapConfirmed?

我有一个我使用的视图:

 class GestureTap extends GestureDetector.SimpleOnGestureListener {
      
        @Override
        public boolean onSingleTapConfirmed(MotionEvent e) {
}
}

我认为 onSingleTapConfirmed 是在持续时间过长后启动的。

是否可以缩短此持续时间?

谢谢。

持续时间是最终值,您无法更改它。 所以,你可以调整你的代码策略,比如:

int MOVE_RANGE= 100;
int TIME_LONG_PRESS = 1000;
Runnable r = Runnable();

@Override
public boolean onTouch(View v, MotionEvent event) {
    int x = (int) event.getX();
    int y = (int) event.getY();

    switch (event.getAction()) {
        case MotionEvent.ACTION_UP:
            handler.removeCallbacks(r);
            break;
        case MotionEvent.ACTION_MOVE:
            if (Math.abs(mLastMotionX - x) > TOUCH_MAX|| Math.abs(mLastMotionY - y) > TOUCH_MAX) {
                //Beyond the long press range
                handler.removeCallbacks(r);
            }
            break;
        case MotionEvent.ACTION_DOWN:
            handler.removeCallbacks(r);
            mLastMotionX = x;
            mLastMotionY = y;
            // Start counting
            handler.postDelayed(r, TIME_LONG_PRESS );
            break;
    }
    return true;
}