Android 为什么一开始调用单点确认而不是双点确认?
实际上,我正在尝试使用Android 为什么一开始调用单点确认而不是双点确认?,android,touch-event,Android,Touch Event,实际上,我正在尝试使用singleTapConfirmed()和doubleTap()执行两个操作。为此,我使用GestureTap类,该类从GestureDetector.SimpleOnGestureListener扩展而来。虽然它在某些设备上运行良好,但在某些设备上,如nougat和oreo它会首先接收singletapconfixed(),甚至是通过doubleTap。我想知道如何解决这个问题 代码: 这可能对你有帮助 @Override public boolean onTou
singleTapConfirmed()
和doubleTap()
执行两个操作。为此,我使用GestureTap
类,该类从GestureDetector.SimpleOnGestureListener
扩展而来。虽然它在某些设备上运行良好,但在某些设备上,如nougat
和oreo
它会首先接收singletapconfixed()
,甚至是通过doubleTap。我想知道如何解决这个问题
代码:
这可能对你有帮助
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = event.getActionMasked();
if (action == MotionEvent.ACTION_DOWN) {
final long now = event.getEventTime();
if (now - mTouchTime < ViewConfiguration.getDoubleTapTimeout()) {
mTouchTime = 0;
//doubleClick(event);
} else {
mTouchTime = now;
}
} else if (action == MotionEvent.ACTION_POINTER_DOWN) {
mTouchTime = 0; // no double-tap for other fingers
}
return true;
}
@覆盖
公共布尔onTouchEvent(运动事件){
int action=event.getActionMasked();
if(action==MotionEvent.action\u DOWN){
final long now=event.getEventTime();
if(现在-mTouchTime
系统双击超时为ViewConfiguration.getDoubleTapTimeout();我不确定窃听的延迟是否会触发这两种情况,请检查一下。@AjgTheta先生如何做检查帖子以获取答案非常感谢您的回答。虽然现在双击被正确接收,但如何得到确认
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = event.getActionMasked();
if (action == MotionEvent.ACTION_DOWN) {
final long now = event.getEventTime();
if (now - mTouchTime < ViewConfiguration.getDoubleTapTimeout()) {
mTouchTime = 0;
//doubleClick(event);
} else {
mTouchTime = now;
}
} else if (action == MotionEvent.ACTION_POINTER_DOWN) {
mTouchTime = 0; // no double-tap for other fingers
}
return true;
}