Pengguna Android membuka aplikasi Anda dari berbagai jenis faktor bentuk, yaitu ponsel, tablet, perangkat foldable, dan Chromebook. Saat berinteraksi dengan aplikasi Anda, terutama di layar yang lebih besar, pengguna juga dapat menggunakan beberapa jenis perangkat penunjuk seperti mouse tiga tombol. Aplikasi Android memiliki dukungan untuk menerapkan gaya yang berbeda pada pointer mouse guna membantu pengguna tersebut memiliki indikasi visual bahwa mereka dapat berinteraksi dengan suatu objek.
Menggunakan kursor default sistem
Pengguna sudah terbiasa dengan berbagai konvensi untuk berinteraksi dengan berbagai jenis objek di perangkat layar besar. Android menyediakan beberapa ikon kursor paling umum yang sudah dikenal pengguna kepada developer. Anda dapat menambahkan ikon kursor default sistem ini dengan beberapa baris kode. Mari kita lihat cuplikan Kotlin berikut:
myView.setOnHoverListener { view, _ -> view.pointerIcon = PointerIcon.getSystemIcon(applicationContext, PointerIcon.TYPE_HAND) false // Listener did not consume the event. }
Dalam contoh ini, myView adalah tampilan yang akan ditetapkan ke ikon penunjuk dalam kondisi tertentu. Kondisi yang ditunjukkan di sini adalah status arahkan kursor, yang terjadi saat pointer mouse berada di atas tampilan. Dalam skenario lain, Anda mungkin menginginkan ikon menunggu selama pemrosesan atau crosshair dalam game.
setOnHoverListener memproses saat pointer memasuki status mengambang, lalu menindaklanjuti peristiwa tersebut. Di dalam pemroses peristiwa, view.pointerIcon dipanggil untuk menetapkan ikon penunjuk untuk tampilan tertentu tersebut. Ikon sistem yang ada digunakan untuk menyetel ikon penunjuk.
Ada beberapa ikon sistem yang dibuat ke dalam Android; daftar lengkapnya ada di bagian bawah halaman ini. Ikon TYPE_HAND digunakan, yang menampilkan tangan tertutup dengan jari telunjuk terulur.
Menggunakan kursor khusus Anda sendiri
// Loading a bitmap to use as a pointer icon BitmapFactory.decodeResource( this.resources, R.drawable.dollar_sign ), CURSOR_WIDTH, CURSOR_HEIGHT, false ) // Creating the pointer icon and sending clicks from the center of the mouse icon PointerIcon.create(dollarBitmap, (CURSOR_WIDTH/2).toFloat(), (CURSOR_HEIGHT/2).toFloat())
Catatan: Lokasi hotspot bergantung pada kasus penggunaan Anda. Misalnya, aplikasi menggambar akan menetapkan hotspot sebagai ujung pena atau kuas.
Contoh
Menambahkan ikon penunjuk ke aplikasi Anda adalah cara yang bagus untuk membantu pengguna mendapatkan pengalaman yang lebih intuitif di berbagai faktor bentuk perangkat yang mereka gunakan. Ada banyak ikon sistem default yang bagus dan tersedia. Jika ikon tersebut tidak sesuai dengan kebutuhan Anda, Anda selalu dapat memuat atau membuat ikon Anda sendiri.
-
Tarik lalu Lepas - Jika aplikasi Anda mendukung penarikan dari aplikasi lain dan pelepasan ke aplikasi Anda, Anda dapat menerapkan ikon
TYPE_NO_DROP. Hal ini akan memberikan indikasi visual bahwa aplikasi Anda tidak mendukung jenis MIME yang sedang dicoba untuk di-drop ke dalam aplikasi Anda. -
Pemetaan - Jika Anda memiliki aplikasi pemetaan dan ingin menunjukkan kepada pengguna bahwa mereka dapat menggeser peta, mereka dapat memiliki opsi untuk menampilkan ikon
TYPE_GRABsaat Anda mengarahkan kursor ke peta. Saat pengguna mengklik, Anda dapat memperbarui ikon menjadi tangan yang mencengkeram untuk menunjukkan bahwa pengguna sedang menggeser peta. -
Pengeditan Foto - Pengguna pengeditan foto ingin memiliki kontrol yang memungkinkan mereka memilih kaca pembesar untuk memperbesar. Anda dapat mengubah kursor menjadi kaca pembesar dengan ikon
TYPE_ZOOM_INsaat mode zoom diaktifkan. - Dan banyak lagi peluang
Catatan: Untuk melihat berbagai perubahan penunjuk yang sedang terjadi, lihat Contoh Penunjuk GitHub ini
Lampiran
Bacaan Tambahan
- Contoh Pointer GitHub
- Dokumentasi Class Android PointerIcon
- Mengoptimalkan Aplikasi untuk ChromeOS : Kursor Kustom
Kursor Default Sistem
Berikut adalah kursor yang tersedia secara default di Sistem Android.
| Nama Kursor | Ikon |
|---|---|
| TYPE_ALIAS | ![]() |
| TYPE_ALL_SCROLL | ![]() |
| TYPE_ARROW | ![]() |
| TYPE_CELL | Kursor Sel |
| TYPE_CONTEXT_MENU | ![]() |
| TYPE_COPY | ![]() |
| TYPE_CROSSHAIR | ![]() |
| TYPE_DEFAULT | ![]() |
| TYPE_GRAB | ![]() |
| TYPE_GRABBING | ![]() |
| TYPE_HAND | ![]() |
| TYPE_HELP | ![]() |
| TYPE_HORIZONTAL_DOUBLE_ARROW | ![]() |
| TYPE_NO_DROP | ![]() |
| TYPE_NULL | Tidak Ada Kursor yang Akan Ditampilkan |
| TYPE_TEXT | ![]() |
| TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW | ![]() |
| TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW | ![]() |
| TYPE_VERTICAL_DOUBLE_ARROW | ![]() |
| TYPE_VERTICAL_TEXT | ![]() |
| TYPE_WAIT | ![]() |
| TYPE_ZOOM_IN | ![]() |
| TYPE_ZOOM_OUT | ![]() |




















