ClickableSpan
ClickableSpan
默认会有下划线,并且文字在被点击时会有背景色。通过重写updateDrawState可以去掉。
val clickableSpan = object : ClickableSpan(){
override fun updateDrawState(ds : TextPaint){
super.updateDrawState(ds)
//去掉下划线
ds.isUnderlineText = false
//去掉点击时文字背景色
ds.bgColor = Color.parseColor("#FFFFFFFF")
//去掉字体默认的主题颜色,改成自己需要的颜色即可。
ds.color = Color.parseColor("#ffacacac")
}
}
ForegroundColorSpan
一段文件有多处需要设置ForegroundColorSpan
,只有最后一次调用会生效。可以通过CharacterStyle
来解决。
val colorSpan1 : ForegroundColorSpan
val colorSpan2 : ForegroundColorSpan
val builder : SpannableStringBuilder
builder.setSpan(CharacterStyle.wrap(colorSpan1))
builder.setSpan(CharacterStyle.wrap(colorSpan2))