8

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

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

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

动态尺寸

4

2 回答 2

8

GridView 不是为此而设计的。您可能可以让Wrap做您想做的事,尽管从您的示例中它可能无法完全做到(水平方向上它肯定不会,因为它将项目排列成行;垂直方向上它可能对您有用,也可能不取决于究竟是什么你正在做的)。

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

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

编辑:还有一个可能适合你的包。它不能做任意大小,需要提前知道item的大小,但是可以指定item占用网格的多行或多列。在这里看到

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

于 2018-05-01T23:54:38.993 回答
4

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

于 2020-04-03T08:13:50.060 回答