CharSequence不仅支持字符串,也支持图片滴!!
/**
* 根据文本替换成图片
*
* @param text
* 对应表情
* @return 一个表示图片的序列
*/
public CharSequence addSmileySpans(CharSequence text) {
// 把文字替换为对应图片
SpannableStringBuilder builder = new SpannableStringBuilder(text);
// 判断提取工具类(按照正则表达式)
Matcher matcher = mPattern.matcher(text);
while (matcher.find()) {
// 获取对应表情的图片id
int resId = mSmileyToRes.get(matcher.group());
// 替换制定字符
builder.setSpan(new ImageSpan(mContext, resId), matcher.start(),
matcher.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return builder;
}