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

活动开始时如何隐藏软键盘

桂梓
2023-03-14

我有一个在清单中带有< code > Android:windowSoftInputMode = " state visible " 的Edittext。现在,当我开始活动时,键盘会显示出来。怎么隐藏?我不能使用< code > Android:windowSoftInputMode = " state hidden ,因为当键盘可见时,最小化应用程序并恢复它,键盘应该是可见的。我试着

InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);

但它没有起作用。

共有3个答案

章玮
2023-03-14

只需在editText的父视图中添加两个属性。

android:focusable="true"
android:focusableInTouchMode="true"
云英才
2023-03-14

使用以下功能显示/隐藏键盘:

/**
 * Hides the soft keyboard
 */
public void hideSoftKeyboard() {
    if(getCurrentFocus()!=null) {
        InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
        inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
    }
}

/**
 * Shows the soft keyboard
 */
public void showSoftKeyboard(View view) {
    InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    view.requestFocus();
    inputMethodManager.showSoftInput(view, 0);
}
申屠弘图
2023-03-14

在< code>AndroidManifest.xml中:

<activity android:name="com.your.package.ActivityName"
          android:windowSoftInputMode="stateHidden"  />

或尝试

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)‌​;

请检查一下这个

 类似资料:
  • 我有一个有很多编辑文本的活动。每当我加载该活动时,键盘就会出现并吃掉半个屏幕,这使得该活动看起来很糟糕。所以有什么方法可以隐藏键盘当我加载那个活动。

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

  • 问题内容: 在应用程序启动时,我需要显示虚拟键盘,但是到目前为止,我失败了。 我在方法“ OnCreate”中使用此代码来显示虚拟键盘 该代码在任何时候都可以在任何屏幕上正常运行,但是在“第一个”活动开始时不起作用。为什么? 我在开始另一个活动时尝试了它,但是它起作用了,但是在我开始“第一个”活动时却不起作用。 我试图将这段代码放入事件“ OnCreate”以及更多事件中……。但似乎不起作用。 启

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

  • 我是IntelliJ插件开发的新手。 我使用作为文本输入,因此我可以使用方法设置占位符文本。 但根据IntelliJ平台UI指南,它说: 当用户开始键入时隐藏占位符,而不是当输入字段获得焦点时。 这不是文本字段本身的方式。它在获得焦点时隐藏占位符。 问题是,如何更改此行为,以便在用户键入某些内容时占位符消失(例如,类似于本机IDE的“新类”弹出窗口)。

  • 我已经搜索了半打其他答案,但没有找到一个有效的答案。我只是想在用户按下回车键时关闭软键盘。(相当于极其简单的iOS“辞职键盘”通话。)在下面的代码中,不会调用onEditorAction方法。我在XML文件中设置了EditText视图,片段中的代码如下: 下面是XML文件中的一个片段,我在其中定义了EditText字段。我需要EditText多行。