Android 交错布局,每行对象动态排列,换行
我正在寻找一种在UI中显示可变宽度的图像/图标列表并启用换行功能的方法,这样每行可以有可变数量的对象。对象列表是动态的,源于数据库。我目前使用的是交错布局,但其局限性如下: 要求每行列的跨度一致。我知道我可以用编程的方式设置,但我需要以某种方式测量每个对象,这是我不想做的,因为还有其他限制,如下面的2 即使列数可变,gridLayout也会拉伸每一行以填充最大宽度,从而在每个对象之间创建难看的间距。 请看下面我的截图 我是不是错过了什么重要的东西?也许我应该使用一个完全不同的构造,就像一个表,但是如果我遗漏了一些明显的东西,请告诉我 RecyclerView XML:Android 交错布局,每行对象动态排列,换行,android,android-layout,android-recyclerview,Android,Android Layout,Android Recyclerview,我正在寻找一种在UI中显示可变宽度的图像/图标列表并启用换行功能的方法,这样每行可以有可变数量的对象。对象列表是动态的,源于数据库。我目前使用的是交错布局,但其局限性如下: 要求每行列的跨度一致。我知道我可以用编程的方式设置,但我需要以某种方式测量每个对象,这是我不想做的,因为还有其他限制,如下面的2 即使列数可变,gridLayout也会拉伸每一行以填充最大宽度,从而在每个对象之间创建难看的间距。 请看下面我的截图 我是不是错过了什么重要的东西?也许我应该使用一个完全不同的构造,就像一个表,但
<android.support.v7.widget.RecyclerView
android:id="@+id/tagsRecyclerView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginHorizontal="8dp"
android:rotationY="180"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toEndOf="@+id/tagsTxt"
app:layout_constraintTop_toBottomOf="@+id/paragraphTxt" />
当前外观和布局;网格拉伸以填充所有空间,列数一致:
所需的外观换行、一致的间距、动态列:
你应该考虑一下。查看GitHub项目站点上的自述文件。我想你会发现它符合你的需要。还有一个用于RecyclerView的FlexboxLayoutManager。这一切都得到了谷歌的支持
您可以下载GitHub项目来使用它,看看是否可以使用它。Google Play商店中也有一些演示游乐场应用程序。只需搜索它。我不会为此使用网格布局。我将为每一行设置一个线性布局,并在添加文本之前进行测量。如果不合适,我会添加一行。
tagRecyclerLayoutManager = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL);