带android的大写字母:keyOutputText?

时间:2014-04-15 14:36:13

标签: android keyboard android-softkeyboard ime

我正在开发一个特定于语言的软键盘。我的语言有两个字母字符,例如' ch'和'。我使用以下xml代码来显示和输出所需的字符

<Key android:keyOutputText="ng" android:keyLabel="ng"/>

但输出只是小写字母,即使它是句子中的第一个字母或使用SHIFT键。我怎样才能解决这个问题?所需的输出是在句子的第一个字母或使用shift键(例如Ngaiteh)时仅使用首字母大写,但是在使用大写时使其显示为全部大写(例如NGAITEH)

我知道使用普通的英文键盘很容易,只需逐个输入所需的字符,但这样可以提高我语言的打字速度。感谢。

1 个答案:

答案 0 :(得分:1)

在密钥而不是android:codes上使用xml属性android:keyOutputText,然后覆盖方法onKey(int primaryCode, int[] keyCodes)上的行为OnKeyboardActionListener

if (NG_KEYCODE == primaryCode) {
        if(keyboardView.isShifted()){
            getCurrentInputConnection().commitText(
                    "NG", 1);
        }else{
            getCurrentInputConnection().commitText(
                    "ng", 1);
        }
        updateShiftKeyState(getCurrentInputEditorInfo());
    }