Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> Android游戲開發之旅20 雙按事件捕獲

Android游戲開發之旅20 雙按事件捕獲

編輯:高級開發

對於游戲開發中我們可能經常要用到雙按屏幕,在android 1.6以前並沒有提供完善的手勢識別類,在Android 1.5 SDK中我們可以找到android.vIEw.GestureDetector.OnDoubleTapListener,但是經過測試仍然無法正常工作,不知道什麼原因,如果您知道可以聯系[email protected]共享下。最終我們使用的解決方法如下

最終我們測試的如下:


public class TouchLayout extends RelativeLayout {

public Handler doubleTapHandler = null;

protected long lastDown = -1;
public final static long DOUBLE_TIME = 500;


public TouchLayout(Context context) {
super(context);

}

public TouchLayout(Context context, AttributeSet attrs) {
super(context, attrs);

}

public TouchLayout(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);

}


public boolean onTouchEvent(MotionEvent event) {
this.handleEvent(event);

if (event.getAction() == MotionEvent.ACTION_DOWN) {
long nowDown = System.currentTimeMillis();

if (nowDown - lastDown < DOUBLE_TIME)
{
if (doubleTapHandler != null)
doubleTapHandler.sendEmptyMessage(-1);

} else {
lastDown = nowDown;
}

}

return true;

}


protected void handleEvent(MotionEvent event) {

switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
//Do sth 這裡處理即可
break;

case MotionEvent.ACTION_UP:
//Do sth
break;
}

}


}

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