安卓手机表情键盘

24

我希望在我的应用程序中添加类似于Whatsapp或Hangouts的表情符号键盘。我想保留原有的键盘,只是要添加选项卡来放置表情符号。我认为软键盘应该很容易支持它,但目前我还没有找到任何信息。是否有人可以告诉我如何做呢?

更新: Android KitKat中已经包含了带有表情符号的键盘,可以通过长按键盘中的新行按钮访问。然而,Hangouts键盘显示表情符号图标,而不是“新行”键。如果有人知道如何将其设置为默认(无论是在布局中还是通过编程方式),那么这将被视为正确答案。

4个回答

25

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

android:inputType="textShortMessage"

但在我的情况下,我已经在使用textMultiLine,所以我不得不同时使用它们:

android:inputType="textMultiLine|textShortMessage"

看起来是这个样子:

带有表情符号按钮的键盘 表情符号键盘

我不确定确切的安卓版本,但这应该只适用于Android 4.1及以上版本


1
android:inputType="textShortMessage" 对我在模拟器和真实设备上都有效。谢谢! - Tomislav Turcic
是否可以使用回车键来实现这个? - Oliver Dixon
1
android:inputType="textMultiLine|textShortMessage" 对我来说非常完美。按下表情符号,长按换行 - 这就是我需要的一切。谢谢 :) - Andrii Kovalchuk

20

最终的答案是:

android:inputType="textShortMessage"

新的换行键变成了打开表情符号键盘的键。唯一的问题是,在这个配置下,键盘上的“换行”键消失了(以前你可以长按来选择表情符号/换行,但现在只有表情符号)。


1
在Google Hangout中,表情符号按钮不在键盘上(至少在我使用第三方键盘的手机上),而是在TextEdit框内部,因此它是应用程序本身的一部分(Gabe,我说的是基于KitKat并支持emoji的最新Google Hangout,我找到的所有当前截图都没有显示我在手机上看到的内容,所以这一定是一个非常新的功能)
实际上,这很容易做到,在RelativeLayout内将ImageButton放置在TextView右侧(RelativeLayout被制作成具有自定义背景的TextView)。
然后,只需要在单击该ImageButton时隐藏键盘,并在发生这种情况时用充满表情符号的面板替换它(就像在这个开源emoji android键盘中一样,它在创意共用非商业许可下发布)。

表情符号按钮确实不是WhatsApp键盘的一部分,但在Android 4.4.2上的Hangouts中有。我相信这是KitKat引入的。我已经更新了我的问题。 - dbar
啊,这很有趣。我的G3使用Android 4.4.2系统,在Google Hangouts里也有一个表情符号键盘启动器在EditText框内。我想这是为了使那些不使用标准Android键盘的手机能够访问表情符号。目前在G3上,LG使用了一个不同的默认键盘,当通过键盘本身调用时,会使用不同的一组表情符号图标。 - Stephan Branczyk

0

没有功能可以将选项卡添加到通用键盘中。 某些键盘可能支持它,但这不是常见功能。 您可以编写自己的完全自定义键盘,但那需要很多工作,并且会让许多用户感到不满。

此外,我不确定您在谈论什么是像hangouts一样的东西。 我使用hangouts-它不会对我的键盘进行任何奇怪的操作。 它保持为Swype,没有特殊的表情符号选项卡。 基于输入类型(我假设两者都使用输入类型textShortMessage),这可能是您喜欢的键盘的功能。 但这不是一种通用功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接