我有一个EditText,它只能是单个表情符号字符。我添加了代码和过滤器来确保这一点,但我仍然存在可用性问题,因为键盘在NORMAL文本模式下弹出。对于用户来说,只允许使用表情符号字符并不明显。
<EditText
android:id="@+id/activity_emoji"
style="@style/Material.Widget.EditText.Light"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#FF000000"
android:text="😎"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true" />
理想情况下,我可以禁用除表情符号之外的所有输入,但这似乎是不可能的。另一个选择是将键盘弹出在表情符号页面上,而不是普通的字母表上。有可能做到这一点吗?如果有,怎么做?
在我看来,简单的解决方案应该支持:
android:inputType="Emoji"
我添加了代码和过滤器来确保
由于输入法编辑器不需要提供表情符号,因此您有一个小问题。
我仍然有一个可用性问题,因为键盘在正常文本模式中弹出
许多输入法编辑器只有具有您认为正常的文本模式。
请理解,目前有26000多种Android设备型号。这些船上预装了几十个甚至数百个键盘。用户还可以从Play Store、F-Droid和其他地方安装其他软件。没有人必须提供表情符号。我预计这样做的相对较少,尽管这样做的(如GBoard(将是使用最广泛的。
此外,请记住,并非所有安卓设备都使用软键盘。有时,这是一种相当永久的状态(例如Chromebook(。有时,这是一种临时状态(蓝牙键盘已启用,USB键盘已插入,其他辅助设备已连接(。
有可能做到这一点吗?如果有,如何做到?
不,对不起。