Cara Mengesan Klik Panjang dalam Android Menggunakan OpenGL-ES
Untuk mengesan apabila pengguna menekan permukaan yang diberikan oleh OpenGL-ES aplikasi, pembangun biasanya menggunakan kaedah onTouchEvent(MotionEvent event). Walau bagaimanapun, kaedah ini tidak mempunyai fungsi terbina dalam untuk mengesan klik panjang.
Satu pendekatan ialah mendaftar untuk acara ACTION_DOWN. Kemudian, dalam onTouchEvent, jadualkan Runnable untuk dijalankan selepas kelewatan masa tertentu. Jika Runnable dibatalkan sebelum ia dijalankan, disebabkan oleh peristiwa ACTION_UP atau ACTION_MOVE, ini menunjukkan bahawa pengguna tidak melakukan klik yang panjang.
Sebagai alternatif, Android menyediakan penyelesaian yang lebih canggih: GestureDetector, yang boleh digunakan untuk mengesan pelbagai gerak isyarat, termasuk klik lama.
Menggunakan GestureDetector
Untuk menggunakan GestureDetector, ikut langkah berikut:
Berikut ialah contoh penggunaan GestureDetector untuk mengesan klik panjang:
<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>
Dengan menggunakan GestureDetector, anda boleh mengesan dengan mudah klik lama dalam aplikasi OpenGL-ES anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengesan Klik Panjang dalam Aplikasi OpenGL-ES Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!