问题标签 [linearlayoutmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
197 浏览

android - 如何使用列表将图标更改为网格

我正在使用 StaggeredGridlayoutmanager 将列表更改为网格并将网格更改为列表,但我想在更改视图时更改图标,例如如果视图处于列表模式我想显示网格图标并且视图处于网格模式我想显示列表模式

我的适配器

0 投票
0 回答
76 浏览

android - RecyclerView 中不同类型的行

我从服务器接收数据(内部元素很少的对象),我想在 RecyclerView 中显示它。每个对象可以包含 2、3、4.. 甚至 18 个元素(如图所示): 在此处输入图像描述

我知道如何从预先创建的 XML 布局创建不同类型的行并在 RecyclerView 中使用所有这些,但是如何处理具有例如 18 个元素的对象?

我是否应该根据每个对象中的许多元素生成行,然后在适配器中对其进行膨胀?

那么,如何在 1 个 RecyclerView 中处理 20+ 种不同类型的行呢?

0 投票
2 回答
8209 浏览

android - 具有起始偏移量的 RecyclerView

我希望我在回收站视图中的第一个元素被起始列表偏移。 第一位置 向下滚动时

我尝试使用

但它不起作用。我不明白我可以使用空视图来查看列表中的零元素,但这不是完美的解决方案。

0 投票
2 回答
2358 浏览

android - LinearLayoutManager 与 GridLayoutManager

我没有任何编码问题或其他东西,我有这个应用程序填充(从 web 服务)一个 2 行的 gridlayoutmanager recyclerview,现在客户希望它是一个列表。我只是想问一下将gridlayoutmanager的行数设置为1,或者切换到LinearLayoutmanager,哪个性能更好。问候,

0 投票
2 回答
11252 浏览

android - RecyclerView 在插入时滚动

我正在尝试使用RecyclerView创建聊天应用程序。我正在使用LinearLayoutManagerwith setReverseLayout(true)

当我一直滚动到底部(即数据集开始 = 最新消息)并将新消息插入数据集中时,该项目按预期显示在列表底部(视图向上滚动以腾出空间对于新项目)。

我遇到的问题是当我向上滚动查看旧消息时。当一条新消息插入到数据集的开头时,视图会向上滚动大约一个消息高度,即使该消息甚至没有呈现,因为它超出了视口的范围。

当视图滚动到底部时,如何保持滚动行为,但在滚动到旧消息时禁用它?

更新: 我还制作了一个小应用程序,重现了这个问题: https ://github.com/ehehhh/RecyclerViewProblem

更新 2:我也提交了对我所做的 repo 有效的修复。

相关代码(希望):

XML:

RecyclerView初始化代码:

适配器

当向数据集中添加新项目时,我只需调用datasetChanged适配器中的方法。

0 投票
1 回答
670 浏览

android - Vertical RecyclerView 中的 Horizo​​ntal RecyclerViews 丢失位置/状态

我有一个垂直回收器视图,垂直回收器视图的每个项目都有一个水平回收器视图,水平回收器视图的所有项目都有不同的高度和相同的高度,我以像素的距离以编程方式滚动回收器,几乎一切工作正常。

所有水平回收器必须同步,它们必须滚动相同的距离。我可以在所有可见行中水平滚动,但是当我滚动垂直回收器时,水平回收器视图正在丢失位置。

有任何想法吗?

我正在尝试使用适配器,例如适配器的 onViewRecycled 和其他功能,但还没有成功

0 投票
1 回答
6726 浏览

android - RecyclerView 平滑滚动

我正在尝试使平滑滚动条需要在 recyclerView 中的位置。我是 LinearLayoutManager 中的 ovverride 方法 smoothScrollToPosition,它工作正常。但是,我需要在屏幕顶部设置滚动位置(如果可能的话)。我也试过scrollToPositionWithOffset,它是我需要的,但现在没有平滑效果。如何混合使用这些方法,并在顶部设置项目进行平滑滚动?

0 投票
1 回答
307 浏览

android - Android LinearLayoutManager#getChildAt(int) 返回 null

我有这个代码

出于某种原因有时lastChildnull。怎么会这样?

正如评论中提到的,lastChild是 null 因为根本没有孩子,所以新的问题是为什么打电话后没有孩子super.onLayoutChildren(recycler, state);

0 投票
2 回答
2047 浏览

android - 添加的 View 将 RecyclerView 作为父级,但视图不是真正的子级

当 RecyclerView 的内容发生变化时,有时会出现问题。我有过滤 RecyclerView 数据的搜索视图。过滤后我打电话notifyDataSetChanged();

我用作为适配器。

我在想这个问题与添加页脚有关,但在删除页脚后问题仍然出现,但不那么频繁

例外:

0 投票
1 回答
53 浏览

android - 列表项视图未正确显示在 Linear RecyclerView 中

您好,我有一个水平的 recyclerView,它应该显示一张图片并在其下方显示一个名称。我无法让它工作,因为图像视图出现不同的大小,即使它们具有固定的尺寸,并且下面的文本要么不可见,要么放置得很奇怪。下面是模拟器和我手机的截图。

图像形式模拟器

加载时来自手机的图像(您可以看到后面的文字??)

加载后来自手机的图像

代码:

recyclerview所在的cardView

list_item xml

该文件的预览(这是应该显示的正确的一个)