Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在交错回收视图中显示标记状结构_Android_Android Layout_Android Recyclerview_Staggered Gridview_Staggeredgridlayout - Fatal编程技术网

Android 在交错回收视图中显示标记状结构

Android 在交错回收视图中显示标记状结构,android,android-layout,android-recyclerview,staggered-gridview,staggeredgridlayout,Android,Android Layout,Android Recyclerview,Staggered Gridview,Staggeredgridlayout,我目前正在处理标记结构,并显示我已使用Recyclerview的Staggeredgrid layout manager获得所需结果,如下图所示: 但当我使用StaggeredGrid时,它提供了如下结果: 我在Recyclerview中显示适配器的代码如下所示: val staggeredGridLayoutManager = StaggeredGridLayoutManager(2, LinearLayoutManager.VERTICAL) rvTags.layoutManager =

我目前正在处理标记结构,并显示我已使用Recyclerview的Staggeredgrid layout manager获得所需结果,如下图所示:

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

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

val staggeredGridLayoutManager = StaggeredGridLayoutManager(2, LinearLayoutManager.VERTICAL)
rvTags.layoutManager = staggeredGridLayoutManager
rvTags.adapter = AllergyAdapter(tags)
将跨度计数增加到3时,所有项目都在收缩。 我想,如果“花生酱”足够大,那么一排中应该只有一种,如果“印楝、大蒜和大豆”可以放在一排中,那么它应该合适

基本上,我需要一种根据内容大小进行动态范围计数的方法

任何帮助都将不胜感激


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

您可以使用动态旋转,或者您可以获得库的帮助

请检查标记库的URL

以下是最合适的视图:

使用自定义布局:

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


URL:

layoutManager=新的交错网格布局管理器(4,LinearLayoutManager.HORIZONTAL)

可能重复的检查也可以尝试FlexBoxLayout芯片视图未正常工作。我已经试过AsymmetricGridView了。根据你的建议,我从安卓阿森那得到的,它工作得非常好。谢谢在你的回答中提到帮助他人,并不是每个人都会阅读评论