在 Staggered Recyclerview 中显示类似结构的标签

Display tag like structure in Staggered Recyclerview

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

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

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

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

将跨度数增加到 3 时,所有项目都在收缩。 我希望如果 "Peanut butter" 足够大,那么 1 行中应该只有 1 个项目,如果 "neem, garlic and soy" 可以放在 1 行中,那么它应该适合。

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

我们将不胜感激。

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

要么你可以使用动态旋转,要么你可以做的是获得图书馆的帮助。

请检查 URL 标签库。

Tags Views

这里有一个最合适的视图:ChipView

使用自定义布局:ChipView

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

URL : AsymmetricGridView

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

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