Android’in vazgeçilmezlerinden biridir. Bu yüzden de bu yazımda bu özelliğin eklenmesi ve fonksiyon verilmesi konusunda bir yazı yazmaya karar verdim.
Şekil olarak aşağıdaki şekli oluşturuyoruz.

2 tane yöntem var.
Yöntem 1
Direk kod içinde butonları özelliklerini vererek menüye ekleme yapmak:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(PRIORITY, MENU_ID, "Güncelle");
menu.add(PRIORITY+1, MENU_ID+1, "Hakkında");
return true;
}
Buradad PRIORITY ve MENU_ID olarak bahsedilenler integer değerlerdir.
Yöntem 2
menu.xml li kullarak bu işlem yapılabilir.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.anaSayfaMenu, menu);
return true;
}
XML dosyası res dosyası altında menu başlığının altında olacak. Bu dosyayı Eclipse üzerinden eklediğinde direk oraya koyacaktır zaten.
Eclipse üzerinden ekleme yapmak için
(Proje üstünde) Sağ tık –> New –> Others –> Android –> Android Xml File ile açılan pencerede de tip olarak “Menu” seçiyoruz.
XML dosyasının içeriği şu şekilde doldurabilirsiniz.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_refresh"
android:title="Güncelle"
android:icon="@drawable/ic_menu_refresh"></item>
<item
android:id="@+id/menu_hakkinda"
android:title="Hakkında"
android:icon="@android:drawable/ic_menu_info_details"></item>
</menu>
Menu seçeneklerine basıldığında hangi işlemi yapması gerektiğini ise şu şekilde yapabilrsiniz:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_hakkinda:
Intent i = new Intent(this, HakkindaActivity.class);
MainActivity.this.startActivity(i);
break;
case R.id.menu_refresh:
Intent i = new Intent(this, GuncelleActivity.class);
MainActivity.this.startActivity(i);
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
NOT: Menuye istediğiniz kadar seçenek ekleyebilirsiniz. Ancak 6 dan sonrasında Diğer (More) seçeneğini çıkarır. Bu işlemi Android kendisi yapar, sizin extra eklemeniz gereken birşey yoktur.
Android
optionsmenu