当我展开菜单时,一些项目显示在底部栏中,而其他项目则显示在 Android 2 的常用选项菜单中。
我尝试在 list 中使用 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;
}
最佳答案
选项菜单始终可见,因为新设计是为了让设备没有菜单按钮。
我猜你有 setDisplayShowHomeEnabled(false)
和 setDisplayShowTitleEnabled(false)
。然后,当您将 android:uiOptions
设置为 none 时,这将导致您的 Actionbar
消失,但保留选项菜单图标。如果要禁用顶部的 Actionbar
,则需要将其保留为 splitActionBarWhenNarrow
。
终于到了问题的症结所在。您有一项设置为 android:showAsAction=always
。该选项将始终显示为操作栏上的图标。其他两个设置为从不。它们将始终显示在选项菜单中。
从不
= 在操作栏上显示为操作图标。
ifRoom
= 如果操作栏上有空间,则在操作栏上显示为操作图标,但如果没有空间,则放在选项菜单中。
always
= 始终显示在选项菜单中。
|withText
= 添加提示以在操作栏上有空间时显示操作的标题。
经验法则是只设置两个始终显示为 Action 的项目,这样 Actionbar
就不会在小型设备上变得拥挤。在较大的设备上,您的 ifRoom
选项将显示为 Actionbar
项而不是选项菜单项。
关于android - MenuItem 显示在底栏上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16623880/