我想在一个OptionsMenu
中使用两个Toolbar
。
来自Activity
的第一个选项菜单,此菜单中的项目必须位于Toolbar
的末尾。
来自不同Fragment's
的第二个选项菜单(每个都有自己的菜单),必须在第一个菜单之前。
答案 0 :(得分:1)
在Activity
:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
在res/menu/menu.xml
:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.nexttek.android.menu.activity.YourActivity">
<item
android:id="@+id/action_one"
android:orderInCategory="100"
android:title="@string/action_one"
app:showAsAction="never" />
<item
android:id="@+id/action_two"
android:icon="@drawable/ic_image"
android:orderInCategory="100"
android:title="@string/action_two"
app:showAsAction="always" />
</menu>
按app:showAsAction
,此项目何时以及如何在应用栏中显示为操作项。仅当活动包含应用栏时,菜单项才会显示为操作项。有效值
always
:始终将此项目放在应用栏中。除非项目始终出现在操作栏中,否则请避免使用此项。collapseActionView
:与此操作项关联的操作视图(由android:actionLayout或android:actionViewClass声明)是可折叠的。ifRoom
:只有在有空间的情况下才能将此项目放在应用栏中。never
:切勿将此项目放在应用栏中。而是在应用栏的溢出菜单中列出该项目。withText
:还包括带有操作项的标题文本(由android:title定义)。