Android之一分钟完成发表情功能
应用背景
不知道大家是否开发过类似朋友圈,论坛之类的功能。通常在这个过程中我们要有发表情的需求。LZ当时遇到了这个需求,所以完成功能后,就将发表情这个功能封装了一下。使用非常简单,只需要三两行代码,你就能在你的项目中实现发表情的功能啦。
效果图展示
实现步骤
1.将以下类与资源文件依次导入到你自己的项目中
2.在某输入页面中的xml中添加布局文件
比如我这个效果图就是一个Activity。那我就在Activity的根部局当中添加如下代码
<include
android:id="@+id/chat_face_container"layout="@layout/chat_face_container"android:visibility="gone" />
这里应该注意xml页面的搭建逻辑,chat_face_container应该在一个LinearLayout的最下面,整个LinearLayout应该是附着在屏幕底部。具体请参考demo
3.在代码中的配置
非常非常的简单,只需要一行代码即可
//param1:你加入当前页面中的布局,param2:你的输入框,param3:contextChatFaceView chatFaceView = new ChatFaceView(chat_face_container, edit_input_text, this);
假如ios发来一条带有表情的消息,如何将字符串消息转换为带有表情的字符串?
调用如下方法即可
SpannableStringBuilder ssbC = FaceUtils.getInstance(context).toSpanText(edit_input_text.getText().toString());
tvshow2.setText(ssbC);
另外还有一些常用api
/*比如:为输入框添加点击事件,点击输入框让chatview消失*/edit_input_text.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {chatFaceView.closeChatView();}});/*比如:为表情按钮添加点击事件,点击让chatview消失或显示*/btn_chat_emoji.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {chatFaceView.openOrCloseChatView();}});
核心要点
1.发送表情实则是发送的表情对应的String编码,这个编码在本案例中就在asset文件下
2.点击表情后,表情图片如何显示在了EditText中?而不是以原本String格式显示?
这是通该方法实现
/*** * @param png 文件名,不含路径* @return*/private SpannableStringBuilder getFace(String png) {SpannableStringBuilder sb = new SpannableStringBuilder();try {// String tempText = "[" + png + "]";String tempText =FaceUtils.getInstance(mContext).GetFaceMap(0).get(png);sb.append(tempText);sb.setSpan(new ImageSpan(mContext, BitmapFactory.decodeStream(mContext.getAssets().open("face/default/" + png))), sb.length()// .decodeStream(mContext.getAssets().open(png))), sb.length()- tempText.length(), sb.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);} catch (Exception e) {e.printStackTrace();}return sb;}
[源码下载地址:http://download.csdn.net/detail/qq_23347751/9650522]
[转载请注明出处:http://blog.csdn.net/qq_23347751/article/details/52785938 ]
Android之一分钟完成发表情功能相关推荐
- Android 支持表情功能
概述 1.原理和实现思路 2.表情图片显示 3.表情面板 4.表情的输入框插入和删除 5.表情添加脚本 Android中表情功能,一般都不是用ImageView去设置图片实现的, 表情一般会嵌套在文本 ...
- Android 表情功能的完整处理方案
概述 1.原理和实现思路 2.表情图片显示 3.表情面板 4.表情的输入框插入和删除 5.表情添加脚本 Android中表情功能,一般都不是用ImageView去设置图片实现的, 表情一般会嵌套在文本 ...
- android 评论发表情,安卓手机怎么在微信朋友圈评论发表情包?
核心提示:目前,微信的最新版本更新了朋友圈评论表情包的功能,也就是说用户可以朋友圈开启"斗图模式"啦!但是有些安卓系统的小伙伴发现,自己更新了微信后似乎也不能在朋友圈发评论,具体是 ...
- android 自动发彩信,Android编程实现定时发短信功能示例
本文实例讲述了Android编程实现定时发短信功能.分享给大家供大家参考,具体如下: 第一,要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中 ...
- Android studio 实现打电话发短信浏览网页功能 android开发小实验
Android studio 实现打电话发短信浏览网页功能 android开发小实验 目标: android studio 实现打电话 发短信 浏览网站的功能 先在布局里面定义几个按钮 分别为 打电话 ...
- android+发短信示例,Android编程实现定时发短信功能示例
本文实例讲述了Android编程实现定时发短信功能.分享给大家供大家参考,具体如下: 第一,要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中 ...
- android 新浪微博客户端的表情功能的实现
这是一篇好文章,我转来收藏,技术的最高境界是分享. 最近在搞android 新浪微博客户端,有一些心得分享 弄android客户端表情功能可以用以下思路 1.首页把新浪的表情下载到本地一文件夹种,表情 ...
- Android自定义表情功能的实现
Android开发中经常用到评论.回复.和发送聊天信息的功能开发,这其中就有表情的插入发送功能,经过长时间的开发总结,先封装出插入表情的功能实现代码开源给大家,共大家参考,共同学习进步: 1.拷贝表情 ...
- android studio发邮件功能,Android发送邮件的方法实例详解
本文实例讲述了Android发送邮件的方法.分享给大家供大家参考,具体如下: 在android手机中实现发送邮件的功能也是不可缺少的.如何实现它呢?下面以简单的例子进行说明. 程序如下: import ...
最新文章
- MATLAB中文件的读写和数据的导入导出
- python datasets_python基础之sklearn.datasets
- 慎重使用volatile关键字
- wolive-在线客服系统源码_如何搭建在线客服系统?
- C++笔记——指针函数/函数指针
- 为什么女生会有体香?
- LeetCode 1236. 网络爬虫(BFS/DFS)
- Mybatis Generator 配置详解
- 字符串、数组、randomAccessFile 中length的异同
- 复数相关的等式及证明
- Qt5学习笔记之串口助手四:增加16进制/ASCII切换、周期发送
- kubernetes视频教程笔记 (37)-部署 EFK 平台 日志收集 展示
- ad怎么批量改元器件封装_在AD软件中的PCB界面如何批量修改封装?
- VC-应用程序正常初始化失败-0xc0150002
- Java面试题目和答案
- 浏览器出现ERR_PROXY_CONNECTION_FAILED 错误代码
- golang学习(三)—— 数组、切片、map
- 清除Chrome浏览器下默认浅黄色背景(保存密码时出现)
- PHP头条爬虫,今日头条爬虫分析-爬取用户发的所有内容
- CorelDRAW图片导出变色,如何解决?