IME клавиша «Ввод» ведет себя как «Отправить» в FB Messenger - PullRequest
0 голосов
/ 25 ноября 2018

При использовании FB Messenger ,

На моей пользовательской клавиатуре нажмите клавишу «Ввод» -> отправить сообщение.

Но на клавиатуре Google нажмите «Enter»"клавиша -> переходит на новую строку.

Как перейти на новую строку, нажав клавишу" Enter "на моей пользовательской клавиатуре?

                EditorInfo editorInfo = getCurrentInputEditorInfo();
                int imeOptions = editorInfo != null ? editorInfo.imeOptions : -77;
                switch (imeOptions & (EditorInfo.IME_MASK_ACTION|EditorInfo.IME_FLAG_NO_ENTER_ACTION)) {
                    case EditorInfo.IME_ACTION_GO:
                        ic.performEditorAction(EditorInfo.IME_ACTION_GO);
                        break;
                    case EditorInfo.IME_ACTION_NEXT:
                        ic.performEditorAction(EditorInfo.IME_ACTION_NEXT);
                        break;
                    case EditorInfo.IME_ACTION_SEARCH:
                        ic.performEditorAction(EditorInfo.IME_ACTION_SEARCH);
                        break;
                    case EditorInfo.IME_ACTION_SEND:
                        ic.performEditorAction(EditorInfo.IME_ACTION_SEND);
                        break;
                    default:
                        // seems like passing here but sending the message
                        ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
                        break;
                }

1 Ответ

0 голосов
/ 25 ноября 2018

Итак, что вы можете сделать, это прослушать, когда клавиша нажата, вот так:

 @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_ENTER){
        // Get the text in the TextView or whatever and append the "\n" to it.
        textView.setText(textView.getText.toString() + "\n");
    }
}

Это прослушивает, когда клавиша нажата, а затем проверяет, была ли нажатая клавиша Enterключ.Затем он добавляет новую строку, выполнив \n.Надеюсь, это поможет.

...