Gridview

可以创建网格列表视图;主要通过Count、extent、custom、builder构造列表。有内边距、是否反向、滑动控制器等属性。
四个属性使用场景,Count、extent、custom适用于子布局较少时使用。可能会用到上拉刷新,数据较多时,则使用builder属性,其中count和builder使用较多

GridView.count

GridView.count 接收下面的命名参数:
其中 crossAxisCount 是必传的,用来控制横轴上子项的个数,
crossAxisSpacing 用来指定横轴上两列的宽度间隙
mainAxisSpacing 用来指定纵轴上两行的高度间隙
childAspectRatio宽高比

代码演示

//网格布局演示
class GridView_test extends StatelessWidget{List<Widget> _initlistdata(){List<Widget> tmplist=[];    //创建一个存储widget的列表for(var i=0;i<list.length;i++){    //list为接收到的数据,在头文件引入tmplist.add(Container(alignment: Alignment.bottomRight,decoration: BoxDecoration(border: Border.all(color: Colors.red,width: 2),   //设置边框//设置图片填充方式),child:Column(children: [Image(image: NetworkImage("${list[i]["cover"]}")), //设置显示图片const SizedBox(height: 10,),Text("${list[i]["name"]}",)//设置文字],),),);}return tmplist;}@overrideWidget build(BuildContext context) {// TODO: implement buildreturn GridView.count(crossAxisCount: 3,  //设置一行的个数crossAxisSpacing:10,  //设置列间距mainAxisSpacing: 10, //设置行间距children:_initlistdata());}
}

效果如下

GridView.builder

当子widget较多时可以使用该方法来动态创建子widget,在使用GridView.builder时有两个比传入参数gridDelegate与itemBuilder

  • gridDelegate是SliverGridDelegate类型,主要是用来控制GridView的子Widget的样式
  • itemBuilder方法接收context和index两个参数,返回widget即可

itemCount参数,该参数表示展示的数据量,如果未定义可能会出现异常

gridDelegate是SliverGridDelegate类型,SliverGridDelegate它有两个子类,SliverGridDelegateWithFixedCrossAxisCount和SliverGridDelegateWithMaxCrossAxisExtent,关于这两个类的更多资料参考:https://www.jianshu.com/p/a2481e0696d0

itembuilder和ListView.builder没这么差别
代码演示:

//网格布局演示二
class Gridview_test2 extends StatelessWidget{Widget _initlistdata(context,index){return Container(alignment: Alignment.bottomRight,decoration: BoxDecoration(border: Border.all(color: Colors.red,width: 2),   //设置边框//设置图片填充方式),child:Column(children: [Image(image: NetworkImage("${list[index]["cover"]}")), //设置显示图片const SizedBox(height: 10,),Text("${list[index]["name"]}",)//设置文字],),);}@overrideWidget build(BuildContext context) {// TODO: implement buildreturn GridView.builder(itemCount: list.length,gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2), itemBuilder: _initlistdata);}
}

引用来源:https://blog.csdn.net/u013290250/article/details/121853271
更多详细的参考:http://www.ptbird.cn/flutter-gridview-count-gridview-builder.html

flutter 网格布局Gridview相关推荐

  1. Flutter 网格布局 Gridview

    动态网格 Gridview  有几个形式 GridView,GridView.builder(常用),GridView.count(常用),GridView.extent和GridView.custo ...

  2. 【Flutter】GridView 网格布局 ( GridView.count 构造函数 | crossAxisCount 参数指定每行元素个数 )

    文章目录 一.GridView 网格布局简介 二.完整代码示例 三.相关资源 一.GridView 网格布局简介 GridView 可用于显示网格布局 ; 一般使用 GridView.count 函数 ...

  3. 【Flutter】十七、Flutter中常用的布局容器——网格布局GridView

    一.使用GridView的多种方式 1.1 GridView() 1.2 GridView.count() 1.3 GridView.builder() 1.4 GridView.custom() 1 ...

  4. Flutter学习笔记--Gridview网格组件制作相册

    Flutter学习笔记–Gridview网格组件制作相册 效果: GridView可以构建一个二维网格列表,其官方定义参考: https://book.flutterchina.club/chapte ...

  5. 浅谈Flutter UI布局

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qiyei2009/article/de ...

  6. Android中的网格布局

    文章目录 1 Android中的网格布局 1 Android中的网格布局 重要属性: android:rowCount(行数量) android:columnCount (列数量) android:l ...

  7. Flutter进阶—布局方法演示

    Flutter的布局机制的核心是控件.在Flutter中,几乎所有的东西都是一个控件,甚至布局模型都是控件.您在Flutter应用程序中看到的图像.图标和文本都是控件.但是您看不到的东西也是控件,例如 ...

  8. 自定义 ViewGroup,实现多功能流式布局与网格布局

    AutoFlowLayout 项目地址:LRH1993/AutoFlowLayout  简介:自定义 ViewGroup,实现多功能流式布局与网格布局 更多:作者   提 Bug   官网 标签: 流 ...

  9. Flutter——最详细(GridView)使用教程

    GridView简介: 可以创建网格列表视图:主要通过Count.extent.custom.builder构造列表.有内边距.是否反向.滑动控制器等属性. 四个属性使用场景,Count.extent ...

最新文章

  1. 基于poll实现的echo服务器
  2. winform在表格中输入一个完整的时间字段_B端交互组件之表格篇
  3. Github 移动端上架!把世界最大同性交友社区装进口袋
  4. Spring+Mybatis多数据源配置(二)——databaseIdProvider的使用
  5. mysql中count(*),count(字段),count(1)的区别
  6. 终于知道以后该咋办了!
  7. bzoj1296 [SCOI2009]粉刷匠 区间dp+背包
  8. mysql如何判断是否有这个字段_判断字段是否是纯数字
  9. Linux 基本命令(二)--cd 常用命令
  10. 手把手教你做iOS的soap应用(webservice)
  11. 配置idea开发go编程语言并配置导入本地包
  12. 老路用得上的商学课-61-80学习(读书)笔记
  13. 计算机应用能力考试湖南成绩查询,湖南计算机等级考试成绩查询入口
  14. 隆重推荐:吴闲云 - 煮酒探西游
  15. 高速PCB设计系列基础知识67 | 尺寸与公差标注内容与通用知识
  16. mysql 计算农历_计算农历日期函数
  17. Unity Rect.OverLaps(Rect other) 改进
  18. 笔试面试常见逻辑题及答案
  19. 进行拨测的主要目的都有哪些?
  20. IoT开源平台Thingsboard二次开发研究

热门文章

  1. docker-compose 实现自动化部署(真实项目使用)
  2. ESP32 ADC测量电压换算
  3. 设置树莓派时区(中国时区)
  4. CSDN联合腾讯云发布“腾讯云数据库TDSQL工程师路线图”
  5. 【DRP】——需求分析
  6. 就现在而言,微信小程序还有市场吗?
  7. Spring系列:IOC依赖的三个方向来源
  8. ㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣化学规律ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎...
  9. 详细介绍如何从零开始制作51单片机控制的智能小车(二)———超声波模块、漫反射光电管、4路红外传感器的介绍和使用
  10. C# in a Nutshell 系列(2)C#和.Net 框架介绍