1

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

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

谢谢!

4

2 回答 2

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。

order 项目的顺序。如果您不关心订单,请使用 NONE。

标题 要为项目显示的文本。

返回:新添加的菜单项。

于 2012-09-20T11:37:13.377 回答
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” 或者你可以在这里阅读完整的细节

于 2014-01-09T12:40:44.687 回答