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