通过引用主题使Colors.xml动态化

时间:2014-08-30 07:21:09

标签: android layout resources android-styles

如何将 Colors.xml 中定义的colros设置为动态?

我的static colors.xml就像

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="background">#ffffff</color>
    <color name="foreground">#000000</color>
</resources>

我需要这样的东西,它指的是 themes.xml 中定义的颜色。 我在下面定义颜色的方式不起作用

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="background">?theme_color_background</color>
    <color name="foreground">?theme_color_foreground</color>
</resources>

我需要这种方式来保持一个旧的大项目完好无损,只需更改主题。 我在旧项目中以这样的方式引用了这样的colors.xml:

<TextView textColor="@colors/foreground"/>

1 个答案:

答案 0 :(得分:1)

您无法引用theme中的颜色,但可以引用Android默认color.xml中的颜色将其包装在color.xml

<强>样品:

<color name="black">@android:color/background_dark</color>