关于友盟IM自定义表情包的使用
介绍
友盟的IM是支持自定义表情的,在友盟IM自定义表情包里面,是有一个淘公仔的表情包,为了我们可以自己添加自己的的表情包,我们先看一下友盟提供的淘公仔表情包的相关文件配置。
首先我们先看一下自定义表情所在的位置,我是直接在下载的SDK的Demo里面改的,在下面的代码里面实现自定义表情:
- (void)exampleShowCustomEmotionWithConversationController:(YWConversationViewController *)aConversationController
我们可以找到代码的位置:
找到这个YW_TGZ_Emoitons.emo的文件,复制一份将文件的后缀名改成.zip并解压,可以看到文件下的所有资源文件:
在这里面的有两个xml文件,config.xml 和 EmotionConfig.xml
config.xml 文件是整个表情包的资源配置文件的,
EmotionConfig.xml 文件是配置表情数据的,
我们看这两个标签
<OriginalFile> </OriginalFile> // 表情源图片文件用于表情消息发送,可以支持gif文件<FixedFile> </FixedFile> // 表情静态图片文件用于输入面板中表情的显示
TGZ目录下除了EmotionConfig.xml中配置的表情图片文件还有另外一张图片:
EmotionGroupIcon@2x.png :表情分组图标,用于输入面板底部表情分组的显示。
现在我们就可以自己实现一个自定义表情包了。。。。
自定义表情
准备好本地表情图片,最好将图片有序排列好,
修改config.xml和EmotionConfig.xml文件,可以将淘公仔里面的文件复制过来,修改一下就行了,
压缩文件,修改后缀名,这里不要直接压缩config.xml所在的文件夹,选中config.xml和haha目录进行压缩。命名好得到的压缩文件并把后缀名修改为emo,我们这里就叫haha.emo
将haha.emo拖进工程里面,添加如下代码
/*** 设置如何显示自定义表情*/* (void)exampleShowCustomEmotionWithConversationController:(YWConversationViewController *)aConversationController {if ([aConversationController.messageInputView isKindOfClass:[YWMessageInputView class]]) {YWMessageInputView *messageInputView = (YWMessageInputView *)aConversationController.messageInputView;for ( id item in messageInputView.allPluginList ){if ( ![item isKindOfClass:[YWInputViewPluginEmoticonPicker class]] ) continue;YWInputViewPluginEmoticonPicker *emotionPicker = (YWInputViewPluginEmoticonPicker *)item;// 淘公仔表情NSString *filePath = [[NSBundle mainBundle] pathForResource:@"YW_TGZ_Emoitons" ofType:@"emo"];NSArray *groups = [YWEmoticonGroupLoader emoticonGroupsWithEMOFilePath:filePath];for (YWEmoticonGroup *group in groups){[emotionPicker addEmoticonGroup:group];}// 自定义表情NSString *filePath1 = [[NSBundle mainBundle] pathForResource:@"haha" ofType:@"emo"];NSArray *newgroups = [YWEmoticonGroupLoader emoticonGroupsWithEMOFilePath:filePath1];for (YWEmoticonGroup *group in newgroups) {[emotionPicker addEmoticonGroup:group];}}}
}
一切OK,运行程序,看到自定义的表情了
关于友盟IM自定义表情包的使用相关推荐
- AM8 自定义表情包的实现方法
AM8 自定义表情包的实现方法 效果描述 AM8 安装后,在\Activesoft\AMm8\emotions 目录内存储的是默认的表情符号.但有的时候我们需要增加一些新的表情符号,AM8 系统支持自 ...
- Qt 实现聊天软件中自定义表情包(随笔记录)
简述: QT实现自定义表情包,通过对(能够设置表情的行列数 , 表情的大小,表情的个数.最大行数等) 效果: 代码如下: EmoticonsWidget主要实现表情包窗口. EmoticonsWidg ...
- android友盟自定义事件,友盟:自定义事件
1.1 自定义事件类型说明 友盟为用户提供了自定义事件的功能,用于追踪用户行为,记录行为发生的具体细节.我们提供了两种自定义事件的形式:计数事件.计算事件. 1.1.1 计数事件 计数事件统计事件的发 ...
- uniapp 小程序接入友盟 ,自定义事件携带参数
1.下载友盟的包 npm install umtrack-wx --save 2.配置 在根目录新建 track.js 和uma.js 文件 track.js 文件 /*** 全局事件统计,* 通过重 ...
- 友盟分享error:包名错误,确认与开放平台包名一致
分享一下在集成友盟分享时一个坑(RN) 关于集成友盟分享的方法我就不多说,跟着文档solo完全ok 说一下我在Android点击分享时候,正常弹出分享borad,选择对应平台分享时候 一如既往的loa ...
- 友盟的Common的包下载失败,报错Forbidden
Could not GET 'https://dl.bintray.com/umsdk/release/com/umeng/umsdk/common/9.3.8/common-9.3.8.jar'. ...
- Web 4U[02]-自定义表情包神器:表情锅
今日推荐:表情锅 类型:奇趣网站 网址:https://sorry.xuty.tk/ 表情包是斗图界的核武器.在这个大家越来越不爱说话的年代,表情包的使用率倒是越来越高.蘑菇头,熊猫人等传统IP历久 ...
- android 自定义表情包,android基于环信的聊天和表情自定义
环信sdk的导入 自定义聊天界面 此处只有静态图,请谅解. 自定义表情发送 自定义聊天界面 简单说下自定义的聊天界面,一个带有recyclerview和的xml文件,和对应的adapter即可.rec ...
- Django ckeditor自定义表情包
第一步 下载自己喜爱的表情包,我的表情包需要的可以下载,百度网盘链接,密码:9yab. 第二步 进入到ckeditor目录的表情文件夹之中,找到这个文件夹/lib/python3.6/site-pac ...
最新文章
- 存储结构分四类:顺序存储、链接存储、索引存储 和 散列存储
- NVIDIA之AI Course:Getting Started with AI on Jetson Nano—Class notes(一)
- CNCF 新增两个孵化项目 | 云原生生态周报 Vol. 58
- Java IO流操作规律
- netapp管理地址_NetApp常用管理命令总结
- ftp服务器PDF文件在线查看
- Jsoup获取所有链接
- mysql格式化日期成分_MySQL格式化日期
- 【Elasticsearch】腾讯Elasticsearch海量规模背后的内核优化剖析
- 44.分治算法练习: 一元三次方程求解
- 7.Docker技术入门与实战 --- 端口映射与容器互联
- MFC界面开发帮助文档:BCG可视化设计器使用指南
- 了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法:维纳滤波器Wiener Filter,LMS
- 台式计算机用什么电源线,台式电脑电源线接法图解(3分钟学会接电脑电源线)...
- Unity 2D 自定义碰撞系统(一)
- 基于python学生考勤_学生考勤系统(含源代码).pdf
- 塞班微信登录显示服务器繁忙,塞班系统彻底告别 已无法登陆QQ/微信
- Warning:The `android.dexOptions.incremental` property is deprecated and it has no effect on the buil
- 如何在远程计算机上播放音乐,如何用iPhone远程遥控电脑播放音乐教程
- html、css 实现一个漂亮的表格
热门文章
- 生成式AI 17个AI辅助编程工具
- redflag 6.0开机只能进文本模式
- 在c语言中1和0的意思,C语言里的0x0和0x1是什么意思啊
- cocos2d制作动态光晕效果基础
- 北京3加2计算机专业衔接学校,北京3+2学校名单
- 马航发布会确认MH370失事:这是史无前例的悲剧
- 以后救命靠AI:人工智能已开始颠覆医院,这五个领域首当其冲
- Windows server2012时间同步NTP配置
- 虚拟现实VR(视景仿真、系统仿真、可视化)工作站配置方案
- 智能软件的编程语言--aaas语言:“除外”的定义/策略/形式及其开发 之 引子