InputMethodService для Android - как получить символы юникода?

1

Я пытаюсь сделать клавиатуру...

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);
Теги:

2 ответа

0

Если вы создаете приложение для клавиатуры и имеете раскладку клавиатуры в xml, вы можете посмотреть предложение, предоставленное пользователем Laurent ' в другом потоке:

<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) -->
-1

Проверьте код образца программной клавиатуры.

Если вы разрабатываете новую клавиатуру (например, для любого другого языка), измените значение атрибута android: code на значение unicode, которое вы хотите вывести на клавиатуру. Это прекрасно работает, и я думаю, вы можете протестировать его в том же проекте softkeyboard.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню