设定不同的主题

时间:2019-01-06 14:13:16

标签: android themes

我想使用一些主题,例如黑暗与光明。 我在style.xml中编写了两种不同的样式:DarkStyle和LightStyle。我已经通过color.xml设置了一部分volatile属性,而立即设置了一部分。

<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. 哪种是选择主题的最佳实践
    一种。建立时间?
    b。运行时间?
  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 :(得分:0)

Here is an example如何创建多主题应用。很简单,您的活动有一个上下文,可以在上下文中覆盖方法以按用户注入所选主题。

如果您不需要更改运行时,则可以在编译时在AndroidManifest.xml中更改主题。

enter image description here