menuBuilder.setOptionalIconsVisible只能在同一个库组中调用

时间:2018-02-04 12:05:25

标签: java android android-menu

我正在尝试使用以下代码显示带溢出菜单的图标

MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.my_menu,menu);

if(menu instanceof MenuBuilder){
    MenuBuilder menuBuilder = (MenuBuilder) menu;
    menuBuilder.setOptionalIconsVisible(true);
}

它给了我这个错误

  

menuBuilder.setOptionalIconsVisible只能在同一个库组中调用

在线

menuBuilder.setOptionalIconsVisible(true);

我知道我可以压制它而不理睬,但我想知道它为什么会有其他方法来修复它?

由于

1 个答案:

答案 0 :(得分:0)

修改

好的,在调查了有关该主题的更多信息之后,这似乎是评论和 this question 的答案中所述的错误,应该可以安全地予以取消。它可以在下一版本的支持库中修复。

OLD ANSWER

为什么不在XML中显示菜单项?使用属性android:showAsAction。有几个值可用:ifroom | always | collapseActionView | never | withText - read more

例如,如果您想始终显示第一项显示第二项(如果有空间)

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

    <item android:id="@+id/item_id1"
        android:icon="@drawable/ic_icon1"
        app:iconTint="@color/white"
        app:showAsAction="always"
        android:title="First item"/>

    <item android:id="@+id/item_id2"
        android:icon="@drawable/ic_icon2"
        app:iconTint="@color/white"
        app:showAsAction="ifRoom"
        android:title="Second item"/>
</menu>