2011-10-27 6 views

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; 
     } 
    }); 
+0

buona spiegazione –