flutter 网格布局Gridview
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相关推荐
- Flutter 网格布局 Gridview
动态网格 Gridview 有几个形式 GridView,GridView.builder(常用),GridView.count(常用),GridView.extent和GridView.custo ...
- 【Flutter】GridView 网格布局 ( GridView.count 构造函数 | crossAxisCount 参数指定每行元素个数 )
文章目录 一.GridView 网格布局简介 二.完整代码示例 三.相关资源 一.GridView 网格布局简介 GridView 可用于显示网格布局 ; 一般使用 GridView.count 函数 ...
- 【Flutter】十七、Flutter中常用的布局容器——网格布局GridView
一.使用GridView的多种方式 1.1 GridView() 1.2 GridView.count() 1.3 GridView.builder() 1.4 GridView.custom() 1 ...
- Flutter学习笔记--Gridview网格组件制作相册
Flutter学习笔记–Gridview网格组件制作相册 效果: GridView可以构建一个二维网格列表,其官方定义参考: https://book.flutterchina.club/chapte ...
- 浅谈Flutter UI布局
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qiyei2009/article/de ...
- Android中的网格布局
文章目录 1 Android中的网格布局 1 Android中的网格布局 重要属性: android:rowCount(行数量) android:columnCount (列数量) android:l ...
- Flutter进阶—布局方法演示
Flutter的布局机制的核心是控件.在Flutter中,几乎所有的东西都是一个控件,甚至布局模型都是控件.您在Flutter应用程序中看到的图像.图标和文本都是控件.但是您看不到的东西也是控件,例如 ...
- 自定义 ViewGroup,实现多功能流式布局与网格布局
AutoFlowLayout 项目地址:LRH1993/AutoFlowLayout 简介:自定义 ViewGroup,实现多功能流式布局与网格布局 更多:作者 提 Bug 官网 标签: 流 ...
- Flutter——最详细(GridView)使用教程
GridView简介: 可以创建网格列表视图:主要通过Count.extent.custom.builder构造列表.有内边距.是否反向.滑动控制器等属性. 四个属性使用场景,Count.extent ...
最新文章
- 基于poll实现的echo服务器
- winform在表格中输入一个完整的时间字段_B端交互组件之表格篇
- Github 移动端上架!把世界最大同性交友社区装进口袋
- Spring+Mybatis多数据源配置(二)——databaseIdProvider的使用
- mysql中count(*),count(字段),count(1)的区别
- 终于知道以后该咋办了!
- bzoj1296 [SCOI2009]粉刷匠 区间dp+背包
- mysql如何判断是否有这个字段_判断字段是否是纯数字
- Linux 基本命令(二)--cd 常用命令
- 手把手教你做iOS的soap应用(webservice)
- 配置idea开发go编程语言并配置导入本地包
- 老路用得上的商学课-61-80学习(读书)笔记
- 计算机应用能力考试湖南成绩查询,湖南计算机等级考试成绩查询入口
- 隆重推荐:吴闲云 - 煮酒探西游
- 高速PCB设计系列基础知识67 | 尺寸与公差标注内容与通用知识
- mysql 计算农历_计算农历日期函数
- Unity Rect.OverLaps(Rect other) 改进
- 笔试面试常见逻辑题及答案
- 进行拨测的主要目的都有哪些?
- IoT开源平台Thingsboard二次开发研究
热门文章
- docker-compose 实现自动化部署(真实项目使用)
- ESP32 ADC测量电压换算
- 设置树莓派时区(中国时区)
- CSDN联合腾讯云发布“腾讯云数据库TDSQL工程师路线图”
- 【DRP】——需求分析
- 就现在而言,微信小程序还有市场吗?
- Spring系列:IOC依赖的三个方向来源
- ㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣化学规律ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎...
- 详细介绍如何从零开始制作51单片机控制的智能小车(二)———超声波模块、漫反射光电管、4路红外传感器的介绍和使用
- C# in a Nutshell 系列(2)C#和.Net 框架介绍