Merhaba Bu makalede menülerden bahsedecegim. Bu makalede bir önceki projeyi kullanacagim kaynak koduna asagidaki adresten ulasabilirsiniz
http://www.yazilimmutfagi.com/yuklenendosyalar/file/serhatD/NewScreenAndMenu.rar
Menü olusturmak için “ res->menu->main.xml” dosyasinda bu menüyü tanimlamamiz gerekiyor.Bunun iki farkli yolu var.
Birincisi "Main.xml" dosyasini açariz ve Add tusuna basariz.
Daha sonra çikan pencerede Item i seçeriz.
Veya main.xml dosyasini açip xml görünüme geçerim ve asagidaki kodu yazarim
<item android:id="@+id/item1"></item>
Simdi yukardaki adimlari tekrarlayarak “itemcikis” Id li bir Item daha ekliyorum. Olusturdugunuz itemin Id’ sini xml görünümünden “android:id” yazan yerden degistirebilirsiniz veya main.xml dosyasinda itemi seçip sol tarafta çikan menuden degistirebilirsiniz. Ayrica çikan menüde Title seçenegi ile menude ki itemlerde neler yazacagini belirleyebilirsiniz. Ben “Hakkinda ” ve “Çikis” yaziyorum.
Daha sonra “MainActivity.java” dosyasini açiyorum. Bu adimda yapacagim is olusturdugum her bir menu itemi için bir listener olusturmak bunun için
“public boolean onOptionsItemSelected(MenuItem item )” fonksiyonunu kullaniyorum.
Bu fonksiyonun içerisine bir switch case yapisi kuracagim.
public boolean onOptionsItemSelected(MenuItem item ){ switch (item.getItemId()){ case R.id.item1:{ Toast.makeText(getApplicationContext(), "www.Yazilimmutfagi.com", Toast.LENGTH_LONG).show(); break; } case R.id.itemcikis: { finish(); break;} }
Burdaki “item.getItemId” kodu hangi menu iteminin seçili oldugunu bulur. “finish()”fonksiyonu ise programi sonlandirir.Bu adimdan sonra programa menumuzu eklemis oluyoruz.
MainActivity.java:
package com.example.newscreenandmenu; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.text.Editable; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { static String user; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn =(Button)findViewById(R.id.button1); final EditText et=(EditText)findViewById(R.id.editText1); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Editable kullanici=et.getText(); user=(String)kullanici.toString(); Intent intent=new Intent(MainActivity.this,Activity2.class); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public boolean onOptionsItemSelected(MenuItem item ){ switch (item.getItemId()){ case R.id.item1:{ Toast.makeText(getApplicationContext(), "www.Yazilimmutfagi.com", Toast.LENGTH_LONG).show(); break; } case R.id.itemcikis: { finish(); break;} } return true;} }
Main.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_settings"/> <item android:id="@+id/item1" android:title="Hakkýnda"></item> <item android:id="@+id/itemcikis" android:title="Çýkýþ"></item> </menu>