概念
Flutter
是面向 Widget
开发的移动端 UI
框架。
Widget
可以理解为控件或者组件。它不仅可以表示 UI
元素,也可以表示一些功能性的组件。
在 Flutter
中,Widget
的功能是描述一个 UI
元素的配置数据。 也就是说,Widget
其实并不是表示最终绘制在设备屏幕上的元素,它只是描述显示元素的一个配置数据!!
实际上,Flutter
中真正代表屏幕上显示元素的类是 Element
,也就是说,Widget
只是描述 Element
的配置数据。
总结:
Widget
实际上就是Element
的配置数据,Widget
树实际上是一个配置树,而真正的UI
渲染树是由Element
构成。不过,由于Element
是通过Widget
生成的,所以他们之间有对应关系,在大多数场景下,我们可以宽泛地认为Widget
树就是指UI
渲染树。- 一个
Widget
对象可以对应多个Element
对象,因为同一份配置可以创建多个实例。