Widget是Flutter开发应用中用到最多的概念,Flutter的理念是Every is Widget,Widget可以由许多小Widget组成,而小的Widget是由更基础的Widget组成,例如,Padding也是一种Widget,而不是Widget中的一个属性。
在Flutter中,Widget的的描述是 Flutter 框架中的中心类层次结构。Widget是用户界面部分的不可变描述。小部件可以膨胀为管理底层渲染树的元素。
可以看到Widget只是一个描述配置,它并不是表示最终绘制在设备上的显示元素。
Widget分为三大类
Component Widget
组合类Widget。这类Widget主要用来组合其他更基础的Widget,得到功能更加复杂的Widget。平常的业务开发一般用的就是此类Widget。
Render Widget
渲染类Widget,这类Widget是框架最核心的Widget,会参与后面的布局和渲染流程;只有这种类型的Widget会绘制到屏幕上。
Proxy Widget
代理类Widget,其本身并不涉及Widget内部逻辑,只是为子Widget提供一些附加的中间功能。例如:InheritedWidget用于将一些状态信息传递给子孙Widget。
网友评论