1.你可以使用InputMethodManager来让Android隐藏虚拟键盘,调用hideSoftInputFromWindow,传递带有你的编辑框的窗口标记。
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
这将让键盘在所有的情况下都被隐藏。在一些情况下,你可能想要让InputMethodManager.HIDE_IMPLICIT_ONLY作为第二个参数,来保证当使用者并不是十分明确的确定它是否出现的时候(通过按菜单键)你只是隐藏了键盘。
2.InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive()) { //如果开启
imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NOT_ALWAYS); //关闭软键盘,开启方法相同
//这个方法是切换开启与关闭状态的
}
3.int flags = WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
getWindow().addFlags(flags);
4.对隐藏软件的键盘也有用的是:
getWindow().setSoftInputMode(.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
这个可以被用来控制键盘,直到使用者确实碰了编辑框