我不能感谢你足够的Vivek Mishra。你是个天才好先生!
我创建了第二个xml文件(engQwerty.xml)来存储我的第二个布局。从那里开始,我的SimpleIME.java文件中的方法“onCreateInputView()”中,我使用新的xml文件创建了第二个键盘,并创建了一个私有布尔变量(在我的情况下是isRus)以保持跟踪其中布局我在。
engKeyboard = new Keyboard(this, R.xml.engQwerty);
isRus = true;
然后,我添加了一个密钥,与密钥-51(任意选择)到这两个xml文件。 然后回到SimpleIME.java文件时,安其作用下,我说:
case -51 :
if(isRus) {
kv.setKeyboard(engKeyboard);
isRus = false;
}
else {
kv.setKeyboard(rusKeyboard);
isRus = true;
}
break;
即检查我目前在布局和它们之间切换相应。最后,如果你想让caps或shift键相应地更新你的键盘,在“onKey”函数的“case Keyboard.KEYCODE_SHIFT:”下确保你添加你的新键盘变成“setShifted”。
engKeyboard.setShifted(caps);
归功于Vivek Mishra。希望这可以帮助像我这样的新手android程序员找到一个相当简单的任务的解决方案。
只需在您的自定义键盘上添加一个语言键,然后点击更改键盘的xml文件即可。你必须尝试看看它是否有效。 –
我非常感谢答复。这正是我想要做的。有没有机会告诉我该语言键的键码是什么?以及如何切换键盘xml的?我可以创建第二个XML,只是不知道如何切换到它。 我真的很感谢你的帮助。 – Kurt
@Kurt你可以通过设置'tag:'切换到两个布局,并检查活动中的标签。 – Gattsu