Android 背景色span始终为黄色
由于某种原因,颜色总是黄色的。我试过两种绿色:Android 背景色span始终为黄色,android,background-color,spannablestring,Android,Background Color,Spannablestring,由于某种原因,颜色总是黄色的。我试过两种绿色: 0xBFFFC6和0x99FF99 我感觉到我把颜色的顺序弄乱了。在将颜色提供给背景颜色span之前,您需要解析颜色: textToSpan.setSpan(new BackgroundColorSpan(0xBFFFC600), o, o + termLength, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 在将颜色提供给BackgroundColorSpan之前,您需要解析颜色: textToSpan.setS
0xBFFFC6
和0x99FF99
我感觉到我把颜色的顺序弄乱了。在将颜色提供给
背景颜色span
之前,您需要解析颜色:
textToSpan.setSpan(new BackgroundColorSpan(0xBFFFC600), o, o + termLength, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
在将颜色提供给
BackgroundColorSpan
之前,您需要解析颜色:
textToSpan.setSpan(new BackgroundColorSpan(0xBFFFC600), o, o + termLength, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
实际的解决方案是获得如下颜色:
new BackgroundColorSpan(Color.parseColor("#BFFFC6"))
我仍然不知道为什么会这样。实际的解决方案是得到这样的颜色:
new BackgroundColorSpan(Color.parseColor("#BFFFC6"))
我仍然不知道为什么它必须是这样。尝试Color.BLUE而不是0xBFFFC600,看看这是否会改变任何东西尝试Color.BLUE而不是0xBFFFC600,看看这是否会改变任何东西这是因为
getColor
在将颜色值传递给BackgroundColorSpan
之前会解析颜色值。您正在传递颜色的原始hex
值,而BackgroundColorSpan
需要int
值。这是因为getColor
在将颜色值传递到BackgroundColorSpan
之前会解析颜色值。您正在传递颜色的原始hex
值,而BackgroundColorSpan
需要int
值。