首頁 >Java >java教程 >如何偵測 Android OpenGL-ES 應用程式中的長按?

如何偵測 Android OpenGL-ES 應用程式中的長按?

Susan Sarandon
Susan Sarandon原創
2024-11-01 17:45:02895瀏覽

How to Detect Long Presses in Android OpenGL-ES Applications?

Android 中針對OpenGL-ES 的長按偵測

在Android 程式設計中,偵測長按對於各種使用者互動至關重要。傳統上,開發人員依賴 onTouchEvent(MotionEvent event) 方法來偵測觸控事件。但是,此方法不提供專用的長按檢測功能。

替代方法

正如您的問題中提到的,一種解決方法包括註冊 ACTION_DOWN 和 ACTION_UP 觸摸事件併計算兩者之間經過的時間。雖然這可以模擬長按檢測,但它需要明確的計時器處理和手動閾值確定。

利用 GestureDetector

幸運的是,Android 為長按偵測提供了更強大的解決方案:GestureDetector 類別。 GestureDetector 透過自動監控觸控事件和偵測手勢(包括長按)來簡化流程。以下是如何實現它:

<code class="java">GestureDetectorCompat gestureDetector = new GestureDetectorCompat(context, new GestureDetector.OnGestureListener() {
    @Override
    public boolean onDown(MotionEvent ev) {
        // Handle initial touch
        return true;
    }

    @Override
    public void onShowPress(MotionEvent ev) {
        // Triggered when a long press is detected
    }

    // Other gesture listening methods
});

@Override
public boolean onTouchEvent(MotionEvent event) {
    gestureDetector.onTouchEvent(event);
    return super.onTouchEvent(event);
}</code>

在此範例中,使用 GestureDetector.OnGestureListener 實作建立並配置 GestureDetectorCompat。 onDown 和 onShowPress 方法分別處理初始觸控和長按偵測。 onTouchEvent 方法註冊 GestureDetector 來監控觸控事件。

結論

透過利用GestureDetector,您可以獲得可靠且高效的解決方案來檢測Android OpenGL 中的長按- ES 應用程式無需手動計時器處理或閾值確定。

以上是如何偵測 Android OpenGL-ES 應用程式中的長按?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn