2013-01-24 8 views
5

Come utilizzare gli eventi di doppio tocco in un'attività? L'evento di doppio tocco o metodo di clic lungo funziona (anche se il metodo sta per essere annullato) Ho appena inserito un messaggio di brindisi in ciascuno di questi metodi e ancora nessun risultato! Puoi aiutare?Double Tap Android

+2

Puoi pubblicare un po 'di codice? –

+2

Hai bisogno di essere sicuro che Zombie sia morto? Normalmente una lunga pressione è proprio ciò che dovresti usare su Android (non provarlo su uno Zombie, però). –

risposta

9

Il modo più semplice per eseguire un doppio tocco è rilevarlo con GestureDetector. Il "trucco" è di essere sicuri di delegare l'onTouchEvent di Activity a onTouchEvent di GestureDetector:

import android.app.Activity; 
import android.os.Bundle; 
import android.view.GestureDetector; 
import android.view.MotionEvent; 
import android.widget.Toast; 

public class MainActivity extends Activity { 

    private GestureDetector gestureDetector; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     gestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() { 
      @Override 
      public boolean onDoubleTap(MotionEvent e) { 
       Toast.makeText(MainActivity.this, "double tap", Toast.LENGTH_SHORT).show(); 
       return true; 
      } 
     }); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     if (gestureDetector.onTouchEvent(event)) 
      return true; 
     return super.onTouchEvent(event); 
    } 
}