android实现emoji输入

学android也有一段时间, 一直都是自己摸索, 各种上网查资料, 也明白了不能一味去索取有时间也要分享一些自己的心得 。 

最近几天都在写关于android emoji输入的小例子,网上有不少源码还有实现思路,我自己也看了一个emojicon的开源项目, 分析了下实现原理,搞了几个小时也没弄懂,  emojicon的表情符号都经过一定的编码,关键是自己水平有限, 对编码那一块很少涉及。

首先要实现emoji先要弄清楚一些相关的类与继承关系。

CharacterStyle :     

    实现类都可以设置字符的风格。

Spannable  :

    该接口间接的实现了CharSequence, 在android中TextView 的setText方法是接收的CharSequence这点要定要记住.

简单的实现方法:

   利用emoji文件的名子按自己设计的规则生成一个emoji的文本表示。将emoji文本设置到TextView或EditText,  这里的TextView都是要自己去继承后面重写一些方法,将emoji文本设置到TextView中间要对TextView的字符进行查找,找出里面的emoji文本.再通过Spannable来替换成图片。 

定义类:   

  Emoji: 

     实体类。 

  IEmojiPackage    

    表情包, 加载emoji文件。

  

  EmojiManager

    搜索emoji文本,对IEmojiPackage产生的emoji进行集中管理 。

 

 github: https://github.com/yjwfn/androidemoji

apkbus: http://www.apkbus.com/forum.php?mod=viewthread&tid=250715

原文地址:https://www.cnblogs.com/xwgblog/p/3838062.html