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.

Tags: | Categories: Android