Android(安卓)使用 ios中的部分Emoji表情(也可以替换任意系统的emoji表情)
需求:
在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文件。
提取:
新建一个ExtractedEmojis文件夹。然后打开ExtractedEmojisApple文件夹,在这个文件夹里找到自己想用的emoji,提取到ExtractedEmojis文件夹里,最后将font.ttx文件和EmojiTools.info一起放到ExtractedEmojis文件夹里。
打包:
打开Emoji-Tools-1.7.jar,选择ExtractedEmojis文件夹,点击Start Packaging开始打包,最后会生成一个NotoColorEmoji.ttf文件,里面就只包含了我选择了的emoji。
使用:
将打包好的文件放在assets目录下,使用TypefaceManager类加载,然后给TextView设置setTypeface就大功告成了。这样项目体积只多了几百K,就可以使用自己想用的表情了。
工具下载:
https://emojipedia.org/ 可以下载各个系统,各个版本的表情包文件,包括Apple.Google,Microsoft等等。可以去下载自己喜欢的emoji表情提取出来做成自己喜欢的emoji表情包。
文章里使用的四个文件 链接: https://pan.baidu.com/s/1pMRjO0b 密码: k645
备注:
这里之前解压的android表情包并未使用,是因为我使用方式是通过TextVIew加载第三方字体。也可以通过解压android的表情包,替换里面要修改的图片,然后将font.ttx里对应的字段一并修改后,打包替换android系统的.ttf文件。
第一次写,有很多不会和写的不好的东西望各位大佬见谅。有什么问题都可以留言,看见了就回。
更多相关文章
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- CyanogenMod源码下载和编译(Android(安卓)ROM定制基础篇)
- Android(安卓)的签名
- APP安全之APK完整性校验
- Android(安卓)开发打包时我们应该如何注意平台的兼容(x86,arm,arm
- 10 款网页设计师必知的免费 Android(安卓)应用