如何防止键盘隐藏我的EditText?

2024-04-23

我在顶部有一个relativeLayout,然后在下面的中心有一个ListView,最后在底部我有另一个relativeLayout,里面有一个EditText和一个Button。

我希望当我单击 EditText 并出现 IME(虚拟键盘)时,可以调整 ListView 的大小。如果我将 adjustmentResize 放入清单中,Listview 会调整大小,为 IME 留出空间,但下面带有 EditText 的相对布局被 IME 覆盖,我看不到我在写什么。如果我放置 adjustmentPan,键盘会将所有内容向上推,ListView 不会调整大小,并且我会松开顶部的relativelayout。

My Code:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/application_background"
    android:paddingLeft="15px"
    android:paddingRight="15px"
    android:paddingTop="15px"
    android:paddingBottom="15px">

    <RelativeLayout
        android:id="@+id/rlyParentPost"
        android:orientation="vertical"
        android:layout_width="450px"
        android:layout_height="85px"
        android:background="@drawable/app_gradient_color"
        android:layout_centerHorizontal="true">
        <ImageView
            android:id="@+id/imgUserOfParent"
            android:layout_marginLeft="10px"
            android:layout_marginTop="10px"
            android:background="@drawable/userfeed"
            android:layout_width="64px"
            android:layout_height="64px"
            android:layout_below="@+id/logoImg">
        </ImageView>
        <TextView
            android:layout_below="@+id/logoImg"
            android:layout_toRightOf="@+id/imgUserOfParent"
            android:id="@+id/lblNameOfParent"
            android:textSize="17px"
            android:textStyle="bold"
            android:layout_marginLeft="5dip"
            android:layout_marginTop="11dip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#ffffff">
        </TextView>
        <TextView
            android:layout_below="@+id/lblNameOfParent"
            android:layout_toRightOf="@+id/imgUserOfParent"
            android:id="@+id/lblBodyOfParent"
            android:textColor="#ffffff"
            android:textSize="17px"
            android:layout_marginLeft="5dip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
        </TextView>
        <TextView
            android:layout_below="@+id/lblBodyOfParent"
            android:layout_toRightOf="@+id/imgUserOfParent"
            android:id="@+id/lblDateOfParent"
            android:textColor="#70ccff"
            android:textSize="11px"
            android:layout_marginLeft="7dip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
        </TextView>
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/rlyParentPost"
        android:id="@+id/contentLayout">

     <ListView
       android:isScrollContainer="true"
         android:id="@+id/lsvComments"
         android:layout_height="515px"
         android:layout_width="450px"
         android:background="#ffffff"
         android:listSelector="@drawable/multi_white_color"
         android:drawSelectorOnTop="false"
         android:divider="#9aa5ac"
         android:cacheColorHint="#00000000"
         android:dividerHeight="1px">
     </ListView>

     <RelativeLayout
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:padding="5dip"
         android:layout_below="@+id/lsvComments"
         android:background="@drawable/app_gradient_comments"
         android:id="@+id/contentLayout">
         <EditText
             android:inputType="text"
             android:id="@+id/txtComment"
             android:hint="What are you working on?" 
             android:textSize="22px"
             android:layout_marginLeft="8px"
             android:layout_height="72px"
             android:layout_width="344px">
         </EditText>
         <Button
             android:layout_toRightOf="@+id/txtComment"
             android:id="@+id/cmdShare"
             android:layout_width="79px"
             android:layout_height="65px"
             android:background="@drawable/feed_comments_multi_stage"
             android:layout_marginLeft="7px">
         </Button>
    </RelativeLayout> 
   </RelativeLayout>
</RelativeLayout>

您不应该使用明确的像素值设置layout_width和layout_heights。相反,请根据需要使用wrap_parent 或fill_parent。

如果您希望文本视图等内容具有特定的宽度,请使用 dpi 单位,它将在不同的屏幕分辨率上正确调整。

关于您的特定虚拟键盘问题,我会尝试设置 ListView 以使其占用剩余空间。

--将除ListView之外的所有内容的高度设置为wrap_parent --设置ListView为fill_parent,

ListView 应该占用尽可能多的可用空间,因此当您要求它调整大小时会缩小。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止键盘隐藏我的EditText? 的相关文章

  • WifiConfiguration 在 Lollipop 中启用网络

    我正在研究 Wifi 项目 有一个模块可以让用户以编程方式加入 wifi 在 kitkat 及以下版本中它可以成功工作 但在 Lollipop 中它不起作用 这是代码 WifiManager wifiManager WifiManager
  • Android,无法从谷歌API获取天气

    以下代码之前运行良好 class RetreiveWeatherTask extends AsyncTask
  • 如何以编程方式从 mipmap 文件夹加载图像? [复制]

    这个问题在这里已经有答案了 如何从 加载图像mipmap以编程方式保存文件夹 与可绘制对象一样 img setImageResource imageId 我使用的是Android Studio 1 2 1 In 安卓工作室我们有mipmap
  • Gson.toString() 给出错误“IllegalArgumentException:多个名为 mPaint 的 JSON 字段”

    我想将自定义对象转换为字符串并保存在 SharedPreferences 中 这是我的最终目标 我尝试了下面的行但失败了 String matchString gson toJson userMatches Logcat 10 11 15
  • API 31 上是否有官方方法来提供文件关联,可能使用 pathSuffix/pathAdvancedPattern?

    背景 现代桌面操作系统上的一个众所周知的功能是能够处理文件 允许用户从文件管理器和其他应用程序中打开它们 作为 文件关联 配置 问题 到目前为止 对于用户和开发人员来说 在 Android 上设置文件类型关联并不是一件很方便的事情 在 An
  • 使用 ArrayAdapter 的 ListView 中的按钮

    我有一个使用 POJO 类填充的 ArrayAdapter 列表视图由 2 个布局组成 1 代表菜单项 1 代表类别 带分隔符的列表视图很好 后来我尝试在每个菜单项行中添加一个按钮来编辑其中的详细信息 当我尝试获取单击按钮的行的位置时 我遇
  • 将文本视图包裹在图像视图周围

    晚上好 我正在尝试将文本包裹在图像视图中 就像这里提出的问题一样 Textview 环绕 View https stackoverflow com questions 3626750 textview wrap around view 在风
  • 如何防止 Activity 在后退操作时重新加载

    我有连接到互联网以获取数据的应用程序 我可以多层次访问数据 假设我从第 3 级开始 在第 4 级我决定返回 每当我按回之前的活动时 就会从互联网重新加载数据 有可能阻止这种情况吗 我尝试以单顶模式运行该活动 将数据加载代码移至 single
  • 检查 Firebase 邀请是否引导至 Play 商店

    当在 Android 上使用 Firebase 邀请并在应用程序启动时访问动态链接时 有没有办法知道用户是通过邀请刚刚安装了该应用程序还是已经安装了该应用程序 非常感谢 Borja 编辑 感谢 Catalin Morosan 的回答 事实证
  • GSON:自定义对象反序列化

    好吧 我编辑了这个问题 因为它不够清楚 Edit 2 更新了 JSON 文件 我在 Android 应用程序中使用 GSON 我需要解析来自服务器的 JSON 文件 而且有点太复杂了 我不想让我的对象结构太重 所以我想简化内容 所以我的对象
  • 完成特定 Activity 的所有实例

    应用程序中可以有很多活动 最后启动的活动保留在堆栈顶部 按下后它会完成当前活动 我有一系列活动 这是流程 如果我们有 A B C 1 D C 2 活动 C 1 和 C 2 是在导航应用程序时启动的活动 C 的两个不同实例 因此 必需的是清除
  • Android 视图上的动态气泡

    任何人都可以如何在Android布局上制作可点击的动态气泡 我的设计师对屏幕的想法如下 我的图像中所有气泡都是分配给用户的一组任务 气泡的标签根据任务而变化 1 1 根据我的项目要求 颜色和半径将根据 api 响应而变化 您能建议任何演示或
  • 无法调整 Android React Native 模块中线性布局子项的大小

    完整代码在这里 https github com sbaar ResizableLLRN 这里有关于 java 中正确行为和 React Native 中错误行为的视频 https drive google com file d 0Bxl2
  • EditText 不显示当前输入(Android 4)

    我的 Android 应用程序包含一个EditText http developer android com reference android widget EditText html查看可以在其中键入一些短消息 单行 按键盘的DONE键
  • 为什么设置 MediaRecorder 时显示错误 IllegalStateException?

    我的代码设置 MediaRecorder 它显示行集质量错误 mMediaRecorder new MediaRecorder Step 1 Unlock and set camera to MediaRecorder mCamera st
  • 上次更新arm64-v8a后,模拟器在M1 Mac上显示离线

    昨天模拟器运行得很好 系统镜像为arm64 v8a 我不太记得工作系统映像的版本名称 但是昨天我接受了 ARM 64 系统映像的更新 版本名称是 S 我可以从 AVD 管理器启动模拟器 当我按 运行应用程序 按钮时模拟器也会启动 但是 该应
  • Webview 中的 Java 空指针异常

    我试图搜索这个问题 但这个错误看起来与这个错误 https stackoverflow com questions 21866459 android nullpointerexception on webview 我的 google pla
  • 日志记录在 Android 设备上实际上有什么作用?

    我一直在 Android 示例中看到这样的代码 try catch Exception e Log e Error e getMessage 什么是Log e实际上在物理设备上做什么 它进入系统日志 开发人员可以通过 SDK 工具访问该日志
  • 随着速度变化,速度表针规绕其中心旋转

    Hi all 我编写了一个应用程序 其中有一个速度计 其指针垂直设置为 90 度 我试图以每秒变化的速度绕其中心旋转指针 我在文本视图中显示变化的速度 从 0 到 120 随机 我正在从远程服务获取速度并显示在文本视图中 因此 当速度发生变
  • RecyclerView 适配器的 Kotlin 泛型

    我正在尝试编写一个通用的 recyclerview 适配器 我找到了几个例子 然而 仍然无法弄清楚如何实现通用适配器 我写的代码是 open abstract class BaseAdapter

随机推荐

  • XSLT 和临时文档

    我正在尝试处理一个 xml 文件 该文件有几个不同的状态组 例如
  • 以角度实现 canActivate auth 防护

    我有一个带有此函数的服务 它会在令牌有效或无效时返回 true 或 false loggedIn return this http get http localhost 3000 users validateToken map res gt
  • C# 中的字符串加密和解密? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 C 中加密和解密字符串 编辑 2013 年 10 月 虽然我随着时间的推移编辑了这个答案以解决缺点 但请参阅jbtule 的回
  • 使用自定义视图填充 ListFragments?

    以前 我可以将布局扩展为 ListView 的自定义视图层次结构 但我不知道如何对 listFragment 执行相同的操作 假设我有一个 item list 布局 其中有一个 ImageView 和 2 个文本视图 我想将其膨胀以在我的
  • Symfony 身份验证 - 无法通过生产中的登录页面

    我已经在本地开发服务器上设置了 Symfony 身份验证 它在生产和开发环境中都完美运行 今天我注册了一个域进行测试并将我的代码推送到 AWS EC2 服务器 我可以毫无问题地访问登录页面但一旦我尝试登录 我就会直接重定向回登录页面 没有任
  • 添加后收集所有非未定义值

    我对伊莎贝尔有以下补充 function proj add real real bit real real bit real real bit where proj add x1 y1 l x2 y2 j add x1 y1 x2 y2 l
  • 为什么 memo.Lines 使用 TStrings 而不是 TStringList?

    为什么Memo Lines使用抽象类TStrings 为什么不使用TStringList反而 我应该将其转换为TStringList在使用它之前 TMemo Lines TListBox Items TComboBox Items ETC
  • 复制 Ctrl-C 的快捷方式在 Android Studio 中不起作用

    我可以从其他程序复制文本并将其粘贴到 Android Studio 我可以右键单击并复制选定的文本 我可以使用快捷方式剪切文本并粘贴它 但是 在使用快捷键 Ctrl C 复制文本时 我经常无法复制 这是一个非常烦人的问题 这里有人知道如何解
  • 如何配置 apache 查看隐藏(`.`)文件?

    如何在 apache 中显示目录列表 隐藏文件 我都尝试过
  • 使用 Rack::SSLEnforcer 时从 Devise 确认链接中删除 HTTPS

    我在 Rails 应用程序中使用 Devise 和 Rack SSLEnforcer 当用户收到确认电子邮件时 它看起来像 http mysite com 443 users confirmation confirmation token
  • 单击开放图层版本 5 标记上的特征

    我正在使用开放层库版本 5 我需要标记上的 onClick 事件来执行一些业务逻辑 任何人都可以帮我解决这个问题 谢谢 我已经尝试了所有代码和片段 我正在使用这个库来响应js import Feature from ol Feature i
  • 通过css替换图片

    我正在 Stylish 一个 Firefox 插件 中编写代码来更改显示的图像 image 属性没有 div 标签 所以我必须使用它 img src s dschjungelplanet 因此 这将替换页面中任何位置的 img src 中的
  • 使用多个提供程序的客户端应用程序应使用什么设计/模式?

    这是一个与设计相关的问题 假设我们有一个名为 ClientAPI 的公共 API 其中包含一些 Web 方法 例如 CreateAccount GetAccount 根据客户的不同 我们使用许多不同的提供商来满足这些请求 假设我们有 Pro
  • 如何在Python中在后台运行长时间运行的作业

    我有一个运行长时间运行的作业 大约几个小时 的网络服务 我正在使用 Flask Gunicorn 和 nginx 来开发它 我想做的是让需要很长时间才能完成的路线 调用创建线程的函数 然后 该函数将向路由返回一个 guid 并且路由将返回一
  • C# FileSystemWatcher 和 FTP

    我通过文件系统观察器监视在 ftp 上删除的文件 然后移动到另一个目录 现在我触发文件系统观察程序的创建事件的复制 但显然在 ftp 的情况下 创建只是一个存根文件 数据会进入并在上传时填充文件直至完成 任何人对此都有一个优雅的解决方案 或
  • Python Mogo ImportError:无法导入名称连接

    不明白为什么这不起作用 mogo 0 2 4 File Users Sam Envs AdiosScraper lib python2 7 site packages mogo connection py line 3 in
  • 将单词的第一个字母大写,同时删除空格(Haskell)

    我刚刚开始使用 Haskell 这就像我正在写的第三件事 所以 自然地 我发现自己有点困惑 我正在尝试编写一些代码 该代码将获取一个字符串 删除空格 并将该字符串的每个字母大写 例如 如果我输入 这是一个测试 我想返回类似 thisIsAT
  • HierarchyID 如何从子级获取所有父级

    我对菜单的层次结构 ID 和用户权限有疑问 例如 我只想为用户提供 4 级的权限 并且我的查询应自动从 4 级子级中选择所有父级 这个怎么做 你明白我的问题吗 我只想要孩子的所有父母 祖先 问候曼努埃尔 我最近一直在使用 Hierarchy
  • 如何在 WPF 中折叠星形大小的网格列?

    通过设置使三列具有相同的宽度Width to Auto
  • 如何防止键盘隐藏我的EditText?

    我在顶部有一个relativeLayout 然后在下面的中心有一个ListView 最后在底部我有另一个relativeLayout 里面有一个EditText和一个Button 我希望当我单击 EditText 并出现 IME 虚拟键盘