/res に menu というフォルダを作成し、その中にxmlファイルを作成します
XML は以下のようにすればOKです
submenu を作りたいときは item の中に menu を入れてあげます。
XML リソース
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_item01"
android:title="Menu01"/>
<group
android:id="@+id/menu_group01">
<item
android:icon="@drawable/icon"
android:id="@+id/menu_item02"
android:title="Menu02"/>
</group>
<item
android:id="@+id/menu_item03"
android:title="Menu03">
<menu>
<item
android:id="@+id/submenu_item01"
android:title="Sub_Menu01"/>
<item
android:id="@+id/submenu_item02"
android:title="Sub_Menu02/">
</menu>
</item>
</menu>
そして,
MenuInflater というクラスを使ってXMLを取得します
サンプルプログラム
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
public class MenuXMLTest extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
// Option Menu が最初に表示される時に1度だけ呼び出される
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// MenuInflater の取得
MenuInflater menuInflater = getMenuInflater();
// MenuInflater から XML の取得
menuInflater.inflate(R.menu.menutest, menu);
return true;
}
}
あとは普通に onOptionsItemSelected(MenuItem item) などをオーバーライドすればアイテムが選択された際の処理などもできます
プログラムを実行すると...
こんな感じ!
参考サイト
http://developer.android.com/intl/ja/guide/topics/resources/available-resources.html#menus
http://developer.android.com/intl/ja/reference/android/view/MenuInflater.html



0 件のコメント:
コメントを投稿