Flutter

2023-10-30

看到有不少人在用 CustomScrollView,我实在心痛,杀鸡焉用牛刀?

在这里插入图片描述

好好看代码,一个小小的 Column 就能解决问题:

class _AddHeaderFooterListPageState extends State<AddHeaderFooterListPage> {
  final _dataArray = [1, 2, 3];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: BaseAppBar(titleText: '添加表头表尾'),
      body: ListView.builder(
        itemCount: _dataArray.length,
        itemBuilder: (context, index) {
          if (index == 0) {
            // 开头
            return Column(
              children: [
                _buildHeader(),
                _buildCell(index),
              ],
            );
          } else if (index == _dataArray.length - 1) {
            // 结尾
            return Column(
              children: [
                _buildCell(index),
                _buildFooter(),
              ],
            );
          } else {
            return _buildCell(index);
          }
        },
      ),
    );
  }

  Widget _buildCell(int index) {
    return Container(
      alignment: Alignment.centerLeft,
      height: 30,
      color: Colors.orange,
      child: Text('这是cell-$index'),
    );
  }

  Widget _buildHeader() {
    return Container(
      alignment: Alignment.center,
      height: 100,
      color: Colors.red,
      child: const Text('这是表头'),
    );
  }

  Widget _buildFooter() {
    return Container(
      alignment: Alignment.center,
      height: 100,
      color: Colors.green,
      child: const Text('这是表尾'),
    );
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flutter 的相关文章

随机推荐

  • DFS 相关例题

    会顶科技 两道 第一行为一个整数N 用来表示球的个数 第二行为一个整数M 用来表示桶的个数 从第三行到第N 2行 每行有M个整数 这些整数要么为0 要么为1 输出描述 输出为一个整数 输出1代表可以放入所有的球 输出0代表无法放入所有的球
  • android开发:Android Studio的Signature Versions选择

    参考 https blog csdn net jiangjingxuan article details 66970552
  • Anaconda安装jieba库和wordcloud库安装实现词云

    一 jieba库安装 1 从官网下载jieba压缩包 https pypi org project jieba files 2 将压缩包解压到anaconda的pkgs目录 3 打开anaconda prompt 切换目录至比如 C ana
  • Linux环境下编程遇到“fatal error:stdio.h:没有那个文件或目录”错误解决办法

    我是荔园微风 作为一名在IT界整整25年的老兵 今天总结一下linux环境下如何解决一个常见的问题 也就是 fatal error stdio h 没有那个文件或目录 错误 不少初学者在linux环境下用gcc编译C语言时 经常会遇到这个问
  • Linux wc命令

    Linux wc命令 作用 统计字节数 字符数 行数 最长的行的长度 单词数 格式 wc OPTION FILE wc OPTION files0 from F OPTION c 或 bytes 计算字节数 m 或 chars 计算字符数
  • SPA项目开发之首页导航+左侧栏菜单

    文章目录 后台主界面搭建 左侧树收缩功能 vue总线的概念 后台主界面搭建 在搭建主界面之前 来给大家介绍一个MOCK js 是一个模拟数据的生成器 用来帮助前端调试开发 进行前后端的原型分离以及用来提高自动化测试效率 众所周知Mock j
  • hex码和ascii码的转换

    hex码和ascii码的转换 2017年01月09日 17 48 25 changeyourmind 阅读数 4784 版权声明 本文为博主原创文章 未经博主允许不得转载 https blog csdn net changyourmind
  • PRT(Precomputed Radiance Transfer【2002】)原理实现

    声明 本文源自对Games202课程 作业2的总结 参考 手把手教你写GAMES202作业 GAMES202 作业2 Precomputed Radiance Transfer 球谐函数 GAMES 202 作业2 Games202课程 个
  • Apache Beam 模型

    背景 Apache Beam 是Google 开源的一个统一编程框架 它本身不是一个流式处理平台 而是提供了统一的编程模型 帮助用户创建自己的数据处理流水线 实现可以运行在任意执行引擎之上批处理和流式处理任务 它包含 一个可以涵盖批处理和流
  • C++工程实践经验

    1 C 工程实践经验谈 陈硕 giantchen gmail com 最后更新 2012 4 20 版权声明 本作品采用 Creative Commons 署名 非商业性使用 禁止演绎 3 0 Unported 许可 协议 cc by nc
  • DF标志和串移动指令(movsb/movsw)

    1 标志寄存器的第10位DF 方向标志位 在串处理指令中 控制每次操作后si di的增减 DF 0 每次操作后 si di增加 DF 1 每次操作后 si di减小 我们可以用汇编语法描述movsb的功能如下 mov es di byte
  • 读写分离(主从复制,Sharding-JDBC)

    目录 1 介绍 2 配置 2 1配置准备 2 2配置主库Master 2 3配置从库Slave 3 读写分离案例 3 1Sharding JDBC 3 2入门案例 1 介绍 MySQL主从复制是一个异步的复制过程 底层是基于MySQL数据库
  • 数控直流电压源的设计与制作【keil5 & AD20]

    目录 1 设计任务与要求 1 1 设计任务 1 2 设计要求 2 设计方案 2 1 系统方案设计 2 1 1 滤波电路 2 2 2 辅助电源电路 2 2 3 三端可调稳压电路 2 2 4 电压 电流采样电路 2 2 元器件选型 2 2 1电
  • 浅析数据库case when 用法

    背景 今天在做一个需求 大致就是根据卡的logo去匹配 卡片的主卡数量 附属卡数量 激活卡数量 未激活卡数量 销卡数量等 当时以为要写很多sql 后来问了下同事说可以用case when写一条sql就能搞定 当时那个开心啊就是这样的O O哈
  • YoloV8改进策略:SPD-Conv加入到YoloV8中,让小目标无处遁形

    摘要 SPD Conv是一种新的构建块 用于替代现有的CNN体系结构中的步长卷积和池化层 它由一个空间到深度 SPD 层和一个非步长卷积 Conv 层组成 空间到深度 SPD 层的作用是将输入特征图的每个空间维度降低到通道维度 同时保留通道
  • arxiv国内镜像——快速下载

    arXiv org是一个收录科学文献预印本的在线数据库 目前包含了超过50万篇文章 并且以每个月5000篇的速度增长着 目前 这个数据库包含 数学 物理 计算机 非线性科学 定量生物学 定量财务以及统计学几大分类 其最重要的特点就是 开放式
  • php结合验证码实现登陆,thinkPHP实现的验证码登录功能示例

    本文实例讲述了thinkPHP实现的验证码登录功能 分享给大家供大家参考 具体如下 使用thinkphp自带的验证 实现登录页面的账号密码 验证码的验证 namespace Admin Controller use Think Contro
  • hashmap的扩容机制

    1 hashmap扩容的代码实现 hashMap的扩容机制 final Node
  • springboot整合IJPay实现微信支付-V3---微信小程序

    前言 微信支付适用于许多场合 如小程序 网页支付 但微信支付相对于其他支付方式略显麻烦 我们使用IJpay框架进行整合 一 IJpay是什么 JPay 让支付触手可及 封装了微信支付 支付宝支付 银联支付常用的支付方式以及各种常用的接口 不
  • Flutter

    看到有不少人在用 CustomScrollView 我实在心痛 杀鸡焉用牛刀 好好看代码 一个小小的 Column 就能解决问题 class AddHeaderFooterListPageState extends State