私はより頻繁に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