SliverList和SliverFixedExtentList在颤振方面有什么区别?
根据每个小部件的文档:
SliverList:“沿着主axis."SliverFixedExtentList:将多个方框子置于线列阵中的条条”--将多个盒子放置在线性数组中具有相同主轴范围的“。
如果所有的孩子都有相同的主轴范围,那么我们应该在SliverFixedExtentList之上使用SliverList。然而,“相同主轴范围”的真正含义是什么?
发布于 2022-03-26 07:12:26
这意味着所有的孩子都有相同的身高。如果您熟悉ListView,那么它具有itemExtent属性,可以执行相同的操作。
本质上,如果不能保证所有列表项目都具有“主轴上的相同大小”(例如,垂直滚动列表上的等高或水平滚动列表上相同的宽度),那么在加载列表中的每个项目之前,我们无法知道它的“确切大小”。但是,如果你能保证它们都有相同的大小,例如,100个单位的高度,那么我们不需要加载每一个项目来测量它的大小。
当您想要跳转很长的距离时,在加载它们之前了解它们的大小是非常有用的。例如,如果您想向下滚动10,000 px,并且我们知道每个项目都固定在200 px高,那么我们可以轻松地跳过50项,只需加载第51项并显示它。如果我们不知道这一点(如果你不能保证),那么我们将不得不把所有的物品摆在中间,看看10,000 px会在哪里降落。
https://stackoverflow.com/questions/71625971
复制相似问题