3

我目前正在研究一个标签结构,并显示我使用了 Recyclerview 的 Staggeredgrid 布局管理器来获得所需的结果,如下图所示:

在此处输入图像描述

但是当我使用 StaggeredGrid 时,它提供的结果如下:

在此处输入图像描述

我在 Recyclerview 中显示适配器的代码如下所示:

val staggeredGridLayoutManager = StaggeredGridLayoutManager(2, LinearLayoutManager.VERTICAL)
rvTags.layoutManager = staggeredGridLayoutManager
rvTags.adapter = AllergyAdapter(tags)

将跨度计数增加到 3 时,所有项目都在收缩。我希望如果“花生酱”足够大,那么只有 1 项应该放在 1 行中,如果“印楝、大蒜和大豆”可以放在 1 行中,那么它应该适合。

基本上,我需要一种根据内容大小动态计算跨度的方法。

任何帮助将不胜感激。

建议的答案不起作用,因为它正在计算整个 Recyclerview 的跨度计数,而不是特定的行。

4

3 回答 3

1

我遇到了这样的要求,理想情况下,Flexbox应该是一个不错的选择。

于 2022-02-11T15:28:51.377 回答
1

您可以使用动态旋转,或者您可以做的是获得图书馆的帮助。

请检查标签库的 URL。

标签 浏览量

这是一个最合适的视图:ChipView

使用自定义布局:ChipView

对于动态列绑定,您可以使用 AsymmetricGridView。

网址:非对称网格视图

于 2018-02-13T09:39:09.510 回答
-3

layoutManager=new StaggeredGridLayoutManager(4, LinearLayoutManager.HORIZONTAL);

于 2019-07-19T09:46:19.727 回答