Kiedy używam rysunków z AppCompatbiblioteki dla moich Toolbarpozycji menu, zabarwienie działa zgodnie z oczekiwaniami. Lubię to:
<item
android:id="@+id/action_clear"
android:icon="@drawable/abc_ic_clear_mtrl_alpha" <-- from AppCompat
android:title="@string/clear" />
Ale jeśli użyję własnych rysunków lub nawet skopiuję rysunki z AppCompatbiblioteki do własnego projektu, to w ogóle nie zabarwi się .
<item
android:id="@+id/action_clear"
android:icon="@drawable/abc_ic_clear_mtrl_alpha_copy" <-- copy from AppCompat
android:title="@string/clear" />
Czy jest jakaś szczególna magia w AppCompat Toolbartym jedynym odcieniu rysunków z tej biblioteki? Czy jest jakiś sposób, aby to działało z moimi własnymi rysunkami?
Uruchomienie tego na urządzeniu z interfejsem API Level 19 z compileSdkVersion = 21i targetSdkVersion = 21, a także przy użyciu wszystkiego zAppCompat
abc_ic_clear_mtrl_alpha_copyjest dokładną kopią pliku abc_ic_clear_mtrl_alphapng zAppCompat
Edytować:
Zabarwienie jest oparte na wartości, którą ustawiłem android:textColorPrimaryw moim motywie.
Np. <item name="android:textColorPrimary">#00FF00</item>Dałoby mi zielony odcień.
Zrzuty ekranu
Barwienie działa zgodnie z oczekiwaniami dzięki możliwości rysowania z AppCompat

Barwienie nie działa z rysunkiem skopiowanym z AppCompat
