我的 main.xml
文件包含有关应用程序背景颜色的信息:
android:background="@color/background_default"
我也有不同的样式供用户选择,保存在其他xml文件中。当用户选择其中之一时,我希望覆盖 main.xml
中包含的默认值。
不幸的是,只有文本颜色被覆盖,背景颜色没有改变。这是自定义样式之一:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Light">
<item name="android:textColor">@color/text_light</item>
<item name="android:windowBackground">@color/background_light</item>
<item name="android:colorBackground">@color/background_light</item>
</style>
</resources>
最佳答案
您可以从 main.xml 中省略 android:background="@color/background_default"
,并应用使用该颜色的默认主题。然后,当用户更改主题时,背景将随之更改。
您不能使用主题覆盖 View xml 中指定的颜色; View 更具体并覆盖主题。
关于android - 如何覆盖xml中的默认背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14282809/