📌  相关文章
📜  如何以编程方式隐藏Android软键盘(1)

📅  最后修改于: 2023-12-03 15:23:48.882000             🧑  作者: Mango

如何以编程方式隐藏Android软键盘

在Android开发中,软键盘经常需要根据不同的需求隐藏或显示。下面我们将介绍如何以编程方式隐藏Android软键盘。

方法一:使用InputMethodManager类

我们可以使用InputMethodManager类的hideSoftInputFromWindow方法来隐藏软键盘。

// 获取InputMethodManager
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

// 隐藏软键盘
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);

其中,getWindowToken方法会获取焦点的View的WindowToken,而0表示不需要额外的选项。

方法二:使用getWindow方法

我们也可以调用Activity的getWindow方法来隐藏软键盘。

// 隐藏软键盘
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

其中,WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN表示一直隐藏软键盘,即使EditText获取了焦点。

方法三:使用EditText的clearFocus方法

我们可以通过EditText的clearFocus方法来清除EditText的焦点,从而隐藏软键盘。

// 清除EditText的焦点
editText.clearFocus();

当EditText失去焦点后,软键盘也会自动隐藏。

总结

以上就是三种以编程方式隐藏Android软键盘的方法。需要注意的是,使用InputMethodManager类需要获取上下文的InputMethodManager实例,而使用getWindow方法和EditText的clearFocus方法需要在对应的Activity或EditText中进行操作。