使用:
textView.setText(getColorSpannableString("我是中国人,我爱中国", "中国", Color.parseColor("#FF6A00")));
直接调用静态方法,句子中所有“中国”字体都会高亮,以下为静态方法:
/**
* 设置整个字符串中的指定字符串的为指定颜色
* @param origin 原字符串
* @param colorStr 需要设置高亮的字符串
* @param color 高亮的颜色
* @return
*/
public static SpannableString getColorSpannableString(String origin, String colorStr, int color){
SpannableString spannableString = new SpannableString(origin);
if(!TextUtils.isEmpty(colorStr)){
int len = colorStr.length();
for(int start = 0, end = 0; ; ){
start = origin.indexOf(colorStr, end);
if(start != -1){
end = start + len;
spannableString.setSpan(new ForegroundColorSpan(color),
start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
}else{
break;
}
}
}
return spannableString;
}