尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Flutter---ListView中放添加按钮
效果图关键代码Widget buildListView(){ return ListView.separated( separatorBuilder: (context,index) const SizedBox.shrink(), itemCount: fruits.length 1, itemBuilder: (context,index){ if(index fruits.length){ //根据下标选择生成不同的UI return _buildAddButton(); } if(index fruits.length){ return _buildListItem(name: fruits[index]); } } ); }代码实例import package:flutter/material.dart; class DemoPage extends StatefulWidget { const DemoPage({super.key}); override StateDemoPage createState() _DemoPageState(); } class _DemoPageState extends StateDemoPage { ListString fruits [apple,pear,banana,strawberry]; override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.blue.shade50, appBar: AppBar( leading: IconButton(onPressed: (){ Navigator.pop(context); }, icon: Icon(Icons.arrow_back_ios)), ), body: Container( height: double.infinity, width: double.infinity, margin: EdgeInsets.symmetric(vertical: 40), //color: Colors.pink, child:buildListView(), ) ); } Widget buildListView(){ return ListView.separated( separatorBuilder: (context,index) const SizedBox.shrink(), itemCount: fruits.length 1, itemBuilder: (context,index){ if(index fruits.length){ return _buildAddButton(); } if(index fruits.length){ return _buildListItem(name: fruits[index]); } } ); } Widget _buildListItem({ required String name }){ return Container( height: 50, margin: EdgeInsets.symmetric(horizontal: 20,vertical: 5), decoration: BoxDecoration( color: Colors.blue, borderRadius: BorderRadius.circular(20) ), child: Center( child: Text(name,style: TextStyle(color: Colors.white),), ), ); } Widget _buildAddButton(){ return GestureDetector( onTap: (){ setState(() { fruits.add(new fruit); }); }, child: Container( height: 60, width: 60, decoration: BoxDecoration( color: Colors.blue, shape: BoxShape.circle ), child: Center( child: Text(添加,style: TextStyle(color: Colors.red),), ), ), ); } }
RELATED

相关推荐

Transformer架构解析:从自注意力到工程实践

Transformer架构解析:从自注意力到工程实践

1. Transformer架构的核心突破:从序列处理到并行计算传统RNN在处理序列数据时存在一个根本性缺陷——必须按时间步顺序处理输入。这种串行特性导致两个致命问题:训练速度受限于序列长度,以及难以捕捉长距离依赖关系。Transformer通过自注意力…

📅 2026/10/6 3:14:15
【浙江农林大学暨阳学院本科毕业论文】基于SpringBoot家具商城微信小程序的设计与实现

【浙江农林大学暨阳学院本科毕业论文】基于SpringBoot家具商城微信小程序的设计与实现

注:仅展示部分文档内容和系统截图,需要完整的视频、代码、文章和安装调试环境请私信up主。学生的技术与实现摘要:在电商经济盛行的当下,家具产品市场规模持续扩大,消费者对于便捷、高效购买家具产品的需求愈发强烈。传…

📅 2026/10/7 4:31:25
【新余学院本科毕业设计】基于SprinBoot的高校摄影爱好者交流网站设计与实现

【新余学院本科毕业设计】基于SprinBoot的高校摄影爱好者交流网站设计与实现

注:仅展示部分文档内容和系统截图,需要完整的视频、代码、文章和安装调试环境请私信up主。 学生的技术与实现 摘 要随着摄影文化逐渐普及以及互联网技术飞速发展,高校摄影爱好者数量不断增多,迫切需要一个集作品分享、技巧学习…

📅 2026/9/24 15:00:17
MORE NEWS

更多资讯

📰

PS图层蒙版与剪贴蒙版:黑白灰原理、局部调色与排查实战

蒙版这个东西,我教过不少零基础的朋友,几乎所有人第一次听到“蒙版”两个字都是一脸懵,觉得它神秘、抽象、像是高级功能。但真上手之后你会发现,它其实是PS里最“讲道理”的一个机制:不删像素、不破坏原图、随时能反悔…

📰

OpenClaw智能开发工具链:模块化架构与AI协同实践

1. OpenClaw工具概述:新一代智能开发平台的利器OpenClaw作为当前开发者社区热议的智能开发工具链,其内置功能模块的设计理念源于对现代开发流程的深度重构。不同于传统IDE或CLI工具,它通过模块化架构将代码生成、环境管理、AI协同等能力封装为…

📰

PS图层蒙版与剪贴蒙版:从灰度原理到合成调色实战

图层蒙版和剪贴蒙版,是PS入门阶段最容易被跳过去的两个功能,也是新手做完图之后最常发出“为什么我这张图看起来像贴纸”这种疑问的根源。我见过太多人学PS的路径是先把工具栏挨个摸一遍,套索、魔棒、橡皮擦用得挺顺手,一到蒙版就…

📰

Procreate艺术笔刷包:30种风格笔刷参数与制作流程

做数字绘画这一行久了,最常被同行问的一句话就是“你这套笔刷哪来的”。我手上在用的这套Procreate艺术笔刷包:30种风格笔刷集合,不是从应用里一键下载的成品包,而是我按自己画稿的习惯,一支一支调出来、攒起来、再反复…

📰

ADE:智能体开发的基础设施重构与Control Plane实践

1. 这不是IDE的升级,而是开发范式的迁移:从写代码到编排智能体你有没有过这样的体验:在VS Code里敲完几百行Python,调试了三轮才让一个RAG流程跑通,结果发现用户真正需要的,其实只是“把PDF里的合同条款自动…

📰

DWVD与MCNN-BiGRU在工业故障诊断中的应用

1. 项目概述:当信号处理遇上深度学习在工业设备故障诊断领域,传统方法往往面临两个核心痛点:一是非平稳信号的特征提取困难,二是时序依赖关系的建模不足。这个项目创新性地将时频分析工具DWVD与深度学习架构MCNN-BiGRU相结合&…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬