2013-03-21 53 views
0

我开始更经常地使用strings.xml和String.format,我想知道是否有在xml字符串元素中使用引用的方法。引用一个在strings.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> 

然后我有一个使用这个refences

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

回答

0

外观Here您可以创建单独的颜色resources。使用strings.xml代替Strings而不是硬编码文本,并使用其他resources,如colors为您的不同颜色。

+0

这我知道,但我不能使用颜色reference.i需要引用一个属性。生病编辑我的帖子要更清楚一点。 – wdziemia 2013-03-21 23:26:02