如果界面中包含 EditText,在界面启动后,总是会弹出软键盘,即使在 EditText 已经设置 setEnabled(false) 也不能隐藏。也尝试使用 InputMethodManager 隐藏软键盘,都失败了。
下面介绍一种验证成功的方法:
AndroidMainfest.xml 文件中配置
android:windowSoftInputMode="stateHidden"
或者
android:windowSoftInputMode="adjustPan"
区别见:http://blog.youkuaiyun.com/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);
参考:
本文介绍了如何解决在Android应用中EditText组件导致的软键盘自动弹出问题,即便已设置为不可编辑状态。提供了在AndroidManifest.xml中配置禁用软键盘自动弹出的方法,并分享了使用InputMethodManager进行软键盘显示与隐藏的具体代码实现。
757

被折叠的 条评论
为什么被折叠?



