给双引号中的内容加彩色:
private void highlightSearchHint(Spannable hintSpan){
String hint = hintSpan.toString();
Log.i(TAG, "highlightSearchHint " + hint);
int index = -1;
int start = 0;
boolean foundStartQuote = false;
do {
index = hint.indexOf("/"", index + 1);
if (foundStartQuote && index != -1) {
foundStartQuote = false;
Log.i(TAG, "highlight from " + (start+1) + " to " + index);
/*每次setSpan必须用一个全新的ForegroundColorSpan对象*/
ForegroundColorSpan hintColor = new ForegroundColorSpan(Color.parseColor("#01A8FF"));
hintSpan.setSpan(hintColor, start + 1, index,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
} else if (!foundStartQuote && index != -1) {
foundStartQuote = true;
start = index;
}
} while (index != -1);
}
//创建一个SpannableString对象 SpannableStringsp=new SpannableString( "点击谷歌链接:斜体." );
//在2-3两个字符上设置超链接
sp.setSpan(new URLSpan( "" ), 2 , 4 , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//在7-8两个字符上设置斜体
sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 7 , 9 ,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);