我试图说服EditText
- 视图只使用我写的SoftKeyboard。这已经困扰了我好几天了,我无法相信这是不可能做到的。我可能看不到明显的......
到目前为止,我设法根据Android SDK附带的示例编写自己的SoftKeyboard。我可以手动选择它作为输入法(长按,输入法,*选择*)。 SoftKeyboard然后工作正常,并做我想要的一切。我还清理了上下文菜单以禁止更改输入法(显然我现在需要它在菜单中,否则我将无法选择我的SoftKeyboard)。
换句话说,唯一剩下的就是将SoftKeyboard与EditText
联系起来。
我注意到ime*
上有一堆EditText
- 属性,但它们对我的问题似乎没有用,因为我不想改变任何关于操作键的内容。 inputMethod
需要一个KeyListener
,SoftKeyboard不是(我试图将其设为一个,但似乎是类加载器有问题,因为它找不到我的类=> { {1}})。
有谁能请我指出一些有用的信息?
答案 0 :(得分:3)
我正在重新发明我的方法并尝试在没有InputMethodService
的情况下工作。我将示例代码作为处理用户输入的参考。基本上它应该只是一个在需要时弹出的简单视图。
经过进一步研究,我发现了一个关于App-specific soft-keyboard的非常有用的问题。如果遇到我的情况,那就去看看吧。
答案 1 :(得分:0)
我无法相信这是不可能的
我怀疑你写的是一个输入法编辑器,基于你的“手动选择它”注释。这是一个全局构造,可供用户选择安装和使用(如果需要)。您的输入法编辑器可由用户自行决定在设备的任何应用程序中使用。
您在应用程序代码中无论是否编写它都无法强制使用特定的输入法编辑器。
您可以做的事情可能是安排使用输入法编辑器中的相同UI作为活动中的某种弹出窗口。例如,根据Hackborn女士的说法,KeyboardView
是一个标准View
,可以像其他任何一样使用。用户可以点击EditText
旁边的按钮来显示键盘用户界面(例如,从屏幕底部向上滑动动画),或类似的内容。
我还清理了上下文菜单以禁止更改输入法
请允许用户选择输入法,或者不要使用EditText
。