Android软键盘

如何关闭或隐藏 Android 中的软键盘?

2016-12-05  本文已影响276人  何一涛

imhe 译自 stackoverflow

问题描述

我写了个布局,其中有一个 EditText 和一个 Button。在 EditText 中编辑完并点击 Button 后我希望能够隐藏虚拟键盘,请问有没简单的实现方法?

高票答案1

使用 InputMethodManagerhideSoftInputFromWindow 方法,并传递包含你的 view 的窗口的句柄。

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

这种强制隐藏软键盘的方法适用于所有情况。但某些情况下你可以在hideSoftInputFromWindow方法的第2个参数中传入 InputMethodManager.HIDE_IMPLICIT_ONLY 确保你只希望当用户没有明确强制它出现(通过按住菜单)时隐藏软键盘。

高票答案2

下面这种方式也可以实现隐藏软键盘。

InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);

译者补充

显示/隐藏软键盘的方法也可以参考这里

上一篇 下一篇

猜你喜欢

热点阅读