Android 软键盘:只有顶行键有效
Android soft keyboard: only top row of keys work
这个问题已经有了答案,这是对 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 键盘中只有最上面一行的键有效 。
请注意,我有横向布局。如果我切换到纵向,它就会开始正常工作。其他键盘也可以正常工作。
事实证明,我不得不更改这一行:
outAttrs.imeOptions = EditorInfo.IME_ACTION_NONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI;
IME_FLAG_NO_EXTRACT_UI
是防止键盘进入全屏的标志。但它还没有进入全屏(因为我的输入类型是 TYPE_NULL
)。
最重要的是,这是 Android 5.
的错误
这个问题已经有了答案,这是对 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 键盘中只有最上面一行的键有效 。 请注意,我有横向布局。如果我切换到纵向,它就会开始正常工作。其他键盘也可以正常工作。
事实证明,我不得不更改这一行:
outAttrs.imeOptions = EditorInfo.IME_ACTION_NONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI;
IME_FLAG_NO_EXTRACT_UI
是防止键盘进入全屏的标志。但它还没有进入全屏(因为我的输入类型是 TYPE_NULL
)。
最重要的是,这是 Android 5.
的错误