【问题标题】:MenuItem showing up on a bottom barMenuItem 显示在底部栏
【发布时间】:2013-05-18 11:41:49
【问题描述】:

当我膨胀菜单时,一些项目显示在底部栏中,而其他项目显示在 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;
}

【问题讨论】:

    标签: android android-actionbar actionbarsherlock slidingmenu


    【解决方案1】:

    选项菜单始终可见,因为新设计的设备没有菜单按钮。

    我猜你有setDisplayShowHomeEnabled(false)setDisplayShowTitleEnabled(false)。然后,当您将android:uiOptions 设置为无时,这将导致您的Actionbar 消失,但保留选项菜单图标。如果要禁用顶部 Actionbar,则需要将其保留为 splitActionBarWhenNarrow

    终于找到问题的症结所在。您有一项设置为android:showAsAction=always。该选项将始终显示为操作栏上的图标。另外两个设置为从不。它们将始终显示在选项菜单中。

    never = 在操作栏上显示为操作图标。

    ifRoom = 如果操作栏上有空间,则在操作栏上显示为操作图标,但在没有空间时放入选项菜单。

    always = 始终显示在选项菜单中。

    |withText = 如果操作栏上有空间,则添加提示以显示操作的标题。

    经验法则是只将两个项目设置为始终显示为操作,这样Actionbar 就不会在小型设备上变得拥挤。在较大的设备上,您的 ifRoom 选项将显示为 Actionbar 项,而不是选项菜单项。

    【讨论】:

    • 不,我没有禁用顶部操作栏,并且主页已启用。单击主菜单项时,我正在显示滑动菜单(通过 cally toggle())。感谢您对菜单项的使用进行说明。
    • 从清单中删除 android:uiOptions="splitActionBarWhenNarrow" 后,它对我有用(该项目出现在操作栏中而不是底部)。
    • @Arbi:+1 用于回复解决方案。
    猜你喜欢
    • 1970-01-01
    • 2017-08-14
    • 2022-09-22
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    相关资源
    最近更新 更多