アンドロイドでサブメニューを作成する方法
Androidでサブメニューを作成するには、次の手順を実行します。
- res/menuフォルダ内に、サブメニューのレイアウトとコンテンツを定義するXMLファイルを作成します。たとえば、「submenu.xml」という名前のファイルを作成します。
- メニューの子項目をXMLファイルで定義します。例えば、次のコードを追加して、子メニュー項目を定義します。
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/submenu_item1"
android:title="SubMenu Item 1"/>
<item
android:id="@+id/submenu_item2"
android:title="SubMenu Item 2"/>
</menu>
- メニュー項目にサブメニューを追加するには、メインメニューの XML ファイルを編集します。例として、次のコードはメニュー項目にサブメニューを追加します。
<item
android:id="@+id/main_menu_item"
android:title="Main Menu Item"
android:icon="@drawable/menu_icon"
app:showAsAction="always">
<menu>
<item
android:id="@+id/submenu"
android:title="Submenu"
app:showAsAction="never"
android:icon="@drawable/submenu_icon"
android:menu="@menu/submenu"/>
</menu>
</item>
この例の「SubMenu」というメニュー項目には、「SubMenu.xml」という子のサブメニューがあります。
- onCreateOptionsMenu()メソッドを使ってMenuInflaterからメニューリソースをメニューにロードします。例:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
「main_menu.xml」という主メニュー用リソースファイルをロードします。
- Activity の onOptionsItemSelected() メソッドでサブメニュー項目のクリックイベント処理を行います。例えば:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.submenu_item1) {
// 处理子菜单项1的点击事件
return true;
} else if (id == R.id.submenu_item2) {
// 处理子菜单项2的点击事件
return true;
}
return super.onOptionsItemSelected(item);
}
この手順により、Androidでサブ メニューを作成できます。