kodbankasi http://kodbankasi.org/kodbankasi

Android Option Menu

Android cihazlarda menu tuşuna basıldığında alt tarafta açılan kısma option menu deniyor. Ve en fazla 6 seçenekten oluşuyor. Bu seçeneklerden birini submenu olarak kullanıp kullanıcının daha fazla seçeneğe ulaşması sağlanabilir. Option menu ile ilgili ayrıntılı bilgiye buradan ulaşabilirsiniz.

Option menuler activity ile ilişkilidir. Bu yüzden gerekli ayarlamalar option menuyü kullanmak istediğiniz class’ta yapılır. Kullanacağımız ana fonksiyonlar aşağıdaki gibidir.

onCreateOptionMenu : Menunun eklendiği metoddur.

onOptionItemSelected :  Seçilen option menu elemanlarının yakalandığı metoddur.

Option menu iki farklı şekilde oluşturulabilir. Bunlardan ilki onCreateOptionMenu içerisinde add metodunu kullanarak menu seçeneklerini oluşturmaktır. Bu uygulama büyüdükçe uygulamanın hızını biraz düşürebilir. Diger yöntem menuyu xml şeklinde oluşturmaktır.Ben xml şeklinde oluşturmayı tercih ediyorum. Oyüzden örneğide bu şekilde yazdım. Oluşturduğum projenin menu.xml kodları aşağıdaki gibidir.

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/home"
android:icon="@drawable/home"
android:title="Anasayfa"/>
<item android:id="@+id/save"
android:icon="@drawable/save"
android:title="Kaydet" />
<item android:id="@+id/settings"
android:icon="@drawable/settings"
android:title="Ayarlar" />
</menu>

Menu.xml’ in kodlarından da anlaşılacağı gibi menuyu 3 elemanlı yaptım. xml içerisinde de bunlara id, icon ve isim ekledim. Daha sonra option menuyu hangi classta kullanmak isteniyorsa.O class’a aşağıdaki gibi kodları yazıyoruz.

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.home:
Toast.makeText(getApplicationContext(), "Anasayfa Tıklandı",Toast.LENGTH_SHORT).show();
case R.id.save:
Toast.makeText(getApplicationContext(), "Kaydet Tıklandı",Toast.LENGTH_SHORT).show();
case R.id.settings:
Toast.makeText(getApplicationContext(), "Ayarlar Tıklandı",Toast.LENGTH_SHORT).show();
}
return super.onOptionsItemSelected(item);
}

İlk metod içerisinde Menu inflater ile menu.xml dosyasından menuyü oluşturdum.OnOptionItemSelected metodunda switch icerisinde getItemId() ile seçilen seçeneğin id’sini alıp id’lere göre ne işlemler yapacağını belirledim.

optionmenu

Bir önceki yazımız olan Javada ++ ve -- operatörleri başlıklı yazımızı da inceleyebilirsiniz.

2 Yorumlar

  1. Bir projem için tam aradığım makale, ne kadar teşekkür etsem azdır.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.

Bu yazı da ilginizi çekebilir !

accelerometer

Android Sensör Kullanımı

Bir süre ara verdiğimiz android derslerimize kaldığımız yerden devam ediyoruz. Bir önceki makalemizde options menü ...