在我的应用程序中,我正在显示/隐藏键盘以允许用户操作自定义小部件。没有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);