2013-01-22 17 views
0

是否可以在相同的TextView中更改多個文本字符串的文本顏色?使用Html.fromHtml不起作用:更改同一文本視圖中多個文本字符串的文本顏色

textViewPrevChat.append("\n"+Html.fromHtml("<b>Bold string </b>")+somestringhere); 

它以黑體打印整件事。另外,<p>中的顏色屬性不起作用。

+0

參見https://developer.android .com/reference/android/text/SpannableString.html https://developer.android.com/reference/android/text/SpannableStringBuilder.html –

回答

3

您應該爲此使用SpannableString。下面是一個例子方法實現此:

- 此例改變字符串的一半的顏色,並調整字符串的另一部分的尺寸:

public static SpannableString categoryText(String label, String text, int colorIn) { 
     String strIn = label + " " + text; 
     SpannableString ss = new SpannableString(strIn);   
     ss.setSpan(new ForegroundColorSpan(colorIn), 0, label.length(), SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE); 
     ss.setSpan(new RelativeSizeSpan(.80f), 0, label.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

     return ss; 
    }