0

我开始更频繁地使用带有 String.format 的 strings.xml,我想知道是否有在 xml 字符串元素中使用引用。

我有以下字符串:

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

将 String.format() 与 Html.fromHtml() 结合使用可以解决问题。想要拥有的 id 如下:

<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因为指示器颜色可能会根据用户选择的主题而改变。

4

1 回答 1

0

这里你可以创建单独的颜色resources。使用strings.xmlforStrings代替硬编码文本,并使用其他颜色(resources例如颜色)来表示不同的颜色。

于 2013-03-21T22:59:58.853 回答