Коли я використовую малюнки з AppCompatбібліотеки для своїх Toolbarпунктів меню, тонування працює належним чином. Подобається це:
<item
android:id="@+id/action_clear"
android:icon="@drawable/abc_ic_clear_mtrl_alpha" <-- from AppCompat
android:title="@string/clear" />
Але якщо я використовую власні малюнки або навіть фактично скопіюю малюнки з AppCompatбібліотеки у свій власний проект, це взагалі не забарвиться.
<item
android:id="@+id/action_clear"
android:icon="@drawable/abc_ic_clear_mtrl_alpha_copy" <-- copy from AppCompat
android:title="@string/clear" />
Чи є якась особлива магія в тому, AppCompat Toolbarщо лише відтінки малюнків із цієї бібліотеки? Будь-який спосіб змусити це працювати зі своїми власними малюнками?
Запуск цього на пристрої API рівня 19 з compileSdkVersion = 21та targetSdkVersion = 21, а також використання всього відAppCompat
abc_ic_clear_mtrl_alpha_copyє точною копією abc_ic_clear_mtrl_alphaPNG ізAppCompat
Редагувати:
Тонування базується на значенні, яке я встановив android:textColorPrimaryу своїй темі.
Наприклад, <item name="android:textColorPrimary">#00FF00</item>це дало б мені зелений відтінок.
Знімки екрана
Тонування працює, як очікувалося, з можливістю малювання з AppCompat

Тонування не працює з копіюваним з AppCompat малюнком
