Android:带有自定义键盘的 EditText

Posted

技术标签:

【中文标题】Android:带有自定义键盘的 EditText【英文标题】:Android : EditText with custom keyboard 【发布时间】:2011-02-17 09:13:14 【问题描述】:

我按照 sdk 中的示例创建了自己的自定义键盘。

现在我想在我的应用程序的 EditText 上默认使用这个自定义键盘(实际上我必须长按 edittext 然后选择我的custom keyboard)。

我该怎么做? (好像和inputType属性有关,但是不知道怎么设置)

谢谢!

【问题讨论】:

【参考方案1】:

我该怎么做?

让您的用户将您的键盘设置为他们的默认键盘。应用程序无法控制它。

【讨论】:

@commonsware....我想通过蓝牙访问键盘。例如:如果我在第一个设备中打开键盘,两个设备通过蓝牙相互连接,并且我想在任何编辑文本中访问另一个设备中的该键盘。那么如何通过 android 中的蓝牙访问另一台设备中的键盘呢?【参考方案2】:

如果说“我创建了自己的自定义键盘”是指您编写了自己的 IME,那么这可能不是您想要的。 IME 是一个单独的组件,旨在与设备上的任何其他应用程序进行交互以进行文本输入。

如果您只想在自己的应用中使用自定义键盘,则应在应用中将其实现为 UI 的一部分。

【讨论】:

好的,谢谢!是的,我制作了自己的 IME,但正如你所说,我希望它只能在我的应用程序中使用。我应该使用什么组件在我的应用程序中实现这一点?有链接吗?【参考方案3】:

尝试使用包含自定义键盘布局的PopupWindow,将弹出窗口定位在屏幕底部并自行处理自定义键盘按钮的点击。在此之前请禁用虚拟键盘。

例如弹出窗口,您可以检查: http://al1us.net/?p=131

showAtLocation()函数中使用GRAVITY.BOTTOM

【讨论】:

以上是关于Android:带有自定义键盘的 EditText的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 第五十三期 - 自定义EditText密码键盘

建议中文软键盘中的文本状态android触发编辑文本的文本更改事件

Android自定义dialog中的EditText无法弹出键盘的解决

Android自定义dialog中的EditText无法弹出键盘的解决

从android中的自定义零按钮中删除edittext中的前导零

如何为特定活动禁用 Android 软键盘?