Ikon pointer mouse

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_GRAB saat 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_IN saat mode zoom diaktifkan.
  • Dan banyak lagi peluang

Catatan: Untuk melihat berbagai perubahan penunjuk yang sedang terjadi, lihat Contoh Penunjuk GitHub ini

Ikon penunjuk kustom di aplikasi Android.

Lampiran

Bacaan Tambahan

Kursor Default Sistem

Berikut adalah kursor yang tersedia secara default di Sistem Android.

Nama Kursor Ikon
TYPE_ALIAS Kursor alias, panah dengan panah kecil melengkung di sampingnya.
TYPE_ALL_SCROLL Kursor semua scroll, lingkaran dengan empat panah yang mengarah ke luar.
TYPE_ARROW Kursor panah standar.
TYPE_CELL Kursor Sel
TYPE_CONTEXT_MENU Kursor menu konteks, panah dengan ikon menu kecil di sampingnya.
TYPE_COPY Kursor salin, panah dengan tanda plus di sampingnya.
TYPE_CROSSHAIR Kursor bidik, tanda plus dengan titik di tengah.
TYPE_DEFAULT Kursor panah default.
TYPE_GRAB Kursor ambil, tangan terbuka.
TYPE_GRABBING Kursor mencengkeram, tangan tertutup.
TYPE_HAND Kursor tangan, tangan dengan jari telunjuk menunjuk.
TYPE_HELP Kursor bantuan, panah dengan tanda tanya di sampingnya.
TYPE_HORIZONTAL_DOUBLE_ARROW Kursor panah ganda horizontal untuk mengubah ukuran.
TYPE_NO_DROP Kursor tidak dapat dilepas, lingkaran dengan garis melintang.
TYPE_NULL Tidak Ada Kursor yang Akan Ditampilkan
TYPE_TEXT Kursor teks, I-beam.
TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW Kursor panah ganda diagonal kiri atas ke kanan bawah untuk mengubah ukuran.
TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW Kursor panah ganda diagonal kanan atas ke kiri bawah untuk mengubah ukuran.
TYPE_VERTICAL_DOUBLE_ARROW Kursor panah ganda vertikal untuk mengubah ukuran.
TYPE_VERTICAL_TEXT Kursor teks vertikal, I-beam horizontal.
TYPE_WAIT Kursor tunggu, jam pasir atau lingkaran berputar.
TYPE_ZOOM_IN Kursor zoom in, kaca pembesar dengan tanda plus.
TYPE_ZOOM_OUT Kursor zoom-out, kaca pembesar dengan tanda minus.