如何使用OpenGL-ES 偵測Android 中的長按
偵測使用者何時按下由OpenGL-ES 渲染的表面在應用程式中,開發人員通常使用onTouchEvent(MotionEvent event) 方法。但是,此方法沒有用於檢測長點擊的內建功能。
一種方法是註冊 ACTION_DOWN 事件。然後,在onTouchEvent中,安排一個Runnable在一定的時間延遲後運行。如果Runnable在運作之前被取消,由於ACTION_UP或ACTION_MOVE事件,則表示使用者沒有執行長按。
或者,Android提供了更複雜的解決方案:GestureDetector,可以使用檢測各種手勢,包括長按。
使用 GestureDetector
要使用 GestureDetector,請依照下列步驟操作:
以下是使用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中文網其他相關文章!