Tutorial Android : Membuat Options Menu di Aplikasi Android

Hari minggu ini saya bangun kesiangan, gara-gara nonton balapan liar sampai jam 4 pagi. Alhasil gak bisa gowes-gowes cuci mata, liat cewek sliwar-sliwer di lapangan renon. Hari ini adalah hari terakhir liburan saya di denpasar, besok sudah harus balik ke selat pasih untuk mengambil KHS + KRS’an. Sebelum balik, saya diminta tolong sama ibu tercinta untuk membuatkan surat perjanjian sewa tanah. Katanya sih beliau yang mau memberikan format dan peraturan-peraturannya, tapi sampe sekarang beliau masih sibuk. Daripada gak ada kerjaan + sambil nunggu beliau, saya akan posting sedikit tutorial membuat options menu di aplikasi android. Di hape android pada umumnya terdapat 3 tombol fisik (kalo hape android yang sekarang udah gak ada tombol fisiknya), Tombol option di kiri, home di tengah dan back di kanan. Tombol option dapat diberikan tambahan menu, kalau aplikasi yang sedang kita kembangkan memang mempunyai fitur yang lumayan kompleks. Cara membuatnya cukup mudah, berikut tutorialnya. Cekidot gan….

1. Siapkan project android baru seperti skrinsut di bawah ini :

2. Options menu ini sama halnya seperti layout, hanya saja options menu ini disisipkan dengan layout utama aplikasi. Jadinya pada satu tampilan activity, terdapat 2 buah layout yaitu layout utama yang dimiliki oleh activity dan layout options menu. Folder untuk menempatkan layout option menu kita buat terpisah dari folder layout activity biasanya. Buat folder baru dengan nama menu (klik kanan folder res pada package explorer > new > folder). Kira-kira strukturnya seperti di bawah ini :

3. Buat file xml baru untuk layout options menu di dalam folder menu (klik kanan folder menu > new > android xml file) dengan nama opt_menu.xml dan ketikkan kode layout berikut :

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/arc"
	android:icon="@drawable/arc"
	android:title="Arc Linux" />
	<item android:id="@+id/ubuntu"
	android:icon="@drawable/ubuntu"
	android:title="Ubuntu" />
	<item android:id="@+id/debian"
	android:icon="@drawable/debian"
	android:title="Debian" />
	<item android:id="@+id/fedora"
	android:icon="@drawable/fedora"
	android:title="Fedora" />
	<item android:id="@+id/gento"
	android:icon="@drawable/gento"
	android:title="Gento" />
	<item android:id="@+id/gnome"
	android:icon="@drawable/gnome"
	android:title="Gnome" />
</menu>

Agar terlihat lebih menarik, saya tambahkan icon-icon distro linux dengan format .png dan saya tempatkan di folder drawable-mdpi. Ukuran iconnya 32 x 32 px.

4. Edit file main.xml dan ketikkan kode layout sederhana di bawah ini :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Distro Linux"
    />

<EditText
	android:text=""
	android:id="@+id/txtDistro"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content">
</EditText>
</LinearLayout>

5. Buka file SimpleOptionMenuActivity.java, ketikkan kode di bawah ini :

public class SimpleOptionMenuActivity extends Activity {

    private EditText txt_distro;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        txt_distro = (EditText) findViewById(R.id.txtDistro);
    }

    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.opt_menu, menu);
        return true;
    }

    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        	case R.id.ubuntu:
        		txt_distro.setText("Ubuntu");
        		return true;
        	case R.id.debian:
        		txt_distro.setText("Debian");
        		return true;
        	case R.id.arc:
        		txt_distro.setText("Arc Linux");
        		return true;
        	case R.id.fedora:
        		txt_distro.setText("Fedora");
        		return true;
        	case R.id.gento:
        		txt_distro.setText("Gento");
        		return true;
        	case R.id.gnome:
        		txt_distro.setText("Gnome Desktop Environment");
        		return true;
        	default:
        		return super.onOptionsItemSelected(item);
        }
    }
}

Saya menggunakan selection switch untuk menampilkan hasil ketika salah satu pilihan di options menu dipilih. Hasilnya saya tampilkan dalam sebuah textbox. Bisa juga di hubungkan dengan activity lainnya seperti tutorial saya sebelumnya.

6. Jalankan via emulator dan ketika tombol menu di klik hasilnya akan muncul seperti di bawah ini :

Selain options menu, masih ada context menu yang tampilannya mirip dengan Spinner. Di tutorial selanjutnya saya akan coba untuk membahas cara membuat sebuah context menu. OK deh, sekian dulu postingan saya tentang pembuatan options menu di aplikasi android, mudah-mudahan bisa bermanfaat untuk rekan-rekan.

Happy Blogging and Keep Coding

Cheerrrsss….!!!!

[to_like]Download Aplikasi[/to_like]

16 comments

  1. Pahmie Reply

    Mas lumbung itu sudah saya jalankan kok gag keluar menu nya ya??
    cuman keluar tulisan distro linux sama text box nya aja(saya jg nyoba lewat virtual Avd)
    tlong infonya.trims.

    • aminvincent Reply

      silahkan mas sintak yg seperti ini sbg contoh

      txt_distro.setText(“Gnome Desktop Environment”);
      diganti dengan seperti ini,…
      startActivity(new Intent(this, Location.class));

      untuk Location.class silahkan sesuaikan dengan kebutuhannya,….thanks

  2. bob Reply

    akhirnya ada dapat juga ni cara buat option menu.
    thanks mas, good luck ya 🙂

  3. dian tio Reply

    om..saya mau tanya ne.saya pngen bgt bljr android..tp kok saat instal android di eclip..sellu ad yg eror ia?emulatornya bisa jln.tp klo bikin new android projec ssl eror..kira2 itu mslhnya ap ia?mohon bantuanya ia..trim

  4. Allif Reply

    Mas lumbung, kalau bikin menu truz ketika icon menu itu di klik akan muncul sebuah layout atau activity baru itu gmna caranya? mohon pencerahanya ya mas trimakasih, hehe

    • aminvincent Reply

      silahkan mas sintak yg seperti ini sbg contoh

      txt_distro.setText(“Gnome Desktop Environment”);
      diganti dengan seperti ini,…
      startActivity(new Intent(this, Location.class));

      untuk Location.class silahkan sesuaikan dengan kebutuhannya,….thanks

  5. rifki Reply

    Mas, saya coba di samsung galaxy mini 2 bisa muncul. Tetapi kenapa di coba di Galaxy Tab 2 Ga bisa ya.
    Mohon pencerahannya mas..

    Thx,

    Rifki

  6. irfan ajr Reply

    mas saya mw tanya klo di setiap menu itu ada perintah seperti play, stop dan pause itu gmn ya?

    jadi setiap tombol play akan memanggil file suara yg ada di folder res

    tolong pencerahan nya mas

  7. Ardyne Reply

    agan lumbung, saya coba dengan target API Level 17 (jelly bean) kenapa hanya tampil tulisannya ja ya, icon g mau tampil. mohon pencerahannya gan…

    tinggalkan jejak : ardyne.wordpress.com

  8. Siyadi Reply

    Bli.
    gimana caranya setiap tombol menunya di klik supaya bisa pindah ke layout yang lain?
    kalo contoh yang diatas kan cuman Toast nya aja.

    minta bantuannya!

    Suksme!

  9. aminvincent Reply

    mas,..mhon tanya nih,..saya udah coba semua tutorial diatas,..tetapi icon pada waktu menu di tekan kog gk muncul ya mas??
    knp yah itu?? mhon solusinya,..thanks

  10. tri Reply

    mas mau tanya, cara membuat menu option seperti di apikasi path gimana ya mas..?
    itu pakai program apa saja ?

  11. Gungwah ubung Reply

    saya sampe jam 8 pagi pulang bubarin balap liar aja engga bangga .