Пожалуйста, обратите внимание, что я имею в виду не андроид темы как Theme.App.Light, Theme.App.Dark
и т.д.Реализация пользовательского Тема
необходимо предоставить различные темы в моем приложении, используя общие предпочтения. Темы будут в основном отличаться друг от друга только в обратном изображении и кнопках изображения.
Выбор темы будет задан пользователем с использованием настроек shred. Так предположим, что у меня есть выбранные темы предпочтение как:
theme_name = sharedPrefs.getString("theme_name", "NULL");
Теперь то, что это лучший способ осуществить это.
Один довольно грубый способ будет установить фоновый ресурс и изображение кнопку в каждой деятельности, как:
if (theme_name == "red") {
button.setImageResource(R.drawable.red_button);
}
elif (theme_name == "green") {
button.setImageResource(R.drawable.green_button);
}
...
Теперь, если я продолжаю делать, что во всех видах деятельности, я существенно перемешайте презентации, логические и элементы пользовательского интерфейса в один большой код спагетти.
Что такое лучший способ обработки такого кода?