Android ile Menu Oluşturma
Android ile Menu Oluşturma
Menüler birçok uygulama tipinde kullanılan ve kullanıcıya ayar ya da seçimler yapma olanağı veren bileşendir. Hemen hemen her uygulamada geliştirici hakkında bilgi içeren hakkında sekmesi de menülere eklenir. Bazı uygulamalarda da geliştirici diğer uygulamalarını tanıtmak için uygulamalar diye bir sekme ekler menülere. Bu yüzden android uygulamaları için menülerin önemi çok büyüktür. Bu yazımda android menüleri nasıl oluşturulur? sorusuna cevap vermeye çalışacağım.
Öncelikle Android te üç tip menü vardır, bunlar;
u Options Menu
u Context Menu
u Popup Menu
Bu yazımda Options Menu ile Popup Menuyü inceleyeceğim.
Option menu oluşturalım
Bu yazı şimdi yapmaya çalışacağımız iki şey olacak biri bir bluetooth menüsü seçeneği ve bir tanesinin alt seçeneği bulunan üçlü bir menü yapacağım .
Önce res dosyanın içerisine bir menü dosyası açıp içerisine main_menu isimli bir xml dosyası açalım.
Daha sonra da res klasörünün içerisindeki drawble klosörünü içerisine bluetooth iconu ekliyoruz.
Şonuçta sanki menü olarak bluetooth'u açma kapanma olayını eklemişiz gibi görünüyor
Şonuçta sanki menü olarak bluetooth'u açma kapanma olayını eklemişiz gibi görünüyor
şimdi de main_xml dosyasının içerisine seçeneklerimizi ekleyelim.
<item
android:id="@+id/seçenek1"
android:icon="@drawable/ic_icon"
android:title="Seçenek 1"
app:showAsAction="ifRoom"
/>
<item
android:id="@+id/seçenek2"
android:title="Seçenek 2"
app:showAsAction="never"
/>
<item
android:id="@+id/seçenek3"
android:title="Seçenek 3"
app:showAsAction="never">
</item>
<menu>
<item
android:id="@+id/altseçenek"
android:title="Alt Seçenek 1"
app:showAsAction="never"
/>
</menu>
</menu>
Yukarıdaki kodda uygulamızın sağ üst köşeşine bir tene bluetooth menüsü ve yanınada üç tane seçeneğe sahip olan üçünçü şeçeneğin ise bir alt şeçeneğe sahip olduğu options menu tasarlamış olduk şimdi ise bu menüyü MainActivity kısmına bazı kodlar yazarak aktifleştirelim.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater =getMenuInflater();
inflater.inflate(R.menu.main_menu,menu);
return true;
Bu kodu MainActivity dosyasının onCrate metodunun altına yazıyoruz.Bu metodun amacı menü öğelerini Action Bar'a yerleştirmek için Activity'nizin onCreateOptionsMenu()isimli callback metodunu gerçekleştirmek. Bu metotla Menunesnesi içinde verilen menü kaynağını gösterime hazır edebilirsiniz (inflate)
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.seçenek1:
Toast.makeText(this, "Bluetooth açma işlemi gerçekleştirldi.", Toast.LENGTH_SHORT).show();
return true;
case R.id.seçenek2:
Toast.makeText(this, "seçenek 2 şeçildi", Toast.LENGTH_SHORT).show();
return true;
case R.id.seçenek3:
Toast.makeText(this, "seçenek 3 şeçildi", Toast.LENGTH_SHORT).show();
return true;
case R.id.altseçenek:
Toast.makeText(this, "Alt seçenek 1 şeçildi", Toast.LENGTH_SHORT).show();
return true;
default: return super.onOptionsItemSelected(item);
}
Yukarıdaki kodda ise hangi options menuden hangi şeçenek şeçildiyse ona göre ekrana mesaj gösterir.


Popup menu oluşturalım
Bu menu çeşidi uygulamamıza eklediğimiz butonumuzu tıpkı bir menu kullanmamız için oluşturulmuştur. Ve şimdi bizde bu işlemi yapalım.
Öncelikle az önce options menuyu oluştururken res dosyasına bir menu dosyası açıp içerisine popup_menu xml dosyasını oluşturuyoruz.(Bu işlem yukarıdaki yaptığımızın aynısı bu nedenle göstermiyorum)
Şimdi az önce button eklediğimiz activity_main.xml dosyasının test kısmına geçip
onClick metodunu daha sonra oluşturacağımız showPopup metoduyla tıklamaya duyarlı hale getiriyoruz.
android:onClick="showPopup"
Şimdi ise butonumuza işlevsel olarak kullanabilmek için MainActivitye kodlarımızı ekleyelim.
public void showPopup(View v){
PopupMenu popupMenu= new PopupMenu(this,v);
popupMenu.setOnMenuItemClickListener(this);
popupMenu.inflate(R.menu.popup_menu);
popupMenu.show();
}
Bu kodda sonra oluşturacağız dediğimiz onClick'in(yani butona basıldığında gerçekleşecek işlem)showPopup metodunu oluşturuyoruz.
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.seçenek1;
Toast.makeText(this, "Seçenek 1 seçildi", Toast.LENGTH_SHORT).show();
return true;
case R.id.seçenek2;
Toast.makeText(this, "Seçenek 2 seçildi", Toast.LENGTH_SHORT).show();
return true;
case R.id.seçenek3;
Toast.makeText(this, "Seçenek 3 seçildi", Toast.LENGTH_SHORT).show();
return true;
case R.id.seçenek4;
Toast.makeText(this, "Seçenek 4 seçildi", Toast.LENGTH_SHORT).show();
return true;
default:
return false;
}
}
Referanslar;
https://www.androidevreni.com/android-programlama-menu-olusturma/
Comments
Post a Comment