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

Скины для 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, грузятся в обход этого метода.
  • Вопрос задан
  • 2703 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
palmut
@palmut
А почему для этой цели нельзя использовать атрибуты? Вынести в атрибуты фоновые картинки и цвета, которые специфичны теме и переопределить в темах эти атрибуты. Далее используем стандартный механизм переключения тем.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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