使用" ifRoom"在工具栏上显示的操作不会显示

时间:2017-01-05 15:58:56

标签: java android

我的Android应用中的工具栏上的操作存在问题。

我有一个包含app:showAsAction="ifRoom"属性的操作的组。如果ifRoom项少于4项,一切正常。但是当我添加第四个项目时,所有项目都会从工具栏中消失。

工作正常:

<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:id="@+id/group_paint"
    android:orderInCategory="1"
    app:showAsAction="ifRoom">
    <item android:id="@+id/action_layers"
        android:icon="@drawable/ic_layers_white_24dp"
        android:title="@string/action_layers"
        android:orderInCategory="3"
        app:showAsAction="ifRoom"/>
    <item android:id="@+id/action_tool"
        android:icon="@drawable/ic_properties_white_24dp"
        android:title="@string/action_tool"
        android:orderInCategory="4"
        app:showAsAction="ifRoom" />
    <item android:id="@+id/action_action1"
        android:icon="@drawable/ic_action1_white_24dp"
        android:title="@string/action_1"
        android:orderInCategory="7"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/action_settings"
        android:icon="@drawable/ic_settings_white_24dp"
        android:title="@string/action_settings"
        android:orderInCategory="7"
        app:showAsAction="never" />
</group>
</menu>

It works fine

意外结果:

<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:id="@+id/group_paint"
    android:orderInCategory="1"
    app:showAsAction="ifRoom">
    <item android:id="@+id/action_layers"
        android:icon="@drawable/ic_layers_white_24dp"
        android:title="@string/action_layers"
        android:orderInCategory="3"
        app:showAsAction="ifRoom"/>
    <item android:id="@+id/action_tool"
        android:icon="@drawable/ic_properties_white_24dp"
        android:title="@string/action_tool"
        android:orderInCategory="4"
        app:showAsAction="ifRoom" />
    <item android:id="@+id/action_action1"
        android:icon="@drawable/ic_action1_white_24dp"
        android:title="@string/action_1"
        android:orderInCategory="7"
        app:showAsAction="ifRoom" />
    <item android:id="@+id/action_action2"
        android:icon="@drawable/ic_action2_white_24dp"
        android:title="@string/action_2"
        android:orderInCategory="8"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/action_settings"
        android:icon="@drawable/ic_settings_white_24dp"
        android:title="@string/action_settings"
        android:orderInCategory="7"
        app:showAsAction="never" />
</group>
</menu>

Unexpected result

我希望看到的是:工具栏上的三个操作和溢出菜单中的第四个操作。

1 个答案:

答案 0 :(得分:2)

您正在使用<group>元素将项目视为一个组。如果您不想将这些项目视为一个组(例如,您希望它们根据可用空间单独显示在操作栏中),请删除<group>元素。