Java 行动不是';t在工具栏上以“显示”;ifRoom";
我的Android应用程序工具栏上的操作有问题 我有一个具有Java 行动不是';t在工具栏上以“显示”;ifRoom";,java,android,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">
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>
意外结果:
<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>
我想看到的是:工具栏上的三个操作和溢出菜单中的第四个操作。您正在使用
元素将项目视为一个组。如果您不想将项目作为一个组来处理(例如,希望它们根据可用空间单独出现在操作栏中),请删除
元素。您正在使用
元素将项目作为一个组来处理。如果您不想将项目视为一个组(例如,您希望它们根据可用空间单独出现在操作栏中),请删除
元素。我使用
元素,因为我希望在单击一个按钮时能够禁用所有元素,并在单击另一个按钮时再次显示它们。我必须单独隐藏每个项目还是有其他方法?@KarolJurski:AFAIK,你需要取消项目分组并单独隐藏它们。但是,这可能很简单,只需创建一个ArrayList
并迭代该列表,在每个列表上调用setVisibility()
。我使用
元素,因为我希望在单击一个按钮时能够禁用所有元素,并在单击另一个按钮时再次显示它们。我必须单独隐藏每个项目还是有其他方法?@KarolJurski:AFAIK,你需要取消项目分组并单独隐藏它们。但是,这可能很简单,只需创建一个ArrayList
并在该列表上迭代,在每个列表上调用setVisibility()
。