核心概念
Taffy 的 API 表面积很小,但拥有一套一致的布局模型。本节将向您介绍理解任何布局所需的概念。
三个核心对象
Taffy 中的布局由三个主要对象驱动:
- Style:定义节点的布局规则(例如,“作为一个 flex 容器”,“具有 10px 的内边距”)。
- TaffyTree:管理节点层次结构并作为计算的入口点。
- Layout:计算的输出,包含最终的位置和尺寸。
Style + Tree -> computeLayout -> Layout
基本原则
除了核心对象之外,还有几个关键原则需要理解:
- 尺寸、空间与单位:Taffy 如何处理固定尺寸、百分比和基于内容的尺寸计算。
- 测量函数 (Measure Functions):为文本或特定平台的部件集成自定义尺寸测量逻辑。
- 树模型:每个节点都可以有子节点,父节点控制它们沿轴线的放置。
节点创建 API
newLeaf(style)创建叶子节点newWithChildren(style, children)创建容器addChild/insertChildAtIndex修改树
布局流程
- 配置根节点和子节点样式
- 调用
computeLayout(root, availableSpace) - 读取
getLayout(node)结果
Loading Preview…
布局包含的内容
x,y: 相对于父节点的位置width,height: 计算后的尺寸margin,padding,border: 边缘尺寸