2014-04-15 76 views
0

我正在開發一個android中語言特定的軟鍵盤。我的語言有兩個字母字符,如'ch'和'ng'。我用下面的XML代碼顯示和輸出所需要的字符帶有android:keyOutputText的大寫字母?

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

但只有在小寫字母即使它在一個句子的第一個字母或當使用SHIFT鍵輸出。我怎樣才能解決這個問題?要求的輸出結果只有在第一個字母的首字母大寫或者使用shift鍵(例如Ngaiteh)時纔會產生首字母大寫,但是當使用大寫字母時(例如NGAITEH),它會顯示全部大寫字母(例如NGAITEH)

I知道它很容易使用正常的英文鍵盤,只需輸入所需的字符一個一個,但這將真正提高我的語言的打字速度。謝謝。上鍵,而不是android:keyOutputText

回答

1

使用XML屬性android:codes,然後覆蓋這些行爲上的方法onKey(int primaryCode, int[] keyCodes)OnKeyboardActionListener

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