Okazuje się, że to całkiem proste. Powiedzmy, że można rysować wektorowo vd_trash_24dp
.
Opis MenuItem nie można adresować VectorDrawable bezpośrednio za pomocą android:icon
. Wydaje się również ignorować app:srcCompat
.
Ale. Jak all we know;)
AppCompat obsługuje ładowanie wektor kanału alfa, gdy są odniesione w innym rozciągliwej pojemniku, takim jak StateListDrawable, InsetDrawable, LayerDrawable, LevelListDrawable i RotateDrawable
Spróbujmy, powinien my?
Tworzenie 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>
niż
<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>
ulicznej magii rzeczywiście.
Tak, można spróbować ustawić opcję losowania w środowisku wykonawczym pod numerem MenuItem.setIcon()
. Ale kto potrzebuje tego%)
możesz spróbować MenuItem.setIcon() w czasie wykonywania – vigilancer
@vigilancer Twój komentarz postawił mnie na dobrej drodze i działa. Podaj prawdziwą odpowiedź za pomocą małego fragmentu, a przyjmuję to jako odpowiedź. – vwrynn