📅  最后修改于: 2023-12-03 15:23:48.882000             🧑  作者: Mango
在Android开发中,软键盘经常需要根据不同的需求隐藏或显示。下面我们将介绍如何以编程方式隐藏Android软键盘。
我们可以使用InputMethodManager类的hideSoftInputFromWindow方法来隐藏软键盘。
// 获取InputMethodManager
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
// 隐藏软键盘
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
其中,getWindowToken方法会获取焦点的View的WindowToken,而0表示不需要额外的选项。
我们也可以调用Activity的getWindow方法来隐藏软键盘。
// 隐藏软键盘
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
其中,WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN表示一直隐藏软键盘,即使EditText获取了焦点。
我们可以通过EditText的clearFocus方法来清除EditText的焦点,从而隐藏软键盘。
// 清除EditText的焦点
editText.clearFocus();
当EditText失去焦点后,软键盘也会自动隐藏。
以上就是三种以编程方式隐藏Android软键盘的方法。需要注意的是,使用InputMethodManager类需要获取上下文的InputMethodManager实例,而使用getWindow方法和EditText的clearFocus方法需要在对应的Activity或EditText中进行操作。