0

我注意到横向模式下软键盘的文本与纵向模式下的 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',',','-'};
    }
};

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

替代文字

4

1 回答 1

6

我找到了答案:-)

通过使用这一行,您可以简单地在横向模式下隐藏软键盘文本:

myEditText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);

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

于 2010-11-06T23:58:47.770 回答