在 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 标签库。
这里有一个最合适的视图:ChipView
使用自定义布局:ChipView
对于动态列绑定,您可以使用 AsymmetricGridView。
URL : AsymmetricGridView
layoutManager=new StaggeredGridLayoutManager(4, LinearLayoutManager.HORIZONTAL);
我遇到了这样的要求,理想情况下,Flexbox 应该是一个不错的选择。
我目前正在研究标签结构,并显示我使用了 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 标签库。
这里有一个最合适的视图:ChipView
使用自定义布局:ChipView
对于动态列绑定,您可以使用 AsymmetricGridView。
URL : AsymmetricGridView
layoutManager=new StaggeredGridLayoutManager(4, LinearLayoutManager.HORIZONTAL);
我遇到了这样的要求,理想情况下,Flexbox 应该是一个不错的选择。