Cómo detectar clics largos en Android usando OpenGL-ES
Para detectar cuando el usuario presiona una superficie renderizada por un OpenGL-ES aplicación, los desarrolladores suelen utilizar el método onTouchEvent (evento MotionEvent). Sin embargo, este método no tiene una funcionalidad integrada para detectar clics prolongados.
Un enfoque es registrarse para el evento ACTION_DOWN. Luego, en onTouchEvent, programe un Runnable para que se ejecute después de un cierto retraso. Si Runnable se cancela antes de ejecutarse, debido a un evento ACTION_UP o ACTION_MOVE, indica que el usuario no realizó un clic largo.
Como alternativa, Android proporciona una solución más sofisticada: GestureDetector, que se puede utilizar para detectar una variedad de gestos, incluidos clics largos.
Uso de GestureDetector
Para usar GestureDetector, sigue estos pasos:
Aquí hay un ejemplo del uso de GestureDetector para detectar clics largos:
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.
}
}
Al usar GestureDetector, puedes detectar fácilmente clics largos en tus aplicaciones OpenGL-ES.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3