qq聊天界面七:表情的发送接收(用富文本现实)
来源:互联网 发布:linux虚拟机nat上网 编辑:程序博客网 时间:2024/06/04 19:43
先预览一下效果
源码地址:https://github.com/heinika/SimpleChatUI
先定义一个包含反射的ImageGettter
/** * 用于解析富文本中的表情图片 */mImageGetter = new Html.ImageGetter() {@Overridepublic Drawable getDrawable(String source) { Class clazz = R.mipmap.class;try { Field field = clazz.getDeclaredField(source);int sourceId = field.getInt(field); Drawable drawable = getResources().getDrawable(sourceId); drawable.setBounds(0, 0, 50, 50);return drawable; } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); }return null; }};
将ImageGetter传递到adapter
messageAdapter = new MessageAdapter(messages, inflater, mImageGetter);/** * 点击表情时,将富文本添加到edittext中 */mGridViewFace.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) { Spanned spanned = Html.fromHtml("<img src='" + faces.get(position).getName() + "'/>", mImageGetter, null);mEditTextMsg.getText().insert(mEditTextMsg.getSelectionStart(), spanned); }});
将富文本转换为String并传入moudel
messageSend.setMassageContent(filterHtml(Html.toHtml(mEditTextMsg.getText())));messages.add(messageSend);/*用正则表达式过滤掉无关的文本 */public String filterHtml(String str) { str = str.replaceAll("<(?!br|img)[^>]+>", "").trim(); return str;}
在adapter用传入的imagegetter解析:图片
vhRight.mTextViewSend.setText(Html.fromHtml(message.getMassageContent(), mImageGetter, null));
完成任务!!!
0 0
- qq聊天界面七:表情的发送接收(用富文本现实)
- iOS中QQ聊天界面发送消息及表情键盘的实现
- flex聊天 发送QQ表情
- 完整实例实现QQ表情的发送和接收
- 完整实例实现QQ表情的发送和接收
- 聊天界面的制作(三)——表情列表发送功能
- 聊天界面的制作(三)——表情列表发送功能
- 聊天界面的制作(三)——表情列表发送功能
- 聊天界面的制作(三)——表情列表发送功能
- ANDROID仿QQ聊天界面及发送动态表情(修改版)
- Qt仿QQ界面,主界面、聊天界面、表情界面
- iOS 计算富文本,检索网址,号码,表情,并且计算高度,设置最大行数(聊天表情计算)
- 微信公众帐号开发教程第9篇-QQ表情的发送与接收(9)
- Fragment进阶(七)----->QQ聊天、带表情、可翻页,附带回调通讯接口
- android qq聊天动态表情的实现
- Android 仿QQ和微信发送表情 聊天框架
- web 仿微信 QQ聊天 发送表情功能源码下载
- android仿qq聊天界面版带表情、相册、照相
- UVa 725
- LeetCode(49)Group Anagrams
- iOS:学习runtime的理解和心得
- 简易火车票售票系统
- Titanic: Machine Learning from Disaster
- qq聊天界面七:表情的发送接收(用富文本现实)
- Tomcat的权限问题-无法发布web程序和建立log日志文件
- 015-Spark SQL与 Hive集成
- 微信sdk应用消息的接入(android)
- MySql之show status、show variables
- POJ 1852 Ants
- 安卓中关于IntentService和Service的区别
- 模版匹配应用
- hdu(5422)——Rikka with Graph