Android ile Option Menu oluşturmaya çalıştım.Android aygıtının MENU tuşuna basmasıyla ekrana gelir. Istersen tüm activityler için birer tane oluşturabilirsin. 5 ten fazla olanları listeliyor ve More tıklanınca diğerlerini gösteriyor.
Bir menuye submenu eklenince o menu seçildiğinde ekrana submenuler geliyor.
OptionMenuActivity.java
package com.menu.option;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
public class OptionMenuActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater=getMenuInflater();
menuInflater.inflate(R.menu.menu_ilk, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.item1_bir:
item1Selected();
break;
case R.id.item11_sub_menu:
item1_sub_menu();
break;
case R.id.item2_iki:
item2Selected();
break;
}
return super.onOptionsItemSelected(item);
}
private void item2Selected() {
Toast.makeText(getApplicationContext(),R.string.iki, Toast.LENGTH_SHORT).show();
}
private void item1_sub_menu() {
Toast.makeText(getApplicationContext(), "Iem birin SUB MENU secildi ", Toast.LENGTH_SHORT).show();
}
private void item1Selected() {
Toast.makeText(getApplicationContext(), "Item BIR secildi", Toast.LENGTH_SHORT).show();
}
}
menu_ilk.xml
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<group android:visible="true" android:id="@+id/group1_main" android:enabled="true">
<item android:showAsAction="ifRoom|withText" android:title="@string/bir" android:id="@+id/item1_bir">
<menu>
<item android:title="@string/sub1" android:id="@+id/item11_sub_menu" android:showAsAction="ifRoom|withText"></item>
<item android:title="@string/sub2" android:id="@+id/item12_sub_menu" android:showAsAction="ifRoom|withText"></item>
<item android:title="@string/sub3" android:id="@+id/item13_sub_menu" android:showAsAction="ifRoom|withText"></item>
</menu>
</item>
<item android:id="@+id/item2_iki" android:showAsAction="ifRoom|withText" android:title="@string/iki"></item>
</group>
<group android:visible="true" android:enabled="true" android:id="@+id/group2_other">
<item android:showAsAction="ifRoom|withText" android:title="@string/uc" android:id="@+id/item3_uc"></item>
<item android:title="@string/dort" android:showAsAction="ifRoom|withText" android:id="@+id/item4_dort"></item>
<item android:title="@string/bes" android:showAsAction="ifRoom|withText" android:id="@+id/item5_bes"></item>
<item android:title="@string/yedi" android:showAsAction="ifRoom|withText" android:id="@+id/item7_yedi"></item>
</group>
<item android:title="@string/alti" android:showAsAction="ifRoom|withText" android:id="@+id/item6_alti"></item>
</menu>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, OptionMenuActivity!</string>
<string name="app_name">OptionMenu</string>
<string name="bir">ethem</string>
<string name="iki">Gayrettepe, Beşiktaş</string>
<string name="uc">android</string>
<string name="dort">Okumak</string>
<string name="sub1">Sub Menu Bir</string>
<string name="sub2">Sub Menu Iki</string>
<string name="sub3">Sum Menu Uc</string>
<string name="bes">Item Bes</string>
<string name="alti">Item Alti</string>
<string name="yedi">Item Yedi</string>
</resources>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.menu.option"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".OptionMenuActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Uygulamanızı sağ tıklayıp
New–>Other–>Android XML File–>Menu ile create edebilisiniz.
Menu için onCreateOptionsMenu(Menu menu){} ve onOptionsItemSelected(MenuItem item){} methodları ovveride etmeniz lazım. Biri oluşturmak için diğeri de event listenerdir.





[...] Android Option Menu and Submenu Sample bakmayı unutmayın. option menu [...]
ben yaptığınız çalışmayı uyguladım yalnız 2.3te çalışmıyor, 3.0da çalışıyor. 2.3te çalıştırınca showAction bulunamadı diyor. Ne yapmalıyım
http://developer.android.com/guide/topics/ui/menus.html linkteki “Creating an Options Menu” bölümünü okuyun.