如何制作具有等高行的交错网格视图,如 Google 图片搜索?

How to make a staggered grid view with rows of equal height like Google Image Search?

有谁知道如何实现像 Google 图片搜索中的结果屏幕那样的交错网格视图/布局?见下图。

该网格具有(几乎)相同高度的项目。它是垂直滚动的。这对于具有特定顺序项目的网格视图很有用,例如按发布日期排序。

在视觉上,在等高行的交错网格中,由于从左到右易于阅读,因此项目的顺序更易于阅读。

将此与具有等宽列的交错网格进行比较。请参见下图。项目的顺序不容易阅读(对于本网站而言,这无关紧要)。所以这不是我要找的!

Android API documentation中,我找不到如何在上面的第一张图片中创建交错网格的线索。在 Stack Overflow 上所有标记为 Staggered Grid 和 Android 的帖子中,我找不到答案。

所以我的问题是:如何完成这个交错网格:

Android 没有为 StaggeredGridView 提供默认库。您可以使用带有 StaggeredGridLayoutManager (https://developer.android.com/reference/android/support/v7/widget/StaggeredGridLayoutManager.html) 的 RecyclerView 来执行此操作,也可以使用自定义库 - com.etsy.android.grid.StaggeredGridView。通过您的 gradle 文件下载:

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.etsy.android.grid:library:x.x.x'
}

详情请访问:http://www.technotalkative.com/lazy-productive-android-developer-part-6-staggered-gridview/

FlexboxLayoutManager 就是您所需要的。

https://github.com/google/flexbox-layout#flexboxlayoutmanager-within-recyclerview

dependencies {
    implementation 'com.google.android:flexbox:x.x.x'
}