Android開發筆記——TextView文字設定不同顏色

markriver發表於2021-09-09
1.只貼程式碼,不解釋,留作以後用/**
 * @param tv             Display a message that include title and content
 * @param title          Title of message
 * @param content        Content of message
 * @param titleColorID   The color id for Title
 * @param contentColorID The color id for Content
 */
public static void colorForTextView(Context context, TextView tv, String title, String content, 
					int titleColorID, int contentColorID) {
    if (content == null) {
        content = "";
    }
    SpannableStringBuilder spannableBuilder = new SpannableStringBuilder();
    ForegroundColorSpan titleColorSpan = new ForegroundColorSpan(ContextCompat.getColor(context, titleColorID));
    ForegroundColorSpan contentColorSpan = new ForegroundColorSpan(ContextCompat.getColor(context, contentColorID));

    spannableBuilder.append(title);
    int temp = spannableBuilder.length();
    spannableBuilder.setSpan(titleColorSpan, 0, temp, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
    spannableBuilder.append(content);
    spannableBuilder.setSpan(contentColorSpan, temp, spannableBuilder.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
    tv.setText(spannableBuilder, TextView.BufferType.SPANNABLE);
}

原文連結:http://www.apkbus.com/blog-184446-78220.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/818/viewspace-2806181/,如需轉載,請註明出處,否則將追究法律責任。

相關文章