Пользовательская клавиатура Android: как попасть в другой вид, нажав и удерживая клавишу ввода
Я пытаюсь изменить вид клавиатуры при ее длительном нажатии. (ПРИМЕЧАНИЕ: KeyEvent.getAction() здесь не существует).
Я уже переопределяю методы onKeyDown(), onKeyUP() и onKeyLongPress(), но у меня это не работает.
@Override
public void onKey(int primaryCode, int[] keyCodes) {
Log.d(TAG, "onKey: "+primaryCode);
InputConnection inputConnection = getCurrentInputConnection();
switch (primaryCode){
case -6:
keys = keyboardView.getKeyboard().getKeys();
.....
break;
case Keyboard.KEYCODE_DELETE:
sendDownAndUpKeyEvent(KeyEvent.KEYCODE_DEL, 0);
break;
case Keyboard.KEYCODE_SHIFT:
....
break;
case Keyboard.KEYCODE_DONE:
// here is the problem
if (KeyEvent.getAction() == KeyEvent.ACTION_DOWN) {
sendDownAndUpKeyEvent(KeyEvent.KEYCODE_ENTER, 0);
} else if (event.getAction() == KeyEvent.ACTION_UP) {
changeToEmojiView();
}
break;