Android textview中部分文字设置其他颜色
时间: 2024-03-05 13:54:33 浏览: 111
要在 Android TextView 中设置部分文字的颜色,可以使用 SpannableString 和 ForegroundColorSpan。以下是一个使用 Kotlin 实现的示例代码:
```kotlin
val textView = findViewById<TextView>(R.id.text_view)
val text = "这是一段带有不同颜色的文字"
val startIndex = text.indexOf("不同颜色")
val endIndex = startIndex + "不同颜色".length
val spannableString = SpannableString(text)
val colorSpan = ForegroundColorSpan(Color.RED)
spannableString.setSpan(colorSpan, startIndex, endIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
textView.text = spannableString
```
这段代码将字符串 "这是一段带有不同颜色的文字" 中的 "不同颜色" 用红色标记出来,并设置为了 TextView 的文本。其中,`SpannableString` 用于创建可变的字符串,`ForegroundColorSpan` 用于设置文字颜色。`startIndex` 和 `endIndex` 分别表示需要标记的文字的起始和结束位置,这里使用 `indexOf` 方法获取了子字符串 "不同颜色" 在原字符串中的位置。最后,将修改后的 SpannableString 设置为 TextView 的文本即可。
阅读全文