我开发了 Android 键盘,我想向其中添加表情符号,例如查看“k”的代码是
<Key android:codes="107" android:keyLabel="k"/>
107是'k'字母的ascii代码,您可以从这个网站找到所有ascii代码 http://www.addressmunger.com/special_ascii_characters/
如果您搜索“k”,您将得到k我的问题是,如果我想放这个表情符号,例如 😒 我得到的 ascii 是 我不知道如何将此 ascii 放入 xml 中..有帮助吗?
最佳答案
你应该会发现这个不会工作:
<Key android:codes="0x1F602" android:keyLabel="0x1F602"/>
而是在 .xml 布局文件中,为要添加的每个表情符号创建如下行:
<!--'Face with tears of joy' -->
<Key android:codes="0x1F602" android:keyLabel="\ud83d\ude02"/>
😂
“\ud83d\ude02”称为 Java 转义序列(16 位)。
如果您使用 the standard SoftKeyboard (或某些衍生品),您将不得不更改它以处理转义字符。您应该有一个名为 SoftKeyboard
的类,它扩展了 InputMethodService
。里面应该有一个名为handleCharacter
的方法。更改此行:
getCurrentInputConnection().commitText(String.valueOf((char) primaryCode), 0);
到这一行:
getCurrentInputConnection().commitText(String.valueOf(Character.toChars(primaryCode)), 1);
代码引用自:display built-in emoji keys for inputmethod
其他引用:
http://android.appstorm.net/how-to/customization/how-to-use-emojis-on-your-android-device/
关于android - Android 键盘中的表情符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45589522/