如何在字符串上设置颜色

时间:2018-07-26 16:20:28

标签: android android-studio

我只想在“更多”字符串上设置颜色:

result

我尝试使用html.fromhtml,但它对我不起作用!

3 个答案:

答案 0 :(得分:2)

请尝试

String textFirstPart = start + "....";
String textSecondPart = "read more";
String text = textFirstPart + textSecondPart;
Spannable spannable = new SpannableString(text);
spannable.setSpan(new ForegroundColorSpan(Color.RED), textFirstPart.length(),
                            (textFirstPart + textSecondPart).length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
holder.Description.setText(spannable, TextView.BufferType.SPANNABLE);

答案 1 :(得分:1)

Android N 开始,

不推荐使用方法 Html.fromHtml(htmlText),而您必须使用

Html.fromHtml(htmlText,MODE),所以请使用以下条件,

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
           holder.setText(Html.fromHtml(sourceString,Html.FROM_HTML_MODE_LEGACY);
        } else {
           holder.setText(Html.fromHtml(sourceString);
        }

参考: https://developer.android.com/reference/android/text/Html#FROM_HTML_MODE_COMPACT

答案 2 :(得分:1)

你在这里

 SpannableString styledString = new SpannableString("read more");
 // change text color
 styledString.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 8, 0);
 // underline text
 styledString.setSpan(new UnderlineSpan(), 0, 8, 0);

了解更多here