Resource menu
    
    
      
    
    
      
      Tetap teratur dengan koleksi
    
    
      
      Simpan dan kategorikan konten berdasarkan preferensi Anda.
    
  
  
      
    
  
  
  
  
  
    
    
    
  
  
    
    
    
Resource menu menentukan menu aplikasi—menu opsi, menu konteks, atau submenu—yang
dapat diperluas dengan MenuInflater.
Untuk panduan penggunaan menu, lihat Menambahkan menu.
- lokasi file:
- res/menu/filename.xml
 Nama file digunakan sebagai ID resource
- jenis data resource yang dihimpun:
- Penunjuk resource ke resource Menu(atau subclass)
- referensi resource:
- 
Di Java: R.menu.filename
 Dalam XML:@[package:]menu.filename
- sintaksis:
- 
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@[+][package:]id/resource_name"
          android:title="string"
          android:titleCondensed="string"
          android:icon="@[package:]drawable/drawable_resource_name"
          android:onClick="method name"
          android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]
          android:actionLayout="@[package:]layout/layout_resource_name"
          android:actionViewClass="class name"
          android:actionProviderClass="class name"
          android:alphabeticShortcut="string"
          android:alphabeticModifiers=["META" | "CTRL" | "ALT" | "SHIFT" | "SYM" | "FUNCTION"]
          android:numericShortcut="string"
          android:numericModifiers=["META" | "CTRL" | "ALT" | "SHIFT" | "SYM" | "FUNCTION"]
          android:checkable=["true" | "false"]
          android:visible=["true" | "false"]
          android:enabled=["true" | "false"]
          android:menuCategory=["container" | "system" | "secondary" | "alternative"]
          android:orderInCategory="integer" />
    <group android:id="@[+][package:]id/resource name"
           android:checkableBehavior=["none" | "all" | "single"]
           android:visible=["true" | "false"]
           android:enabled=["true" | "false"]
           android:menuCategory=["container" | "system" | "secondary" | "alternative"]
           android:orderInCategory="integer" >
        <item />
    </group>
    <item >
        <menu>
          <item />
        </menu>
    </item>
</menu>
- elemen:
- 
  
    - Wajib. Elemen ini harus menjadi node root. Berisi elemen <item>dan/atau<group>.Atribut: 
        - xmlns:android
- Namespace XML. Wajib. Menentukan ruang nama XML, yang
harus ditetapkan seperti berikut "http://schemas.android.com/apk/res/android".
 
- <item>
- Item menu. Mungkin berisi elemen <menu>(untuk submenu).
      Harus merupakan turunan dari elemen<menu>atau<group>.Atribut: 
        - android:id
- ID Resource. ID resource yang unik. Untuk membuat ID resource baru bagi item ini, gunakan bentuk:
"@+id/name". Simbol plus menunjukkan bahwa ID ini dibuat sebagai ID
baru.
- android:title
- Resource string. Judul menu sebagai resource string atau string mentah.
- android:titleCondensed
- Resource string. Judul yang disingkat sebagai resource string atau string mentah. Judul
ini digunakan jika judul normal terlalu panjang.
- android:icon
- Resource drawable. Gambar yang akan digunakan sebagai ikon item menu.
- android:onClick
- Nama metode. Metode yang akan dipanggil saat item menu ini diklik. Metode
ini harus dideklarasikan dalam aktivitas sebagai publik. Class ini menerima MenuItemsebagai
satu-satunya parameter yang menunjukkan item yang diklik. Metode ini lebih diutamakan daripada callback
standar keonOptionsItemSelected(). Lihat
contohnya di bagian akhir halaman ini.Peringatan: Jika Anda meng-obfuscate kode menggunakan ProGuard atau alat serupa,
pastikan untuk mengecualikan metode yang ditetapkan dalam atribut ini agar namanya tidak diganti karena dapat merusak
fungsionalitasnya. Diperkenalkan dalam API level 11. 
- android:showAsAction
- Kata kunci. Waktu dan cara item ini muncul sebagai item tindakan di panel
            aplikasi. Item menu hanya dapat muncul sebagai item tindakan jika aktivitas menyertakan
            panel aplikasi. Nilai valid:
          
            | Nilai | Deskripsi | 
|---|
 | ifRoom | Hanya tempatkan item ini di
            panel aplikasi jika ada ruang untuknya. Jika tidak ada ruang untuk semua
            item bertanda "ifRoom", item dengan nilaiorderInCategoryterendah akan ditampilkan sebagai tindakan, dan
            item lainnya akan ditampilkan dalam menu tambahan. |  | withText | Sertakan juga teks judul (ditentukan
oleh android:title) dengan item tindakan. Anda dapat menyertakan nilai ini dengan salah satu
nilai lainnya sebagai set tanda dengan memisahkannya menggunakan pipa|. |  | never | Jangan pernah menempatkan item ini di panel aplikasi. Sebagai gantinya, cantumkan item dalam menu tambahan
            panel aplikasi. |  | always | Selalu tempatkan item ini di panel aplikasi.
Jangan menggunakannya kecuali item harus selalu muncul di panel
tindakan. Menetapkan beberapa item agar selalu muncul sebagai item tindakan dapat mengakibatkan tumpang tindih
antara item ini dengan UI lain di panel aplikasi. |  | collapseActionView | Tampilan tindakan yang terkait
dengan item tindakan ini (seperti yang dideklarasikan oleh android:actionLayoutatauandroid:actionViewClass) dapat
diciutkan.Diperkenalkan pada API level 14.
 |  
 Lihat Menambahkan panel aplikasi
          untuk mengetahui informasi selengkapnya. Diperkenalkan dalam API level 11. 
- android:actionLayout
- Resource tata letak. Tata letak yang akan digunakan sebagai tampilan tindakan.
          Untuk mengetahui informasi selengkapnya, lihat Menggunakan tampilan
            tindakan dan penyedia tindakan. Diperkenalkan dalam API level 11. 
- android:actionViewClass
- Nama class. Nama class yang sepenuhnya memenuhi syarat untuk Viewyang akan digunakan sebagai tampilan tindakan. Contohnya,"android.widget.SearchView"menggunakanSearchViewsebagai tampilan tindakan.Untuk mengetahui informasi selengkapnya, lihat Menggunakan tampilan
            tindakan dan penyedia tindakan. Peringatan: Jika Anda meng-obfuscate kode menggunakan ProGuard atau alat serupa,
pastikan untuk mengecualikan class yang ditetapkan dalam atribut ini agar namanya tidak diganti karena dapat merusak
fungsionalitasnya. Diperkenalkan dalam API level 11. 
- android:actionProviderClass
- Nama class. Nama class yang sepenuhnya memenuhi syarat untuk ActionProvideryang akan digunakan sebagai pengganti item tindakan. Contohnya,"android.widget.ShareActionProvider"akan menggunakanShareActionProvider.Untuk mengetahui informasi selengkapnya, lihat Menggunakan tampilan
            tindakan dan penyedia tindakan. Peringatan: Jika Anda meng-obfuscate kode menggunakan ProGuard atau alat serupa,
pastikan untuk mengecualikan class yang ditetapkan dalam atribut ini agar namanya tidak diganti karena dapat merusak
fungsionalitasnya. Diperkenalkan dalam API level 14. 
- android:alphabeticShortcut
- Karakter. Karakter untuk tombol pintasan alfabetis.
- android:numericShortcut
- Bilangan bulat. Angka untuk tombol pintasan numerik.
- android:alphabeticModifiers
- Kata kunci. Pengubah untuk pintasan alfabetis
            item menu. Nilai default-nya berhubungan dengan tombol Control
            . Nilai valid:
            
            | Nilai | Deskripsi | 
|---|
 
                | META | Berhubungan dengan tombol meta Meta. |  
                | CTRL | Berhubungan dengan tombol meta Control. |  
                | ALT | Berhubungan dengan tombol meta Alt. |  
                | SHIFT | Berhubungan dengan tombol meta Shift. |  
                | SYM | Berhubungan dengan tombol meta Sym. |  
                | FUNCTION | Berhubungan dengan tombol meta Function. |  
 Catatan: Anda dapat menentukan beberapa kata kunci dalam satu
              atribut. Contohnya,
              android:alphabeticModifiers="CTRL|SHIFT"menunjukkan
              bahwa untuk memicu item menu yang sesuai, pengguna harus
              menekan tombol meta Control dan Shift secara bersamaan
              dengan pintasannya.
 Anda dapat menggunakan metode setAlphabeticShortcut()untuk
              menetapkan nilai atribut secara terprogram. Untuk mengetahui informasi selengkapnya
              tentang atributalphabeticModifier, lihatalphabeticModifiers.
 
- android:numericModifiers
- Kata kunci. Pengubah untuk pintasan numerik item menu.
            Nilai default-nya berhubungan dengan tombol Control. Nilai
            yang valid:
            
            | Nilai | Deskripsi | 
|---|
 
                | META | Berhubungan dengan tombol meta Meta. |  
                | CTRL | Berhubungan dengan tombol meta Control. |  
                | ALT | Berhubungan dengan tombol meta Alt. |  
                | SHIFT | Berhubungan dengan tombol meta Shift. |  
                | SYM | Berhubungan dengan tombol meta Sym. |  
                | FUNCTION | Berhubungan dengan tombol meta Function. |  
 Catatan: Anda dapat menentukan beberapa kata kunci dalam satu
              atribut. Contohnya,
              android:numericModifiers="CTRL|SHIFT"menunjukkan
              bahwa untuk memicu item menu yang sesuai, pengguna harus
              menekan tombol meta Control dan Shift secara bersamaan
              dengan pintasannya.
 Anda dapat menggunakan metode setNumericShortcut()untuk menetapkan
              nilai atribut secara terprogram. Untuk mengetahui informasi selengkapnya tentang
              atributnumericModifier, lihatnumericModifiers.
 
- android:checkable
- Boolean. True jika item dapat dicentang.
- android:checked
- Boolean. True jika item dicentang secara default.
- android:visible
- Boolean. True jika item dapat dilihat secara default.
- android:enabled
- Boolean. True jika item diaktifkan secara default.
- android:menuCategory
- Kata kunci. Nilai yang berhubungan dengan konstanta CATEGORY_*Menuyang menentukan prioritas item. Nilai valid:
            | Nilai | Deskripsi | 
|---|
 | container | Untuk item yang merupakan bagian dari
penampung. |  | system | Untuk item yang disediakan oleh
sistem. |  | secondary | Untuk item yang merupakan opsi kedua
(jarang digunakan) dari pengguna. |  | alternative | Untuk item yang merupakan tindakan alternatif
pada data yang saat ini ditampilkan. |  
 
- android:orderInCategory
- Bilangan bulat. Urutan tingkat kepentingan item dalam grup.
 
- <group>
- Grup menu untuk membuat kumpulan item yang memiliki kesamaan karakter, seperti apakah item
terlihat, diaktifkan, atau dapat dicentang. Berisi satu atau beberapa elemen <item>. Harus berupa
turunan dari elemen<menu>.Atribut: 
        - android:id
- ID Resource. ID resource yang unik. Untuk membuat ID resource baru bagi item ini,
gunakan bentuk:
"@+id/name". Simbol plus menunjukkan bahwa ID ini dibuat sebagai ID
baru.
- android:checkableBehavior
- Kata kunci. Jenis perilaku resource yang dapat dipilih untuk grup tersebut. Nilai valid:
          
            | Nilai | Deskripsi | 
|---|
 | none | Tidak dapat dipilih. |  | all | Semua item dapat dipilih (menggunakan kotak centang) |  | single | Hanya satu item yang dapat dipilih (menggunakan tombol
radio) |  
 
- android:visible
- Boolean. True jika grup dapat dilihat.
- android:enabled
- Boolean. True jika grup diaktifkan.
- android:menuCategory
- Kata kunci. Nilai yang berhubungan dengan konstanta CATEGORY_*Menuyang menentukan prioritas grup. Nilai valid:
            | Nilai | Deskripsi | 
|---|
 | container | Untuk grup yang merupakan bagian dari suatu
penampung. |  | system | Untuk grup yang disediakan oleh
sistem. |  | secondary | Untuk grup yang merupakan opsi kedua
(jarang digunakan) dari pengguna. |  | alternative | Untuk grup yang merupakan tindakan alternatif
pada data yang saat ini ditampilkan. |  
 
- android:orderInCategory
- Bilangan bulat. Urutan default item dalam kategori.
 
 
- contoh:
- File XML yang disimpan di res/menu/example_menu.xml:<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/item1"
          android:title="@string/item1"
          android:icon="@drawable/group_item1_icon"
          app:showAsAction="ifRoom|withText"/>
    <group android:id="@+id/group">
        <item android:id="@+id/group_item1"
              android:onClick="onGroupItemClick"
              android:title="@string/group_item1"
              android:icon="@drawable/group_item1_icon" />
        <item android:id="@+id/group_item2"
              android:onClick="onGroupItemClick"
              android:title="@string/group_item2"
              android:icon="@drawable/group_item2_icon" />
    </group>
    <item android:id="@+id/submenu"
          android:title="@string/submenu_title"
          app:showAsAction="ifRoom|withText" >
        <menu>
            <item android:id="@+id/submenu_item1"
                  android:title="@string/submenu_item1" />
        </menu>
    </item>
</menu>Kode aplikasi berikut akan memperluas menu dari callback onCreateOptionsMenu(Menu)serta mendeklarasikan callback saat diklik
untuk dua item:
 Kotlinoverride fun onCreateOptionsMenu(menu: Menu): Boolean {
    menuInflater.inflate(R.menu.example_menu, menu)
    return true
}
fun onGroupItemClick(item: MenuItem) {
    // One of the group items (using the onClick attribute) was clicked.
    // The item parameter passed here indicates which item it is.
    // All other menu item clicks are handled by Activity.onOptionsItemSelected.
}Javapublic boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.example_menu, menu);
    return true;
}
public void onGroupItemClick(MenuItem item) {
    // One of the group items (using the onClick attribute) was clicked.
    // The item parameter passed here indicates which item it is.
    // All other menu item clicks are handled by Activity.onOptionsItemSelected.
}
 
    
  
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
  Terakhir diperbarui pada 2025-07-29 UTC.
  
  
  
    
      [[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-29 UTC."],[],[]]