How To Create Menus in Android


menuAndroid cihazlarda varsayılan olarak gelen tuşlardan birisi de menü tuşudur. Eğer uygulamada tanımlı bir menü var ise menü tuşuna bastığımız zaman ekranda belirecektir. Bu örnekte 6 öğeli bir menü olacak. İconlar için ise Android in kendi icon larını kullanacağız.

Şimdi yeni bir proje oluşturalım ve ardından res/layout içerisine yeni xml dosyası oluşturalım. Dosyanın adı da “menu.xml” olsun.
res/layout sağ tık -> new -> Android XML File veya New File

menu.xml” oluşturduktan sonra içini şu şekilde yapalım:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
	<!-- Tek Menü Öğesi 
		 Her menü öğesi için id, icon ve title belirlenir. 
	-->
    <item android:id="@+id/menu_bookmark"
    	  android:icon="@drawable/icon_bookmark"
          android:title="İşaretle" />
    <item android:id="@+id/menu_save"
    	  android:icon="@drawable/icon_save"
          android:title="Kaydet" />
    <item android:id="@+id/menu_search"
    	  android:icon="@drawable/icon_search"
          android:title="Ara" />
    <item android:id="@+id/menu_share"
    	  android:icon="@drawable/icon_share"
          android:title="Paylaş" />
    <item android:id="@+id/menu_delete"
    	  android:icon="@drawable/icon_delete"
          android:title="Sil" />  
    <item android:id="@+id/menu_preferences"
    	  android:icon="@drawable/icon_preferences"
          android:title="Ayarlar" /> 
</menu>

Şimdi ise nasıl görüneceğine bakalım. Main activity mizin içerisine, yani bendeki karşılığı AndroidMenusActivity.java. Buraya ulaşmak için de projenizin içierisindeki şu dizine bakmanız yeterli. src/paketAdi/classAdi.
Hemen java koduna bakalım:

package paketAdi;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;

public class AndroidMenusActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    /* Tanımlama, yükleme Menu XML file (menu.xml) */
    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.layout.menu, menu);
        return true;
    }
    
    /**
     * Bir tane menü öğesi seçiir ve ona göre işlem yapılır.
     * ID lere göre seçili menü işlemi gerçekleştirilir.
     * */
    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        
        switch (item.getItemId())
        {
        case R.id.menu_bookmark:
        	// Sadece bir öğe seçilir.
            Toast.makeText(AndroidMenusActivity.this, "'İşaretle' seçildi.", Toast.LENGTH_SHORT).show();
            return true;
        case R.id.menu_save:
        	Toast.makeText(AndroidMenusActivity.this, "'Kaydet' seçildi.", Toast.LENGTH_SHORT).show();
            return true;
        case R.id.menu_search:
        	Toast.makeText(AndroidMenusActivity.this, "'Ara' seçildi.", Toast.LENGTH_SHORT).show();
            return true;
        case R.id.menu_share:
        	Toast.makeText(AndroidMenusActivity.this, "'Paylaş' seçildi.", Toast.LENGTH_SHORT).show();
            return true;
        case R.id.menu_delete:
        	Toast.makeText(AndroidMenusActivity.this, "'Sil' seçildi.", Toast.LENGTH_SHORT).show();
            return true;
        case R.id.menu_preferences:
        	Toast.makeText(AndroidMenusActivity.this, "'Ayarlar' seçildi.", Toast.LENGTH_SHORT).show();
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }
    
}

Şimdi ise nasıl çalıştığına bakalım. Memü tuşuna basarak deneyebilirsiniz.
Eğer emülatörde çalışıyorsanız:
menuSelected

Eğer cihazda denemek istiyorsanız:
menuSelected2

Sonuç olarak ekran görüntüsü şöyle olacaktır:
screen4

Reklamlar

27 Ara 2012 tarihinde Android içinde yayınlandı ve , , , olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin. Yorum yapın.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: