Apakah ada perbedaan antara OnTouchListener
dan OnClickListener
? Saya tidak meminta dari sudut pandang pemrograman, tetapi dari sudut pandang Pengalaman Pengguna.
Mana yang lebih baik untuk digunakan?
Apakah kita perlu menerapkan keduanya?
mana yang lebih baik untuk digunakan?
Itu sangat tergantung pada kebutuhan Anda.
onTouch
memberi Anda Peristiwa Gerak. Dengan demikian, Anda dapat melakukan banyak hal mewah karena membantu Anda memisahkan keadaan gerakan. Hanya untuk beberapa nama:
Itu adalah tindakan umum yang biasanya kami terapkan untuk mendapatkan hasil yang diinginkan seperti menyeret tampilan di layar.
Di sisi lain, onClick
tidak memberi Anda banyak kecuali tampilan mana yang berinteraksi dengan pengguna. onClick
adalah acara lengkap yang terdiri dari pemfokusan, penekanan, dan pelepasan. Jadi, Anda hanya memiliki sedikit kendali atasnya. Satu sisi di atas adalah sangat mudah untuk diterapkan.
apakah kita perlu menerapkan keduanya?
Ini tidak perlu kecuali Anda ingin mengacaukan pengguna Anda. Jika Anda hanya ingin acara klik sederhana, lakukan onClick
. Jika Anda menginginkan lebih dari sekadar klik, lakukan onTouch
. Melakukan keduanya akan mempersulit prosesnya.
Dari sudut pandang Pengguna, tidak terlihat jika Anda menerapkan onTouch
dengan hati-hati agar terlihat seperti onClick
.
Peristiwa "Sentuh" adalah saat seseorang meletakkan jarinya di layar. Itu dipanggil melalui gerakan jari, bawah, seret, dan atas. A "Klik" bahkan tidak perlu datang dari layar. Bisa jadi seseorang menekan tombol enter.
Gunakan
OnTouchListener
ketika Anda ingin menerima acara dari jari seseorang di layar.Gunakan
OnClickListener
saat Anda ingin mendeteksi klik.sumber
onClickListener
digunakan setiap kali peristiwa klik untuk tampilan apa pun dimunculkan, misalnya: peristiwa klik untuk Tombol, ImageButton.onTouchListener
digunakan kapan pun Anda ingin menerapkan fungsionalitas jenis Sentuh, katakanlah misalnya jika Anda ingin mendapatkan koordinat layar tempat Anda menyentuh dengan tepat.dari dokumen resmi, definisi keduanya adalah:
onClickListner
: Definisi antarmuka untuk callback yang akan dipanggil saat tampilan diklik.onTouchListener
: Definisi antarmuka untuk callback yang akan dipanggil saat peristiwa sentuh dikirim ke tampilan ini. Callback akan dipanggil sebelum event sentuh diberikan ke tampilan.sumber
Salah satu alasan bagus untuk menggunakan acara ontouch daripada acara onclick adalah untuk mendapatkan respons yang lebih cepat setelah pengguna mengklik. Jika peristiwa onclick mengalami penundaan dalam merespons dan melanjutkan tindakan yang diperlukan. acara ontouch lebih baik untuk memberikan aplikasi web seluler berperforma tinggi.
sumber
OnClickListener
- digunakan untuk tujuan dasar, ketika kita hanya membutuhkan satu klik dari pengguna yaitu, klik tombol, tidak ada drag atau isyarat di layarOnTouchListener
pada dasarnya adalah kontrol yang lebih baik daripada OnClickListener. Ini melakukan dan tindakan pada pers / rilis di layar Ini memungkinkan pengguna dengan kombinasi gerakan, sentuhan ke bawah, sentuhan ke atas, tarik jari atau gerakan apa pun di layarsumber
Lebih suka menggunakan onTouch. Memberi Anda contoh: ketika Anda memiliki ViewPager dan TextView di dalamnya. jika Anda mengimplementasikan setOnClickListener pada textView, Anda tidak akan dapat menggesek ViewPager saat Anda menyentuh / menggesek pada TextView
sumber