如何使用OpenGL-ES 偵測Android 中的長按
偵測使用者何時按下由OpenGL-ES 渲染的表面在應用程式中,開發人員通常使用onTouchEvent(MotionEvent event) 方法。但是,此方法沒有用於檢測長點擊的內建功能。
一個方法是註冊 ACTION_DOWN 事件。然後,在onTouchEvent中,安排一個Runnable在一定的時間延遲後運行。如果Runnable在運作之前被取消,由於ACTION_UP或ACTION_MOVE事件,則表示使用者沒有執行長按。
或者,Android提供了更複雜的解決方案:GestureDetector,可以使用檢測各種手勢,包括長按。
使用 GestureDetector
若要使用 GestureDetector,請依照下列步驟操作:
以下是使用 GestureDetector 偵測長按的範例:
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.
}
}
透過使用 GestureDetector,您可以輕鬆偵測 OpenGL-ES 應用程式中的長按。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3