1

在我的应用程序中,我显示/隐藏键盘以允许用户操作自定义小部件。没有EditText重点。

我遇到的问题是我希望布局在键盘显示时调整大小。这通常通过添加android:windowSoftInputMode="adjustResize"到清单中的活动标签来完成。当设备(当前运行 2.2 的 7 英寸 Galaxy Tab)处于纵向模式时,这确实有效,但当旋转到横向时,布局不会调整大小并且键盘隐藏了一半的屏幕。

现在,我注意到如果改为使用具有 的 EditView android:imeOptions="flagNoExtractUi",则布局会适当地调整大小。有没有办法在通过窗口令牌显示的键盘上实现相同的效果?

向屏幕添加隐藏的 EditView 并不理想,因为它会极大地改变实现。

作为参考,这是我用来在自定义小部件中显示键盘的代码。

    mInputMethod = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    mInputMethod.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
    requestFocus();
    setOnKeyListener(this);

并隐藏。

    mInputMethod.hideSoftInputFromWindow(getWindowToken(), 0);
    setOnKeyListener(null);
4

0 回答 0