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