我正在寻找一种在启用了换行的情况下在UI中显示可变宽度图像/图标列表的方法,这样每行可以有可变数量的对象。对象列表是动态的,并且来自数据库。我目前正在使用StaggeredGridLayout,但限制如下:
(在下面查看我的屏幕截图)
我在这里错过了什么吗?也许我应该完全使用其他结构(如表),但是如果我遗漏了一些明显的东西,请告诉我。
RecyclerView XML:
<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" />
使用以下内容初始化布局:
tagRecyclerLayoutManager = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL);
当前外观(StaggeredGridLayout;网格拉伸以填充所有空间,并保持一致的列数(spanCount)):
所需的外观(换行,一致的间距,动态的列数):
答案 0 :(得分:1)
您应该考虑FlexboxLayout
。查看GitHub项目站点上的自述文件。我认为您会发现它符合您的需求。 FlexboxLayoutManager
还有一个RecyclerView
。这一切都受Google支持。
您可以下载GitHub项目以进行使用,以查看是否可以使用它。 Google Play商店中还有一些演示游乐场应用程序。只需搜索即可。