TextView中出现不同颜色的字
1.SpannableString
-
实例化一个spannablestring的类
SpannableStringBuilder spannable = new SpannableStringBuilder(searhText); //括号里面的searchtext是指的是你要调色的文字
-
设置要变色的颜色和起始位置和结束位置
spannable.setSpan(new ForegroundColorSpan(color (#505050) ),start,end,spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } //star和end是分别起始位置和结束位置
问题:一开始我在第一个参数时候直接写color.white竟然发现无效,不知道为什么,应该使用方法找到系统的颜色,后来改为上面的方法。
第四个参数是两个参数的范围:
Spanned.SPAN_INCLUSIVE_EXCLUSIVE 从起始下标到终了下标,包括起始下标
Spanned.SPAN_INCLUSIVE_INCLUSIVE 从起始下标到终了下标,同时包括起始下标和终了下标
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 从起始下标到终了下标,但都不包括起始下标和终了下标
Spanned.SPAN_EXCLUSIVE_INCLUSIVE 从起始下标到终了下标,包括终了下标 -
在你要修改的textview中加入spann修改过的字符串
tvSearchdetial.setText(spannable); //tvsearchdetial是一个textview
2.直接通过html改动颜色
现在用的不多,而且方法也很复杂。
详情可见: https://blog.csdn.net/mp624183768/article/details/78722298