如何编程关闭/隐藏安卓软键盘?
在Android开发中,有时候需要通过程序控制软键盘的显示和隐藏,比如当输入完成时,我们可以调用相关的API来关闭软键盘,以提高用户体验。
要关闭软键盘,可以使用 InputMethodManager 类的 hideSoftInputFromWindow 方法,该方法有三个参数:
- IBinder类型的参数,表示当前窗口的 
token - int类型的参数,表示操作类型,一般设置为0
 - ResultReceiver类型的参数,用于接收软键盘的状态,可以设置为 
null 
下面是一个实例代码:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
在上面的代码中,首先通过 getSystemService 方法获取 InputMethodManager 对象,然后调用 hideSoftInputFromWindow 方法来关闭软键盘,参数 getCurrentFocus().getWindowToken() 表示当前窗口的 token。
另外,还可以使用 InputMethodManager 类的 toggleSoftInput 方法来切换软键盘的显示状态,该方法有两个参数:
- int类型的参数,表示操作类型,可以设置为 
InputMethodManager.HIDE_IMPLICIT_ONLY或InputMethodManager.SHOW_FORCED - int类型的参数,表示软键盘的显示状态,可以设置为 
0或1 
下面是一个实例代码:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
在上面的代码中,首先通过 getSystemService 方法获取 InputMethodManager 对象,然后调用 toggleSoftInput 方法来切换软键盘的显示状态,参数 InputMethodManager.HIDE_IMPLICIT_ONLY 表示只隐藏没有显式请求显示的软键