Android Programlama derslerimizin 11. bölümünde sizlerle birlikte basit bir menü oluşturmayı öğreneceğiz.
Android programlamada menü oluşturmak son derece basittir, haydi başlayalım…
Proje Örneği:
Yeni bir proje oluşturalım:
- Project name: P0011_SimpleMenu
- Build Target: Android 4.2
- Application name: SimpleMenu
- Package name: tr.androidApp.simplemenu
- Create Activity: MainActivity
MainActivity.java dosyasını açıyoruz. Menü oluşturmak için onCreateOptionsMenu metodunu kullanacağız. Bu metod giriş değişkeni olarak Menü nesnesini kullanıyor. Menü seçenekleri eklemek için add metodunu kullanmalıyız. Add metodu giriş değişkenleri olarak metinleri kullanacak. Dört tane seçenek ekliyoruz.
public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub menu.add("menu1"); menu.add("menu2"); menu.add("menu3"); menu.add("menu4"); return super.onCreateOptionsMenu(menu);}
OnCreateOptionsMenu metodu sonucu (Çıkış-return) olarak boolean tipi gönderiyor. Boolean tipi iki sonuç verebilir. Doğru (True) veya Yanlış (False). OnCreateOptionsMenu metodu, Doğru (True) sonucunu aldığı zaman, menüyü etkin hale getirecektir, yani menüyü gösterecektir. Yanlış (False) değerinde ise bunun tam tersini yapacaktır yani menüyü göstermeyecektir. Bu bize kodda koşulu (If- then) yöntemleri kullanma imkanı sunuyor. Mesela bir koşul gerçekleştiği zaman menüyü göstermek gibi. Şimdilik bir koşul kullanmayacağız. Kodun son komutu olan return super.onCreateOptionsMenu satırı, varsayılan olarak Doğru (True) değerini gönderecektir.
Projeyi kaydedelim ve emülatörde menu butonuna basalım.
Gördüğümüz gibi dört tane menü seçeneği oluştu. Bu menülere basıldığı zaman hiçbir şey olmuyor. Menüleri etkinleştirmek için etkileşimi (Activity) kullanmamız gerekecek. Etkileşim OnOptionsItemSelected metodu kullanacaktır. OnOptionsItemSelected metodu giriş değişkeni menü (MenuItem) alıyor. Uygulama hangi menüye bastığımızı anlamak için getTitle metodu kullanacak.
public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show(); return super.onOptionsItemSelected(item); }
Şimdi oluşturduğumuz menüleri biraz daha geliştirelim. Menüye bastığımız zaman bize hangi menüye bastığımızı bildirim olarak göstersin.
Tam kodu:
public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub menu.add("menu1"); menu.add("menu2"); menu.add("menu3"); menu.add("menu4"); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show(); return super.onOptionsItemSelected(item); } }
Yukarda menüleri seçmek için metinleri (Text) kullandık. Daha kullanışlı olan ise Id’leri kullanmaktır.
Gelecek derste:
– Menüleri ID’leri kullanarak oluşturacağız
– Menüleri gruplandıracağız ve sıralayacağız
Bu sayede Anrdoid programlama konusunda sağlam adımlarla ilerliyoruz! Gelecek derste görüşmek üzere…