Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义Android键盘:如何创建辅助键盘_Android_Keyboard - Fatal编程技术网

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

自定义Android键盘:如何创建辅助键盘,android,keyboard,Android,Keyboard,我已经在谷歌上搜索了很多次,但我找不到任何与我想做的事情相关的东西 我遵循了这个教程:我让它在我的自定义(俄语)键盘布局中按我所希望的方式工作。然而,我也希望能够在我的自定义俄语布局和英语布局之间快速切换 现在,我必须进入屏幕顶部,每次选择一个新键盘(大约需要5秒,但我经常来回切换)。我想让它1点击切换键盘之间 如果有人能向我解释如何创建一个键,让我切换到第二个布局,我将不胜感激。我非常感谢你Vivek Mishra。你是个天才,好先生 我创建了第二个xml文件(engQwerty.xml)来存

我已经在谷歌上搜索了很多次,但我找不到任何与我想做的事情相关的东西

我遵循了这个教程:我让它在我的自定义(俄语)键盘布局中按我所希望的方式工作。然而,我也希望能够在我的自定义俄语布局和英语布局之间快速切换

现在,我必须进入屏幕顶部,每次选择一个新键盘(大约需要5秒,但我经常来回切换)。我想让它1点击切换键盘之间


如果有人能向我解释如何创建一个键,让我切换到第二个布局,我将不胜感激。

我非常感谢你Vivek Mishra。你是个天才,好先生

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

  engKeyboard = new Keyboard(this, R.xml.engQwerty);
  isRus = true;
然后,我添加了一个键,在两个xml文件中都添加了keycode-51(任意选择)。 然后回到simpleme.java文件中,在onKey函数下,我添加了:

  case -51 :

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

  break;
ie检查我当前所在的布局,并相应地在它们之间切换

最后,如果您希望大写或shift键相应地更新键盘,请在“On key”功能中的“case keyboard.KEYCODE_shift:”下确保添加新键盘,使其成为“SetShift”


这一切都归功于维韦克·米什拉。希望这能帮助其他android新手程序员(如我自己)找到一个相当简单任务的解决方案。

只需在自定义键盘上添加一个语言键,然后单击“更改键盘xml文件”。你必须试着看看它是否有效。我非常感谢你的答复。这正是我想要做的。你能告诉我语言键的键码是什么吗?如何切换键盘xml?我可以创建第二个xml,只是不知道如何切换到它。我非常感谢您的帮助。@Kurt您可以通过设置
标记:
切换到这两种布局,并在活动中检查这些标记。我不知道确切的键码,但有一次我为键盘创建了一个笑脸键,我只是点击并尝试了键码,-10键码对我很有用。你也可以试试你的键盘,我根本不懂android编程。这是我的第一个android项目,也可能是我的最后一个,所以我对这是什么并不太熟悉。我相信这篇教程并没有将其设置为“活动”(?)。所以我不确定这是否是我的选择。“此应用没有活动,这意味着它不会显示在启动器中。”
  engKeyboard.setShifted(caps);