Flutte ListView 列表组件

article/2025/8/22 1:24:32

目录

1、垂直列表

         1.1 实现用户中心的垂直列表

2、垂直图文列表

        2.1 动态配置列表

        2.2 for循环生成一个动态列表

        2.3 ListView.builder配置列表


列表布局是我们项目开发中最常用的一种布局方式。Flutter中我们可以通过ListView来定义列表项,支持垂直和水平方向展示。通过一个属性就可以控制列表的显示方向。列表有以下分类:

1、垂直列表
2、垂直图文列表
3、水平列表
4、动态列表

1、垂直列表

import 'package:flutter/material.dart';
import 'package:wyze_app_live/test1/test11.dart';
import 'package:wyze_app_live/test2/main.dart';void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow),home: Scaffold(appBar: AppBar(title: Text("App")),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {@overrideWidget build(BuildContext context) {return ListView(children: <Widget>[ListTile(title: Text("我是一个列表")),Divider(),ListTile(title: Text("我是一个列表")),Divider(),ListTile(title: Text("我是一个列表")),Divider(),ListTile(title: Text("我是一个列表")),Divider(),ListTile(title: Text("我是一个列表")),Divider(),ListTile(title: Text("我是一个列表")),],);}
}

         1.1 实现用户中心的垂直列表

import 'package:flutter/material.dart';
import 'package:wyze_app_live/test1/test11.dart';
import 'package:wyze_app_live/test2/main.dart';void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow),home: Scaffold(appBar: AppBar(title: Text("App")),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {@overrideWidget build(BuildContext context) {return ListView(children: <Widget>[ListTile(leading: Icon(Icons.home, color: Colors.red),title: Text("首页"),),Divider(),ListTile(leading: Icon(Icons.dangerous, color: Colors.yellow),title: Text("全部订单"),),Divider(),ListTile(leading: Icon(Icons.h_mobiledata),title: Text("我的收藏"),trailing: Icon(Icons.chevron_right),),Divider(),ListTile(leading: Icon(Icons.wallet),title: Text("在线客服"),trailing: Icon(Icons.chevron_right),),],);}
}

2、垂直图文列表

import 'package:flutter/material.dart';
import 'package:wyze_app_live/test1/test11.dart';
import 'package:wyze_app_live/test2/main.dart';void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow),home: Scaffold(appBar: AppBar(title: Text("App")),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {@overrideWidget build(BuildContext context) {return ListView(// padding: EdgeInsets.all(10),padding: EdgeInsets.fromLTRB(0,40,0,0),children: <Widget>[ListTile(leading: Image.network("https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/26/PHOT5Lpc218n1dZ8adgabOGU250526_1000x2000.jpg"),title: Text("初夏乡村田园色块分明"),subtitle: Text("甘肃省酒泉市肃州区银达镇,多彩的田园、农房、道路和水库相映成景"),),Divider(),ListTile(leading: Image.network("https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg"),title: Text("初夏乡村田园色块分明"),subtitle: Text("甘肃省酒泉市肃州区银达镇,多彩的田园、农房、道路和水库相映成景"),),Divider(),ListTile(leading: Image.network("https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/26/PHOT5Lpc218n1dZ8adgabOGU250526_1000x2000.jpg"),title: Text("初夏乡村田园色块分明"),subtitle: Text("甘肃省酒泉市肃州区银达镇,多彩的田园、农房、道路和水库相映成景"),trailing: Image.network("https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg"),),Divider(),ListTile(title: Text("初夏乡村田园色块分明"),subtitle: Text("甘肃省酒泉市肃州区银达镇,多彩的田园、农房、道路和水库相映成景"),trailing: Image.network("https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg"),),Divider(),],);}
}

        2.1 动态配置列表

import 'package:flutter/material.dart';
import 'package:wyze_app_live/test1/test11.dart';
import 'package:wyze_app_live/test2/main.dart';void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow),home: Scaffold(appBar: AppBar(title: Text("App")),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {//自定义方法List<Widget> initList() {List<Widget> list = [];for (var i = 0; i < 20; i++) {list.add(ListTile(leading: Image.network("https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg",),title: Text("初夏乡村田园色块分明"),subtitle: Text("甘肃省酒泉市肃州区银达镇,多彩的田园、农房、道路和水库相映成景"),),);}return list;}@overrideWidget build(BuildContext context) {return ListView(// padding: EdgeInsets.all(10),padding: EdgeInsets.fromLTRB(0, 40, 0, 0),children: initList());}
}

        2.2 for循环生成一个动态列表

import 'package:flutter/material.dart';void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow), home: Scaffold(appBar: AppBar(title: Text("App")),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {//自定义方法List<Widget> initList() {List<Widget> list = [];for (var i = 0; i < 20; i++) {list.add(ListTile(leading: Image.network("https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg",),title: Text("初夏乡村田园色块分明"),subtitle: Text("甘肃省酒泉市肃州区银达镇,多彩的田园、农房、道路和水库相映成景"),),);}return list;}List list = [{"title": "Candy Shop","imageUrl":"https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg","author": "Mohamed Chahin",},{"title": "Candy Shop","imageUrl":"https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg","author": "Mohamed Chahin",},];//自定义方法 map方式遍历List<Widget> initList1() {//map方式遍历var template = list.map((value) {return ListTile(leading: Image.network("${value["imageUrl"]}"),title: Text("${value["title"]}"),subtitle: Text("${value["author"]}"),);});return template.toList();}//自定义方法 for方式遍历List<Widget> initList2() {List<Widget> template = [];for (var i = 0; i < list.length; i++) {template.add(ListTile(leading: Image.network("${list[i]["imageUrl"]}"),title: Text("${list[i]["title"]}"),subtitle: Text("${list[i]["author"]}"),),);}return template;}@overrideWidget build(BuildContext context) {return ListView(// padding: EdgeInsets.all(10),padding: EdgeInsets.fromLTRB(0, 40, 0, 0),children: initList2(),);}
}

        2.3 ListView.builder配置列表

import 'package:flutter/material.dart';void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow),home: Scaffold(appBar: AppBar(title: Text("App")),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {List list = [{"title": "Candy Shop","imageUrl":"https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg","author": "Mohamed Chahin",},{"title": "Candy Shop1","imageUrl":"https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg","author": "Mohamed Chahin",},];@overrideWidget build(BuildContext context) {return ListView.builder(itemCount: list.length,//循环的次数itemBuilder: (context, index) { //itemBuilderreturn ListTile( //item Infoleading: Image.network(list[index]["imageUrl"]),title: Text(list[index]["title"]),subtitle: Text(list[index]["author"]),);},);}
}


http://www.hkcw.cn/article/KUXVLwJHsn.shtml

相关文章

53岁男子诱骗近百名中小学女生,手机藏满未成年人隐私视频

丧心病狂!53岁男子诱骗近百名中小学女生,手机藏满未成年人隐私视频!5月29日,江苏省人民检察院召开新闻发布会,介绍近年来加强未成年人网络司法保护的工作情况及典型案例。如皋市检察院副检察长卢海琴介绍了其中一例典型案例,该案,检察院通过深挖彻查,案件从1名被告人追…

大连梅花鹿遭野狗追逐坠落死亡 流浪狗威胁野生动物安全

大连梅花鹿遭野狗追逐坠落死亡 流浪狗威胁野生动物安全!近日,有网友反映辽宁大连出现多起梅花鹿被流浪狗撕咬致死的情况。据大连野境自然保护中心透露,这类事件已持续一段时间,最近的一起发生在5月27日凌晨。当时一只母鹿在被狗群追逐时从土墙上坠落摔伤,全身多处撕咬伤,…

sourcetree无法获取远程所有的tag

2025年5月29日11:30:17 sourcetree widnwos v3.4.23版本 突然发现线上的代码库里有很多新打的tag&#xff0c;但是sourcetree死活无法拉去所有的tag&#xff0c;尝试卸载重新安装也不行&#xff0c;全网也找了还是不知道&#xff0c;但是mac版本好像没有这个问题 方法1&…

高性能DeepSeek V3上线星辰MaaS平台,更快、更稳定

以DeepSeek模型为代表的MoE技术路线&#xff0c;正不断突破通用大模型的效果上限。其创新的PD优化与大EP推理方案&#xff0c;推动大模型迈向“高性能、低成本、强普惠”的新阶段。 事实上&#xff0c;早在1991年&#xff0c;两位人工智能界的泰斗Michael Jordan与Geoffrey Hin…

github双重验证密码忘记或者获取不了了怎么办

背景 近期由于换了新手机&#xff0c;之前配置好的Authenticator这个App无法使用&#xff0c;导致获取不到二次验证的Authenticator code&#xff0c;登陆不上GitHub&#xff0c;不知道有没有人和我遇到同样的问题&#xff1f; 当我们配置2FA双重验证后&#xff0c;每次登陆gi…

Spring框架学习day4--Spring集成Mybatis(IOC)

Spring集成Mybatis1.添加jar包&#xff08;pom.xml&#xff09;2.配置sqlSessionFactiory&#xff08;spring.xml)3.再service类中注入Dao代理接口4.测试类5文件结构 Spring集成Mybatis Spring集成Mybatis其核心是将SqlSessionFactory交由Spring管理&#xff0c;并由 Spring管理…

Nexus仓库数据高可用备份与恢复方案(上)

#作者&#xff1a;闫乾苓 文章目录 1、要解决的问题2、解决方案方案说明 3、方案验证部署nexus pvc部署nexus deployment部署nexus svc查看部署状态访问UI页面创建基于minio 的Blob Store 库准备测试数据 1、要解决的问题 Nexus使用容器化部署并使用NFS或者HostPath作为数据持…

今天北京最高气温32℃,午后阵风明显 出行注意防暑防风

今天白天多云,北风一级转南风三级,阵风六级,最高气温32℃;夜间多云,南转北风一二级,最低气温22℃。今天云量增多,气温仍较高,午后阵风明显,出行注意防暑防风勤补水。温红征 摄责任编辑:0882

工具识别系统Python+深度学习+人工智能+卷积神经网络算法+TensorFlow+图像识别

一、介绍 工具识别系统&#xff0c;使用Python作为主要编程语言&#xff0c;基于TensorFlow搭建卷积神经网络算法&#xff0c;通过收集了8种常见的日常工具图片&#xff08;“汽油罐&#xff08;Gasoline Can&#xff09;”, “锤子&#xff08;Hammer&#xff09;”, “钳子&…

歌手终于炒出新菜了!

歌手终于炒出新菜了!《歌手2025》迎来了一位新面孔,原创歌手兼音乐剧演员湛嘉丽。她凭借代表作《海鸥》展现了不俗的实力,网友们对这位新人充满期待,并评论说:“歌手终于炒出新菜了。”今年的《歌手》节目给了音乐剧很大的舞台,不仅打破了以往依赖“回锅肉”的模式,还注…

机器学习-线性回归基础

一、什么是回归 依据输入x写出一个目标值y的计算方程&#xff0c;求回归系数的过程就叫回归。简言之&#xff1a;根据题意列出方程&#xff0c;求出系数的过程就叫做回归。 回归的目的是预测数值型的目标值y&#xff0c;分类的目的预测标称型的目标值y。 二、线性回归 2.1线性…

什么是MSBC

mSBC&#xff08;Modified SubBand Coding&#xff09;是蓝牙协议中用于语音通话的一种音频编码格式&#xff0c;专为HFP/HSP&#xff08;蓝牙免提/耳机规范&#xff09;设计。它是对SBC&#xff08;SubBand Coding&#xff09;的改进版本&#xff0c;核心目标是在有限带宽下保…

2024长春全国邀请赛CCPC

文章目录 G - Platform GameI - The Easiest ProblemL - Recharge G - Platform Game 题目来源&#xff1a;G - Platform Game 解题思路 可以先对每个平台的高度从大到小排序&#xff0c;高度相同再根据横坐标从左往右排序&#xff0c;依次遍历每个平台&#xff0c;如果高…

王树森推荐系统公开课 排序06:粗排模型

shared bottom 表示神经网络被所有特征共享。精排模型主要开销在神经网络&#xff0c;神经网络很大且很复杂。 每做一次推荐&#xff0c;用户塔只做一次推理。物品塔存放入向量数据库。 后期融合模型常用于召回&#xff0c;前期融合模型常用于精排。 物品塔短时间内比较稳…

中国车企经营状况几何 高负债背后的研发投入

近日,“车圈恒大”这一话题在舆论界引起广泛关注,资本市场因此出现连续震荡,汽车股集体下跌。恒大的问题主要在于其“高负债、高周转、高风险”的扩张模式,最终导致资金链断裂。汽车行业是否存在类似现象?这种论调能否作为行业洞察?从可收集到的上市整车公司公开财务数据…

RPG16.重攻击

1.创建GA_HeavyAttackMaster 2.打开&#xff0c;然后设置实例化策略为每个实例化Actor 设置标签 创建子类GA_HeavyAttack_Axe,设置子类的标签 父类里添加print输出用于调试 3.添加输入&#xff0c;复制LightAttack&#xff0c;重命名 打开DA_InputConfig&#xff0c;添加输入…

Dify中 SYSTEM, USER, ASSISTANT 的关系、职责与使用方法

在Dify这类对话式AI应用构建平台中,SYSTEM, USER, ASSISTANT 这三种消息类型共同定义了与大型语言模型(LLM)交互的结构和上下文。它们的关系可以理解为: SYSTEM: 扮演着“导演”或“场景设定者”的角色。USER: 扮演着“提问者”或“任务发起者”的角色。ASSISTANT: 扮演着“…

藏海传全面登顶 肖战演技获肯定

藏海传全面登顶 肖战演技获肯定!《藏海传》全面登顶,肖战用实力证明了自己不仅仅是流量,也打破了很多人对流量的偏见,肖战演技值得被肯定藏海传全面登顶 肖战演技获肯定。责任编辑:0882

DFS:从入门到进阶的刷题指南

目录 一、基础DFS&#xff1a;递归实现、状态标记、回溯 全排列问题 组合问题 子集问题 二、网格DFS&#xff1a;二维矩阵遍历、连通块计数、方向数组 岛屿数量 单词搜索 被围绕的区域 三、 记忆化DFS&#xff1a;动态规划DFS&#xff0c;缓存中间结果 斐波那契数列&a…

《P2324 [SCOI2005] 骑士精神》

题目描述 输入格式 第一行有一个正整数 T&#xff08;T≤10)&#xff0c;表示一共有 T 组数据。 接下来有 T 个 55 的矩阵&#xff0c;0 表示白色骑士&#xff0c;1 表示黑色骑士&#xff0c;* 表示空位。两组数据之间没有空行。 输出格式 对于每组数据都输出一行。如果能在…