Android:当软输入键盘出现时,Recyclerview 不会调整大小

2024-02-22

我有一个包含片段的活动,并且该片段包含自定义视图。自定义视图包含一个编辑文本,其正下方是一个高度为 match_parent 的回收视图。当用户将焦点放在编辑文本上时,会出现一个软输入键盘。不幸的是,该键盘隐藏了其下方一半的回收视图。我希望 recyclerview 调整大小到屏幕的剩余可见高度(在编辑文本下),以便列表中的项目不会被键盘隐藏。

我尝试为清单中的活动设置 adjustmentresize 但没有效果:

android:windowSoftInputMode="adjustResize"

我尝试将我的应用程序主题设置为基本主题(以防我的自定义主题中的某些内容导致问题) - 没有效果:

android:theme="@style/Theme.AppCompat.NoActionBar"

我已经检查过,以确保在层次结构中的任何地方都没有框架布局到必须调整大小的视图(我读到一个SO线程,这可能是一个问题)-没有。

我已经检查了活动、片段、自定义视图和连接的每个适配器,以确保我没有在任何地方调用 getWindow (我没有)。

自定义视图在运行时从视图存根中扩充。这能有联系吗?

Edit:

父级的内容:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/parent_root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
...


    <ViewStub
        android:id="@+id/viewstub_outername"
        android:layout="@layout/viewstub_thatIneed"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

</RelativeLayout>

视图存根的内容:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/viewstub_root"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:background="@android:color/white"
    >

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerview1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="20dp"
        android:visibility="invisible"
        />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerview2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="20dp"
        android:visibility="invisible"
        />

</RelativeLayout>

如此显示键盘:

public static void showSoftKeyboard(Activity activity) {
    View view = activity.getCurrentFocus();
    InputMethodManager inputManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
    inputManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
}

不要在清单文件中执行任何操作。只需使用

((LinearLayoutManager)recyclerView.getLayoutManager()).setStackFromEnd(true);

这将负责 recyclerview 的大小调整。

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

Android:当软输入键盘出现时,Recyclerview 不会调整大小 的相关文章

随机推荐

  • 使用 GData 进行搜索查询的 YouTube UITableView

    我正在尝试自定义表格视图以根据搜索查询显示 YouTube 视频的提要 我找到了这段代码http pastebin com vmV2c0HT http pastebin com vmV2c0HT它在表格视图中显示 YouTube 频道的提要
  • DisabledBackend:Celery、Redis 和 Flask 的不稳定行为

    我已经使用 Celery 一段时间了 在生产中我使用 RabbitMQ 作为代理 使用 Redis 作为 K8s 集群中的后端 到目前为止没有任何问题 在本地 我运行一个包含一些服务 Flask API 2 个不同的 Workers Bea
  • emgucv:C# 中的 pan 卡不正确的倾斜检测

    我有三个泛卡图像 用于使用 emgucv 和 c 测试图像的倾斜 顶部的第一张图像检测到 180 度工作正常 中间的第二张图像检测到的 90 度应检测为 180 度 第三张图像检测到 180 度应检测为 90 度 我想在这里分享的一个观察结
  • 在 Docker 容器中安装 Web 应用程序:拨打 unix /var/run/docker.sock: no such file or directory

    我正在尝试在 Docker 容器中安装 Web 应用程序 我使用的是 OS X Yosemite 版本 10 10 1 我一直在关注这里关于 Dockerizing Node js Web App 的教程 https docs docker
  • 为什么 C# 构造函数无法推断类型?

    为什么构造函数不支持泛型方法的类型推断 public class MyType
  • CodeIgniter 项目上的第一个 HTTP 请求的延迟非常高

    我和一个朋友刚刚开始从事一个项目 其他人几年前就停止了开发 我们正在努力恢复它 我们已经解决了大部分与设置相关的问题 但有一个非常烦人的问题我们无法解决 在我们的本地主机中 所有页面都占用A LOT加载 刷新的时间 我指的不是资产 脚本或任
  • 如何让散景悬停工具捕捉数据?

    我希望散景悬停工具捕捉到数据点 而不是在线上插入鼠标位置 这是我认为可以做到这一点的代码 但我仍然在显示中获得插值数据 from bokeh plotting import figure output file show from boke
  • 通过 API 迭代 mailchimp 模板中的集合

    是否有机会通过 API 填写可重复的部分 例如 我有产品列表 我只想在模板中包含一次产品部分 然后迭代集合 我已经阅读了之前关于该主题的讨论并进行了谷歌搜索 但我仍然不明白是否可以通过 API 实现 div h2 Title h2 p Bo
  • 在 Windows(Vista 和 XP)上安装 Exuberant Ctags

    我想在工作时在 Vista 也可能是 XP 笔记本电脑 上使用 Exuberant Ctags 关于操作系统没有选择 我使用 GVim 而不是我的同事推荐的 Flex Builder 因为 FB 有问题并且无论如何也不能做 GVim 所做的
  • 是否有一个 create() 供 vuex 操作自动调度

    我在 vuex 中有一个操作 我想在 vuex 本身而不是组件中自动调度 我创建了一个通知栏 它通过多个页面上的不同通知进行更改 当我切换页面时 通知不是从头开始 而是创建了一个商店来设置要显示的通知 我想从 vuex 内部而不是从组件内部
  • ICU自定义音译

    我希望利用 ICU 库进行音译 但我想为一组特定的自定义音译提供自定义音译文件 以便在编译时合并到 ICU 核心中 以便在其他地方以二进制形式使用 出于兼容性原因 我正在使用 ICU 4 2 的源代码 据我了解 从他们网站的 ICU 数据页
  • 理解 scala:柯里化

    我最近开始学习 Scala 并遇到了柯里化 从这个答案post https stackoverflow com questions 17768686 currying example in scala 这段代码片段 def sum a In
  • MVC 3:如何学习如何使用 NUnit、Ninject 和 Moq 进行测试?

    我的问题的简短版本 任何人都可以向我指出一些好的 详细的资料来源吗 可以学习如何在我的 MVC 3 应用程序中实现测试 使用 NUnit Ninject 2 和起订量 这里有人可以帮助我澄清控制器存储库如何 解耦 模拟和依赖注入一起工作吗
  • 在首页以外的其他页面中显示图像时出现问题(wordpress/html/css)

    您好 我有一个正在为客户做的小网站 我使用了 html css 网站并使用空白主题将其转移到 WordPress 到目前为止一切顺利 如果您愿意 请查看 energyshop se 在起始页中显示了顶部的两个图像 但没有显示其余选项卡 为什
  • firestore 权限缺失或不足

    我收到错误 Firebase 缺少或权限不足 代码 const demoCollectionRef this db collection items 返回 demoCollectionRef add item 我认为这个错误是由于 angu
  • Android Studio 3.0.1 上的 Gradle 项目同步失败

    我是第一次在笔记本电脑上安装 Android Studio 3 0 1 但无法创建我的第一个 Hello World 应用程序 我收到以下错误 Create process failed error 216 Error Consult yo
  • div 下面仍然触发 click 事件

    这是我正在构建的 PhoneGap 应用程序 我正在我的笔记本电脑上进行测试 然后使用 PhoneGap cli 在 iPhone 上进行测试 我有一个 openlayers 3 地图 上面记录了点击事件 我还有一个 div 当菜单显示时
  • 在 Android 中显示撰写短信视图

    我想用 Android 发送短信 发送短信的目的是什么 我想显示撰写短信视图 并在消息字段中传递我的预定义文本 您可以使用以下代码 startActivity new Intent Intent ACTION VIEW Uri parse
  • 自动从网页中提取提要链接(atom、rss等)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个巨大的 URL 列表 我的任务是将它们提供给一个 python 脚本 该脚本应该吐出提要 UR
  • Android:当软输入键盘出现时,Recyclerview 不会调整大小

    我有一个包含片段的活动 并且该片段包含自定义视图 自定义视图包含一个编辑文本 其正下方是一个高度为 match parent 的回收视图 当用户将焦点放在编辑文本上时 会出现一个软输入键盘 不幸的是 该键盘隐藏了其下方一半的回收视图 我希望