Android 4.3菜单项showAsAction =“始终”被忽略吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

我正在使用从Android 4.3(API级别18)开始的新的v7 appcompat库。

无论showAsAction中为菜单项指定什么,它都不会显示 - 它总是创建溢出菜单图标,甚至在菜单下放置一个菜单项。

尝试将菜单添加到如下所示的活动中:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_sizes, menu);
    return true;
}

这里是我的菜单xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_add_size"
        android:title="@string/menu_add_item"
        android:orderInCategory="10"
        android:showAsAction="always"
        android:icon="@android:drawable/ic_menu_add" />
</menu>

提问于
用户回答回答于

你可以使用支持库v7,showAsAction应该像下面这样在自定义命名空间下运行:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:balloonberry="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/menu_add_size"
        android:title="@string/menu_add_item"
        android:orderInCategory="10"
        balloonberry:showAsAction="always"
        android:icon="@android:drawable/ic_menu_add" />
</menu>
用户回答回答于

可能你缺少必需的命名空间:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:[yourapp]="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/menu_add_size"
        android:title="@string/menu_add_item"
        android:orderInCategory="10"
        [yourapp]:showAsAction="always"
        android:icon="@android:drawable/ic_menu_add" />
</menu>

其他值得检查的事情:

  • 看看你的活动类是否延伸 ActionBarActivity

检查问题是否仍然存在。

扫码关注云+社区