在前一篇文章中列出了发送表情的处理方法.
这篇文章中接着讲接收到聊天信息的处理方法
在接收到聊天信息 msg 需要还原串中出现的聊天表情文件:
显示使用一个TextView tv;
String content = DataUtil.chatReceMatch(msg);
tv.setText(Html.fromHtml(content, new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
Drawable d = ImageUtil.getDrawable(source);//根据图片名称查找Drawable
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
return d;
}
}, null));
// 将收到的串转换为图片名称
public static String chatReceMatch(String src) {
List<Expr> exs = getAllExpress();//所有表情的集合
for (int i = 0; i < exs.size(); i++) {
Expr ex = exs.get(i);
if (src.contains(ex.getBuf())) {
src = src.replace(ex.getBuf(), EXP_START + ex.getIconName() + EXP_END);
}
}
return src;
}
//便可以还原显示,表情图片了.