„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie erkennt man lange Klicks in Android OpenGL-ES-Anwendungen?

Wie erkennt man lange Klicks in Android OpenGL-ES-Anwendungen?

Veröffentlicht am 01.11.2024
Durchsuche:220

How to Detect Long Clicks in Android OpenGL-ES Applications?

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, weist dies darauf hin, 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:

  1. Erstellen Sie eine Instanz von GestureDetector.
  2. Überschreiben Sie die onTouchEvent-Methode in Ihrer Aktivität oder Ihrem Fragment. ]Registrieren Sie einen OnGestureListener beim GestureDetector, um lange Klicks zu erkennen.
  3. Hier ist ein Beispiel für die Verwendung von GestureDetector, um lange Klicks zu erkennen:
class MyActivity : AppCompatActivity() { private lateinit var gestureDetector: GestureDetector Spaß überschreiben onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GesteDetector = GestureDetector(this, LongClickListener()) } Spaß überschreiben onTouchEvent(event: MotionEvent): Boolean { GesteDetector.onTouchEvent(Ereignis) return super.onTouchEvent(event) } innere Klasse LongClickListener : OnGestureListener { überschreibe den Spaß onLongPress(e: MotionEvent?) { // Griff lang klicken Sie hier. } // Implementieren Sie nach Bedarf andere Gestenmethoden. } }

Mit GestureDetector können Sie lange Klicks in Ihren OpenGL-ES-Anwendungen leicht erkennen.
            
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3