Android双击
1. Activity代码
package com.example.mydoubletap;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.GestureDetectorCompat;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity{
private static final String DEBUG_TAG = "Gestures";
private TextView textView;
private GestureDetectorCompat gestureDetectorCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
gestureDetectorCompat = new GestureDetectorCompat(this, new mySimpleGestureListener());
}
@Override
public boolean onTouchEvent(MotionEvent event){
this.gestureDetectorCompat.onTouchEvent(event);
return super.onTouchEvent(event);
}
class mySimpleGestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDoubleTap(MotionEvent event) {
Log.d(DEBUG_TAG,"DoubleTap");
return true;
}
}
}
2. 主要代码
@Override
public boolean onTouchEvent(MotionEvent event){
this.gestureDetectorCompat.onTouchEvent(event);
return super.onTouchEvent(event);
}
//内联
class mySimpleGestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDoubleTap(MotionEvent event) {
Log.d(DEBUG_TAG,"DoubleTap");
return true;
}
}
参考链接:
https://developer.android.google.cn/training/gestures/detector
https://www.runoob.com/w3cnote/android-tutorial-touchlistener-ontouchevent.html