原來這很容易。說,你有矢量繪製vd_trash_24dp
。
描述MenuItem無法直接使用android:icon
來處理VectorDrawable。這似乎也忽略app:srcCompat
。
但是。作爲all we know;)
程序兼容性不支持載荷向量繪圖資源,當他們 在另一個繪製容器引用如StateListDrawable, InsetDrawable,LayerDrawable,LevelListDrawable和RotateDrawable
讓我們試試吧,應該我們?
創建StateListDrawable vd_test_vd
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/vd_trash_24dp" />
</selector>
比
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<item android:id="@+id/menu_action_filter"
android:title="@string/menu_action_filter"
android:icon="@drawable/vd_test_vd"
android:orderInCategory="100"
app:showAsAction="always"/>
</menu>
街頭魔術確實如此。
是的,可以試着在運行時設置爲MenuItem.setIcon()
。但誰需要這個%)
你可以嘗試在運行時MenuItem.setIcon() – vigilancer
@vigilancer你的評論讓我在正確的軌道上,它的工作原理。用一小段代碼做出真正的答案,我會接受它作爲答案。 – vwrynn