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

时间:2018-05-01 18:17:23

标签: flutter flutter-layout

我想通过在iOS中创建UICollectionViewLayout来创建与 Flutter 相似的视图。

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

如何使用 Flutter 中的GridView来实现此目的。如果不是GridView,还有其他办法吗?

Dynamic Sizes

2 个答案:

答案 0 :(得分:2)

GridView不是为此而设计的。你或许可以得到一个Wrap来做你想做的事情,虽然从你的例子来看它可能不会这样做(横向它肯定不会因为它将项目排成行;垂直它可能对你有效或者可能不适用取决于你正在做什么)。

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

或者更复杂但可能最好的答案是编写用于自行安排项目的逻辑 - 请参阅CustomMultiChildLayout

编辑:还有一个可能适合您的包。它不能进行任意大小调整,您需要事先知道项目的大小,但是您可以指定项目以占用网格的多个行或列。请参阅it here

请注意,如果您有很多项目,那么您可能希望使用CustomScrollView执行某些操作,但这并非属于此答案的范围。

答案 1 :(得分:1)

https://github.com/letsar/flutter_staggered_grid_view 这会帮到你。我认为插件的大小不同。