Android Programlama 4 -> Menü Oluşturma





Context ve Options Menu Kullanımı

  Android' de farklı menü yapıları vardır. Biz 2 farklı menü yapısını inceleyeceğiz.

  Aşağıdaki görsel Context ve Options menünün genel özelliklerini göstermektedir.






Şimdi gelin kod kısmında neler yapılıyor onları inceleyelim.





Öncelikle Context Menu oluştururken res bir menu klasörü açalım adım adım dosya açma ve dosya içine xml. dosyası nasıl oluşturuluyor bunu görelim.








Evet şimdi bu xml dosyasında neler yapmamız gerekiyor kabaca bunu anlatmak istiyorum.
Gelin birlikte kod üzerinden inceleyelim.


<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:title="Seçenek 1"//Seçenek üzerinde yazmasını istediğimiz başlığı belirliyoruz.
    android:id="@+id/item1" //Bu seçeneğe bir id veriyoruz.
   //Menu butonuna tıkladığımız zaman çıkan basic bir buton direkt activityye yönlendirir.
/>
    <item
        android:title="Seçenek 2"
        android:id="@+id/item2"
        />
    <item
//Burada tıkladığımız zaman bizi alt seçeneklere yönlendiren bir seçenek oluşturacağız.
        android:title="Alt seçenek" 
        android:id="@+id/altitem"
        >
    <menu> //Seçenek içerisinde yeni bir menü oluşturuyoruz
        <item
            android:title="Alt Seçenek 1"
            android:id="@+id/altitem1"
            />
    </menu>//Yeni menüyü kapatıyoruz.
       </item>
</menu>

Evet context_menu.xml dosyası içerisine kodlarımızı yazdıktan sonra mainActivity sınıfına geçiş yapıyoruz.

Burada üzerine uzun basınca açılacak bir menü yapacağımız için bir textView oluşturuyoruz. Daha sonra:



package com.example.blogmenu;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView tv1 =(TextView)findViewById(R.id.label1);
        registerForContextMenu(tv1);

    }

    @Override
    public boolean onContextItemSelected(MenuItem item) {
        if (item.getItemId()==R.id.item1){
            Toast.makeText(this, "Seçenek 1 seçildi", Toast.LENGTH_SHORT).show();
        }
        else if(item.getItemId()==R.id.item2){
            Toast.makeText(this, "Seçenek 2 seçildi", Toast.LENGTH_SHORT).show();
        }
        else if(item.getItemId()==R.id.altitem1){
            Toast.makeText(this, "Alt seçenek seçildi", Toast.LENGTH_SHORT).show();

        }
        return super.onContextItemSelected(item);
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        getMenuInflater().inflate(R.menu.context_menu,menu);
        super.onCreateContextMenu(menu, v, menuInfo);
    }
}


Kodlarını yazarak context menümüzü oluşturmuş oluyoruz. Kafanıza takılan bir şey varsa yorumlara bekliyorum :)



Context menüde yaptıklarımızı burda yapmayacağız çünkü android studio arka planda bizim menü ekranını açmamız için gerekli butonu kendisi oluşturacak. Biz sadece aşağıda ki kod bloğunu mainActivity.java sınıfına yazacağız.

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu1,menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == R.id.item1) {
            Toast.makeText(this, "Seçenek 1 seçildi", Toast.LENGTH_SHORT).show();
        }
        else if (item.getItemId() == R.id.item2) {
            Toast.makeText(this, "Seçenek 2 seçildi", Toast.LENGTH_SHORT).show();
        }
        else if (item.getItemId() == R.id.altitem1){
            Toast.makeText(this, "Alt seçenek seçildi", Toast.LENGTH_SHORT).show();
        }
        return super.onOptionsItemSelected(item);
    }

Bu şekilde de options menü oluşturmuş oluyoruz.
Bu konu hakkında anlatacaklarım bu kadardı aklınıza takılan şeyler için yorumlarda buluşalım :))

Yorumlar

Bu blogdaki popüler yayınlar

JAVA İLE INTERFACE KULLANIMI

Android Programlama 5 -> Timer -> Count Down Timer

Android Programlama 1 -> Buton Ekleme - Toast Mesajı - Activityler Arası Geçiş