android TextView顯示不同顏色的字
阿新 • • 發佈:2019-02-10
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裡設定的顏色