/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 件のコメント:
コメントを投稿