布局组件
布局组件是指包含一个或多个子组件的组件,不同的布局组件对子组件的排列方式不同。
在前面的文章有提到,Element
树才是最终的绘制树,它是由 Widget
树来创建的,Widget
只是 Element
的配置数据。在 Flutter
中,根据 Widget
是否需要包含子节点将 Widget
分为三类,分别对应三种 Element
:
Widget | 对应的 Element | 用途 |
---|---|---|
LeadRenderObjectWidget |
LeafRenderObjectElement |
Widget 树的子节点,用于没有子节点的 Widget |
SingleChildRenderObjectWidget |
SingleChildRenderObjectElement |
包含一个子 Widget |
MultiChildRenderObjectWidget |
MultiChildRenderObjectElement |
包含多个子 Widget ,一般都有一个 children 参数,接受一个 Widget 数组 |