So erkennen Sie lange Klicks in Android mit OpenGL-ES
Um zu erkennen, wann der Benutzer auf eine Oberfläche drückt, die von einem OpenGL-ES gerendert wird Für eine Anwendung verwenden Entwickler normalerweise die Methode onTouchEvent(MotionEvent event). Diese Methode verfügt jedoch nicht über eine integrierte Funktionalität zur Erkennung langer Klicks.
Ein Ansatz besteht darin, sich für das ACTION_DOWN-Ereignis zu registrieren. Planen Sie dann in onTouchEvent die Ausführung eines Runnable nach einer bestimmten Zeitverzögerung. Wenn das Runnable aufgrund eines ACTION_UP- oder ACTION_MOVE-Ereignisses vor seiner Ausführung abgebrochen wird, zeigt dies an, dass der Benutzer keinen langen Klick ausgeführt hat.
Alternativ bietet Android eine ausgefeiltere Lösung: GestureDetector, die verwendet werden kann um eine Vielzahl von Gesten zu erkennen, einschließlich langer Klicks.
GestureDetector verwenden
Um GestureDetector zu verwenden, befolgen Sie diese Schritte:
Hier ist ein Beispiel für die Verwendung von GestureDetector zur Erkennung langer Klicks:
<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>
Durch die Verwendung von GestureDetector können Sie dies ganz einfach erkennen lange Klicks in Ihren OpenGL-ES-Anwendungen.
Das obige ist der detaillierte Inhalt vonWie erkennt man lange Klicks in Android OpenGL-ES-Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!