前言
TextView设置部分或指定背景色和字体颜色应该算是开发中经常用到且不被熟悉的用法,今天就简单的记录下他的用法
效果图
代码
TextView t_question=findViewById(R.id.question);
String s_question=" 问答题 :String是基本类型吗?可以被继承吗?";
SpannableStringBuilder style=new SpannableStringBuilder(s_question);
style.setSpan(new BackgroundColorSpan(Color.RED),0,5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
style.setSpan(new ForegroundColorSpan(Color.RED),13,15,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
t_question.setText(style);
SpannableStringBuilder
- SpannableString、SpannableStringBuilder与String的关系
简单来点说,string只能是字符串,而SpannableString、SpannableStringBuilder可以在原来String上加下划线、加背景色、改变字体颜色、用图片把指定的文字给替换掉,等等
- SpannableString、SpannableStringBuilder之间关系
它们的区别在于 SpannableString像一个String一样,构造对象的时候传入一个String,之后再无法更改String的内容,也无法拼接多个 SpannableString;而SpannableStringBuilder则更像是StringBuilder,它可以通过其append()方法来拼接多个String:
用法
void setSpan (Object what, int start