应用跨度几次

  • 本文关键字:几次 应用 android
  • 更新时间 :
  • 英文 :


>我有字符串:"0123456789"。 我需要从字符串中绘制到指定的数字。 我正在使用SpannableStringBuilder并为每个数字设置ForegroundColorSpan,但它只绘制第一个数字或范围,而不是选定的数字或范围。 那么我如何在这个字符串中为 0、2 和 8 着色呢?

试试这段代码:

val str = "0123456789"
val sb = SpannableStringBuilder()
str.forEach {
val span = ForegroundColorSpan(Color.BLUE)
val spannableString = SpannableString(it.toString())
if(it == '0' || it == '2' || it == '8')
spannableString.setSpan(span, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
sb.append(spannableString)
}
//        val wordtoSpan = SpannableString("I know just how to whisper, And I know just how to cry,I know just where to find the answers")
//
//        wordtoSpan.setSpan(ForegroundColorSpan(Color.BLUE), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
text_view.text = sb
fun ini() {
val str = "0123456789"
val sb = SpannableStringBuilder()
str.forEach {
val span = ForegroundColorSpan(getColor(R.color.colorAccent))
val spannableString = SpannableString(it.toString())
if(it == '0' || it == '2' || it == '8')
spannableString.setSpan(span, 0, 1, Spannable.SPAN_COMPOSING)
sb.append(spannableString)
}
text_view.text = sb
}

最新更新