自定义Android键盘:如何创建辅助键盘

时间:2016-01-20 05:10:26

标签: android keyboard

我做了很多谷歌搜索,我找不到任何与我正在尝试做的事情有关的事情。

我已经按照本教程进行了操作:http://code.tutsplus.com/tutorials/create-a-custom-keyboard-on-android--cms-22615我正在使用它,因为我想要它用于我的自定义(俄语)键盘布局。但是我也希望能够在我的自定义俄语布局和英语布局之间来回切换。

现在我必须到我的屏幕顶部并且每次都选择一个新的键盘(需要大约5秒左右,但我经常来回切换)。我想点击一下即可在键盘之间切换。

如果有人可以向我解释如何创建一个允许我切换到非常感谢的第二个布局的键。

1 个答案:

答案 0 :(得分:0)

我不能够感谢Vivek Mishra。你是天才的好先生!

我创建了第二个xml文件(engQwerty.xml)来存储我的第二个布局。从那里我只需要在我的SimpleIME.java文件中,在方法" onCreateInputView()"中,我使用我的新xml文件创建了第二个键盘,并创建了一个私有布尔变量(在我的case isRus)跟踪我所处的布局。

  engKeyboard = new Keyboard(this, R.xml.engQwerty);
  isRus = true;

然后我添加了一个密钥,密钥代码-51(任意选择)到两个xml文件中。 然后回到SimpleIME.java文件中,在onKey函数下,我添加了:

  case -51 :

  if(isRus) {
      kv.setKeyboard(engKeyboard);
      isRus = false;
  }
  else {
      kv.setKeyboard(rusKeyboard);
      isRus = true;
  }

  break;

即检查我当前所处的布局并相应地在它们之间切换。

最后,如果您希望使用大写字母或Shift键来相应地更新键盘,请在" onKey"功能,"案例Keyboard.KEYCODE_SHIFT:"确保添加新键盘以成为" setShifted"。

  engKeyboard.setShifted(caps);

归功于Vivek Mishra。希望这可以帮助其他新手Android程序员,比如我自己找到一个相当简单的任务的解决方案。