zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Flutter 教程之高效且精美的滚动组件Slivers (教程含源码)

flutter组件源码教程 高效 滚动 精美
2023-09-11 14:18:31 时间

小部件是 Flutter 布局系统的基础。Flutter 中几乎所有的东西都是一个小部件,包括布局模型。小部件是您在 Flutter 应用程序中看到的图像、图标和文本。您看不到的东西,例如排列、约束和对齐可见小部件的行、列和网格,也是小部件。

请添加图片描述

请添加图片描述

RenderObject类是渲染库的核心,它处理可视元素树并指定布局、绘画和堆肥过程。RenderObject 没有任何特定的布局协议,也没有定义子模型。RenderObject 类的实现者(如RenderBox、RenderSliv​​er、RenderAbstractViewport和RenderView)引入了布局系统和子模型。

大多数 RenderObject 是 RenderBox。

RenderBox有它的笛卡尔坐标系和盒子约束,这些约束决定了它的孩子的高度和宽度的最小值和最大值。然后使用这些值来找出孩子的大小。

RenderBox 的常见例子有 Container、SizedBox 等。它们遵循 RenderBox 协议,基于笛卡尔空间和盒子约束来描述和绘制布局模型。

什么是Sliver?

虽然RenderBox非常适合在笛卡尔坐标中渲染对象,但它们不适合滚动小部件。对于滚动,有 Sliver 协议。在视口中实现滚动效果的渲染对象使用RenderSliv​​er作为它们的基类。

Sliver是视口内容的一部分,用于覆盖视口。Sliver 参与 Sliver 协议。