Flutter中的Box布局模型和Sliver布局模型(BoxConstraints和SliverConstraints)有什么区别?

lgw*_*150 3 flutter flutter-layout

在查看了一些 Flutter 文档后,我仍然对 Box 和 Sliver 协议(即 BoxConstraints 和 SliverConstraints)之间的差异感到困惑。

两者有何区别?

Rém*_*let 5

  • BoxConstraints 是与小部件相关的 2d。它们定义最小/最大宽度/高度,受约束的小部件可以选择任何匹配的尺寸。

它们链接到渲染框,渲染框大部分是一次性渲染,直到它们依赖的东西发生变化。无论是孩子的大小,还是一些参数。

  • 条子与可滚动元素是一维相关的。它表示某个项目在主轴上的尺寸和位置Scrollable

条子直接取决于滚动变量。这意味着当滚动偏移量发生变化时,会重新计算条子。