Comment détecter les clics longs dans Android à l'aide d'OpenGL-ES
Pour détecter le moment où l'utilisateur appuie sur une surface rendue par un OpenGL-ES application, les développeurs utilisent généralement la méthode onTouchEvent(MotionEvent event). Cependant, cette méthode ne dispose pas de fonctionnalité intégrée pour détecter les clics longs.
Une approche consiste à s'inscrire à l'événement ACTION_DOWN. Ensuite, dans onTouchEvent, planifiez l'exécution d'un Runnable après un certain délai. Si le Runnable est annulé avant son exécution, en raison d'un événement ACTION_UP ou ACTION_MOVE, cela indique que l'utilisateur n'a pas effectué de clic long.
Alternativement, Android propose une solution plus sophistiquée : GestureDetector, qui peut être utilisée pour détecter une variété de gestes, y compris les clics longs.
Utilisation de GestureDetector
Pour utiliser GestureDetector, suivez ces étapes :
Voici un exemple d'utilisation de GestureDetector pour détecter les clics longs :
<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>
En utilisant GestureDetector, vous pouvez facilement détecter clics longs dans vos applications OpenGL-ES.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!