GridView
GridView
用于构建一个二维网格列表,定义:
GridView({
Axis scrollDirection = Axis.vertical,
bool reverse = false,
ScrollController controller,
bool primary,
ScrollPhysics physics,
bool shrinkWrap = false,
EdgeInsetsGeometry padding,
@required SliverGridDelegate gridDelegate, //控制子widget layout的委托
bool addAutomaticKeepAlives = true,
bool addRepaintBoundaries = true,
double cacheExtent,
List<Widget> children = const <Widget>[],
})
从上面来看,GridView
和 ListView
的大多数都是相同的,他们的含义也都相同。其中,必须参数 SliverGridDelegate
是一个抽象类,定义了 GridView
相关的接口,子类需要通过实现他们来完成布局。在 Flutter
中,提供了 SliverGridDelegateWithFixedCrossAxisCount
和 SliverGridDelegateWithMaxCrossAxisExtent
两个子类。