2

我试图说服EditText-view 只使用我编写的 SoftKeyboard。它已经让我烦恼了几天,我不敢相信这是不可能的。我可能看不到明显的...

到目前为止,我设法根据 Android SDK 附带的示例编写了自己的软键盘。我可以手动选择它作为输入法(长按、输入法、*pick*)。然后 SoftKeyboard 可以正常工作并完成我想要的一切。我还清理了上下文菜单以禁止更改输入法(显然我目前需要它在菜单中,否则我将无法选择我的软键盘)。

换句话说,唯一剩下的就是将软键盘绑定到EditText.

我注意到 上的一堆 -ime*属性EditText,但它们似乎对我的问题没有用,因为我不想更改有关操作键的任何内容。inputMethod需要 a KeyListener, SoftKeyboard 不是(我试图将其设为一个,但类加载器似乎有问题,因为它找不到我的类 => ClassNotFoundException)。

谁能指点我一些有用的信息?

4

2 回答 2

3

我目前正在重新发明我的方法并尝试在没有InputMethodService. 我保留示例代码作为处理用户输入的参考。基本上它应该只是一个在需要时弹出的简单视图。

经过进一步研究,我发现了一个关于App-specific soft-keyboard的非常有用的问题。如果你遇到我的情况,看看那里。

于 2010-11-03T07:22:27.103 回答
0

我不敢相信这是不可能的

我怀疑您写的是输入法编辑器,基于您的“手动选择”注释。这是一个全局结构,用户可以根据需要选择安装和使用。根据用户的判断,您的输入法编辑器可以在设备中的任何应用程序中使用。

无论您是否编写,您都不能在您的应用程序代码中强制使用特定的输入法编辑器。

您可以做的,也许是安排在您的输入法编辑器中使用相同的 UI,作为您活动中的某种弹出窗口。例如KeyboardView,根据 Hackborn 女士的说法,它是一个标准View,可以像其他任何标准一样使用。用户可以点击您旁边的按钮EditText来显示您的键盘 UI(例如,从屏幕底部向上滑动动画),或类似的东西。

我还清理了上下文菜单以禁止更改输入法

请允许用户选择输入法,或者不要使用EditText.

于 2010-10-21T14:22:53.080 回答