在 xml 资源文件中默认创建没有按键定义的键盘视图

Create KeyboardView by default keyboard without key definition in xml resource file

我正在从 android 键盘 class (https://developer.android.com/reference/android/inputmethodservice/Keyboard.html) 创建一个对象。就我而言,我只需要默认键盘,不需要自定义键盘。但是键盘 class 的构造函数需要一个包含行和键定义的 xml 资源文件。看来只能用来制作自定义键盘了

我需要键盘对象 class 才能在 TabLayout 的 KeyboardView 中使用它:

keyboard123 = (KeyboardView) Tab2View.findViewById(R.id.keyboard123);
Keyboard k1 = new Keyboard(Tab2View.getContext(), R.xml.qwerty_keyboard);
k1 = new Keyboard(Tab2View.getContext(), com.android.internal.R.id.keyboardView);
keyboard123.setKeyboard(k1);

上面的代码工作得很好,但前提是我创建一个 xml 文件 "qwerty_keyboard" 并定义键。有没有办法只获取 android 默认键盘并将其显示在 TabLyout 的其中一个选项卡中?

你不能按照你想要的方式去做。您不能在视图中创建默认键盘,因为它是一个单独运行的独立应用程序。

因此,为了实现您正在尝试的目标,您需要请求输入管理器在您转到键盘选项卡时弹出,但坦率地说,您会遇到很多我赢得的尺寸(高度)问题' 推荐这种设计:) 想想看,每个人都可以做一个键盘,每个人都可以安装一个,有很多很多很多键盘,它们都有不同的高度,但是你也许可以得到那个高度并做一些魔法...

另一种选择就是制作您自己的嵌入式键盘(有点像您已经做过的)。