Android — background / backgroundTint / backgroundTintMode vs tint / tintMode

Овладев этими параметрами View, вы перестанете хранить несколько экземпляров иконок, покрашенных в разные цвета, и сэкономите время на создании одинаковых по форме, но отличающихся по цвету drawable-ресурсов
• android:background = цвет, картинка, иконка, фигура или селектор, описанный в xml-файле
• android:backgroundTint = цвет, который будет накладываться на background
• android:backgroundTintMode = способ смешения цветов
Например, выбрав tintMode, можно определить, будут ли смешиваться альфа-каналы (прозрачность) заданного цвета и ресурса из background.
Также можно задать tintMode, который позволит полностью игнорировать исходный цвет ресурса, заданного в поле background.
Но перекрашивать можно не только background. Например, можно менять цвет ресурса, заданного атрибутом android:src
В этом случае нам понадобятся:
android:tint — цвет, который будет накладываться на src
android:tintMode — способ смешения цветов
Если минимальная версия sdk не позволяет использовать эти атрибуты, можно установить их через библиотеку AppCompat — достаточно заменить префикс android на app (например, app:tintMode)
Вывод: не стоит дублировать ресурсы одной формы — можно хранить их в одном экземпляре, например, черного цвета, а там где нужно — перекрашивать его