Android菜单项showAsAction =“always”不起作用

时间:2014-03-23 14:21:01

标签: android xml eclipse layout menu

我尝试过设置:

android:showAsAction=".."

每一个:

ifRoom, never, withText, always, collapseActionView

但是我总是得到相同的结果,操作栏上没有任何按钮,所以我必须按下菜单'按钮。

以下是菜单图片:

current menu

<item android:id="@+id/smth1"
    android:title="@string/smth1"
    android:showAsAction="always"
    android:orderInCategory="1" />

我甚至试过添加这个:

android:uiOptions="splitActionBarWhenNarrow"

进入应用程序清单文件,但没有正面结果(没有任何更改)。

我尝试在各种API(14,16,17,19)上运行它,但结果相同。

如果我的问题似乎不清楚,这里有一张菜单图片,我想要:

enter image description here

感谢您的帮助。

2 个答案:

答案 0 :(得分:12)

您需要使用兼容性命名空间(see here

<menu xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto">

<item android:id="@+id/menu_add_size"
    android:title="@string/menu_add_item"
    android:icon="@android:drawable/ic_menu_add" 
    app:showAsAction="always"/>
</menu>

一旦你使用它,你可以使用尽可能多的菜单按钮。你不再局限于只有两个按钮+溢出显示。

答案 1 :(得分:0)

您可能只是没有足够的空间,您应该首先从Activity中删除标题,方法是将其添加到您的onCreate方法中:

ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);

然后您可以看到here您可以显示的最大图标数量与屏幕宽度直接相关,在小型手机上,您只能在ActionBar中看到2个图标