0

这个问题已经有了答案,它是对 SO 问题库的贡献。

在我的自定义视图中,我实现了onCreateInputConnection这样的方法:

@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
    BaseInputConnection baseInputConnection =
            new BaseInputConnection(this, false);

    outAttrs.actionLabel = null;
    outAttrs.inputType = InputType.TYPE_NULL;
    outAttrs.imeOptions = EditorInfo.IME_ACTION_NONE;

    return baseInputConnection;
}

但由于一些奇怪的原因,在 Android 5 的默认 AOSP 键盘中,只有顶行的键有效。请注意,我有一个横向布局。如果我切换到纵向,它开始正常工作。其他键盘也可以正常工作。

4

1 回答 1

0

事实证明,我不得不改变这一行:

outAttrs.imeOptions = EditorInfo.IME_ACTION_NONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI;

IME_FLAG_NO_EXTRACT_UI是防止键盘进入全屏的标志。但它还没有进入全屏(因为我的输入类型是TYPE_NULL)。

归根结底,这是 Android 5 的错误。

于 2019-11-24T16:10:09.970 回答