【发布时间】:2010-12-26 04:46:37
【问题描述】:
有没有办法在 Android 上创建特定于应用的软键盘?在阅读了有关 InputMethodService 文档并查看了替代键盘应用程序之后,我认为替代键盘只能配置为系统范围使用(通过设置 -> 区域设置和文本)。
如果上述问题的答案是否定的,那么是否至少有一种方法可以加载自定义字典并覆盖系统键盘的默认字典(仅当我的应用程序正在使用时)?当用户只敲击几个键时,这将有助于向用户提供非常相关的建议。
【问题讨论】:
有没有办法在 Android 上创建特定于应用的软键盘?在阅读了有关 InputMethodService 文档并查看了替代键盘应用程序之后,我认为替代键盘只能配置为系统范围使用(通过设置 -> 区域设置和文本)。
如果上述问题的答案是否定的,那么是否至少有一种方法可以加载自定义字典并覆盖系统键盘的默认字典(仅当我的应用程序正在使用时)?当用户只敲击几个键时,这将有助于向用户提供非常相关的建议。
【问题讨论】:
如果您只想要一个外观和行为都像软键盘的视图,我在 my SmallKeyboard class 中做到了。您只需要扩展android.inputmethodservice.KeyboardView 并决定布局。请参阅该文件末尾的 onKey 和 onText 方法,了解按键被按下时所采取的操作。
如果您的键集相当恒定,您可以 load it from XML 代替我的键盘模型内部类。
【讨论】:
Android Nethack 应用程序有一个完整而清晰的源代码示例,说明如何为应用程序创建自定义键盘、如何在屏幕上显示以及如何定义多个键盘布局。它包含了您需要了解的几乎所有内容。
这是迄今为止我见过的最好的例子。
【讨论】: