Как обнаружить длинные клики в Android с помощью OpenGL-ES
Чтобы определить, когда пользователь нажимает на поверхность, отображаемую с помощью OpenGL-ES приложения разработчики обычно используют метод onTouchEvent(событие MotionEvent). Однако этот метод не имеет встроенной функции обнаружения длинных кликов.
Один из подходов — зарегистрироваться для события 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