android - 如何动态设置orderInCategory?

标签 android android-fragments actionbarsherlock

如何在动态创建菜单项时设置 orderInCategory。我动态创建的菜单项始终位于先前创建的菜单项(在 xml 中创建)的左侧。

我动态创建的菜单是 ActionBarSherlock 溢出菜单。

 SubMenu overflowMenu = menu.addSubMenu("Action Item");
         overflowMenu.add(0,SUBMENU_ABOUT,Menu.NONE,"About");
         overflowMenu.add(0,SUBMENU_HELP,Menu.NONE,"Help");
         overflowMenu.add(0,SUBMENU_REPORT,Menu.NONE,"Send Report");
         overflowMenu.add(0,SUBMENU_LOGBOOK,Menu.NONE,"LogBook");




            MenuItem subMenu1Item = overflowMenu.getItem();
            subMenu1Item.setIcon(R.drawable.overflow_menu_trans);

那么如何把这个图标放到菜单的最右边呢?现在,它位于已放置在 xml 中的内容的左侧

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/menu_register"
        android:orderInCategory="1"
        android:showAsAction="always"
        android:icon="@drawable/action_register"
        android:title="@string/menu_register"/>
</menu>

最佳答案

@CommonsWare 给出了这个答案。实际上,要将项目设置到最右边,我必须将 orderInCategory 设置为较高的值,而我将其设置为较低的值。动态地,它可以完成为

SubMenu overflowMenu=menu.addSubMenu(0, MENU_ID, 300, "Action Item");

其中 300 是要设置为比 menu.xml 的 orderInCategory 更高的值的 orderId

关于android - 如何动态设置orderInCategory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24227682/

相关文章:

android - Flutter SizeTransition 无法正常工作。Size transition 的行为就像我在滑动小部件一样

android.content.res.Resources$NotFoundException : File res/mipmap-xhdpi-v4/ic_copyright_black_24dp. png 来自 xml 类型 xml 资源 ID #0x7f0d0007

android - Sherlock ActionBar 和滑动菜单

android - minifyEnabled true 时构建 APK 时出错

Android:如何使用处理程序 handleMessage 并访问对 MainActivity 的引用

Android 无法解析符号 OnRequestPermissionsResultCallback

java - MPAndroidChart 未在 fragment 中显示

Android ActionBar/ActionBarSherlock 多项选择微调器

android - 带有溢出菜单的自定义操作栏布局

android - 如何在Android中制作GPX文件