当前位置: 首页 > news >正文

第二十九回:如何给ListView添加分隔线

文章目录

  • 概念介绍
  • 添加方法
    • 使用属性
    • 装饰器
  • 示例代码
  • 经验总结:

我们在上一章回中介绍了多种创建ListView的方式,本章回中将介绍" 如何给ListView添加分隔线".闲话休提,让我们一起Talk Flutter吧。

概念介绍

我们在这里说的分隔线也叫Divider,它表示ListView中每一行或者每一列底部的横线,它主要用来区分ListView中的每个项目。默认的ListView中没有分隔线,本章回中将介绍如何给ListView添加分隔线。

添加方法

给ListView添加分隔线有两种方法,接下来我们详细介绍这两种方法:

使用属性

属性名称为separatorBuilder,该属性需要配合separated()方法使用,因为只有使用该方法创建的List才有separatorBuilder属性。我们只需要给该属性赋值就可以在ListView中添加分隔线。详细操作看代码就可以。注意该属性的类型是方法类型。

装饰器

就是在ListView的项目外层嵌套一个装饰器,相当于给ListView的每个项目都添加了一个边框,添加装饰器使用BoxDecoration Weidget,可以只添加底部的边框,也可以添加四周的边框。添加方法可以在代码中查看。

示例代码

//通过边框线来设定Divider,在第一行的顶部也会有,把边框设置为圆角后就可以看出来
Widget listEx01 = ListView.builder(itemCount: 8,itemExtent: 60,itemBuilder: (BuildContext context, int index) {//使用装饰来添加分隔线return Container(decoration: BoxDecoration(//只添加底部的边框线// border: Border(bottom: BorderSide(width: 1, color: Colors.lightBlue)),//添加一个边框// border: Border.fromBorderSide(BorderSide(width: 1,color: Colors.yellow)),border: Border.all(color: Colors.greenAccent, width: 1),//给边框设置半径,就是让装饰器的边框呈现圆角borderRadius: BorderRadius.circular(30),),child: listItem(Icons.ice_skating, "$index"),);},
);//通过separatorBuilder属性来设定divider
Widget listEx02 = ListView.separated(itemBuilder: (BuildContext context, int index) {return listItem(Icons.cabin, "$index");},separatorBuilder: (BuildContext context, int index) {return const Divider(endIndent: 1,height: 1,color: Colors.lightBlue,);},itemCount: 6);

在上面的代码中关键位置都添加了注释,这样方便大家理解代码。在给项目添加装饰器时,我们调整了方框的半径,这样只是为了方便观察位于项目四周的边框。编译并且运行上面的代码就可以看项目底部出现蓝色的分隔线。

经验总结:

我们在本章回中介绍了两种添加分隔线的方法:

  • 一种是使用属性,访方法的缺点是位于ListView最下方的一个item没有分隔线。
  • 一种是把ListView中的项目使用方形装饰器包起来,该方法的缺点是顶部也会有边框,让边框呈现圆角时会更加明显,当然只添加底部边框时不会有这种问题。

大家可以依据实际需要选择其中一种方法来给ListView添加分隔线。我不能理解的是Flutter官方为什么不提供一个属性来设置分隔线?欢迎大家在评论区交流与讨论。

看官们,关于"如何给ListView添加分隔线"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

相关文章:

第二十九回:如何给ListView添加分隔线

文章目录 概念介绍添加方法使用属性装饰器 示例代码经验总结: 我们在上一章回中介绍了多种创建ListView的方式,本章回中将介绍" 如何给ListView添加分隔线".闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里说的分隔线也叫Divider,…...

用友 LRP计划维护视图

select planlotnumber 计划单号, demandId 自动编号, PartId 物料Id , sotype 单据类型(1:销售/2:预测), sodid 销售订单明细Id , socode 销售订单单号 , soseq 销售订单行号, PlanCode 计划单号 , DueDate 完工日期 , StartDate 开工日期 , UnitCode 主计量单位, C…...

数组--part 5--螺旋矩阵(力扣59/54)(剑指offer 29)

文章目录 基本算法思想leetcode 59 螺旋矩阵 IIleetcode 54 螺旋矩阵剑指Offer 29 顺时针打印矩阵 基本算法思想 建议先去把题目看了,再来思考相关的代码。 错误的想法:实际上这种题型并不存在算法,只涉及到模拟,但是模拟难度并…...

加密解密软件VMProtect入门使用教程(九)许可制度之许可系统功能

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…...

MySQL基础-事务详解

本文主要介绍MySQL事务 文章目录 前言事务定义事务四大特性(ACID) 事务操作事务并发问题事务隔离级别 前言 参考链接: 链接1链接2 事务定义 事务是一组操作的集合,他是一个不可分割的工作单位,事务会把所有的操作作…...

python 读写csv文件方法

csv是一种结构化文件,可以将文本转化成矩阵的形式,方便程序读取和处理。下面来介绍一下使用 python读写 csv文件的方法: 1.首先需要使用 pip安装 python包,然后将 csv文件解压到一个文件夹下 2.使用 pip安装 python包,…...

命令行更新Windows

命令行更新Windows powershell命令行更新安装 Windows Update module for Windows Powershell连接到 Windows Update 服务器并下载更新安装下载好的 Windows Update 更新 cmd执行Windows update更新检查更新下载 Windows Update 更新安装更新安装更新后重新启动设备 win10以下版…...

lwIP 多线程注意事项

关于 lwIP 多线程的总结: lwIP 内核不是线程安全的。如果在多线程环境中使用 lwIP,必须使用高层次的 Sequential 或 socket API。使用 raw API 时,需要自己保护好应用程序和协议栈核心代码。在无操作系统环境中使用 raw API: 使用…...

工业革命的本质是动力革命:人类使用能量的水平得到了飞跃(蒸汽动力取代畜力和水力,机械代替人工。)【工业革命的诞生是能量富余的结果】

文章目录 引言I 用能量守恒方式看工业革命的影响1.1 中学物理能量守恒1.2 看清历史事件的影响1.3 工业革命的意义1.4 透过现象看本质的方法II 工业革命的本质2.1 动力革命2.2 多余的能量造就了工业革命引言 人类文明进步的目的是改善人们的生活,任何文明都以养活更多的人口为…...

【Kubernetes】Windows安装kubectl

准备开始 kubectl版本和集群版本之间的差异必须在一个小版本号内。 例如:v1.27版本的客户端能与 v1.26、 v1.27 和 v1.28 版本的控制面通信。 用最新兼容版的 kubectl 有助于避免不可预见的问题。 下载 官方安装文档: https://kubernetes.io/zh/docs/tasks/tools…...

菜鸟健身-新手使用哑铃锻炼手臂的动作与注意事项

目录 一、前言 二、哑铃锻炼手臂的好处 三、哑铃锻炼手臂的注意事项 四、哑铃锻炼手臂的基本动作 1. 哑铃弯举 2. 哑铃推举 3. 哑铃飞鸟 五、哑铃锻炼手臂的进阶动作 1. 哑铃侧平举 2. 哑铃俯身划船 六、哑铃锻炼手臂的训练计划 七、总结 一、前言 哑铃是一种非常…...

二、LLC 谐振变换器

半桥 LLC 谐振变换器主电路结构 如图所示,半桥 LLC 谐振变换器主电路可以分为四个部分,即:逆变网络、谐振网络、变压器及整流滤波网络。两个 MOSFET(S1、S2)以及它们的体二极管(D1、D2)和寄生电…...

JWT 入门

1.介绍 JSON Web Token(JWT)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO…...

理解HttpSession

什么是session 在我刚刚从事后端开发的时候,有一个问题困扰了我很久。 就有个玩意叫session。 PostMapping("login")public Result login(RequestParam("id") String id,RequestParam("password") String password, HttpSession se…...

SolVES 模型生态系统服务功能社会价值评估(基于多源环境QGIS、PostgreSQL、ArcGIS、Maxent、R语言)

查看原文>>>SolVES 模型生态系统服务功能社会价值评估(基于多源环境QGIS、PostgreSQL、ArcGIS、Maxent、R语言) 目录 第一章、理论基础与研究热点 第二章、SolVES 4.0 模型运行环境配置 第三章、SolVES 4.0 模型运行 第四章、数据获取与入…...

雷鸟Air Plus体验:视觉大幅升级,影视/办公/游戏全能胜任

雷鸟BirdBath系列XR眼镜一直保持着较快的迭代频率,如今迎来该系列第三款产品:雷鸟Air Plus,新品在视觉体验上得到大幅升级,不仅FOV达到49,边缘成像质量更高,搭配索尼旗舰级Micro OLED屏实现最高120Hz刷新率…...

【Android笔记101】Android之实现搜索界面(搜索弹出框)

这篇文章,主要介绍Android之实现搜索界面(搜索弹出框)。 目录 一、搜索弹出框 1.1、运行效果 1.2、搜索弹出框介绍 1.3、实现搜索弹出框功能...

架构中如何消除语义的分歧?

1、发现不同的语境 每一个交互场景其实都存在着多个角色,每个角色都有自己的独立语境。比如商家从供应商那里采购实体商品这个场景,就有它的独立语境。而商家给供应商打款,虽然交互双方没有变化,但是新的场景又会带来的语境。 我…...

「免费版Axure」原型设计工具!

Axure 是一款经典的原型设计工具,但需要下载电脑端软件使用,对新手要求较高,且在线协作效率低,使用成本较高。即时设计是一款免费在线原型设计工具,支持导入 Axure 文件进行二次布局、评审、演示和分享,让用…...

OPNET Modeler 例程——ALOHA和CSMA的性能对比

文章目录 概述一、创建 ALOHA 协议模型二、创建 CSMA 协议模型三、创建收信机进程和节点模型四、创建总线型链路模型五、创建网络模型六、查看仿真结果总结 概述 本例程以以太网为例论述总线型网络的建模方法,对数据链路层的 MAC 技术进行建模分析,并进…...

如何永久保存微信聊天记录?用WeChatMsg打造你的专属数字记忆库

如何永久保存微信聊天记录?用WeChatMsg打造你的专属数字记忆库 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/…...

基于Cosmos-Reason1-7B的网络安全威胁情报自动分析与报告生成

基于Cosmos-Reason1-7B的网络安全威胁情报自动分析与报告生成 每天一上班,安全运营中心(SOC)的分析师小李就要面对成百上千条安全告警、几十份漏洞报告和来自四面八方的威胁情报。他需要像侦探一样,从这些海量的、非结构化的文本…...

Kandinsky-5.0-I2V-Lite-5s入门必看:PyCharm中调试模型调用代码详解

Kandinsky-5.0-I2V-Lite-5s入门必看:PyCharm中调试模型调用代码详解 1. 准备工作与环境配置 在开始调试Kandinsky-5.0-I2V-Lite-5s模型之前,我们需要确保开发环境已经正确设置。PyCharm作为一款强大的Python IDE,能够显著提升我们的开发效率…...

2026会话存档是什么?新版会话存档有什么功能?

一.概述会话内容存档产品——乐聊会话助手plus是由贵州遐宇科技服务有限公司与企业微信合作产品。此产品是基于企业微信会话存档API接口进行二次开发的监管系统,2024年1月登记为软件作品正式发行。该系统提供企业会话内容存档管理、超时回复提醒、员工客户互动过程合…...

如何从零开始训练BAGEL多模态模型:完整实战指南

如何从零开始训练BAGEL多模态模型:完整实战指南 【免费下载链接】Bagel Open-source unified multimodal model 项目地址: https://gitcode.com/gh_mirrors/bagel7/Bagel BAGEL是一款开源的统一多模态模型,它能够同时处理图像理解和生成任务&…...

MogFace人脸检测镜像异构计算:CPU+GPU混合推理负载均衡配置

MogFace人脸检测镜像异构计算:CPUGPU混合推理负载均衡配置 1. 引言:当人脸检测遇上异构计算 想象一下,你正在开发一个智能安防系统,需要实时分析监控视频流中的人脸。视频帧不断涌入,每一帧都可能包含多张人脸&#…...

ShardingSphere 5.x 扩展达梦数据库:从源码解析到实战避坑

1. ShardingSphere 5.x与达梦数据库的适配挑战 国产化替代浪潮下,达梦数据库作为国产数据库的佼佼者,正被越来越多的企业采用。但当我们尝试将现有基于ShardingSphere的分库分表架构迁移到达梦数据库时,却发现官方并未提供原生支持。这就像要…...

PyTorch自定义损失超简单

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 PyTorch自定义损失函数:轻松实现的秘诀目录PyTorch自定义损失函数:轻松实现的秘诀 引言:打破…...

手把手教你用F1C200s驱动正点原子7寸LCD屏:完整配置流程与LVGL测试

从零构建F1C200s嵌入式GUI系统:正点原子7寸屏驱动与LVGL实战指南 在嵌入式开发领域,显示界面的人机交互体验越来越受到重视。F1C200s作为一款性价比极高的国产ARM9芯片,搭配正点原子7寸LCD屏,能够构建出性能稳定、成本可控的嵌入式…...

实测对比:OpenCV微信QRCode vs ZXing二维码识别性能(附C++测试代码)

OpenCV微信QRCode与ZXing二维码识别引擎深度性能评测 二维码识别技术早已渗透到我们生活的方方面面,从移动支付到工业自动化,不同场景对识别引擎的性能要求差异显著。最近OpenCV 4.5.1整合了微信开源的QRCode识别模块,号称在速度和准确率上都…...