GridView简介:

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

  • 使用场景:

列如:支付宝首页的网格布局,等一系列网格样式的UI都可以使用该组件

属性 作用
scrollDirection 滚动方向
crossAxisCount 主轴一行的数量
mainAxisSpacing 主轴每行间距
crossAxisSpacing 交叉轴每行间距
childAspectRatio item的宽高比1 / 2
class CustomGridView extends StatelessWidget {final data = List.generate(128, (i) => Color(0xFFFF00FF - 2 * i));@overrideWidget build(BuildContext context) {return Container(child: GridView.count(crossAxisCount: 3,mainAxisSpacing: 12,crossAxisSpacing: 20,childAspectRatio: 1 / 0.5,children: data.map((color) => _buildItem(color)).toList(),),);}Container _buildItem(Color color) => Container(alignment: Alignment.center,width: 100,height: 30,color: color,child: Text(colorString(color),style: TextStyle(color: Colors.white, shadows: [Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2)]),),);String colorString(Color color) =>"#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}";
}

可以看到,每行展示3个item,主轴间距20,横轴间距12。item的宽度是高度的2倍

属性scrollDirection:Axis.horizontal

布局横轴滑动

属性:GridView.builder

 GridView.builder(itemCount: data.length,gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3,mainAxisSpacing: 12,crossAxisSpacing: 20,childAspectRatio: 1 / 0.7,),itemBuilder: (_, position) => _buildItem(data[position]),)

这个效果,宽度与高度的比例是1/0.7。

Flutter——最详细(GridView)使用教程相关推荐

  1. Flutter——(GridView)使用教程

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

  2. 「首席架构师推荐」最棒的的Flutter库,工具,教程,文章列表

    Flutter是一款移动应用SDK,可通过单一代码库为iOS和Android构建高性能,高保真的应用. 内容 文章 视频 组件 导航 模板 插件 构架 开源应用程序 WEB 工具 社区 文章 介绍 G ...

  3. ROS 不能再详细的安装教程

    ROS 不能再详细的安装教程 版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5779206.html 关于ROS(Robot OS 机 ...

  4. 超强、超详细Redis入门教程【转】

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使用r ...

  5. System之Ubuntu:VMware虚拟机 Ubuntu安装详细过程(图文教程,最强攻略,步骤详细,建议收藏)

    System之Ubuntu:VMware虚拟机 Ubuntu安装详细过程(图文教程,最强攻略,步骤详细,建议收藏) 导读         不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服 ...

  6. Tomcat安装及配置教程(超详细的图文教程)(亲测)

    Tomcat安装及配置教程(超详细的图文教程) 1.什么是Tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下 ...

  7. springboot超详细教程_CG原画插画教程:超详细线稿教程

    艺学绘小编收集整理了超详细线稿教程 今天我们从起稿开始 1. 用圆表示出人物的头部.胸腔和骨盆,分别画出头部的十字线和身体的中线,表示头和身体的朝向.用"火柴棍"表示四肢的动作形态 ...

  8. mysql2008数据库配置_SQL Server 2008 R2 超详细安装图文教程

    这篇文章主要介绍了SQL Server 2008 R2 超详细安装图文教程,需要的朋友可以参考下 一.下载SQL Server 2008 R2安装文件 二.将安装文件刻录成光盘或者用虚拟光驱加载,或者 ...

  9. php cdata,PHPcdata处理(详细介绍)_PHP教程

    PHPcdata处理(详细介绍)_PHP教程 当时在网上找了一个CDATA的转换器, 修改之后, 将CDATA标签给过滤掉.如下 代码如下: // States: // // 'out' // ' / ...

最新文章

  1. 「 Luogu P2420 」 让我们异或吧
  2. c语文编程提取郑码的单字码表
  3. 把玩Alpine linux(二):APK包管理器
  4. Mybaties配置一对多关系sql实例
  5. CodeForces 1065E. Side Transmutations 计数
  6. OpenCV3学习(4.1)——图像阈值操作(Threshold,AdaptiveThreshold)
  7. 文本相似性度量---------字符串近似相等
  8. 填写【2fpmi2j】
  9. redhat 安装 snort
  10. 本地yum源安装teamviewer
  11. 捷径|Instagram去水印教程
  12. 中年,就是1个人演1部西游记
  13. lvuaagentinstbaseroot_桌面小助手UniAgent删除指南
  14. springboot+微信小程序基于微信小程序的高校学生疫情在校封闭管理系统毕业设计源码240904
  15. iOS App Extensions之Share Extension
  16. Mac小白——如何查看网速
  17. js实现页面视频监控全屏
  18. 病毒性感冒和细菌性感冒怎样区分
  19. solidworks的openGL选项是灰色的处理方法
  20. 北京峰会系列二|基于SPDK的UDisk全栈优化

热门文章

  1. ios: 项目icon和default图片命名规则
  2. 888道Java高级面试题,JDK、JRE与JVM的区别与联系
  3. QTest 单元测试框架及单元测试思考
  4. 快递单号导入有空格怎么删除并查询全部物流信息
  5. “超级网红”罗永浩要拿什么赌明天?
  6. 我学炒外汇 第二十篇形态分析 -- 头肩型
  7. 一万次交易反复验证:庄家一旦出现,那就坐着庄家的顺风车干吧!
  8. 电脑百兆网卡和以太千兆网卡有什么区别
  9. 【macos vs2022】记录一次.NET6 webapi 证书问题
  10. Elliptic Curves Number Theory And Cryptography——pairing learning