Membuat Options Menu

Setelah megetahui prinsip dasar dalam membuat menu dalam latihan sebelumnya, sekarang kita akan memodifikasi app tersebut untuk menampilkan 'options menu' bila user menekan tombol 'MENU' di perangkan Android. 

Dengan menggunakan kode yang sama dari project dalam latihan sebelumnya, kita akan menambahkan kode (kode-kode dengan huruf tebal) seperti berikut di bawah ini di dalam file MainActivity.java:
package com.example.menus; 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast; 
public class MainActivity extends AppCompatActivity { 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        createMenu(menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        return menuChoice(item);
    }
private void createMenu(Menu menu) {
MenuItem mnu1 = menu.add(0, 0, 0, "Item 1");
{
mnu1.setAlphabeticShortcut('a');
}
MenuItem mnu2 = menu.add(0, 1, 1, "Item 2");
{
mnu2.setAlphabeticShortcut('b');
}
MenuItem mnu3 = menu.add(0, 2, 2, "Item 3");
mnu1.setIcon(R.drawable.ic_launcher);
{
mnu3.setAlphabeticShortcut('c');
}
MenuItem mnu4 = menu.add(0, 3, 3, "Item 4");
{
mnu4.setAlphabeticShortcut('d');
}
menu.add(0, 4, 4, "Item 5");
menu.add(0, 5, 5, "Item 6");
menu.add(0, 6, 6, "Item 7");
private boolean menuChoice(MenuItem item) {
switch (item.getItemId()) {
case 0:
Toast.makeText(this, "Anda klik Item 1", Toast.LENGTH_LONG).show();
return true;
case 1:
Toast.makeText(this, "Anda klik Item 2", Toast.LENGTH_LONG).show();
return true;
case 2:
Toast.makeText(this, "Anda klik Item 3", Toast.LENGTH_LONG).show();
return true;
case 3:
Toast.makeText(this, "Anda klik Item 4", Toast.LENGTH_LONG).show();
return true;
case 4:
Toast.makeText(this, "Anda klik Item 5", Toast.LENGTH_LONG).show();
return true;
case 5:
Toast.makeText(this, "Anda klik Item 6", Toast.LENGTH_LONG).show();
return true;
case 6:
Toast.makeText(this, "Anda klik Item 7", Toast.LENGTH_LONG).show();
return true;
}
return false;
}
}

Kemudian, silahkan coba jalankan di Android Studio dengan emulator. 
Tampilan Options Menu

Catatan:
Bentuk tampilan mungkin akan berbeda-beda tergantung dari SDK minimum yang digunakan.

Penjelasan:
Untuk menampilkan 'options menu' pada 'activity' kita, kita perlu mengimplementasikan dua method pada 'activity' kita, yaitu: 'onCreateOptionsMenu()' dan 'onOptionsItemSelected()'. Method 'onCreateOptionsMenu()' dipanggil ketika tombol 'MENU' ditekan. Dalam hal ini, kita memanggil method pembantu 'createMenu()' untuk menampilkan 'options menu'. Bila suatu item menu dipilih, maka method 'onOptionsItemSelected() dipanggil. Dalam hal ini, kita akan memanggil method 'menuChoice()' untuk menampilkan item menu yang dipilih dan melakukan tindakan apapun yang sesuai dengan kode yang dituliskan.
Catatan:
Tampilan 'options menu' akan berbeda-beda untuk versi Android yang berbeda. Mulai Honeycomb, item-item di dalam 'options menu' tidak memiliki icons dan menampilkan item menu dalam list yang bisa di-scroll. Untuk versi sebelum Honeycomb, tidak lebih dari lima item yang ditampilkan, kemudian menu sisanya akan ditampilkan dengan item menu 'More'.

No comments: