1.完美显示情况:
会显示,谷歌支持的Emoji不会出现信封,但是可能会被拆分开。
2.低版本兼容情况:
可以做到,以及尝试很多新表情都可以显示在老版本设备上。
3.是否可以判断一个完整的Emoji以及完美截断:
解决方案有三种:
1)根据字符长度来裁切。
可实现样式:单个Emoji显示没问题,组合Emoji,比如一家四口,会裁掉一个人,变成一家三口显示。
缺点:显示会缺失,但是不会不显示或者显示错误,举例如下:
【1】Emoji 家庭:会显示,如果被截断会显示剩余的人数,比如一家四口,裁切掉一个后剩余3个人在一起显示
【2】Emoji 国旗:会显示,如果被裁切会显示英文首字母大写,比如中国CH 裁切掉一个字符以后剩一个C显示出来。
2)自研算法来裁切。通过读取字符串序列中含有EmojiUnicode,并且识别下一个节点既不是表情修饰符也不是表情连接符等,恰好也是EmojiUnicode。那么就判断此为两个Emoji的分隔。
可实现样式:可以达到完美裁切。
缺点:需要自研算法,和通过验证不同类型Emoji显示,来提升自研算法的成功比率。
3)android提供的emoji2依赖库中,通过EmojiSpan获取到emoji的unicode起始索引和unicode结束索引,通过这个索引就可以做到类似一家三口的完美截断了。
网友评论