android设置textview的文字中某一段文字背景色为指定颜色
本函数可以设置textview的文字中某一段文字背景色为指定颜色
str为整体str
subStr为要设置的字符串
public void setSpannedTitle(String str, String subStr, TextView textView) {
if(str.equals(“”) || str.equals(null)){return;}
int index = 0;
int endIndex = 0;
SpannableString spannableStr = new SpannableString(str);
index = str.toLowerCase().indexOf(subStr.toLowerCase(), endIndex);
while (index != -1) {
spannableStr.setSpan(new BackgroundColorSpan(Color.YELLOW), index,
index + subStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
endIndex += index + subStr.length();
index = str.toLowerCase().indexOf(subStr.toLowerCase(), endIndex);
}
textView.setText(spannableStr);
textView.setMovementMethod(LinkMovementMethod.getInstance());//对了,这行加上的话可能会导致list里面的item无法点击,因为
}
比如,str为:中华人民共和国万岁,中华主席万岁
subStr为:中华
那么最后显示的效果为:中华人民共和国万岁,中华主席万岁
近期评论