Задать вопрос

Скины для android приложения

Бьюсь уже неделю и все никак не могу решить вот такую задачу:

Предположим, что уже есть устоявшийся интерфейс некой программы для android. При этом, все layout'ы вынесены в xml. Как теперь к этому приложению прикрутить скины/шкурки/темы, изменяющие фоновые картинки и цвета?
Сразу замечу, что внутренний механизм тем не подходит по достаточно очевидной причине: нет возможности задать разные параметры разным экземплярам одного класса. Т.е. если мы в теме зададим что-то вроде
<style name="someTheme" parent="android:style/Widget.Button">
   <item name="android:background">@drawable/some_drawable</item>
</style>
то заданный фон применится ко всем инстансам класса, Button, что недопустимо при текущем лэйауте.
Также, я пробовал обернуть
Resources.getDrawable(int)
Никак не помогло — ресурсы, заданные в xml, грузятся в обход этого метода.
  • Вопрос задан
  • 2706 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл Android‑разработчик
    5 месяцев
    Далее
  • Академия Codeby
    Курс «Анализ защищенности приложений Андроид»
    14 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
palmut
@palmut
А почему для этой цели нельзя использовать атрибуты? Вынести в атрибуты фоновые картинки и цвета, которые специфичны теме и переопределить в темах эти атрибуты. Далее используем стандартный механизм переключения тем.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы