Поддержка нескольких тем в приложении для Android - PullRequest
1 голос
/ 13 августа 2010

Кто-нибудь реализовал поддержку нескольких тем для приложения для Android? Есть ли для этого какие-то общие практики?

Спасибо за любой совет.

UPD: Основная проблема на данный момент заключается в том, что движок тем android не поддерживает селекторы, как в CSS. Например, если у меня есть два представления с атрибутом «background», нет способа заставить механизм тем различать их и устанавливать разные фоны. Я могу указать разные стили для каждого представления, но этому подходу не хватает гибкости, потому что невозможно применить стиль сразу ко всей деятельности.

Ответы [ 2 ]

3 голосов
/ 13 августа 2010

Насколько я знаю, нет способа установить тему для всего приложения в одной строке кода.Если вы хотите изменить тему действия, вам нужно вызвать setTheme() в его методе onCreate(), ДО вызова setContentView.Таким образом, чтобы вам было легче, вы можете переключаться между всеми вашими темами и выбирать одну в зависимости от того, что выбрал пользователь.Теперь, если вы хотите, чтобы он легко применялся ко всем вашим действиям, вы можете сделать все свои действия подклассом пользовательского Activity, в котором вы будете устанавливать только тему.Деятельность <- ThemeActivity <- все ваши действия </p>

1 голос
/ 10 января 2015

Вы должны использовать Android attrs.xml для определения атрибутов динамического стиля Я написал блог о том, как это сделать здесь:

http://blabadi.blogspot.com/2015/01/android-multiple-themes-for-one.html

надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...