Android Context Action bar app:showAsAction =" always"并不总是显示为图标,只显示溢出

时间:2016-08-10 10:13:46

标签: android

创建应用程序,当我选择多个图像时,我将显示上下文操作栏。 虽然我给了app:showAsAction="always",但菜单项总是以溢出结束。

我有一个包含5个菜单项的菜单,其中3个为showAsAction=always,另外2个为showAsAction=ifRoom,但我结束了将2个节目作为图标,其他3个节目显示为溢出

我做错了什么,请帮助我。

MyMenu菜单

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_add"
        android:icon="@drawable/menu_add"
        android:title="Add"
        app:showAsAction="always" />
    <item
        android:id="@+id/action_select_all"
        android:icon="@drawable/menu_remove"
        android:title="Select All"
        app:showAsAction="always" />
    <item
        android:id="@+id/action_clear"
        android:icon="@drawable/menu_clear"
        android:title="Clear"
        app:showAsAction="always" />
    <item
        android:id="@+id/action_share"
        android:icon="@drawable/menu_share"
        android:title="@string/action_share"
        app:showAsAction="ifRoom" />
    <item
        android:id="@+id/action_delete"
        android:icon="@drawable/menu_delete"
        android:title="@string/action_delete"
        app:showAsAction="ifRoom" />
</menu>

2 个答案:

答案 0 :(得分:1)

您可以尝试使用android:showAsAction而不是app:showAsAction。如果您正在使用appcompat_v7 backport,请同时使用android:showAsAction和app:showAsAction。有关详细信息,请参阅Items not showing in the ActionBar with showAsAction=“always”

另外,请确保为showAsAction选择正确的标题,请参阅Item with app:showAsAction not showing

希望这有帮助。

答案 1 :(得分:0)

显示或不显示项目取决于屏幕设备的空间。如果您没有足够的空间来显示所有项目,Android会将其余部分放在溢出菜单上(即使它们被声明为app:showAsAction="always"

此外,您还可以使用android:orderInCategory标记在项目中设置优先级。

希望它有所帮助,