以编程方式更改键盘语言

Bel*_*bub 3 android

在我的应用程序中,用户选择一种语言,我想在键盘打开时显示所选语言(如果它存在于键盘选项中)。键盘提供了这个选项,所以它应该是可能的。

Nir*_*uan 5

关于如何做到这一点,有一个很大的工作要做——那就是创建你自己的键盘,要做到这一点,你必须知道你想要的键盘。(这将与常规键盘完全相同)

有关该主题的一般指南和代码示例

创建一个扩展keyboardView的自定义键盘视图,
在其中创建静态键值变量,例如

static final int KEYCODE_LANGUAGE_SWITCH_ENG = -102;
static final int KEYCODE_LANGUAGE_SWITCH_URDU = -103;
Run Code Online (Sandbox Code Playgroud)

之后,在实现了 inputMethodService 的 IME 类中,在 onInitializeInterface 重写函数中创建键盘。喜欢

mSymbolsKeyboard = new Keyboard(this, R.xml.qwerty2);
mEngQwertyKeyboard = new Keyboard(this, R.xml.eng_qwerty);
Run Code Online (Sandbox Code Playgroud)

之后,在 onKey 覆盖函数中添加这些最终静态键作为开关案例,并在案例中相应地设置键盘:

setKeyboard(mEngQwertyKeyboard);
Run Code Online (Sandbox Code Playgroud)

  • 我已经看到这个答案,但仍然无法正确使用它,您能提供一些详细信息吗? (2认同)