Rumah > Java > javaTutorial > Bagaimana untuk Mengesan Tekan Lama dalam Aplikasi Android OpenGL-ES?

Bagaimana untuk Mengesan Tekan Lama dalam Aplikasi Android OpenGL-ES?

Susan Sarandon
Lepaskan: 2024-11-01 17:45:02
asal
973 orang telah melayarinya

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

Pengesanan Tekan Lama dalam Android untuk OpenGL-ES

Dalam pengaturcaraan Android, mengesan tekanan lama adalah penting untuk pelbagai interaksi pengguna. Secara tradisinya, pembangun telah bergantung pada kaedah onTouchEvent(MotionEvent) untuk mengesan peristiwa sentuhan. Walau bagaimanapun, kaedah ini tidak menawarkan fungsi pengesanan tekan lama khusus.

Pendekatan Alternatif

Seperti yang dinyatakan dalam soalan anda, satu pendekatan penyelesaian melibatkan pendaftaran untuk kedua-dua sentuhan ACTION_DOWN dan ACTION_UP peristiwa dan mengira masa berlalu antara keduanya. Walaupun ini boleh mensimulasikan pengesanan tekan lama, ia memerlukan pengendalian pemasa yang jelas dan penentuan ambang manual.

Menggunakan GestureDetector

Nasib baik, Android menyediakan penyelesaian yang lebih mantap untuk pengesanan tekan lama : kelas GestureDetector. GestureDetector memudahkan proses dengan memantau peristiwa sentuhan secara automatik dan mengesan gerak isyarat, termasuk menekan lama. Begini cara untuk melaksanakannya:

<code class="java">GestureDetectorCompat gestureDetector = new GestureDetectorCompat(context, new GestureDetector.OnGestureListener() {
    @Override
    public boolean onDown(MotionEvent ev) {
        // Handle initial touch
        return true;
    }

    @Override
    public void onShowPress(MotionEvent ev) {
        // Triggered when a long press is detected
    }

    // Other gesture listening methods
});

@Override
public boolean onTouchEvent(MotionEvent event) {
    gestureDetector.onTouchEvent(event);
    return super.onTouchEvent(event);
}</code>
Salin selepas log masuk

Dalam contoh ini, GestureDetectorCompat dicipta dan dikonfigurasikan dengan pelaksanaan GestureDetector.OnGestureListener. Kaedah onDown dan onShowPress mengendalikan pengesanan sentuhan awal dan tekan lama, masing-masing. Kaedah onTouchEvent mendaftarkan GestureDetector untuk pemantauan acara sentuh.

Kesimpulan

Dengan memanfaatkan GestureDetector, anda memperoleh penyelesaian yang boleh dipercayai dan cekap untuk mengesan tekanan lama dalam Android OpenGL anda- Aplikasi ES tanpa memerlukan pengendalian pemasa manual atau penentuan ambang.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan Tekan Lama dalam Aplikasi Android OpenGL-ES?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan