Android键盘与表情符号

时间:2014-08-06 18:22:06

标签: android android-softkeyboard emoji

所以我希望在我的应用中有一个键盘,它有表情符号,就像Whatsapp或Hangouts一样。我怎样才能做到这一点?我想离开我的键盘,因为它只是想添加标签以放置表情符号。我认为软键盘很容易支持它,但到目前为止我什么都找不到。任何人都可以告诉你该怎么做?

更新: 带有表情符号的键盘包含在Android KitKat中,可以通过长按键盘上的新线路按钮来访问。然而,环聊键盘可以看到表情符号图标,而不是“新行”键。如果有人知道如何将其设置为默认值(无论是布局还是编程),我会将其作为正确的答案。

4 个答案:

答案 0 :(得分:22)

正如@dbar指出的那样,答案是:

android:inputType="textShortMessage"

但就我而言,我已经在使用textMultiLine,所以我不得不同时使用它们:

android:inputType="textMultiLine|textShortMessage"

看起来像这样:

Keyboard with Emoji Button Emoji Keyyboard

我不确定Exact的Android版本,但这应该仅适用于Android 4.1及以上版本

答案 1 :(得分:17)

最后答案是:

android:inputType="textShortMessage"

新的线路键成为取出表情符号键盘的钥匙。唯一的狡辩是“新线路”'键盘上的键随着这个配置消失(在你可以长按表情符号/换行之前,但现在它只是表情符号)。

答案 2 :(得分:1)

在Google环聊中,键盘上没有表情符号按钮(至少在我的手机上已经使用第三方键盘),它位于TextEdit框内,因此它是应用程序本身(Gabe,我正在使用emoji support在KitKat上讨论最新的Google Hangout,我在Google Hangout上找到的所有屏幕截图都没有显示我在手机上看到的内容,所以这必须是最新的功能)

这实际上很容易做到,将一个ImageButton放在RelativeLayout内的TextView右侧(RelativeLayout看起来像一个带有自定义背景的TextView)。

然后,只需要在点击ImageButton时隐藏键盘并将其替换为充满表情符号的面板(如open source emoji android keyboard中所示,这是一个创意公共非商业许可)。

答案 3 :(得分:0)

没有向任何通用键盘添加标签的功能。某些键盘可能支持它,但它不是一个常见的功能。您可以编写自己的完全自定义键盘,但这需要做很多工作,并会惹恼许多用户。

另外,我不确定你在环聊中是什么意思。我使用视频群聊 - 它对我的键盘不做任何奇怪的事情。它保持为Swype,没有特殊的表情符号选项卡。它可能是您喜欢的键盘的一个功能基于输入类型(我假设两者都使用输入类型textShortMessage)。但它不是通用功能。