使用自定义表情符号创建软键盘

时间:2014-11-28 10:27:19

标签: android unicode emoji spannablestring soft-keyboard

我的任务是创建一个新的android 3rd party keyboard,它支持资产中的自定义表情符号(我自己的图标)。

我想使用我自己的表情符号图标实现一个软键盘,而不使用UniCode或我的自定义UniCode。

问题:

如果我创建一个自定义表情符号,其中一些字符串不会映射到标准的表情符号集,并将此消息发送给具有自定义应用/键盘的朋友,那么他们的设备上会显示什么?常规的ASCII字符串?或图像。

我已经阅读了两种将图像添加到textView的方法。

  1. Html.ImageGetter

  2. Spannable Image(由图像组成的字符串)

  3. 我更喜欢哪种方式?

    无论如何在收件人设备上显示(发送)自定义表情符号而不下载应用/键盘?

    是否可以将带有图像(表情符号)的文本发送到其他应用程序,如facebook,skype和消息。

    需要建议。

    简单的字

    我只想将我的自定义(表情符号图标)发送到this app does的其他应用,而不使用unicode或我的自定义UniCode。

    感谢。

2 个答案:

答案 0 :(得分:4)

要回答问题的第一部分,根据定义,表情符号是编码字符 - 它们是unicode的一部分。见这里:

http://emojipedia.org/unicode-8/

如果你看,有很多引用。您还会发现Apple和Google长期使用两套不同的套装。它们现已合并,但Android制造商和运营商已经添加了自己的表情符号和版本。"

更改键盘以使用自定义图像不会更改传输到其他设备的数据。因此,回答问题的下一部分:在他们的设备上显示的是传输的ASCII或Unicode字符,而不是发送者"键入的内容。"

换句话说,要回答问题的下一部分,一般来说,如果没有他们的应用程序,就无法将自定义字符发送到其他设备。键盘是不够的,因为应用程序负责显示文本/图像。因此,除非应用程序知道您是内容提供者或来源或任何图像,否则它将显示它知道要做的任何事情。因此,自定义键盘甚至不会在您自己的设备上显示自定义表情符号,除非您还使用自己的应用。

我说"一般不可能"因为这是您的选择:

  1. 您可以成为Unicode联盟(http://unicode.org/)的一部分,并提交您的表情符号图像以供批准进入Unicode的未来版本。还有未来的表情符号正在进行中,仅供参考。顺便说一下,这可能需要几年时间,并且他们不太可能批准商业偏见的图像。但是,unicode有能力处理数十亿个字符,甚至几乎没有满(Unicode 16,而不是Unicode 8 - Unicode 8已满)。即便如此,Android团队还是需要采用它并将其包含在未来版本中,例如表情符号和当前的表情符号组合。

  2. 您使用自己的表情符号构建自己的应用程序,并让通信双方的人员像其他人一样下载它。 IMO,这对除了应用程序开发人员以外的任何人都不是理想的。尽管如此,人们喜欢我为他们的工作和成功而鼓掌。这个行业变幻莫测,难以真正进入。

  3. 我是sdmmllc.com的一员 - 我们正在尝试开发一个消息传递平台"完全适合像你这样的情况。我们希望允许消息传递应用程序发现"其他消息传递应用程序,包含自定义表情符号等功能,无需用户感到困惑或不得不下载大量应用程序。这类似于Web浏览器中的插件。我们的开发人员爱我们,我们的用户爱我们,但这是一个缓慢的过程。

  4. 开发竞争平台。 (祝你好运 - 除了我们拥有的少数开发人员以及每天下载我们的应用程序并且热爱我们的想法和平台的数百名用户之外,似乎没有人真正获得这个概念......但是那里有...到目前为止没有钱......)

答案 1 :(得分:2)

您只能使用受支持的uniCode。你无法添加自己的通用用途。但您可以在应用中和应用之间使用它。这不可能。

简而言之,无法创建自己的Unicode。但你可以使用应用程序到应用程序。并且在两端你必须将这些字符存储在数据库中。当他们得到时匹配他们..