在做項目的時候,遇到過一行文字有兩種顏色。在菜鳥的時候直接會想到用多個TextView來實現。后來自己學的多了就找到了更為簡單的方法了。
直接上代碼:
方法一:
xml代碼片段:
<TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" />
Java代碼片段:
TextView tv=(TextView)findViewById(R.id.tv);String str="默認顏色<font color='#FF0000'>紅顏色</font>";tv.setTextSize(18);tv.setText(Html.fromHtml(str));
效果圖如下:

當然,還可以改變兩種顏色的文字的大小。
Java代碼片段:
extView tv=(TextView)findViewById(R.id.tv);String str="默認顏色<font color='#FF0000'><small>紅顏色</small></font>";tv.setTextSize(18);tv.setText(Html.fromHtml(str));
效果圖如下:

好的,就這樣子了。一個小功能就完成了。
方法二:
用SpannableString來實現。
Java代碼片段:
SpannableString spannableString = new SpannableString("默認顏色紅顏色");spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FF0000")), 4,spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);tv.setText(spannableString);其中,”默認顏色紅顏色” 為你要改變的文本。setSpan方法有四個參數,ForegroundColorSpan是為文本設置前景色,也就是文字顏色。如果要為文字添加背景顏色,可替換為BackgroundColorSpan。4為文本顏色改變的起始位置,
spannableString.length()為文本顏色改變的結束位置。最后一個參數為布爾型,可以傳入以下四種。
Spanned.SPAN_INCLUSIVE_EXCLUSIVE 從起始下標到終了下標,包括起始下標
Spanned.SPAN_INCLUSIVE_INCLUSIVE 從起始下標到終了下標,同時包括起始下標和終了下標
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 從起始下標到終了下標,但都不包括起始下標和終了下標
Spanned.SPAN_EXCLUSIVE_INCLUSIVE 從起始下標到終了下標,包括終了下標
以上是本次我們給大家整理的關于Android中TextView局部變色功能實現的全部內容,更多內容大家可以在VEVB武林網里搜索你需要的文章,感謝你的支持。
新聞熱點
疑難解答