Panel aplikasi memungkinkan Anda menambahkan tombol untuk tindakan pengguna. Fitur ini memungkinkan Anda menempatkan tindakan yang paling penting untuk konteks saat ini di bagian atas aplikasi. Misalnya, aplikasi penjelajahan foto mungkin menampilkan tombol bagikan dan buat album di bagian atas saat pengguna melihat rol fotonya. Saat pengguna melihat setiap foto, aplikasi mungkin menampilkan tombol crop dan filter.
Ruang di panel aplikasi bersifat terbatas. Jika aplikasi mendeklarasikan tindakan lebih banyak daripada yang dapat dimuat di panel aplikasi, panel aplikasi akan mengirimkan tindakan berlebih ke menu tambahan. Aplikasi juga dapat menentukan agar tindakan selalu ditampilkan di menu tambahan, bukan ditampilkan di panel aplikasi.
![Gambar yang menampilkan aplikasi Now in Android dengan ikon panel tindakan](https://developer.android.com/static/images/ui/notifications/actions_actionbar.png?authuser=6&hl=id)
Menambahkan tombol tindakan
Semua tombol tindakan dan item lain yang tersedia dalam tindakan tambahan
ditentukan dalam resource menu
XML. Untuk menambahkan
tindakan ke panel tindakan, buat file XML baru di direktori
res/menu/
project Anda.
Tambahkan elemen
<item>
untuk setiap item yang ingin Anda sertakan dalam panel tindakan, seperti yang ditunjukkan dalam
contoh file XML menu berikut:
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <!-- "Mark Favorite", must appear as action button if possible. --> <item android:id="@+id/action_favorite" android:icon="@drawable/ic_favorite_black_48dp" android:title="@string/action_favorite" app:showAsAction="ifRoom"/> <!-- Settings, must always be in the overflow. --> <item android:id="@+id/action_settings" android:title="@string/action_settings" app:showAsAction="never"/> </menu>
Atribut app:showAsAction
menentukan apakah tindakan ditampilkan
sebagai tombol di panel aplikasi. Jika Anda menetapkan
app:showAsAction="ifRoom"
—seperti dalam tindakan
favorit kode contoh—tindakan tersebut akan ditampilkan sebagai tombol jika ada ruang di
panel aplikasi untuk tindakan tersebut. Jika ruang penyimpanan tidak cukup, tindakan berlebih akan dikirim ke
menu tambahan. Jika Anda menyetel app:showAsAction="never"
—seperti dalam
tindakan setelan kode contoh—tindakan tersebut selalu tercantum dalam
menu tambahan dan tidak ditampilkan di panel aplikasi.
Sistem menggunakan ikon tindakan sebagai tombol tindakan jika tindakan tersebut ditampilkan di panel aplikasi. Anda dapat menemukan banyak ikon yang berguna di Ikon Material.
Merespons tindakan
Saat pengguna memilih salah satu item panel aplikasi, sistem akan memanggil
metode callback
onOptionsItemSelected()
aktivitas Anda dan meneruskan
objek MenuItem
untuk menunjukkan item mana yang diketuk. Dalam implementasi
onOptionsItemSelected()
, panggil
metode MenuItem.getItemId()
untuk menentukan item mana yang diketuk. ID yang ditampilkan cocok dengan nilai yang Anda
deklarasikan dalam atribut android:id
elemen <item>
yang sesuai.
Misalnya, cuplikan kode berikut memeriksa tindakan mana yang dipilih pengguna. Jika tidak mengenali tindakan pengguna, metode ini akan memanggil metode superclass:
Kotlin
override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) { R.id.action_settings -> { // User chooses the "Settings" item. Show the app settings UI. true } R.id.action_favorite -> { // User chooses the "Favorite" action. Mark the current item as a // favorite. true } else -> { // The user's action isn't recognized. // Invoke the superclass to handle it. super.onOptionsItemSelected(item) } }
Java
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_settings: // User chooses the "Settings" item. Show the app settings UI. return true; case R.id.action_favorite: // User chooses the "Favorite" action. Mark the current item as a // favorite. return true; default: // The user's action isn't recognized. // Invoke the superclass to handle it. return super.onOptionsItemSelected(item); } }