如果界面中包含 EditText,在界面启动后,总是会弹出软键盘,即使在 EditText 已经设置 setEnabled(false) 也不能隐藏。也尝试使用 InputMethodManager 隐藏软键盘,都失败了。
下面介绍一种验证成功的方法:
AndroidMainfest.xml 文件中配置
android:windowSoftInputMode="stateHidden"
或者
android:windowSoftInputMode="adjustPan"
区别见:http://blog.csdn.net/yunnywu/article/details/7926015
附上调用 InputMethodManager 显示隐藏软键盘的方法:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
// 获取软键盘的显示状态
boolean isOpen=imm.isActive();
// 如果软键盘已经显示,则隐藏,反之则显示
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
// 隐藏软键盘
imm.hideSoftInputFromWindow(view, InputMethodManager.HIDE_NOT_ALWAYS);
// 强制显示软键盘
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
// 强制隐藏软键盘
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
参考: