当前位置: 首页 > 知识库问答 >
问题:

Android:隐藏软输入键盘

姬烨磊
2023-03-14

我需要隐藏软键盘以响应单击按钮。我看到了一些关于这方面的帖子,我尝试了:

InputMethodManager im = (InputMethodManager) getSystemService(
    Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(myEditText1.getWindowToken(), 0);

这很有效。但现在我有两个EditText视图。无论选择了哪个EditText,现在如何隐藏软键盘?我也试过了

InputMethodManager im = (InputMethodManager) getSystemService(
    Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(myEditText1.getWindowToken(), 0);
im.hideSoftInputFromWindow(myEditText2.getWindowToken(), 0);

,但那不起作用...

谢谢你的帮助!

编辑:找到解决方案。贴在下面。

共有3个答案

南门正祥
2023-03-14
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

您可以“玩”参数来实现任何您想要的。希望这有帮助!

范翰海
2023-03-14

一种解决方案是不从EditText获取窗口标记,而是从buton获取,它隐藏了键盘本身:

InputMethodManager im = (InputMethodManager) getSystemService(
    Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(hideKeyboardButton.getWindowToken(), 0);
印子平
2023-03-14

简单地说,你不需要提出具体的观点。我正在使用它,并且可以工作:)

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
 类似资料:
  • 我有一个AutoCompleteTextView,它像往常一样在用户键入3个字母后提供建议。一旦我触摸建议列表,我想隐藏软键盘一次。我在下面用表格布局所做的只是在单击除建议列表之外的任何地方时隐藏键盘。 可扩展置标语言 爪哇岛 用于自定义列表的 XML

  • 我试图防止在SearchView上调用requestFocus()后键盘出现,但在Android8上没有解决方案。 我试过: /*3/ /*4/ onGlobalLayout()工作,但软键盘显示了近0.5秒后消失。 即使在调用requestFocus()之后,是否可以帮助隐藏软键盘?

  • 使用操作栏导航加载第二个片段后 重新加载另一个片段,动作栏仍然是visibile 我用一个测试项目用最小的代码加载片段,行为是一样的,分裂条被软键盘隐藏。我怎样才能使它从一开始就显示拆分条?

  • 我有一个按钮和编辑文本。当用户在编辑文本中完成输入并按下按钮时,我想关闭我的软键盘。 或它的任何指南或参考链接。

  • 我有三个编辑文本字段。在这些字段中,我想只显示第一个字段的软输入键盘,并禁用后面两个字段,即日期和时间字段。 通过使用下面的代码,我可以禁用字段2和字段3的键盘,但当用户关注字段1时,键盘会出现,但当用户点击字段2或字段3时,键盘不会隐藏。虽然当第一次点击字段2或3时,不会出现键盘。 如果软输入键盘已打开,如何隐藏它?

  • 我的问题是我需要知道键盘隐藏和显示事件,如何找出这一点?