如何在Android菜单xml的多个菜单中包含一个常用菜单项?

Tim*_*ima 29 android menu menuitem

许多菜单总是有一个项目相同.

有没有办法将该项目定义为额外菜单并将其包含在所有其他菜单中?

像这样的东西:

菜单/ main.xml中

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_main"
          android:title="@string/text_mainmenu" />
</menu>
Run Code Online (Sandbox Code Playgroud)

菜单/ other.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      parent="@menu/main">
    <item android:id="@+id/menu_other"
          android:title="@string/text_othermenu" />
</menu>
Run Code Online (Sandbox Code Playgroud)

我知道,有可能以programmaticaly方式进行,但我认为xml-way更好.

aze*_*lez 55

充气每个菜单和打电话到超级工作很棒!这是一个例子:

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    super.onCreateOptionsMenu(menu);
    getMenuInflater().inflate(R.menu.main, menu);
    getMenuInflater().inflate(R.menu.other, menu);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

您可以控制订单,如果超级还通过在其他膨胀之前/之后调用它来添加更多项目,或者根本不调用它来忽略这些项目.

  • 使用android:orderInCategory具有明确的项目顺序,这是通货膨胀顺序的_independent_. (4认同)

Com*_*are 11

AFAIK,<include>仅适用于布局XML,而不适用于菜单XML,但您可以尝试一下.缺乏这一点,程序选项(膨胀菜单XML文件)是我所知道的唯一选择.

  • 正如我写的关于程序化的方式,我的意思是有点不同,但后来我看到,我可以在我的活动中为每个菜单充气,从而从一些菜单石头创建自定义菜单.谢谢你带我这个想法. (3认同)