如何在 Flutter 中使用 GridView 创建不同大小的单元格?

Aru*_*nan 6 flutter flutter-layout

我想用Flutter创建一个类似的视图,因为我们可以通过UICollectionViewLayout在 iOS 中创建 a 来实现。

这是我正在使用的示例代码。 https://github.com/flutter/flutter/blob/master/examples/flutter_gallery/lib/demo/material/grid_list_demo.dart

如何GridViewFlutter 中使用实现这一点。如果没有GridView,有没有其他方法可以做到?

动态尺寸

Tee*_*ker 10

https://github.com/letsar/flutter_staggered_grid_view 这会对你有帮助。我认为该插件提供了不同的大小。


rmt*_*zie 7

GridView 不是为执行此操作而设计的。您可能能够得到一个Wrap来做您想做的事,尽管从您的示例中它可能不会完全做到(横向上它肯定不会,因为它将项目排列成行;垂直它可能对您有用,也可能不取决于究竟是什么你正在做的)。

如果您只想拥有两列,您可以简单地拥有一个包含两列的行,并确保将项目放在正确的列中。

或者更复杂但可能最好的答案是自己编写以这种方式排列项目的逻辑 - 请参阅CustomMultiChildLayout

编辑:还有一个可能适合你的包。它不能随意调整大小,您需要提前知道项目的大小,但您可以指定项目占据网格的多行或多列。在这里看到

请注意,如果您有很多项目,您可能想用CustomScrollView做一些事情,但这实际上不在本答案的范围内。