横向模式下的软键盘文本不显示EditText的所有字符

cod*_*ody 0 keyboard android landscape flip android-softkeyboard

我注意到横向模式下软键盘的文本与我在纵向模式下的EditText字段中看到的字符不相同.我为EditText使用keylistener只接受特殊字符:

private class MyKeylistener extends NumberKeyListener {
    public int getInputType() {
        return InputType.TYPE_CLASS_NUMBER;
    }
    @Override
    protected char[] getAcceptedChars() {
        return new char[] {'0','1','2','3','4','5','6','7','8','9',',','-'};
    }
};
Run Code Online (Sandbox Code Playgroud)

当我在横向模式下键入","时,我在软键盘文本中看不到它,但当我将屏幕翻转为纵向模式时,它会出现在EditText中.如何使软键盘文本显示所有允许的字符?我附上一张图片来说明我的意思,EditText是"34,37,39":

替代文字

cod*_*ody 6

我找到了答案:-)

通过使用此行,您只需在横向模式下隐藏软键盘文本:

myEditText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
Run Code Online (Sandbox Code Playgroud)

这样,EditText在横向模式下也可以在键盘上方看到,并且一切都按预期工作.另见:imeOptions