需求:

            在Android中使用ios的Emoji表情(嫌弃Android系统本身的Emoji没有ios的圆润好看)

思路一 : 

            直接使用ios的Emoji.ttf替换android的系统Emoji.ttf,但是如果直接导入ios的Emoji.ttf,会使打包的.apk文件体积大10M,不推荐。

思路二 : 

            提取ios的Emoji.ttf中常用表情,自己随意选择想要提取的哪些Emoji表情,打包成ttf,导入assets中使用。




实现遇到的主要问题:

            在方法二中,最重要的是Emoji.ttf中单个表情的提取,以及提取完成后整个表情集合的打包.ttf文件。找了一天才发现的工具:EmojiTools,而且这个工具还有个版本的坑,只能1.9的版本用来提取,1.7的版本用来打包。(刚开始找的大部分工具都有或多火少的问题,如打不开.ttf文件,或者打开了也只能浏览不能提取等)


提取准备工作:

将ios的表情文件,android的表情文件,以及工具文件放在磁盘根目录(必须是根目录,否则解压不成功)


四个文件打包放在根目录下

开始解压:

打开Emoji-Tools-1.9.1,选择AppleColorEmoji.ttf,点击Start Extraction,开始解压,解压完成后会生成ExtractedEmojis文件夹,里面包含了表情包里的所有图片。然后解压emojione-android.ttf文件。


解压AppleColorEmoji.ttf   开始解压 解压emojione-android.ttf中


解压完成( 记得重新命名,用以区别不同的表情包   ) 

提取:

  新建一个ExtractedEmojis文件夹。然后打开ExtractedEmojisApple文件夹,在这个文件夹里找到自己想用的emoji,提取到ExtractedEmojis文件夹里,最后将font.ttx文件和EmojiTools.info一起放到ExtractedEmojis文件夹里。


这里我只提取了圆脸的emoji

打包:

打开Emoji-Tools-1.7.jar,选择ExtractedEmojis文件夹,点击Start Packaging开始打包,最后会生成一个NotoColorEmoji.ttf文件,里面就只包含了我选择了的emoji。


打包 挨个打包中


打包完成

使用:


将打包好的文件放在assets目录下,使用TypefaceManager类加载,然后给TextView设置setTypeface就大功告成了。这样项目体积只多了几百K,就可以使用自己想用的表情了。


EmojiFontManager类,application初始化的时候初始化这个类,在需要使用emoji的textview那里调用setFontsTypeFace 同样的emoji表情码显示的是Ios的Emoji


没有替换emoji表情码显示的是Android的Emoji




工具下载:

https://emojipedia.org/  可以下载各个系统,各个版本的表情包文件,包括Apple.Google,Microsoft等等。可以去下载自己喜欢的emoji表情提取出来做成自己喜欢的emoji表情包。

文章里使用的四个文件      链接: https://pan.baidu.com/s/1pMRjO0b 密码: k645


备注:

这里之前解压的android表情包并未使用,是因为我使用方式是通过TextVIew加载第三方字体。也可以通过解压android的表情包,替换里面要修改的图片,然后将font.ttx里对应的字段一并修改后,打包替换android系统的.ttf文件。

第一次写,有很多不会和写的不好的东西望各位大佬见谅。有什么问题都可以留言,看见了就回。

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. CyanogenMod源码下载和编译(Android(安卓)ROM定制基础篇)
  6. Android(安卓)的签名
  7. APP安全之APK完整性校验
  8. Android(安卓)开发打包时我们应该如何注意平台的兼容(x86,arm,arm
  9. 10 款网页设计师必知的免费 Android(安卓)应用

随机推荐

  1. CentOS 7 安装Percona Server+Mysql
  2. 解决Windows环境下安装 mysql-8.0.11-win
  3. Windows下通过MySQL Installer安装MySQL
  4. 删库跑路?使用xtraback备份MySQL数据库的
  5. mysql 5.7.23 解压版安装教程图文详解
  6. MySQL数据迁移使用MySQLdump命令
  7. Mysql查询表中最小可用id值的方法
  8. 详解Mysql导出数据的几种方式
  9. windows下傻瓜式安装mysql5.7
  10. MySQL因大事务导致的Insert慢实例分析