Indica come implementare il doppio tocco per SurfaceView
in Android utilizzando il rilevatore di gesti. Qualcuno può fornire un esempio di codice?Come implementare il doppio tocco per la vista di superficie in Android
7
A
risposta
15
Si potrebbe provare seguente .. in realtà ho provato questo e funziona abbastanza bene:
1) Estendere GestureDetector.SimpleOnGestureListener
e override è onDoubleTap()
metodo:
class DoubleTapGestureDetector extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDoubleTap(MotionEvent e) {
Log.d("TAG", "Double Tap Detected ...");
return true;
}
}
2) un'istanza GestureDetector
:
final GestureDetector mGesDetect = new GestureDetector(this, new DoubleTapGestureDetector());
3) Impostare un OnTouchListener
sul SurfaceView
, ignorare il suo metodo onTouch()
e chiamare il onTouchEvent()
sul GestureDetector
oggetto:
surfview.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
mGesDetect.onTouchEvent(event);
return true;
}
});
buona spiegazione –