Android 螢幕雙擊事件的捕獲簡單示例

NO IMAGE

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

Java程式碼


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;  
}  
}  
} 

以上就是對Android 螢幕雙擊的事件捕獲的示例程式碼,後續繼續補充相關資料,希望能幫助開發Android應用的朋友。

您可能感興趣的文章:

Android重力感測器實現滾動的彈球Android SurfaceView執行機制剖析–處理切換到後臺再重新進入程式時的異常Android 物理遊戲之重力系統開發示例程式碼Android中貝塞爾曲線的繪製方法示例程式碼Android開發之ScrollView的滑動監聽Android 模擬訊號示波器示例程式碼Android Service判斷裝置聯網狀態詳解Android View進行手勢識別詳解Android中圖片的三級快取機制Android開發例項之多點觸控程式Android 重力感測器在遊戲開發中的應用