显示的表情符号与他们选择的不同,为什么?

Shown emojis are different to them chosen, why?

我刚刚在我的 android 应用程序中实现了这个库(在您的帮助下): https://github.com/ankushsachdeva/emojicon

现在看起来是这样的:

如您所见,我从菜单中选择的笑脸与发送的笑脸看起来不同。它是另一个主题或类似的东西。

这是每个智能手机自己控制的吗?这是如何运作的?有人知道吗?我该如何解决?

谢谢!

我认为这取决于 OS,(智能手机、计算机或任何设备)。表情符号只是必须解释的 unicode 字符。当我设法在我的 Mac 上编译一个带有表情符号作为标准输出的 c/c++ 程序时,我感到很惊讶(并且有一个带有很多表情符号的自定义终端提示符)。但显然我不认为我可以在 Linux 机器上编译它。

您应该在您的 TextField 上做一些事情,以便它能够正确读取表情符号,而不是使用默认的 behaviour/encoding。

希望这对您有所帮助:

http://www.unicode.org/reports/tr51/index.html

您必须在 xml 中创建的 TextView 应该是 EmojiconTextView 而不是正常的 TextView。以同样的方式将 EditText 设置为 EmojiconEditText,这样它也可以读取表情符号。

如果您想了解为什么会发生这种情况,那么答案是,表情符号不过是 unicode。您的 TextViewEditText 需要学习如何阅读它们。如果您使用普通 EditText,它将以 Android 方式读取,如果您使用 EmojiconEditText,它将以库方式读取。