如何在spannable String中设置字体颜色代码?

how to set font color code in spannable String?

我想在可跨越的字符串中设置颜色代码。

 SpannableString str= new SpannableString("Your new message ");
        str.setSpan(new ForegroundColorSpan("#00ff00", 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

我试过上面的代码,但它不起作用。

这里的颜色是一个你应该使用的整数:

Color.parseColor("#ff00ff00") 

希望@Tristan 的回答是正确的。但如果仍然存在问题,请尝试 -

Spannable str= new SpannableString("Your new message ");
str.setSpan(new ForegroundColorSpan(Color.BLUE, 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

请试试这个。对我有用。

str.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.geen_color)), 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

您对 ForegroundColorSpan() 的调用缺少右括号,它的参数应该是整数,而不是字符串。十六进制整数文字以 Java 中的“0x”开头。所以这段代码将使您的代码正常工作:

new ForegroundColorSpan(0xff00ff00)

解析字符串当然也可以,但不是必须的。