我试图用下面的代码显示溢出菜单的图标
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);
我知道我可以压制它而忽略但我想知道为什么它的到来以及还有其他方法来解决它?
谢谢
编辑
好的,在调查了关于这个问题的更多内容之后,这似乎是一个错误,如评论和this question的答案所述,应该可以安全地压制它。它可以在下一版本的支持库中修复。
老答复
为什么不在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>