Вы можете попробовать следующее .. на самом деле я проверил это, и это работает довольно хорошо:
1) Расширить GestureDetector.SimpleOnGestureListener
и переопределить его onDoubleTap()
метод:
class DoubleTapGestureDetector extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDoubleTap(MotionEvent e) {
Log.d("TAG", "Double Tap Detected ...");
return true;
}
}
2) Создание экземпляра GestureDetector
:
final GestureDetector mGesDetect = new GestureDetector(this, new DoubleTapGestureDetector());
3) Установите OnTouchListener
для вашего SurfaceView
, переопределите его onTouch()
метод и вызовите onTouchEvent()
для вашего GestureDetector
объекта:
surfview.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
mGesDetect.onTouchEvent(event);
return true;
}
});