SpannableString
时间: 2023-06-12 20:06:17 浏览: 60
SpannableString 是一个可以在文本中添加“样式”(Span)的类。它是 Android 中的一个文本处理类,可以用于实现富文本效果,例如设置文字颜色、背景色、加粗、下划线等。SpannableString 可以用于 TextView 中,也可以用于 EditText 等其他控件中。
使用 SpannableString 需要用到 SpannableStringBuilder 类,它是一个可以动态添加 Span 的字符串构建器。可以通过 SpannableStringBuilder 的 append() 方法将字符串和对应的 Span 添加进去,最终生成一个具有富文本效果的字符串。常用的 Span 类型有 ForegroundColorSpan(设置文字颜色)、BackgroundColorSpan(设置背景色)、StyleSpan(设置字体样式)、UnderlineSpan(设置下划线)等。
例如,以下代码可以将一个 TextView 中的“Hello, World!”变成“Hello, World!”:
```java
SpannableString spannableString = new SpannableString("Hello, World!");
spannableString.setSpan(new StyleSpan(Typeface.BOLD), 7, 13, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
```
其中,new StyleSpan(Typeface.BOLD) 表示设置加粗样式,7 和 13 分别表示起始和结束的位置,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE 表示该样式只应用于指定的文本范围内。