Цитируя сообщение в блоге на вопрос:
The Drawable методы колеровки добавлены в леденец супер полезно дать вам динамически оттенок активов.
Здесь тонировка относится к Theme.Material
/Theme.AppCompat
подходу с использованием оттенков серого и применения вводимого коэффициента оттенков, как colorPrimary
или colorAccent
, чтобы связать их в пользовательскую тему для приложения. Это используется во многих местах, в частности во многих местах, где наблюдается цвет акцента.
Продолжая запись в блоге:
AppCompat имел свой собственный запеченные в реализации в библиотеке поддержки v21 и сейчас мы извлеченный, что в DrawableCompat в поддержку-v4 для каждого использования.
Следовательно, DrawableCompat
позволяет использовать оттенок-The-полутоновое изображение appcompat-v7
делает для колеровки вводимого коэффициента, возвращаясь к уровню API 4. Это в отличие от аналогичных методов тонировки доступны на Drawable
начиная с API Уровень 21. В частности, если вы создаете пользовательские виджеты и с использованием appcompat-v7
, вы можете использовать DrawableCompat
, чтобы позволить вашим виджетам принимать цветовую схему приложения.
чем разница между DrawableCompat и нормальной вытяжкой
DrawableCompat
отходит от типичного ...Compat
подхода. Классы типа NotificationCompat.Builder
являются заменами для их предшественников (например, Notification.Builder
). В этом случае DrawableCompat
применяет определенные изменения, такие как оттенок, к другому Drawable
, где этот другой переносимый «завернут» на DrawableCompat
. DrawableCompat
просто предоставляет API и возможности обтекания/разворота; это Drawable
, который вы получаете от wrap()
, который вы использовали бы в своем приложении, вместо использования начального оттенка серого Drawable
, с которого вы начали.