SpannableStringBuilder的用法
时间: 2024-05-06 20:15:08 浏览: 36
SpannableStringBuilder 是一个可以设置文本样式的类,可以用于在 TextView 中显示不同的文字样式。它可以设置字体颜色、大小、样式、背景颜色等等。
下面是 SpannableStringBuilder 的一些常用用法:
1. 设置文字颜色:
```java
SpannableStringBuilder builder = new SpannableStringBuilder("Hello World");
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.RED);
builder.setSpan(colorSpan, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
```
这段代码将 "Hello" 设置成了红色字体。
2. 设置文字大小:
```java
SpannableStringBuilder builder = new SpannableStringBuilder("Hello World");
AbsoluteSizeSpan sizeSpan = new AbsoluteSizeSpan(20, true);
builder.setSpan(sizeSpan, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
```
这段代码将 "Hello" 设置成了大小为 20 的字体。
3. 设置文字样式:
```java
SpannableStringBuilder builder = new SpannableStringBuilder("Hello World");
StyleSpan styleSpan = new StyleSpan(Typeface.BOLD);
builder.setSpan(styleSpan, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
```
这段代码将 "Hello" 设置成了粗体字。
4. 设置文字背景颜色:
```java
SpannableStringBuilder builder = new SpannableStringBuilder("Hello World");
BackgroundColorSpan bgSpan = new BackgroundColorSpan(Color.YELLOW);
builder.setSpan(bgSpan, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
```
这段代码将 "Hello" 设置成了黄色背景。
5. 设置下划线:
```java
SpannableStringBuilder builder = new SpannableStringBuilder("Hello World");
UnderlineSpan underlineSpan = new UnderlineSpan();
builder.setSpan(underlineSpan, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
```
这段代码将 "Hello" 设置成了带下划线的字体。
通过这些用法,我们可以实现更加丰富多彩的文本效果。需要注意的是,setSpan 方法的第三个参数和第四个参数分别代表起始位置和结束位置,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 表示不包括起始和结束位置。