第一百五十七回 SliverList组件
文章目录
- 概念介绍
- 使用方法
- 示例代码
我们在上一章回中介绍了沉浸式状态栏相关的内容,本章回中将介绍SliverList组件.闲话休提,让我们一起Talk Flutter吧。
概念介绍
我们在这里介绍的SliverList
组件是一种列表类组件,类似我们之前介绍过的ListView
组件,它们的不同之处在于SliverList可以被当作一个整体来滑动。我们将在本章回中详细介绍SliverList的使用方法。
使用方法
和其它组件一样,SliverList组件提供了相关的属性来控制自己,不过它的属性只有两个,一个是常用的key属性,另外一个是delegate
属性。
我们重点介绍delegate属性。该属性是SliverChildDelegate
类型,不过这个类是一个抽象类,无法创建对象,它有两个实现类,详细如下:
- SliverChildBuilderDelegatet
该类两个常用属性builder和childCount。builder属性用来创建列表中的具体内容,它是一个方法类型,通过方法方法返回一个组件,方法的原型为
Widget? Function(BuildContext context, int index);
其中childCount属性用来控制列表中列表项的具体数量,这个值可空,不过一定要给它赋值,否则无法生成列表,也无法显示页面,但是不会有编译和运行错误,按照源代码中的注释来看是有内存泄漏。我觉得这个值设置为可空不合理,大家也可以发表自己的看法。 - SliverChildListDelegate.
该类有一个常用属性:children
,它的类型为List,它和Column组件的childrnen属性完全相同,因此大家可以参考Column组件的用法来使用它。
示例代码
介绍完SliverList的使用方法后,我们通过具体的示例代码来演示。
///创建delegate对象,使用builder方法。SliverList(delegate: SliverChildBuilderDelegate((context,index){return Container(height: 60,alignment: Alignment.center,child: Text('This is ${index+1} item'),);},///list中包含内容的数量childCount:5,),),///与上面的SliverList类似,只是不有创建delegate对象,而是直接使用现成的list对象SliverList(delegate: SliverChildListDelegate(List.generate(5, (index) => const Icon(Icons.add),),) ,),
上面的示例代码中演示了两种给delegate属性赋值的方法,第一种创建的是Text组件,第二种使用了已经有List,只不过List中的内容是Icon组件。
依据目前的知识我们还不能演示程序的运行结果,因为还需要其它组件配合才可以运行,大家不用担心,目前只需要熟练掌握如何创建SliverList组件就可以了,我们在后面章回中会使用本章回创建的组件给大家演示程序运行效果。
看官们,与"SliverList组件"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!
相关文章:
第一百五十七回 SliverList组件
文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了沉浸式状态栏相关的内容,本章回中将介绍SliverList组件.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里介绍的SliverList组件是一种列表类组件,类似我们之前介绍过的L…...

数据结构与算法——17.二叉搜索树
这篇文章我们来看一下数据结构中的二叉搜索树。 目录 1.概述 2.二叉搜索树的实现 3.总结 1.概述 我们前面学到的数据结构,比如:动态数组、链表、队列、栈、堆,这些数据结构存储完数据后,我们要去查找某个数据,它的…...

rust所有权
一、堆和栈 栈和堆都是程序运行时使用的内存,但是它们的结构不同。 1.栈 栈,英文是stack。是内存的一段区域。 栈是后进先出形式的。就像薯片桶,先放进去的一片只能后拿出来。 栈上存储的数据大小必须是已知且固定的。也就是说如果一个变量…...

Win10电脑任务栏没有蓝牙图标的简单解决方法
Win10电脑任务栏没有蓝牙图标怎么办?在Win10电脑中,用户有时候会发现任务栏上没有蓝牙图标了,这样就无法通过蓝牙图标快速打开蓝牙服务了。下面小编给大家介绍最简单的解决方法,帮助大家找回任务栏上面的蓝牙图标吧。 问题原因 反…...
判断编译器类型、编译器版本、操作系统。
目录 1. 判断编译器类型: 2. 判断编译器版本: 3. 判断操作系统: 总结: 1. 判断编译器类型: 可以使用预定义的宏来判断编译器类型。例如,__GNUC__ 宏用于判断是否使用了GCC 编译器,_MSC_VER…...

百度实习一面(知识图谱部门)
百度面经(知识图谱部)一面 1.自我介绍 介绍完了,打开共享,对着简历一点一点问 2.ffmpeg在项目中是怎么使用的 回答了ffmpeg在项目中使用的命令,用来干了什么 3.为什么使用toml配置,了解过yml配置吗&am…...
Oracle 数据库查询优化
目录 1. Oracle 数据库查询优化(上百万级记录如何提高查询速度)2. Oracle SQL 性能优化 40 条 | 收藏了! 1. Oracle 数据库查询优化(上百万级记录如何提高查询速度) 对查询进行优化, 应尽量避免全表扫描, 首先应考虑在 where 及 order by 涉及的列上建立索引应尽量避免在 wher…...

时序预测 | MATLAB实现POA-CNN-GRU鹈鹕算法优化卷积门控循环单元时间序列预测
时序预测 | MATLAB实现POA-CNN-GRU鹈鹕算法优化卷积门控循环单元时间序列预测 目录 时序预测 | MATLAB实现POA-CNN-GRU鹈鹕算法优化卷积门控循环单元时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现POA-CNN-GRU鹈鹕算法优化卷积门控循环单元时间序…...

Java技术接单
今天给大家介绍一个阶段性(周期性)能获取一定收益的Java技术接单群,分享给大家!主要对搞Java的粉丝有帮助,因为可以赚点小钱,对Java技术的要求不高! 注意:首先进群不是免费的&#…...
多家企业发布基于大模型的AI产品,大模型应用落地哪家强?
https://m.mp.oeeee.com/a/BAAFRD000020230603805161.html “无产业不AI,无应用不AI。” 随着AI(人工智能)大模型技术落地,AI应用遍地开花。连日来,多家企业发布基于大模型的AI应用产品。身处“百模大战”时代&#x…...
如何在小程序中获取用户昵称、电话号,头像
一、如何获取昵称(获取微信昵称)以Taro框架为例 Taro框架中的组件Input的一个属性,type属性的值有一个nickname. 如果要拿到input的值,是要value结合onChange事件。 type"nickname" value{nickName} onChange{(value: …...

26606-2011 工业用氰乙酸甲酯 阅读笔记
声明 本文是学习GB-T 26606-2011 工业用氰乙酸甲酯. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了工业用氰乙酸甲酯的要求、试验方法、检验规则、标志、包装、运输、贮存和安全。 本标准适用于以氯乙酸、氰化钠、甲醇等为原料…...
微软开源 windows-drivers-rs, 用 Rust 开发 Windows 驱动程序
目录 1. 微软开源 windows-drivers-rs, 用 Rust 开发 Windows 驱动程序 1. 微软开源 windows-drivers-rs, 用 Rust 开发 Windows 驱动程序 Microsoft Azure 首席技术官兼著名 Windows 软件开发人员 Mark Russinovich 在社交平台上宣布, 启动了一个名为 windows-drivers-rs 的新…...
Java中判断字符串是否为合法数字
问题 最近遇到需要将String转BigDecimal的场景。 解决思路 利用NumberUtils.isCreatable判断是否为合法数字,然后,对字符串进行数字转换。注意:这里的NumberUtils类是org.apache.commons.lang3.math库里面的类。 Java if (NumberUtils.i…...
[LeetCode] Hard-2251. 花期内花的数目 - 二分查找/有序数组
Problem: 2251. 花期内花的数目 2251. 花期内花的数目 思路解题方法Code 思路 看题目应该是一道比较经典的差分,本来准备拿差分数组做的,后来搂了一眼题解,发现用二分的方法更简单 解题方法 此题有一种很简便的方法,第i个人到…...
VUE3父子组件传值defineProps() 和 defineEmits()
defineProps 和 defineEmits 都是只能在<script setup>中使用的编译器宏。他们不需要导入,且会随着 <script setup> 的处理过程一同被编译掉。 官网传送门 父组件向子组件传值 defineProps 是 Vue3 中一种新的组件数据传递方式,可以用于在…...

OmniPlan Pro 4 for Mac:引领项目管理的创新与高效
OmniPlan Pro 4是一款强大且高效的项目管理工具,专为Mac用户设计。它提供了一套综合性的解决方案,帮助用户在Mac上便捷地进行项目规划、追踪和管理。凭借其直观的界面,用户可以快速上手,并且能充分利用这款工具的各种功能。 规划…...
封装JDBC,实现简单ORM框架
本文将封装JDBC的操作,实现简单的ORM框架,提供3种风格的api来给用户使用(1.原生jdbcSqlBuilder;2.类似jpa和mp的;3.注解接口方法) 代码仓库:malred/IFullORM 1. 原生JDBCsql构建器 第一步&…...

监控与运维,主流it运维监控工具
IT监管和运行维护已成为企业经营的关键环节。本文将详细介绍IT监管和运行维护的必要性、主要功能和实施策略,帮助企业实现数据安全和高效运行。 IT监管和运行维护的必要性 确保企业数据安全 IT监控系统可以实时监控企业网络、服务器、存储等关键设备的运行情况&…...
基于Matlab实现全局优化算法
Matlab是一种非常强大的数学建模和计算工具,它提供了许多优化算法的实现。全局优化算法是一种能够找到全局最优解的优化算法,相对于局部优化算法来说,具有更强的全局搜索能力。在本文中,我们将介绍如何使用Matlab实现全局优化算法…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...

2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版
1.题目描述 2.思路 当前的元素可以重复使用。 (1)确定回溯算法函数的参数和返回值(一般是void类型) (2)因为是用递归实现的,所以我们要确定终止条件 (3)单层搜索逻辑 二…...

GAN模式奔溃的探讨论文综述(一)
简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...

【1】跨越技术栈鸿沟:字节跳动开源TRAE AI编程IDE的实战体验
2024年初,人工智能编程工具领域发生了一次静默的变革。当字节跳动宣布退出其TRAE项目(一款融合大型语言模型能力的云端AI编程IDE)时,技术社区曾短暂叹息。然而这一退场并非终点——通过开源社区的接力,TRAE在WayToAGI等…...

SOC-ESP32S3部分:30-I2S音频-麦克风扬声器驱动
飞书文档https://x509p6c8to.feishu.cn/wiki/SKZzwIRH3i7lsckUOlzcuJsdnVf I2S简介 I2S(Inter-Integrated Circuit Sound)是一种用于传输数字音频数据的通信协议,广泛应用于音频设备中。 ESP32-S3 包含 2 个 I2S 外设,通过配置…...