在Android开发中,免不了需要关闭软键盘,常用的关闭软键盘的方法如下:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
但是在与H5的交互过程中,这种方法在某些机型(亲测华为荣耀6)会出现弹起软键盘,具体原因不可知,所以就使用了强制关闭软件盘的方法:
//不管软键盘是否打开都关闭软键盘 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); if (null != imm) { boolean isOpen = imm.isActive();//isOpen若返回true,则表示输入法打开 if (isOpen) { // imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); if (getCurrentFocus() != null) {//强制关闭软键盘 imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } } }使用强制关闭软键盘之后,在华为荣耀6手机上就不会出现弹起软键盘的一瞬间了!