1. 程式人生 > >android TextView顯示不同顏色的字

android TextView顯示不同顏色的字

1.使用SpannableString

想必用過的人都知道,比較好的一點是SpannableString可以精確控制一個長長的字串中第幾個到第幾個字元的樣式

SpannableString spannableString = new SpannableString("jakjfkajfjaj");
//設定顏色
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FE6026")), 3, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//設定字型大小,true表示前面的字型大小20單位為dip
spannableString.setSpan(new AbsoluteSizeSpan(20, true), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//設定連結
spannableString.setSpan(new URLSpan("www.baidu.com"), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//設定字型,BOLD為粗體
spannableString.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

SpannableString的優點在於控制得精細,缺點也是在這。我們使用SpannableString的時候必須指定樣式使用的字元下標,那如果我們的字串不是固定長度的呢?

2.使用Html

Html使用格式比較簡單,需要用到font標籤

String str1=String.format("歡迎來到西說,<font color=\"#550000\">%s", "李先生");
welcome.setText(Html.fromHtml(str1));
上面的例子“歡迎來到西說”是預設顏色,“李先生”是font裡設定的顏色