В моем приложении мне нужно изменить все цвета времени выполнения. Приложение начинается с серого, а затем просит пользователя выбрать свой пол. Когда они выбирают мужчина, тогда приложение становится синим, и когда они выбирают женщина приложение становится розовым.Как изменить colors.xml программно, сохраняя все стили в моей теме?
Я определил, что AppTheme
стили все виджеты, имея в виду цвета в res/values/colors.xml
и используя res/drawable
для фонов, которые, в свою очередь, также относятся к цветам. Все кажется довольно солидным и аккуратно связанным, поэтому я бы очень хотел его использовать!
Я думаю, что если я каким-то образом заменил res/values/colors.xml
, тогда все получилось бы прекрасным, но я боюсь, что это невозможно, и я не знаю, как это сделать в первую очередь. Боюсь, мне пришлось бы скопировать и вставить мою тему в AppTheme.Blue
и AppTheme.Pink
, но это довольно ужасно, потому что это каскады в замену близко к каждому drawable/*
.
Итак, как это сделать? Там должен быть какой-то трюк, где я могу иметь отдельный colors.xml
и переключаться между ними ...
http://stackoverflow.com/questions/4663752/switching-application-wide-theme-programmatically – Stallion
@Stephan Henningsen плз проверить эту LIB: https://github.com/negusoft/GreenMatter, https: //github.com/negusoft/holoaccent –
@Stallion Я не вижу, как это отвечает на мой вопрос. –