如何使用 OpenGL-ES 检测 Android 中的长按
检测用户何时按下由 OpenGL-ES 渲染的表面在应用程序中,开发人员通常使用 onTouchEvent(MotionEvent event) 方法。但是,此方法没有用于检测长点击的内置功能。
一种方法是注册 ACTION_DOWN 事件。然后,在onTouchEvent中,安排一个Runnable在一定的时间延迟后运行。如果Runnable在运行之前被取消,由于ACTION_UP或ACTION_MOVE事件,则表明用户没有执行长按。或者,Android提供了更复杂的解决方案: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>
以上是如何检测 Android OpenGL-ES 应用程序中的长点击?的详细内容。更多信息请关注PHP中文网其他相关文章!