Flutter——最详细(GridView)使用教程
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)使用教程相关推荐
- Flutter——(GridView)使用教程
GridView简介: 可以创建网格列表视图:主要通过Count.extent.custom.builder构造列表.有内边距.是否反向.滑动控制器等属性. 四个属性使用场景,Count.extent ...
- 「首席架构师推荐」最棒的的Flutter库,工具,教程,文章列表
Flutter是一款移动应用SDK,可通过单一代码库为iOS和Android构建高性能,高保真的应用. 内容 文章 视频 组件 导航 模板 插件 构架 开源应用程序 WEB 工具 社区 文章 介绍 G ...
- ROS 不能再详细的安装教程
ROS 不能再详细的安装教程 版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5779206.html 关于ROS(Robot OS 机 ...
- 超强、超详细Redis入门教程【转】
这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使用r ...
- System之Ubuntu:VMware虚拟机 Ubuntu安装详细过程(图文教程,最强攻略,步骤详细,建议收藏)
System之Ubuntu:VMware虚拟机 Ubuntu安装详细过程(图文教程,最强攻略,步骤详细,建议收藏) 导读 不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服 ...
- Tomcat安装及配置教程(超详细的图文教程)(亲测)
Tomcat安装及配置教程(超详细的图文教程) 1.什么是Tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下 ...
- springboot超详细教程_CG原画插画教程:超详细线稿教程
艺学绘小编收集整理了超详细线稿教程 今天我们从起稿开始 1. 用圆表示出人物的头部.胸腔和骨盆,分别画出头部的十字线和身体的中线,表示头和身体的朝向.用"火柴棍"表示四肢的动作形态 ...
- mysql2008数据库配置_SQL Server 2008 R2 超详细安装图文教程
这篇文章主要介绍了SQL Server 2008 R2 超详细安装图文教程,需要的朋友可以参考下 一.下载SQL Server 2008 R2安装文件 二.将安装文件刻录成光盘或者用虚拟光驱加载,或者 ...
- php cdata,PHPcdata处理(详细介绍)_PHP教程
PHPcdata处理(详细介绍)_PHP教程 当时在网上找了一个CDATA的转换器, 修改之后, 将CDATA标签给过滤掉.如下 代码如下: // States: // // 'out' // ' / ...
最新文章
- 「 Luogu P2420 」 让我们异或吧
- c语文编程提取郑码的单字码表
- 把玩Alpine linux(二):APK包管理器
- Mybaties配置一对多关系sql实例
- CodeForces 1065E. Side Transmutations 计数
- OpenCV3学习(4.1)——图像阈值操作(Threshold,AdaptiveThreshold)
- 文本相似性度量---------字符串近似相等
- 填写【2fpmi2j】
- redhat 安装 snort
- 本地yum源安装teamviewer
- 捷径|Instagram去水印教程
- 中年,就是1个人演1部西游记
- lvuaagentinstbaseroot_桌面小助手UniAgent删除指南
- springboot+微信小程序基于微信小程序的高校学生疫情在校封闭管理系统毕业设计源码240904
- iOS App Extensions之Share Extension
- Mac小白——如何查看网速
- js实现页面视频监控全屏
- 病毒性感冒和细菌性感冒怎样区分
- solidworks的openGL选项是灰色的处理方法
- 北京峰会系列二|基于SPDK的UDisk全栈优化
热门文章
- ios: 项目icon和default图片命名规则
- 888道Java高级面试题,JDK、JRE与JVM的区别与联系
- QTest 单元测试框架及单元测试思考
- 快递单号导入有空格怎么删除并查询全部物流信息
- “超级网红”罗永浩要拿什么赌明天?
- 我学炒外汇 第二十篇形态分析 -- 头肩型
- 一万次交易反复验证:庄家一旦出现,那就坐着庄家的顺风车干吧!
- 电脑百兆网卡和以太千兆网卡有什么区别
- 【macos vs2022】记录一次.NET6 webapi 证书问题
- Elliptic Curves Number Theory And Cryptography——pairing learning