当我给菜单充气时,部分项目会显示在底栏中,而其他项目会显示在Android 2的常用选项菜单中。
我在清单中尝试使用android:uiOptions="none"
,但随后底栏消失,选项菜单仍然存在。
我想要做的是将一个菜单项添加到操作栏!
这是菜单布局
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_support"
android:icon="@drawable/icon_close"
android:showAsAction="always"
android:title="@string/menu_support"
android:visible="true"/>
<item
android:id="@+id/menu_feedback"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/menu_feedback"/>
<item
android:id="@+id/menu_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/menu_settings"/>
</menu>
这是 onCreateMenuOptions :
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.activity_main, menu); return true;
}
答案 0 :(得分:2)
选项菜单始终可见,因为新设计是设备没有菜单按钮。
我猜你有setDisplayShowHomeEnabled(false)
和setDisplayShowTitleEnabled(false)
。然后,当您将android:uiOptions
设置为无时,这会导致Actionbar
消失,但会保留选项菜单图标。如果您要停用顶部splitActionBarWhenNarrow
,则需要将其保留为Actionbar
。
最后来了解你的问题的关键。您有一个项目设置为android:showAsAction=always
。该选项将始终显示为操作栏上的图标。其他两个永远不会。它们将始终显示在选项菜单中。
never
=在操作栏上显示为操作图标。
ifRoom
=如果操作栏上有空间,则在操作栏上显示为操作图标,但在没有空间时放入选项菜单。
always
=始终显示在选项菜单中。
| withText
=如果操作栏上有空间,则添加提示以显示操作的标题。
经验法则是仅设置两个始终显示为操作的项目,以便Actionbar
不会在小型设备上拥挤。在较大的设备上,ifRoom
选项将显示为Actionbar
项,而不是选项菜单项。