为阿拉伯语,波斯语等(UTF-8)字符自定义键盘应该使用你在java类中改变了字符串, 算法是找到在xml中定义的键码,并使用它们等于cha racter阿拉伯语与,
如上他们为“ش”的文字代码的教程应该是这个样子:
public void onKey(int primaryCode, int[] keyCodes) {
InputConnection ic = getCurrentInputConnection();
playClick(primaryCode);
switch (primaryCode) {
case Keyboard.KEYCODE_DELETE:
ic.deleteSurroundingText(1, 0);
break;
case Keyboard.KEYCODE_SHIFT:
caps = !caps;
keyboard.setShifted(caps);
kv.invalidateAllKeys();
break;
case Keyboard.KEYCODE_DONE:
ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
break;
default:
char code = (char) primaryCode;
if (Character.isLetter(code) && caps) {
code = Character.toUpperCase(code);
}
if (code == 97) {
ic.commitText(" ش",1);// your character
} else {
ic.commitText(String.valueOf(code), 1);
}
}
}