android 收起软键盘
时间: 2023-08-20 20:02:05 浏览: 236
在Android中,可以通过以下两种方式收起软键盘:
1. 使用InputMethodManager类的hideSoftInputFromWindow方法:在需要收起软键盘的地方,首先获取当前焦点所在的EditText或者View实例,然后通过InputMethodManager类的静态方法getInstance()获取InputMethodManager对象,最后调用hideSoftInputFromWindow方法来收起软键盘。示例代码如下:
```java
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
```
其中,view是当前焦点所在的EditText或者View实例。
2. 使用Window类的setSoftInputMode方法:在Activity的onCreate方法或者在AndroidManifest.xml文件中的Activity节点中,设置windowSoftInputMode属性为stateAlwaysHidden来实现默认不弹出软键盘,然后通过setSoftInputMode方法来控制软键盘的显示隐藏。示例代码如下:
```java
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
```
这样设置后,当焦点改变时,软键盘就会自动收起。
需要注意的是,以上两种方式中的view或者Activity中需要获取焦点的View实例,通常是EditText或者EditText所在的布局等View组件。同时,需要保证软键盘弹出前该View已经加载完毕,否则无法正常收起软键盘。
阅读全文