rss twitter linkedin facebook facebook

OptionsMenu Kullanımı

8. Kasım 2011
Yorumlar (0)

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.

androMenu

 

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