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

Android:EditText自动打开键盘,如何停止?

戚学文
2023-03-14

我在下面定义的列表视图上有一个简单的编辑文本

应用程序运行时,会选择编辑文本并显示键盘。

我不想这样。我不希望默认情况下选中它或显示键盘。

<EditText
    android:id="@+id/search_box"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:hint="type to search titles"
    android:inputType="text"
    android:maxLines="1"
    android:capitalize="none"
    android:linksClickable="false"
    android:autoLink="none"
    android:autoText="true"
    android:singleLine="true" />
<ListView
    android:id="@+id/DetailsListView"
    android:layout_width="fill_parent"
    android:layout_height="0dip"
    android:layout_weight="1"
    android:background="@color/transparent"
    android:cacheColorHint="@color/transparent"
    android:listSelector="@drawable/list_selector"
    android:fastScrollEnabled="true" />

共有3个答案

常坚
2023-03-14

将此添加到onCreate中

    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
饶承宣
2023-03-14

我发现这就是解决方案:

Window.SetSoftInputMode (SoftInput.StateAlwaysHidden);

注意:这是C语言,不是Android的Java语言

裴育
2023-03-14

首先,标签是mondroid,所以它在C#上,所以接受的答案是正确的。

但这不是我认为作者想要的。。。这个技巧只是隐藏了键盘,但编辑文本仍然有焦点。

要在java和c#中实现这一点,必须将其放在根布局中:

android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"

例如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/white"
    android:descendantFocusability="beforeDescendants"
    android:focusableInTouchMode="true"
              >
....
</LinearLayout>
 类似资料:
  • 我有一个editText视图、一个RecyclerView和一个底部导航视图。当我提示编辑文本时,键盘打开,循环视图被填充。但是BottomNavigationview仍然位于现在打开的键盘的顶部,而我的Recyclerview位于bottomnavigation视图的顶部。现在,当键盘打开时,recyclerview和edittext正在叠加。是否有任何方法可以限制bottomnavigatio

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

  • 问题内容: 请向我解释有关软键盘的问题。例如,我的活动,对话框片段或片段活动(无论如何)上都有一个EditText。这里是: 当它第一次显示时,我没有看到软键盘,必须按下editText才能获得焦点,然后出现键盘。另一个活动有所不同,当它出现在屏幕上时,将在没有任何帮助的情况下加载键盘。我认为 表示EditText将被聚焦并且键盘将出现,但是我错了。 我应该如何管理哪个组件将获得焦点,键盘将 自动

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

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

  • 我正在开发一款小型jetpack compose演示聊天应用程序。所以我需要在底部有一个带文本字段和发送按钮的栏,就像WhatsApp一样……我想最好使用带底部栏的脚手架。 现在的问题是,当键盘打开时,底部栏隐藏在键盘后面。有办法吗?