onGestureListener を実装するアクティビティがあります。同じアクティビティでダブルタップ イベントを検出するにはどうすればよいですか? アクティビティでダブルタップ イベントを認識することは可能ですか?
それも長押しを認識しませんか?それについて何か助けはありますか?
onGestureListener を実装するアクティビティがあります。同じアクティビティでダブルタップ イベントを検出するにはどうすればよいですか? アクティビティでダブルタップ イベントを認識することは可能ですか?
それも長押しを認識しませんか?それについて何か助けはありますか?
GestureDetector
OnDoubleTapListener
と同様に指定できますOnGestureListener
。必要なのは、そのメソッドを実装OnDoubleTapListener
してオーバーライドすることだけです。onDoubleTap
また、必要SimpleOnGestureListener
なものだけを使用してオーバーライドすることもできます。
final Context context = this;
final GestureDetector.SimpleOnGestureListener listener = new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onDoubleTap(MotionEvent e) {
Toast.makeText(context, "onDoubleTap", Toast.LENGTH_SHORT).show();
return true;
}
@Override
public void onLongPress(MotionEvent e) {
Toast.makeText(context, "onLongPress", Toast.LENGTH_SHORT).show();
}
};
final GestureDetector detector = new GestureDetector(listener);
detector.setOnDoubleTapListener(listener);
detector.setIsLongpressEnabled(true);
getWindow().getDecorView().setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
return detector.onTouchEvent(event);
}
});