2011-08-31 46 views
1

我試圖讓鍵盤...Android的InputMethodService - 如何獲取unicode字符?

int code = 29; // Key code constant: 'A' key. Constant Value: 29 (0x0000001d) 
KeyEvent k = new KeyEvent(KeyEvent.ACTION_UP, code); 

InputConnection ic = getCurrentInputConnection(); 
ic.sendKeyEvent(k); 

該代碼發送精美的字母「A」的應用程序,因爲它的代號爲「29」相關聯,如從這裏http://developer.android.com/reference/android/view/KeyEvent.html

但我應該做的,如果我想使用Unicode字符,如在這裏
http://en.wikipedia.org/wiki/List_of_Unicode_characters

+0

ic.commitText( 「ПРЕВЕДМЕДВЕД」,0); – Roger

回答

-1

請檢查softkeyboard示例代碼。

如果您正在開發一個新的鍵盤(例如任何其他語言),請將android:code屬性值更改爲您希望鍵盤輸出的unicode值。 這工作正常,我認爲你可以在同一個softkeyboard項目中測試它。

0

如果你正在建設一個鍵盤的應用程序,並在XML中的鍵盤佈局,你可以看看用戶Laurent'在另一thread提供建議:

<Key android:codes="946" android:keyLabel="\u03B2"/> 
<Key android:codes="946" android:keyLabel="&946;"/> 
<Key android:codes="946" android:keyLabel="β"/> 
<!-- Warning, you should use UTF-8 encoding for your project files if you use the third solution --> 
<!-- all produce the same key with greek β character (unicode \u03B2, decimal 946) --> 
相關問題