Примените конкретную тему к рисованному - PullRequest
0 голосов
/ 17 июня 2020

Как указано в заголовке, я хотел бы иметь возможность программно применять тему к ресурсу с возможностью рисования.

У меня есть ресурс с возможностью рисования XML, который ссылается на цвета с использованием ?attr/logoColorPrimary. Если я определю цвета в основных из них, он будет работать правильно, и объект для рисования будет отображаться с правильным цветом.

Теперь я хотел бы использовать тот же ресурс для рисования в другом месте в моем приложении, но с использованием других цветов. Есть ли способ программно применить другую тему к этому рисунку? Конечно, я попытался использовать атрибут style XML в AppCompatImageView, который можно рисовать. Но, как выясняется, локальное повторное определение стиля в представлении не отменяет атрибуты, которые передаются в объект для рисования.

1 Ответ

1 голос
/ 17 июня 2020

Попробуйте использовать getDrawable там есть параметр для темы, например

val yourTheme = ContextThemeWrapper(baseContext, R.style.AppTheme).theme
ResourcesCompat.getDrawable(resources, R.drawable.your_drawable, yourTheme)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...