【发布时间】:2019-04-27 10:20:18
【问题描述】:
在使用 FB Messenger 时,
在我的自定义键盘中,按“Enter”键 -> 发送消息。
但在谷歌键盘中,按“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;
}
【问题讨论】:
-
你好。我的回答有帮助吗?
标签: java android android-softkeyboard ime