android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:textColor="@color/blue"/>
SpannableString spannable = new SpannableString(“Text styling”);
spannable.setSpan(
new ForegroundColorSpan(Color.PINK),
0, 4,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
myTextView.setText(spannable);
如何创建使用Span
当使用 span 时,需要使用SpannedString, SpannableString 或 SpannableStringBuilder之一。 它们之间的区别在于text内容或markup是可改变的还是不可改变的,以及它们使用的内部结构:SpannedString 和 SpannableString 使用线性数组记录已添加的 span,而 SpannableStringBuilder 使用 区间树。
如何决定使用哪一个类:
-
创建后 文本 和 span 不可变 –> SpannedString
-
创建后文本不可变,仅需设置 少量的 span (<~ 10)? –> SpannableString
-
创建后需设置 文本 和 span –> SpannableStringBuilder
-
创建后需设置 大量的 span (>~ 10)? –> SpannableStringBuilder
比较难理解的是SpanedString,查看其api,可以看到其只能通过SpannableString来创建,复制其Span属性来使用,这是我的理解不知道对不对,有了解的可以指导下。SpanedString使用场景也比较少吧&#x