在开发过程中,遇到进入某一有EditText页的时候,软键盘会自动弹出来。
在网上找到如下禁止其自动弹出的解决方案
1.
View windowToken=myEditText; // myEditText 是自动获得了焦点的EditText
((InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(windowToken.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
该方法可以主动去控制软键盘的隐藏,比较灵活
2.将焦点移动到其他非EditText组件上 。
需要在非EditText的布局上进行如下设置
android:focusable="true"
android:focusableInTouchMode="true"
需要注意的是 今天发现当把焦点移动到listView上时
如果设置了android:scrollbars="none" 软件盘可以隐藏
否则该方法失效
该方法比较简单,但可能会和焦点目标组件的其他设置冲突而没有隐藏效果。