2015-10-13 99 views

回答

1

为阿拉伯语,波斯语等(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); 
     } 
    } 
}