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



ş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'nizionCreateOptionsMenu()isimli callback metodunu gerçekleştirmek. Bu metotlMenunesnesi 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;
        }

    }


Bu kodda ise menüdeki seçilen ifadeye göre ekrana bir yazı bastırılıyor .Ve son durumda uygulamamızın nasıl görüneceğine bir bakalım .
                         Referanslar;
https://www.androidevreni.com/android-programlama-menu-olusturma/

Comments

Popular posts from this blog

Firebase Nedir?, Nasıl Kullanılır Ve Özellikleri Nelerdir?

GÖRÜNTÜ İŞLEME

ANDROİD İLE FRAGMENT KAVRAMI