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

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

Patricia Arquette
發布: 2024-11-03 07:40:03
原創
963 人瀏覽過

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

如何使用OpenGL-ES 偵測Android 中的長按

偵測使用者何時按下由OpenGL-ES 渲染的表面在應用程式中,開發人員通常使用onTouchEvent(MotionEvent event) 方法。但是,此方法沒有用於檢測長點擊的內建功能。

一種方法是註冊 ACTION_DOWN 事件。然後,在onTouchEvent中,安排一個Runnable在一定的時間延遲後運行。如果Runnable在運作之前被取消,由於ACTION_UP或ACTION_MOVE事件,則表示使用者沒有執行長按。

或者,Android提供了更複雜的解決方案:GestureDetector,可以使用檢測各種手勢,包括長按。

使用 GestureDetector

要使用 GestureDetector,請依照下列步驟操作:

  1. 建立GestureDetector 的實例。
  2. 重寫 Activity 或 Fragment 中的 onTouchEvent 方法。
  3. 在 onTouchEvent 中,使用gestureDetector.onTouchEvent(event) 將觸控事件傳遞給 GestureDetector 實例。
  4. 向GestureDetector註冊一個OnGestureListener來偵測長按。

以下是使用GestureDetector偵測長按的範例:

<code class="kotlin">class MyActivity : AppCompatActivity() {

  private lateinit var gestureDetector: GestureDetector

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    gestureDetector = GestureDetector(this, LongClickListener())
  }

  override fun onTouchEvent(event: MotionEvent): Boolean {
    gestureDetector.onTouchEvent(event)
    return super.onTouchEvent(event)
  }

  inner class LongClickListener : OnGestureListener {

    override fun onLongPress(e: MotionEvent?) {
      // Handle long click here.
    }

    // Implement other gesture methods as needed.
  }
}</code>
登入後複製

透過使用GestureDetector,您可以輕鬆偵測在 OpenGL-ES 應用程式中長按一下。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板