そのようなシナリオの回避策があります。オーバーフロー メニューに何を入れたいかはっきりしている場合は、それらをサブメニューに入れることができます。そのサブ メニュー項目のアイコンとタイトルを、onCreateOptionsMenu
メソッドをオーバーライドしてサブ メニューと一緒に入れることができます。
これは、この機能を実現するために行ったことです。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 1, "MENU ONE TITLE")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
SubMenu subMenu = menu.addSubMenu(0, 0, 2, "MENU TWO TITLE");
subMenu.add(0, 2, 2, "SUB MENU ONE TITLE")
.setIcon(R.drawable.sub_menu_one_icon);
subMenu.add(0, 3, 3, "SUB MENU TWO TITLE")
.setIcon(R.drawable.sub_menu_two_icon);
MenuItem subMenuItem = subMenu.getItem();
subMenuItem.setIcon(R.drawable.menu_two_icon);
subMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
return super.onCreateOptionsMenu(menu);
}