Установка другой темы - PullRequest
       5

Установка другой темы

0 голосов
/ 06 января 2019

Я хочу использовать несколько тем, например, Dark и Light. Я написал в style.xml два разных стиля: DarkStyle и LightStyle. Я установил часть изменчивых свойств с помощью color.xml, а часть сразу.

<style name="BaseTheme.LightStyle">
<item name="clientBrand">@color/clientBrand</item>
<item name="desktopScreenBg">#E6E6E6</item>
</style>
<style name="BaseTheme.DarkStyle">
<item name="clientBrand">@color/clientBrand</item>
<item name="desktopScreenBg">#000000</item>
</style>
  1. Какая практика лучше всего подходит для выбора темы
    а. Время сборки?
    б. Время выполнения?
  2. Как мне установить другие значения темы из моей темы.

<style name="OtherTheme"> <item name="android:textColor">dependsOnChosenTheme</item> </style>


Конечная цель:

<ViewGroup background = DarkOrLightColorBg/>
<TextView textColor = DarkOrLightColorBg/>

Я разобрался, как связать нужную тему во время сборки

<style name="LightStyle">
<style name="DarkStyle">
//by requrements
<style name="DarkStyle.ActiveStyle">

Теперь, как я могу сделать что-то подобное?

<ViewGroup backgroun=ActiveStyle.colorBg/>
//Or
<style SomeTheme 
<item name="android:textColor">@style/ActiveStile.colorText</item>
</style>

1 Ответ

0 голосов
/ 06 января 2019

Вот пример , как создать приложение для нескольких тем. Это так просто, у вашей деятельности есть контекст, внутри контекста вы можете переопределить метод для добавления выбранной темы пользователем.

Также, если вам не нужно менять время выполнения, вы можете изменить тему во время компиляции в AndroidManifest.xml.

enter image description here

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