更改android选项菜单布局

时间:2012-09-20 08:47:24

标签: android android-optionsmenu

我正在使用\ menu文件夹下的xml中定义的android选项菜单。 菜单中有5个项目,它们在布局中显示为两行 - 顶行包含2个项目,底行包含其他3个项目。

有没有办法配置菜单,所以顶行将包含3个项目,底线将包含另外2个项目?

谢谢!

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