我想用emoji unicode数组实现一个android表情符号键盘,没有任何额外的res。
因此对于表情符号unicode字符,我需要从android系统中获取drawable,如果系统不支持该字符,我只是忽略这个字符。
经过一些基础研究,
https://github.com/rockerhieu/emojicon
https://github.com/ankushsachdeva/emojicon
这些工具都使用自制资源。
使用TextView setText
,tv.setText("\u263A");
TextView可以显示资源,但我该如何获取资源?
答案 0 :(得分:3)
问题在于 - 系统无法确定可以显示的字符。字体的确如此。字体需要定义如何绘制它将显示的每个字符。这就是为什么你会看到盒子或者?缺少字符 - 这是字体的默认渲染。在Android上没有方法来测试一个字符是否会以给定的字体显示(尽管它会非常好)。由于无法知道EditText使用的是什么字体,因此无法知道是否支持给定字符。您最好的选择是限制自己使用默认Android系统字体中定义的字符。但即便如此,您仍然认为OEM没有使用不同的默认字体,用户没有覆盖它,并且应用程序没有覆盖它。基本上,你被迫猜测和希望。