Android Studio ile option menü oluşturma

 

Bu uygulamamızda android Studio ile option menü oluşturacağız.

Öncelikle yapacağımız projenin ekran görüntüsü aşağıdaki gibi olacaktır.

Bu menülerin hangi sayfada çıkmasını istiyorsak her birine ayrı ayrı kodlama yapmamız gerekiyor.

android option menü

 

İlk olarak activity_main sayfasamıza bir linearlayout ve onun içerisinde bir adet textview ekliyoruz.

Textview’in idsini textViewBilgi yapıyoruz.

android option menü

Daha sonra java klasörünün altında MainActivity java dosyamıza giriyoruz.

public class MainActivity extends AppCompatActivity{}

kodlarının arasına kodları yazmaya başlıyoruz.

android studio ile option menü Kod açıklaması:

İlk olarak 1 numaralı alanda int türünden değişkenler oluşturuyoruz. Bunlar menümüzdeki bulunan seçenekler olacaklardır.

Menüde bulunan ilk seçenek Menu.FIRST ile belirlenip daha sonra altına gelecek seçenekler Menu.FIRST+1,+2 diye devam edecektir.

2 numaralı bölümde ise oncreateOptionMenu() metodunu kullanıyoruz.

Menümüze menu.add(Menu.NONE, ID_GERI, 0, “Geri Dön”);

Şeklinde menümüze oluşturduğumuz değişkenleri ekliyoruz. Daha sonra 0 diyerek dizi mantığı gibi menüde ilk görünecek seçeneğimiz bu değişkenimiz olacaktır. En sonraki “geri dön” ifadesi ise menü üzerinde görünecek string ifadedir.

Geri dön ve güncelle seçeneklerimiz için bunu yaptıktan sonra submenu yani alt menü için kullanacağız.

android option menü

Üstte görselde görüldüğü gibi ekseçenekler seçeneğinin alt seçenekleri ok ile gösterilmiş bu şekilde alt seçenekleri göstermemiz için subMenu metodunu kullanıyoruz.

SubMenu altMenu=menu.addSubMenu(Menu.NONE,ID_EKSECENEKLER,2,“Ekseçenekler”)

Menüde 3.sırada ekseçenekler seçeneğimiz yer alacaktır.

Oluşturduğumuz ID_EKSECENEKLER değişkenini yazdıktan sonra 2 diyoruz yani bu seçeneğimiz 3.sırada olacak demektir.

Submenu kullandığımız için alt menüler oluşturacağız. Submenu metodundan altMenu nesnemizi kullanarak  ekseçeneklerin altında 2 adet alt menü oluşturduk.

altMenu.add(Menu.NONE,ID_EKSECENEKLER1,1,“Seçenek 1”); şeklinde kullanarak iki alt menü seçeneğimizi oluşturduktan sonra return ediyoruz metodumuzu.

android option menü

 

Diğer metodumuz olan onOptionsItemSelected() metodunda da, seçeneklerin seçilmesi durumunda yapılacakları yazıyoruz. Bu metod, MenuItem tipinden bir nesne alıyor. Bu metod içerisinde bir switch-case yapısı oluşturduk. Her case içerisine, tıklandığında yapılacak olanları yazdık.

Switch ile her bir itemin idlerini çağırıyoruz.

Case ile seçeneklerin idlerine göre textviewBildirime setText ile tıklanılan seçeneği yazdırıyoruz.

Eğer geri seçeneğine tıklarsa ekranda geri tıklanırsa geriye tıklandı veya güncelleye tıklarsa güncelleye tıklandı yazacaktır.

Kodlarımız burada bitiyor. Şimdi projenizi çalıştırabilirsiniz. Siz de bu şekilde menüdeki seçeneklere tıklayarak sayfalara yönlendirme yapabilirsiniz.

KODLAR:

activity_main.xml kodları:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
>


        <TextView
            android:id="@+id/textViewBilgi"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="TextView"
/>

    </LinearLayout>
</android.support.constraint.ConstraintLayout>

Java MainActivity kodları:

package com.example.userse.hafta5_mobil;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private static final int ID_GERI= Menu.FIRST;
    private static final int ID_GUNCELLE=Menu.FIRST+1;
    private static final int ID_EKSECENEKLER=Menu.FIRST+2;
    private static final int ID_EKSECENEKLER1=Menu.FIRST+3;
    private static final int ID_EKSECENEKLER2=Menu.FIRST+4;

    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        menu.add(Menu.NONE, ID_GERI, 0, "Geri Dön");
        menu.add(Menu.NONE, ID_GUNCELLE, 1, "Guncelle");
        SubMenu altMenu=menu.addSubMenu(Menu.NONE,ID_EKSECENEKLER,2,"Ekseçenekler");
        altMenu.add(Menu.NONE,ID_EKSECENEKLER1,1,"Seçenek 1");
        altMenu.add(Menu.NONE,ID_EKSECENEKLER2, 2,"Seçenek 2");

        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        TextView textviewBildirim= (TextView) findViewById(R.id.textViewBilgi);
        switch (item.getItemId())
        {
            case ID_GERI:
                textviewBildirim.setText("Geri Dön Tıklandı");
                return true;
            case ID_GUNCELLE:
                textviewBildirim.setText("Güncelle Tıklandı");
                return true;
            case ID_EKSECENEKLER1:
                textviewBildirim.setText("Seçenek1 Tıklandı");
                return true;
            case ID_EKSECENEKLER2:
                textviewBildirim.setText("Seçenek2 Tıklandı");
                return true;
                default:
                    return super.onOptionsItemSelected(item);

        }

    }

    @Override



    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

Dersin Videolu anlatımına BURADAN ulaşabilirsiniz.

Diğer android studio konu anlatımlarına BURADAN ulaşabilirsiniz. 

Leave a Comment