gpt4 book ai didi

Flutter:SliverList 和 SliverFixedExtentList 的区别

转载 作者:行者123 更新时间:2023-12-05 01:52:20 26 4
gpt4 key购买 nike

Flutter中SliverListSliverFixedExtentList有什么区别?

根据每个小部件的文档:

  • SliverList :“一个条子,将多个子盒子放置在沿主轴的线性阵列中。”
  • SliverFixedExtentList :“将多个盒子子项放置在线性阵列中具有相同主轴范围的条子。”

如果所有子项都具有相同的主轴范围,我们似乎应该使用 SliverFixedExtentList 而不是 SliverList。然而,“相同的主轴范围”究竟意味着什么?

最佳答案

这意味着所有 child 的高度都一样。如果您熟悉 ListView,它有 itemExtent 属性做同样的事情。

本质上,如果您不能保证所有列表项都“在主轴上大小相等”(例如,垂直滚动列表上的高度相等,或水平滚动列表上的宽度相等),那么我们无法知道“确切大小” "列表中的每个项目,直到我们加载它。但是,如果您可以保证它们都具有相同的尺寸,例如高度为 100 个单位,那么我们就不需要加载每个项目来测量其尺寸。

当您想跳远距离时,在加载之前了解项目大小非常有用。例如,如果你想向下滚动 10,000 px,如果我们知道每个项目固定在 200 px 高,那么我们可以轻松地跳转 50 个项目,只需加载第 51 个项目并显示它。如果我们不知道(如果您不能保证),那么我们将不得不逐字排列中间的所有项目,以查看 10,000 像素将使我们着陆的位置。

关于Flutter:SliverList 和 SliverFixedExtentList 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71625971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com