介绍


友盟的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自定义表情包的使用相关推荐

  1. AM8 自定义表情包的实现方法

    AM8 自定义表情包的实现方法 效果描述 AM8 安装后,在\Activesoft\AMm8\emotions 目录内存储的是默认的表情符号.但有的时候我们需要增加一些新的表情符号,AM8 系统支持自 ...

  2. Qt 实现聊天软件中自定义表情包(随笔记录)

    简述: QT实现自定义表情包,通过对(能够设置表情的行列数 , 表情的大小,表情的个数.最大行数等) 效果: 代码如下: EmoticonsWidget主要实现表情包窗口. EmoticonsWidg ...

  3. android友盟自定义事件,友盟:自定义事件

    1.1 自定义事件类型说明 友盟为用户提供了自定义事件的功能,用于追踪用户行为,记录行为发生的具体细节.我们提供了两种自定义事件的形式:计数事件.计算事件. 1.1.1 计数事件 计数事件统计事件的发 ...

  4. uniapp 小程序接入友盟 ,自定义事件携带参数

    1.下载友盟的包 npm install umtrack-wx --save 2.配置 在根目录新建 track.js 和uma.js 文件 track.js 文件 /*** 全局事件统计,* 通过重 ...

  5. 友盟分享error:包名错误,确认与开放平台包名一致

    分享一下在集成友盟分享时一个坑(RN) 关于集成友盟分享的方法我就不多说,跟着文档solo完全ok 说一下我在Android点击分享时候,正常弹出分享borad,选择对应平台分享时候 一如既往的loa ...

  6. 友盟的Common的包下载失败,报错Forbidden

    Could not GET 'https://dl.bintray.com/umsdk/release/com/umeng/umsdk/common/9.3.8/common-9.3.8.jar'. ...

  7. Web 4U[02]-自定义表情包神器:表情锅

    今日推荐:表情锅 类型:奇趣网站 网址:https://sorry.xuty.tk/  表情包是斗图界的核武器.在这个大家越来越不爱说话的年代,表情包的使用率倒是越来越高.蘑菇头,熊猫人等传统IP历久 ...

  8. android 自定义表情包,android基于环信的聊天和表情自定义

    环信sdk的导入 自定义聊天界面 此处只有静态图,请谅解. 自定义表情发送 自定义聊天界面 简单说下自定义的聊天界面,一个带有recyclerview和的xml文件,和对应的adapter即可.rec ...

  9. Django ckeditor自定义表情包

    第一步 下载自己喜爱的表情包,我的表情包需要的可以下载,百度网盘链接,密码:9yab. 第二步 进入到ckeditor目录的表情文件夹之中,找到这个文件夹/lib/python3.6/site-pac ...

最新文章

  1. 存储结构分四类:顺序存储、链接存储、索引存储 和 散列存储
  2. NVIDIA之AI Course:Getting Started with AI on Jetson Nano—Class notes(一)
  3. CNCF 新增两个孵化项目 | 云原生生态周报 Vol. 58
  4. Java IO流操作规律
  5. netapp管理地址_NetApp常用管理命令总结
  6. ftp服务器PDF文件在线查看
  7. Jsoup获取所有链接
  8. mysql格式化日期成分_MySQL格式化日期
  9. 【Elasticsearch】腾讯Elasticsearch海量规模背后的内核优化剖析
  10. 44.分治算法练习:  一元三次方程求解
  11. 7.Docker技术入门与实战 --- 端口映射与容器互联
  12. MFC界面开发帮助文档:BCG可视化设计器使用指南
  13. 了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法:维纳滤波器Wiener Filter,LMS
  14. 台式计算机用什么电源线,台式电脑电源线接法图解(3分钟学会接电脑电源线)...
  15. Unity 2D 自定义碰撞系统(一)
  16. 基于python学生考勤_学生考勤系统(含源代码).pdf
  17. 塞班微信登录显示服务器繁忙,塞班系统彻底告别 已无法登陆QQ/微信
  18. Warning:The `android.dexOptions.incremental` property is deprecated and it has no effect on the buil
  19. 如何在远程计算机上播放音乐,如何用iPhone远程遥控电脑播放音乐教程
  20. html、css 实现一个漂亮的表格

热门文章

  1. 生成式AI 17个AI辅助编程工具
  2. redflag 6.0开机只能进文本模式
  3. 在c语言中1和0的意思,C语言里的0x0和0x1是什么意思啊
  4. cocos2d制作动态光晕效果基础
  5. 北京3加2计算机专业衔接学校,北京3+2学校名单
  6. 马航发布会确认MH370失事:这是史无前例的悲剧
  7. 以后救命靠AI:人工智能已开始颠覆医院,这五个领域首当其冲
  8. Windows server2012时间同步NTP配置
  9. 虚拟现实VR(视景仿真、系统仿真、可视化)工作站配置方案
  10. 智能软件的编程语言--aaas语言:“除外”的定义/策略/形式及其开发 之 引子