如何在横向模式下强制显示键盘?

时间:2011-07-16 13:09:39

标签: android android-softkeyboard

如何在活动启动时强制以横向模式显示虚拟键盘?这个键盘没有填满整个屏幕,所以我可以在键盘上方显示一些视图。

3 个答案:

答案 0 :(得分:1)

请在此处查看类似问题的答案: How to open only half keyboard in Landscape mode?

解决方案。

您需要在xml中引入android:imeOptions="flagNoExtractUi"属性才能产生效果。

答案 1 :(得分:0)

我猜你正在谈论强迫在带有硬键盘的设备中以横向模式显示软键盘,对吗?

我们可以通过以下代码来实现:

InputMethodManager input = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
if(input != null)
    input.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);

答案 2 :(得分:0)

这是唯一对我有用的组合:

private void hideKeyboard() {
    InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
    View view = this.getCurrentFocus();
    if (view != null && imm != null) {
        imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
    }
}

并展示它:

private void showKeyboard(View view){
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    if (imm != null) {
        imm.showSoftInput(view, 0);
    }
}

我还在XML格式的视图中添加了android:imeOptions="flagNoExtractUi"