android - ActionBar fragment 菜单项。把它们放在前面

标签 android

我正在使用 onCreateOptionsMenu 成功添加 fragment 菜单项...

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.additional_fragment_menu, menu);
}

上面的附加菜单包括 1 个菜单项。我需要做的是将这个菜单项放在所有其他现有项目的前面,以便它首先出现在操作栏上。目前它出现在最后。

(这是我要添加的 android:showAsAction="always" 项目)

我尝试以编程方式添加它,但 MenuItem 对象中没有允许您指定图标和 showAsAction 标志的选项。

有人有什么想法吗?

最佳答案

好吧,我自己用 EvilDuck 指向正确方向的指针破解了这个。是的,dymmeh 你是对的,你可以通过编程来做到这一点!!

我需要使用的是 orderInCategorymenuCategory 的组合。如果您没有指定 menuCategory,Android 似乎会忽略 orderInCategory

  • 我通过将 menuCategory 属性值设置为 "system" 来指定应用程序中每个菜单项的类别。
  • 我的基本菜单项(通过 Activity 加载的菜单项)我必须设置高 orderInCategory 编号,例如 10、11、12、13 等。
  • 当我随后膨胀并添加具有相同类别和 orderInCategory 值 1 的附加 fragment 菜单 xml 时,它显示为第一项。

关于android - ActionBar fragment 菜单项。把它们放在前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10336085/

相关文章:

java - 如何在MovieAdapter的Viewholder中加载图像?

android - 此 api 项目无权使用此 API

android - 如何使用 Visualizer 类检测 Android 中的拨出调用铃声?

android - 检查intent是调用还是默认启动Activity

android - 视差效果和捕捉工具栏,如 Google Play 商店应用

android - 如何在 gradle 上添加我的框架

android - 指定调用此应用的包名

java - 在 Android 中使用 Runtime.getRuntime() 创建新进程

android - 这个 Android Wear 应用程序在哪里?

android - HTTPPost 失败时取消 AsyncTask?