android自定义软键盘拦截ime_action

时间:2016-12-14 12:19:40

标签: android android-softkeyboard

我目前正在Android中制作一个自己的软键盘,并且很难选择ime动作 - (IME_ACTION_SEARCHIME_ACTION_DONE等。)

例如,如果用户进入谷歌搜索而不是操作按钮应该是搜索按钮,如果它是短信,则它将是换行符。我怎么能区别对待呢?

我试着在没有运气的情况下寻找它。

onCreateInputView(){}

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您可以在getCurrentInputEditorInfo上致电InputMethodService。然后你可以检查EditorInfo的imeOptions property

int imeOptions = mInputMethodService.getCurrentInputEditorInfo().imeOptions;
switch (imeOptions&EditorInfo.IME_MASK_ACTION) {
            case EditorInfo.IME_ACTION_NONE:
                // None
            case EditorInfo.IME_ACTION_GO:
                // Go
            case EditorInfo.IME_ACTION_SEARCH:
                // Serach
            case EditorInfo.IME_ACTION_SEND:
                // Send
            case EditorInfo.IME_ACTION_NEXT:
                // Next
            case EditorInfo.IME_ACTION_DONE:
                // Done
        }