Flutter GridView

Flutter GridView常用属性、

4种使用方式的区别

GridView()、GridView.count()、GridView.extent() 这三种和GridView.builder()的区别在于:

  1. GridView都需要一个Widget数组作为其子元素,前三种方式都会提前将所有子widget都构建好,所以只适用于子Widget数量比较少
  2. 当子widget比较多时,我们可以通过GridView.builder来动态创建子Widget。

常用属性

属性名 功能 值所属类型
scrollDirection 滚动方法 Axis
padding 内边距 EdgeInsetsGeometry
resolve 组件反向排序 bool
crossAxisSpancing 水平子Widget之间间距 double
mainAxisSpancing 垂直子Widget 之间间距 double
crossAxisCount 一行Widget的数量 int
childAspectRatio 子widget的宽高比例 double
children [] 子控件
gridDelegate 一个控制 GridView 中子项布局的委托。
itemBuilder 遍历数返回Widget widget
itemCount 子控件数量 int
controller 滚动控制(滚动监听)
primary 如果内容不足,则用户无法滚动 而如果[primary]为true,它们总是可以尝试滚动。
physics 滑动类型设置
AlwaysScrollableScrollPhysics() 总是可以滑动
NeverScrollableScrollPhysics 禁止滚动
BouncingScrollPhysics 内容超过一屏 上拉有回弹效果
ClampingScrollPhysics 包裹内容 不会有回弹

GridView 创建网格列表有多种方式,常用有以下两种。

1、可以通过 GridView.count 实现网格布局

2、通过 GridView.builder 实现网格布局

Flutter GridView