Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android游戲 >> Android游戲開發 >> Android游戲開發教程之十九:屏幕雙擊事件的捕獲

Android游戲開發教程之十九:屏幕雙擊事件的捕獲

編輯:Android游戲開發

       在Android游戲開發中,我們可能經常要像PC操作一樣在屏幕上雙擊。對於屏幕雙擊操作,Android 1.6版本以前並沒有提供完善的手勢識別類,Android 1.5的SDK中提供了android.view.GestureDetector.OnDoubleTapListener,但經測試無法正常工作,不知是何原因。最終我們的解決方案如下面的代碼:

Java代碼
  1. public class TouchLayout extends RelativeLayout {   
  2.   
  3.     public Handler doubleTapHandler = null;   
  4.   
  5.     protected long lastDown = -1;   
  6.     public final static long DOUBLE_TIME = 500;   
  7.   
  8.     
  9.  public TouchLayout(Context context) {   
  10.        super(context);   
  11.          
  12.     }   
  13.   
  14.     public TouchLayout(Context context, AttributeSet attrs) {   
  15.        super(context, attrs);   
  16.          
  17.     }   
  18.   
  19.     public TouchLayout(Context context, AttributeSet attrs, int defStyle) {   
  20.        super(context, attrs, defStyle);   
  21.           
  22.     }   
  23.   
  24.        
  25.     public boolean onTouchEvent(MotionEvent event) {   
  26.          this.handleEvent(event);   
  27.   
  28.          if (event.getAction() == MotionEvent.ACTION_DOWN) {   
  29.             long nowDown = System.currentTimeMillis();   
  30.   
  31.             if (nowDown - lastDown < DOUBLE_TIME)   
  32.             {   
  33.                   if (doubleTapHandler != null)   
  34.                      doubleTapHandler.sendEmptyMessage(-1);   
  35.   
  36.             } else {   
  37.                lastDown = nowDown;   
  38.             }   
  39.   
  40.          }   
  41.   
  42.          return true;   
  43.   
  44.       }   
  45.        
  46.        
  47.     protected void handleEvent(MotionEvent event) {   
  48.   
  49.         switch (event.getAction()) {   
  50.         case MotionEvent.ACTION_DOWN:   
  51.          //Do sth 這裡處理即可   
  52.            break;   
  53.   
  54.         case MotionEvent.ACTION_UP:   
  55.            //Do sth   
  56.            break;   
  57.         }   
  58.   
  59.      }   
  60.   
  61.   
  62. }  

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved