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

2023-10-30

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));

  @override
  Widget 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。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flutter——最详细(GridView)使用教程 的相关文章

随机推荐

  • 模型实战(10)之win10下tensorRT部署yolov5算法

    win10下tensorRT部署yolov5算法 针对yolov5的众多版本 目前有几种部署方法 1 tensorrtx 大神针对众多网络模型 包含yolov5众多版本 开源的一个转换工具 部署方式为 onnx gt wts gt engi
  • egret native使用自定义字体

    参考文章白鹭官方链接 除了文章提到的修改内容 还有文章没提到的一些内容如下 1 在egretProperties json文件中添加字库名称 2 添加字库资源 以上是android apk包内改变字体的方法 而移动端浏览器的设置方法则需要另
  • 关于layer.js中layer.confirm弹出框看不到或者不居中问题处理

    在jsp页面body 标签上加上style height 100 就可以解决
  • 在Android中实现Unity3D的背景是透明的 u3d显示在安卓的上一层

    在Unity中 可以通过设置Camera的背景 Camera下的Environment下的Background Type设置为Solid Color Background需要设置黑色透明度0 即ARGB为 0 0 0 0 透明度不为0则无法
  • 安卓应用开发入门:两个 Activity 之间的跳转

    关键知识 Intent Intent 意图 主要实现Activity之间的来回切换和数据传递 Intent是一种轻量级的消息传递机制 这种消息描述了应用中一次操作的动作 动作涉及数据 附加数据 Android系统根据此Intent的描述 负
  • 凭借这份面经,大专的我成功拿到腾讯Android岗offer

    一 简历 网上有很多对程序员简历的一些指导 这里就不重述 大家可以搜下网上其他大神的总结 结合自身情况修改下 我有几点建议 1 尽量不要花哨 程序员和设计师或者产品运营还不一样 我们的简历成功与否决定权还是在技术面试官那 而他们看重的是你的
  • centos6.8下l2tp客户端xl2tpd的安装配置

    环境 DigitalOcean centos6 8作为l2tp客户端 ros6 43 8作为l2tp服务端 1 安装xl2tp和ppp rpm ivh http mirrors yun idc com epel 6 x86 64 epel
  • 你能活过80岁么?9大因素决定人的寿命

    你能活过80岁么 9大因素决定人的寿命 最近 一项世界上历时最长 规模最大的老龄化研究显示 对中年男子而言 寿命能否达到80岁以上 取决于9项指标 即体重 血压 血糖 胆固醇 受教育程度 婚姻状况 是否酗酒 是否吸烟以及是否拥有好的握力 这
  • 测试音质好坏的软件,音响音质的好坏简单的两招测出

    原标题 音响音质的好坏简单的两招测出 怎样判断一个音响好坏 对于略懂略懂的你真的可以判断一个音响的好坏 当没有专业的测试工具也没有精确的仪器时候 应该怎样判断一个音响好坏 然后就买买买 低配置的测试 工具 一杯水 一首无损音质的歌曲 测试低
  • Android实现屏幕旋转方法

    本文实例总结了Android实现屏幕旋转方法 分享给大家供大家参考 具体如下 在介绍之前 我们需要先了解默认情况下android屏幕旋转的机制 默认情况下 当用户手机的重力感应器打开后 旋转屏幕方向 会导致当前activity发生onDes
  • 金融分析与风险管理——投资组合的有效前沿及资本市场线

    金融分析与风险管理 投资组合的有效前沿及资本市场线 1 投资组合的可行集 2 投资组合的有效前沿 3 资本市场线 1 投资组合的可行集 投资组合中的权重变量可以实现投资组合的预期收益率与收益波动率之间的映射关系 在投资组合的理论中 所有可能
  • Tomcat服务安全加固和优化

    转载来源 https help aliyun com knowledge detail 37421 html spm a2c4g 11186623 4 5 4ad6510eY2UhOS 介绍 tomcat服务默认启用了管理后台功能 使用该后
  • Docker安装(RPM包方式)

    Docker安装 RPM包方式 一 安装环境准备 1 操作系统要求 1 查看内核版本 root nod var uname r 3 10 0 957 el7 x86 64 2 查看操作系统版本 root nod var cat etc os
  • java gridlayout 行高,RecyclerView GridLayoutManager和動態的行高

    初始化 postLine setAdapter postsAdapter postLine setLayoutManager new GridLayoutManager getActivity 2 準備後添加他們recyclerView功能
  • 【青少年CTF】“Flag在哪里?”解题记录

    青少年CTF训练平台 www qsnctf com 博主用户名 Fourstar 题目介绍 描述中并没有给出什么有用的信息 一般来讲有关于直接问Flag的 例如 Flag在哪里 Where is Flag 此类题目 第一反应就是查看网页源代
  • GitLab+Jenkins+Harbor+Kubernetes构建Devops体系

    文章目录 一 架构设计 二 环境准备 1 安装GitLab 2 安装Jenkins 1 安装方式 2 配置 3 安装Harbor 4 安装k8s 1 安装方式 2 配置 三 服务代码结构 四 Jenkins持续集成 本文介绍一套比较简单的
  • [论文阅读] Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet

    论文地址 https arxiv org abs 2101 11986 代码 https github com yitu opensource T2T ViT 发表于 ICCV 2021 Arxiv 2021 01 Abstract Tra
  • Spring Boot 项目结构

    简介 Spring Boot 根据实际的项目可以有不同的文件结构 比如使用maven还是使用gradle构建工具 开发Web项目还是控制台项目 使用JPA文件结构和使用Mybatis的文件结构 前后端分离项目它们采用的目录结构是不同的 但它
  • 汽车部件IPX9K/IP69K、IP66K等ip防护等级测试的应用

    汽车部件IPX9K IP69K IP66K等ip防护等级测试的应用 汽车传感器 连接器 水泵 灯具等部件的ip防护等级测试 以IPX9K IP69K IPX5 IPX6 IPX6K IPX7 IPX8 IP5X IP6X测试为主流 其中高等
  • Flutter——最详细(GridView)使用教程

    GridView简介 可以创建网格列表视图 主要通过Count extent custom builder构造列表 有内边距 是否反向 滑动控制器等属性 四个属性使用场景 Count extent custom适用于子布局较少时使用 可能会