2011-10-27 12 views

Trả lời

15

Bạn có thể thử như sau .. thực sự tôi đã thử nghiệm này và nó hoạt động khá tốt:

1) Mở rộng GestureDetector.SimpleOnGestureListener và ghi đè lên nó onDoubleTap() phương pháp:

class DoubleTapGestureDetector extends GestureDetector.SimpleOnGestureListener { 

     @Override 
     public boolean onDoubleTap(MotionEvent e) { 
      Log.d("TAG", "Double Tap Detected ..."); 
      return true; 
     } 

    } 

2) Khởi tạo các GestureDetector :

final GestureDetector mGesDetect = new GestureDetector(this, new DoubleTapGestureDetector()); 

3) Đặt OnTouchListener trên SurfaceView của bạn, ghi đè phương pháp onTouch() của nó và gọi onTouchEvent() trên GestureDetector đối tượng của bạn:

surfview.setOnTouchListener(new OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      mGesDetect.onTouchEvent(event); 
      return true; 
     } 
    }); 
+0

tốt giải thích –