在Android系统中使用系统自带的emoji表情

一,对emoji表情的理解

       emoji表情是一种表情符号,在代码中它现在其实是一组遵循Unicode的编码,即每一个表情符号都对应了一个Unicode编码。更进一步说,emoji表情实际上是一组Unicode编码与一组表情描述之间的一一对应。注意,这里所说的不是表情图片,而是表情描述。那么图片的实现是由谁来负责的呢?图片是由各个系统或者软件针对统一的表情描述来各自实现的,他们都遵循统一的Unicode编码规范。也就是说Unicode编码其所对应的表情描述是统一的,是所有人都要共同遵守的一套标准或者规范,而具体的表情图片则可能因平台的不同而产生差异,比如Android和ios。以非常火的“笑哭”表情为例,如下表

ios

Android(>=4.4)

Twitter

Unicode

Description

clip_image001[4]

clip_image002[4]

clip_image003[4]

U+1F602

face with tears of joy

对于描述为”face with tears of joy",Unicode编码为”U+1F602”的表情,ios,android,和twitter分别做了不同的实现。

       更过关于emoji表情编码的对应可以在这里找到:http://apps.timwhitlock.info/emoji/tables/unicode  可能需要vpn访问

二, 如何在Android系统中操作系统自带的emoji表情 
       在android中,我们可以只用go输入法或者搜狗输入发来输入emoji表情,对于用户这没有任何问题。但是对于程序员来说如何在程序中输入或者得到一个emoji表情呢?比如我们想通过textview.setText()方法来输入一个emoji表情。

       其实通过emoji表情的通用Unicode编码就可以实现,直接使用Character.toChars()方法将unicode编码转换为一个char数组,再将这个char数组转换成为字符串就可以直接操作了,系统会自动将其解析为表情图片,可以直接显示在textview组件当中,不需要我们做任何其他的事情。

三, 具体的代码实现
private void setEmojiToTextView(){
	int unicodeJoy = 0x1F602;
	String emojiString = getEmojiStringByUnicode(unicodeJoy);
	myTextView.setText(emojiString);
}

private String getEmojiStringByUnicode(int unicode){
	return new String(Character.toChars(unicode));
}

转载于:https://my.oschina.net/jackyguo/blog/609049

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值