我正在使用\ menu文件夹下的xml中定义的android选项菜单。 菜单中有5个项目,它们在布局中显示为两行 - 顶行包含2个项目,底行包含其他3个项目。
有没有办法配置菜单,所以顶行将包含3个项目,底线将包含另外2个项目?
谢谢!
答案 0 :(得分:0)
我认为如果你将菜单项放在一个组中,它会尝试将它们放在一起。在活动中创建菜单而不是使用XML时,控制菜单项的顺序会更好。在您的活动中,您可以获得组中的菜单项:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
int group1Id = 1;
int Id1 = Menu.FIRST;
int Id2 = Menu.FIRST +1;
int Id3 = Menu.FIRST +2;
super.onCreateOptionsMenu(menu);
menu.add(group1Id, Id1, 1, "Option 1");
menu.add(group1Id, Id2, 2, "Option 2");
menu.add(group1Id, Id3, 3, "Option 3");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case 1: //for option 1
return true;
case 2: //for option 2
return true;
case 3: //for option 3
return true;
default:
return false;
}
<强>参数强>: groupId 此项应属于的组标识符。
itemId 唯一商品ID。如果您不需要唯一ID,请使用NONE。
订单商品的订单。如果您不关心订单,请使用NONE。
标题要为商品显示的文字。
<强>返回强>: 新添加的菜单项。
答案 1 :(得分:0)
我们可以为选项菜单使用不同的布局 例如: -
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menuRefresh"
android:icon="@drawable/ic_menu_refresh"
android:title="Refresh"
android:showAsAction = "always"/>
<item android:id="@+id/menuAbout"
android:icon="@drawable/ic_menu_info_details"
android:title="About"
android:showAsAction = "always"/>
</menu>
你可以使用“never”“withtext”“ifRoom”“always”“collapseActionView” or you can read out full details here