我想使用一些主题,例如黑暗与光明。 我在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>
<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>
答案 0 :(得分:0)
Here is an example如何创建多主题应用。很简单,您的活动有一个上下文,可以在上下文中覆盖方法以按用户注入所选主题。
如果您不需要更改运行时,则可以在编译时在AndroidManifest.xml中更改主题。