Android – Options Menuの使い方(XML編)

Options Menu(に限らないけどな)をXMLで書いた場合。

まずはリソースファイルを作る

res/menu/main_optmenu.xml

とかを作る(名前はmain activityのoptions menuって意味でつけた)

※ EclipseでProjectを選んでCTRL+N、Wizardにandroid xmlを指定してやって、typeにMenuを指定すればすぐに作れます。

中身はこんな感じ。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@+id/main_optmenu_preferences"
        android:title="@string/main_optmenu_preferences_title"
        android:icon="@android:drawable/ic_menu_preferences" />
</menu>

idにこのメニューが選択されたときにそれを識別するためのID

titleにメニューの文字列のリソースID

iconにはメニューのアイコンのIDを指定する。

で、次はActivityでOptions Menuを有効にするためにXMLで定義したメニューを有効にするためのコード。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
  MenuInflater menuInflater = new MenuInflater(this);
  menuInflater.inflate(R.menu.main_optmenu, menu);
  return true;
}

読み込みたいメニューのXMLのリソースIDをinflateに渡してやるだけです。

あとはリソースに書いたitemのidでonOptionsItemSelectedを書いてやればOK。

Options Menuの細かい話については以前の記事も参照してください。