String str1 = "今天<font color='#FF0000'>天氣不錯</font>";
tv1.setText(Html.fromHtml(str1));
第二個TextView將紅色字體變小
String str2 = "今天<font color='#FF0000'><small>天氣不錯</small></font>";
tv2.setText(Html.fromHtml(str2));
第三個TextView將紅色字體變大:
String str3 = "今天<font color='#FF0000'><big>天氣不錯</big></font>";
tv3.setText(Html.fromHtml(str3));
使用系統自帶的SpannableString來實現
SpannableString spannableString = new SpannableString("今天天氣不錯");
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FF0000")), 2, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv5.setText(spannableString);
setSpan方法有四個參數,ForegroundColorSpan是爲文本設置前景色,也就是文字顏色。如果要爲文字添加背景顏色,可替換爲BackgroundColorSpan。第二個參數:2爲文本顏色改變的起始位置,spannableString.length()爲文本顏色改變的結束位置。最後一個參數爲布爾型,可以傳入以下四種:
Spanned.SPAN_INCLUSIVE_EXCLUSIVE 從起始下標到終止下標,包括起始下標
Spanned.SPAN_INCLUSIVE_INCLUSIVE 從起始下標到終止下標,同時包括起始下標和終止下標
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 從起始下標到終止下標,但都不包括起始下標和終止下標
Spanned.SPAN_EXCLUSIVE_INCLUSIVE 從起始下標到終止下標,包括終止下標