如何在不使用editview时为软键盘指定ime选项?

时间:2011-10-26 10:59:30

标签: android android-layout android-keypad

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

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

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

在屏幕上添加隐藏的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);

0 个答案:

没有答案