Flutter 教程之高效且精美的滚动组件Slivers (教程含源码)
2023-09-11 14:18:31 时间
小部件是 Flutter 布局系统的基础。Flutter 中几乎所有的东西都是一个小部件,包括布局模型。小部件是您在 Flutter 应用程序中看到的图像、图标和文本。您看不到的东西,例如排列、约束和对齐可见小部件的行、列和网格,也是小部件。
RenderObject类是渲染库的核心,它处理可视元素树并指定布局、绘画和堆肥过程。RenderObject 没有任何特定的布局协议,也没有定义子模型。RenderObject 类的实现者(如RenderBox、RenderSliver、RenderAbstractViewport和RenderView)引入了布局系统和子模型。
大多数 RenderObject 是 RenderBox。
RenderBox有它的笛卡尔坐标系和盒子约束,这些约束决定了它的孩子的高度和宽度的最小值和最大值。然后使用这些值来找出孩子的大小。
RenderBox 的常见例子有 Container、SizedBox 等。它们遵循 RenderBox 协议,基于笛卡尔空间和盒子约束来描述和绘制布局模型。
什么是Sliver?
虽然RenderBox非常适合在笛卡尔坐标中渲染对象,但它们不适合滚动小部件。对于滚动,有 Sliver 协议。在视口中实现滚动效果的渲染对象使用RenderSliver作为它们的基类。
Sliver是视口内容的一部分,用于覆盖视口。Sliver 参与 Sliver 协议。
相关文章
- flutter系列之:Navigator的高级用法
- flutter系列之:永远不用担心组件溢出的Wrap
- Flutter 错误 Transform‘s input file does not exist: ... artifacts/engine/android-arm/flutter.jar.
- Flutter ImageFilter 高斯模糊效果 BackdropFilter 实现过滤效果
- Flutter设置允许HTTP访问
- Flutter MaterialButton组件详细概述
- Flutter中嵌入Android 原生TextView
- flutter将毫秒转为日期
- 重识Flutter 非常用Slivers组件速览 - part3
- Flutter 组件分析之SafeArea
- 用一种更有条理的方法写Flutter代码——使用Flutter Hooks与函数式组件
- 教程:Flutter 和 Rust混合编程,使用flutter_rust_bridge自动生成ffi代码
- Flutter 38: 图解 Flutter 基本动画 (二)
- flutter packages get 慢 解决方案
- Flutter 找不到Android 模拟器解决
- Flutter 中的 Material 按钮(教程含源码)
- Flutter 基础组件之 Text文本组件使用大全(教程含源码)
- Flutter 教程之 轮播图组件实现滚动视觉差(教程含源码)
- Flutter 教程之 Flutter CI/CD 和自托管的 GitHub Action
- Flutter DataGrid教程之表格图标日历Excel完整App源码(教程含源码)
- Flutter高效率开发必备十五个常用库6至15第二期
- Flutter 实现统一处理Token过期后跳转登录页面
- 关于Flutter的RichText组件你了解吗?
- 如何在 Flutter 中禁用默认的 Widget 飞溅效果
- Flutter基础笔记
- Flutter 组件之 CheckboxListTile
- Flutter 学习之旅 之 flutter 简单介绍和基础环境搭建的简单整理
- Flutter开发 - Null check operator used on a null value(flutter大量奇怪异常)