android - 按需显示软键盘

时间:2011-06-25 01:07:13

标签: android soft-keyboard

您好我将edittext控件包装到用户请求屏幕上显示的控件上。它覆盖整个屏幕,直到用户按下键盘上的“完成”按钮。

我无法在屏幕上明确显示控件。只有当用户点击控制权时才会显示。我错过了什么吗?

我甚至尝试了这个,当我启动编辑文本存在的叠加层时,它并没有使用它:

customCOntrol.showKeyboard();

public void showKeyboard()
    {
        InputMethodManager imm = (InputMethodManager)_context.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(this._textView.getWindowToken(), InputMethodManager.SHOW_IMPLICIT);
    }

这里是我在配置文件android屏幕上的settig:windowSoftInputMode =“stateHidden | adjustPan”

提前谢谢

2 个答案:

答案 0 :(得分:9)

在您正在调用的showKeyboard函数中:

 imm.hideSoftInputFromWindow(this._textView.getWindowToken(), InputMethodManager.SHOW_IMPLICIT);

这将隐藏窗口中的softInput键盘! 你想要显示键盘吗?如果是,那么你会使用:

 imm.showSoftInput(view, flags, resultReceiver);

编辑:我认为您也可以从InputMethodManager切换键盘,尝试:

 imm.toggleSoftInput(0, 0);

答案 1 :(得分:-1)

@dropsOfJupiter

您可以在启动包含EditText引用的Activity或Fragment时执行:editText.requestFocus()。这将把重点放在EditText上,并将带来SoftKeyboard。

我希望这会有所帮助。