【问题标题】:Show Emoji Keyboard On Android?在 Android 上显示表情符号键盘?
【发布时间】:2014-04-20 13:17:29
【问题描述】:

所以我正在构建一个 Android 应用程序。我使用了一个自定义表情包,它带有看起来像 iOS 的表情符号。但是,我注意到 KitKat 带有本机表情符号支持,所以如果用户有 KitKat,我想向用户展示它而不是我的自定义窗口。如何在不更改 imeOptions 的情况下显示某个键盘窗口?

我试过mEditText.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_PICTSYMBOLS)),但似乎没有成功

【问题讨论】:

  • 没有办法强制软键盘显示任何屏幕 - 键盘是 android 中的一个应用程序,它会选择显示它认为合适的内容。由于有数百种键盘(最大的 OEM 三星甚至不再使用 Google 的键盘),您无法做出任何假设。有一种方法可以建议键盘显示其数字键盘层,但没有任何暗示它应该显示表情符号层。事实上,键盘可能没有表情符号层。
  • 好吧,我怀疑可能是这样。我想我会让我的 kitkat 应用程序使用自定义表情符号。谢谢

标签: android keyboard android-softkeyboard emoji


【解决方案1】:

找到有助于实现表情符号的EmojiEverywhere。 TextView 中的表情符号,Android 的 EditText(如 Android KitKat 表情符号键盘)

【讨论】:

  • 很好,但此代码将表情符号作为图像存储在 /res 文件夹中。意思是没有原生的方式来做,你需要把你的表情图贴出来?
【解决方案2】:

将此属性放入您的编辑文本中

 android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"
 android:imeOptions="actionSend|flagNoEnterAction"

查看安卓股票短信应用源

https://raw.github.com/android/platform_packages_apps_mms/master/res/layout/compose_message_activity.xml

这适用于 swiftkey 和谷歌键盘

【讨论】:

  • 这行不通。这里的任何内容都与表情符号无关。没有键盘会看到它并认为它需要显示表情符号。
  • 请尝试设置这两行,看看键盘如何显示表情符号按钮。如果您安装了谷歌键盘,它就可以工作。如果你想像 whatsapp 一样始终显示键盘,你需要编写自定义实现代码。搜索开源消息传递应用程序
  • 它可能在一个特定的键盘上工作,但它不会在所有键盘上工作,甚至通常跨键盘工作。此外,它只有 textShortMessage 标志可以做到这一点,其余的都不需要。但 Google 默认键盘甚至不再是最常见的键盘了。
  • 我让它工作。唯一需要的属性是:android:inputType="textShortMessage"。但就像你说的,用户需要在设置中选择本机键盘(谷歌、Swiftkey)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-24
  • 2014-09-29
  • 2017-09-11
  • 2021-05-29
  • 2015-10-16
  • 2011-03-21
相关资源
最近更新 更多