Android EditText 扩展为对话框

2024-01-05

我有这个布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout 
        android:id="@+id/viewer_top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/background_dark"
        android:orientation="horizontal" >

        <RelativeLayout 
            android:layout_width="0dp"
            android:layout_height="wrap_content" 
            android:layout_marginLeft="4dp"
            android:layout_marginRight="4dp"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="3dp"
            android:layout_weight="1" >
            <EditText
                android:id="@+id/viewer_filter"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/hint_filter"
                android:background="@android:color/white"
                android:drawableLeft="@android:drawable/ic_menu_search"
                android:inputType="text"
                android:paddingLeft="4dp"
                android:selectAllOnFocus="true" >
            </EditText>
            <ImageView
                android:id="@+id/viewer_filterX"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_alignTop="@id/viewer_filter"
                android:layout_alignRight="@id/viewer_filter"
                android:src="@android:drawable/ic_menu_close_clear_cancel"
                android:visibility="invisible" >
            </ImageView>
        </RelativeLayout>

        <RelativeLayout 
            android:layout_width="0dp"
            android:layout_height="wrap_content" 
            android:layout_marginLeft="4dp"
            android:layout_marginRight="4dp"
            android:layout_marginTop="3dp"
            android:layout_marginBottom="5dp"
            android:layout_weight="1" >
            <EditText
                android:id="@+id/viewer_search"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/hint_search"
                android:background="@android:color/white"
                android:drawableLeft="@android:drawable/ic_menu_search"
                android:inputType="text"
                android:paddingLeft="4dp"
                android:selectAllOnFocus="true" >
            </EditText>
            <ImageView
                android:id="@+id/viewer_searchGo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_alignTop="@id/viewer_search"
                android:layout_alignRight="@id/viewer_search"
                android:src="@android:drawable/ic_menu_send"
                android:visibility="invisible" >
            </ImageView>
            <ImageView
                android:id="@+id/viewer_searchX"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_alignTop="@id/viewer_search"
                android:layout_toLeftOf="@id/viewer_searchGo"
                android:src="@android:drawable/ic_menu_close_clear_cancel"
                android:visibility="invisible" >
            </ImageView>
        </RelativeLayout>
    </LinearLayout>

    <HorizontalScrollView
        android:id="@+id/viewer_hscroll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/viewer_top" >
        <ListView
            android:id="@+id/viewer_list"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
        </ListView>
    </HorizontalScrollView>

</RelativeLayout>

当我单击任一 EditText 时,它会扩展为以下对话框:

在纵向模式下,可以按原样编辑 EditText,而无需展开。纵向的 XML 类似,只是 EditText 是一个在另一个下面并且是屏幕宽的。

如何防止 EditText 扩展?
不仅整个手机屏幕被 EditText + 虚拟键盘隐藏,而且我放在 EditText 上的可点击图像也不可见。

  • 我尝试将 EditText layout_width 设置为 0dp,但它们不显示。
  • 我没有使用 SearchViews,因为它们窃取了焦点,而且我无法使用后退键返回到上一个活动。

Update
我删除了布局区域 XML,并对纵向和横向使用相同的 XML。
纵向模式下很好,没有扩展,横向模式下有扩展。
所以这与处于横向模式有关。


将此行添加到您的编辑文本中

android:imeOptions="flagNoFullscreen"

编辑文本看起来像这样

<EditText
                android:id="@+id/viewer_filter"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="hint_filter"
                android:background="@android:color/white"
                android:drawableLeft="@android:drawable/ic_menu_search"
                android:inputType="text"
                android:paddingLeft="4dp"
                android:selectAllOnFocus="true" 
                android:imeOptions="flagNoFullscreen">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android EditText 扩展为对话框 的相关文章

  • onBeaconServiceConnect 未调用

    和以前一样 我使用 Android Beacon 库 它已经工作了 我可以通过 BLE 低功耗蓝牙找到信标 但是现在 更新到最新版本的库后 现在方法onBeaconServiceConnect 不再跑了 请告诉我我需要做什么才能让它发挥作用
  • 使用 google Directions API 的地图视图绘制方向 - 解码折线

    我正在尝试使用 Google 方向 API 在我的地图视图上显示方向 但我在从 JSON 响应获取数据时遇到困难 我可以获得 级别 和 点 字符串 但无法弄清楚如何将它们解码为地图上的点 任何帮助将非常感激 我有一个类可以为您解码它们 添加
  • 通过 WhatsApp 发送消息

    由于我发现了一些较旧的帖子 表明 Whatsapp 不支持此功能 我想知道是否发生了变化 以及是否有办法打开与我通过意图发送的号码进行 Whatsapp 聊天 UPDATE请参阅https faq whatsapp com en andro
  • 带有一、二和三个按钮的 Android 警报对话框

    我不经常发出警报 但每次发出警报时 我都会花一些时间来阅读文档 https developer android com guide topics ui dialogs html并弄清楚如何去做 由于我现在不得不这样做几次 所以我将在下面写一
  • Android 如何更改 OnTouchListener 上的按钮背景

    你好 我在 xml 中有一个按钮 我正在使用OnTouchListener在我的活动中获得button按下并释放 但问题是 当我按下按钮时背景颜色没有改变 当我延长可能的活动时OnClickListener背景正在改变 任何人都可以告诉我的
  • ffmpeg视频已压缩但无法在浏览器中播放

    我已经集成了ffmpeg4android lib 视频压缩工作正常 但视频无法在除 safari 浏览器之外的浏览器中播放 上传到服务器后 我使用了以下命令 ffmpeg y i
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • 出现错误错误:res/menu/mainMenu.xml:文件名无效:必须仅包含[a-z0-9_。]

    我是安卓新手 刚刚开始使用 我在 res 文件夹中创建了一个文件 menu mainMenu xml 但我得到了错误 Error res menu mainMenu xml invalid file name must contain on
  • AudioTrack、SoundPool 或 MediaPlayer,我应该使用哪个?

    如果我需要能够 播放多个音频文件 具有不同的持续时间 例如 5 到 30 秒 独立设置右 左声道的音量 应用声音效果 如混响 失真 那么 我应该使用哪个 API 另外 我在 AudioTrack API 上找不到太多文档 有谁知道在哪里可以
  • 如何在 Android 模块中使用 FirebaseAuth

    我正在开发一个聊天库 我想在其中显示登录用户的对话 制作该库的原因是我想将其集成到多个项目中 我现在面临的问题是FirebaseAuth表示用户尚未登录 FirebaseAuth getInstance mFirebaseApp getCu
  • Android FragmentTransaction 自定义动画(未知动画师名称:Translate)

    我正在尝试让自定义动画与我的片段一起使用 我已按照在线教程进行操作 但出现以下错误 java lang RuntimeException 未知的动画师名称 翻译 动画的 XML 如下
  • 有关 ListView 自定义行布局项目上的 onClick() 事件的帮助

    我有一个 ListView 其行由我格式化 每行都有 ImageView 和 TextView 的混合 我还实现了自己的适配器 并且能够通过它绘制每一行 现在 我想要这样的东西 用户单击 ImageView 不是行上的其他任何位置 但只有此
  • 如何修改 Skobbler 注释而不重新添加它

    我必须修改 SKAnnotation 的图像 注释生成器代码 private SKAnnotation getAnnotationFromView int id int minZoomLvl View view SKAnnotation a
  • java.lang.NumberFormatException: Invalid int: "3546504756",这个错误是什么意思?

    我正在创建一个 Android 应用程序 并且正在从文本文件中读取一些坐标 我在用着Integer parseInt xCoordinateStringFromFile 将 X 坐标转换为整数 Y 坐标的转换方法相同 当我运行该应用程序时
  • 按钮 - 单击时更改背景颜色

    我的活动中有 8 个按钮 我正在寻找的是 按钮具有默认背景 单击按钮时 背景颜色应更改为其他颜色 这部分非常简单 但是 当我单击任何其他按钮时 第一个按钮的背景颜色应该变回默认颜色 我知道这将使用 选择器状态 来完成 但我不太确定如何实现它
  • 如何在android asynctask中使用inputstream作为参数?

    我正在制作一个 Android 应用程序来跟踪股票详细信息 我将通过 csv 雅虎财经 检索数据 据我所知 在android 4 0中 网络连接无法在主线程上完成 因此 我将使用 asynctask 来建立连接 但是 我在参数方面遇到了一些
  • Android:RecyclerView 不显示片段中的列表项

    有人可以帮我尝试让我的 RecyclerView 出现吗 如果我不在片段中实现它 就会出现这种情况 然而 当我尝试将其实现到片段中时 CarFront 中的其他 XML 代码与 RecyclerView 分开显示 我的日志中收到此错误 E
  • 在 KitKat 4.4.2 中获取 SDard 路径和大小

    我在 Google Play 上有一个设备信息应用程序 在该应用程序中我有存储信息 我知道 Android 4 4 在访问外部 SD 卡方面发生了一些变化 内部似乎没有给我带来问题 我的问题是 如何可靠地获取 KitKat 上 SD 卡的大
  • 尝试将 SQLite DB 从数据复制到 SD 卡

    我正在使用以下代码 该代码发布在 Stack Overflow 上的某个位置 并根据我的目的进行了修改 try File sd Environment getExternalStorageDirectory File data Enviro
  • Android应用程序可以像旧的普通java小程序一样嵌入到网页中吗?

    我对 android 平台一无所知 也无法在互联网上找到这个基本问题的答案 更新 好的 我本身无法嵌入 Android 应用程序 但是我可以在 Android Webbrowser 中嵌入 Java 的东西吗 不可以 您无法将 Androi

随机推荐