android - MenuItem 显示在底栏上

标签 android android-actionbar actionbarsherlock slidingmenu

当我展开菜单时,一些项目显示在底部栏中,而其他项目则显示在 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/

相关文章:

java - Android 应用程序崩溃(媒体播放器)

android - 如何更改操作栏上菜单项的位置

android - 为什么在操作栏中打开弹出菜单

android - ViewPager 中嵌套 fragment 的 OptionsMenu

android - 选择项目后如何完全折叠 SearchView?

android - ActionbarSherlock:长按 Action 项显示 toast ?

java - 如何制作标题位于下方的固定 BottomNavigationView,不移动导航

android - 如何将 Activity 注入(inject)到正在注入(inject) Activity 的对象中?

Android:手动缩放 View

Android系统图标半透明