String string = "Change this color"
string.replace("this", "");
如何更改单词的颜色"这个"通过replace()方法?
答案 0 :(得分:1)
search
不能用于更改字符串的外观,Neha's答案也是正确的,但更好的方法是使用Spannable类,以下函数更改String的颜色{字符串text
中的{1}}并返回一个spannable对象
private Spannable getSpannableText(String text, String search, Context context) {
int initialOffset = text.toLowerCase().indexOf(search.toLowerCase(), 0);
Spannable spannableText = new SpannableString(text);
for (int ofs = 0; ofs < text.length() && initialOffset != -1; ofs = initialOffset + 1) {
initialOffset = text.toLowerCase().indexOf(search.toLowerCase(), ofs);
if (initialOffset == -1) {
break;
} else {
//highlighting with color red
spannableText.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.red)), initialOffset, initialOffset + search.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
return spannableText;
}
然后您可以按如下方式使用它,
tv_text.setText(getSpannableText("Change this color","this", context), TextView.BufferType.SPANNABLE);