引用引用strings.xml内部颜色的属性

时间:2013-03-21 22:56:58

标签: android android-xml

我开始更频繁地使用strings.xml和String.format,我想知道无论如何在xml字符串元素中使用引用。

我有以下字符串:

<string name="ticker_media_citation">%1$s by &lt;font color=\'#FF00CC\'> %2$s& lt;/font></string>

将String.format()与Html.fromHtml()结合使用可以解决问题。我想拥有的是以下内容:

<string name="ticker_media_citation">%1$s by &lt;font color=\'?IndicatorColor\'>%2$s&lt;/font></string>

其中?IndicatorColor引用一种颜色。

不幸的是它不起作用,所以我问它是否可能或者我应该用Spannables / SpannableStringBuilder以丑陋的方式做到这一点?

编辑 - 进一步说明 -

我有如下属性:

<declare-styleable name="Theme">
    <attr name="IndicatorColor" format="reference" />
</declare-styleable>

然后我有一个使用此引用的主题

<style name="Theme.WD.Light" parent="Theme.WD">
    <item name="IndicatorColor">@color/IndicatorColor.Light</item>
</style>

颜色

<color name="IndicatorColor.Light">#0099CC</color>

我希望能够使用?IndicatorColor而不是@color/IndicaterColor.Light来引用颜色,因为指标颜色可能会根据用户选择的主题而改变。

1 个答案:

答案 0 :(得分:0)

查看Here您可以创建单独的颜色resources。使用strings.xml代替Strings代替硬编码文本,并使用其他resources(例如colors)来获取不同的颜色。