以编程方式更改 Android 上的物理键盘 (Android Studio)



我想在以编程方式使用键盘时将物理键盘布局更改为希伯来语。现在,当我按下物理键盘时,它会输入英文字符。我正在为安卓棒棒糖及更高版本开发我的应用程序。

好的,经过一些研究,我找到了这个问题的解决方案 - 我必须实现KeyEvent.Callback接口, 并重写 onKeyDown 方法。此方法输入我按下的键代码, 我必须用我想写的语言把它翻译成字符。 代码如下所示:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Toast.makeText(getApplicationContext(),"Keycode="+keyCode,Toast.LENGTH_LONG).show();
handleKey('ש');
return true;
}
public void handleKey(int keyCode)
{
InputConnection inputConnection = getCurrentInputConnection();
if (inputConnection != null) {
switch(keyCode) {
case Keyboard.KEYCODE_DELETE :
CharSequence selectedText = inputConnection.getSelectedText(0);
if (TextUtils.isEmpty(selectedText)) {
inputConnection.deleteSurroundingText(1, 0);
} else {
inputConnection.commitText("", 1);
}
break;
default :
char code = (char) keyCode;
inputConnection.commitText(String.valueOf(code), 1);
}
}

这是我在Google文档中找到此解决方案的链接:https://developer.android.com/training/keyboard-input/commands

最新更新