Flutter 组件之 SliverList

SliverList是Flutter中用于构建滑动列表的组件,类似于ListView。它有两个主要的渲染方式:SliverChildListDelegate和SliverChildBuilderDelegate,前者使用数组定义子组件,后者使用builder动态生成。addAutomaticKeepAlives功能可在元素离开视图后保持状态,但可能增加内存开销。addRepaintBoundaries通过包裹元素以优化滚动性能,而在简单布局情况下可关闭以提升流畅度。addSemanticIndexes则涉及语义索引的添加,有助于辅助技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flutter 组件之 SliverList

1.简介

和ListView差不到

2.属性

  • delegate:两种渲染方式SliverChildListDelegate/SliverChildBuilderDelegate

3.使用

  • SliverChildListDelegate属性/SliverChildBuilderDelegate属性:这两个唯一的区别在于前置用的时数组,后者用的是builder

    childCount:渲染多少个组件,(只有SliverChildBuilderDelegate里有这个属性)
    addAutomaticKeepAlives:意思是在列表元素不可见后可以保持元素的状态,从而在再次出现在屏幕的时候能够快速构建。这其实是一个拿空间换时间的方法,会造成一定程度得内存开销。可以设置为 false 关闭这一特性。缺点是滑动过快的时候可能会出现短暂的白屏(实际会很少发生)
    addRepaintBoundaries: 是将列表元素使用一个重绘边界(Repaint Boundary)包裹,从而使得滚动的时候可以避免重绘。而如果列表很容易绘制(列表元素布局比较简单的情况下)的时候,可以关闭这个特性来提高滚动的流畅度,
    addSemanticIndexes:是否给每个组件加索引,
    semanticIndexCallback:
    semanticIndexOffset: , 提供语义信息的孩子的数量
    在这里插入图片描述

在这里插入图片描述

  • 第二种写法
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值