我正在使用 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 你是对的,你可以通过编程来做到这一点!!
我需要使用的是 orderInCategory
和 menuCategory
的组合。如果您没有指定 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/