我开始更频繁地使用strings.xml和String.format,我想知道无论如何在xml字符串元素中使用引用。
我有以下字符串:
<string name="ticker_media_citation">%1$s by <font color=\'#FF00CC\'> %2$s& lt;/font></string>
将String.format()与Html.fromHtml()结合使用可以解决问题。我想拥有的是以下内容:
<string name="ticker_media_citation">%1$s by <font color=\'?IndicatorColor\'>%2$s</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
来引用颜色,因为指标颜色可能会根据用户选择的主题而改变。