如何从字符串资源中引用颜色来格式化我的文本?

How do I reference a color from a string resource to format my text?

我的strings.xml包含以下字符串资源

<string name="contacts"><font fgcolor="#FF00FFFF">+</font> Contacts</string>

工作正常并将文本颜色设置为 #FF00FFFF

但是如果我尝试引用颜色

<string name="contacts"><font fgcolor="@color/strings_font_fgcolor_cyan">+</font> Contacts</string>

起作用。

我添加了颜色

<color name="strings_font_fgcolor_cyan">#FF00FFFF</color>

如何从我的字符串资源中引用这种颜色?

您不能在字符串中引用颜色资源值。您将不得不继续使用 fgcolor="#FF00FFFF" 或在运行时格式化您的文本。


<string name="contacts"></string> 之间的所有内容都被视为您的文本,不会进一步处理。

如果您想使用您的资源颜色,您必须在运行时执行此操作,方法是用加载的值解析/替换字符串中的部分,或手动添加正确的标签。