解释一下Flutter中的Widge

发布于 1周前 作者 itying888 最后一次编辑是 5天前 来自 分享

在Flutter中Widget是构成用户界面的基本元素, Container 、Center、 Row 、 Column、Card、Wrap 、Stack、Padding、Flex这些都是Flutter内置的Widget

我们也可以自定义Widget,继承StatelessWidget实现无状态组件,继承StatefulWidget实现有状态组件

Widget可以分为两大类:

无状态(Stateless)Widget:这类Widget的属性是不可变的,它们不会随时间变化。例如,一个无状态的按钮,它的颜色、大小和文本等属性在生命周期中是固定的

有状态(Stateful)Widget:这类Widget的属性是可以改变的,它们会随时间变化。例如,一个有状态的按钮,在用户点击后,它的颜色和文本可能会发生变化。有状态Widget在创建后可以发生变化,例如用户交互、网络请求或数据更改等

Widget的生命周期:

创建:当需要显示一个Widget时,Flutter框架会调用其build方法来创建它。 更新:当一个有状态Widget的状态发生变化时,它的build方法会被再次调用,以便更新用户界面。 销毁:当一个Widget不再需要时,Flutter框架会调用其deactivate和dispose方法来销毁它。

Widget的树形结构:

在Flutter应用程序中,所有的Widget都会组成一棵树形结构,称为Widget树。Widget树的根节点通常是MaterialApp或CupertinoApp,然后依次是Scaffold、AppBar、ListView等。这种层次结构使得Flutter可以有效地管理和渲染复杂的用户界面。

Dart Flutter教程网盘下载地址https://pan.baidu.com/s/1iaLGIyR9UmyJyHDGH6hepg 提取码:abcd

Dart Flutter在线学习地址https://www.bilibili.com/video/BV1S4411E7LY?p=17

Flutter仿小米商城项目实战地址https://www.itying.com/goods-1176.html

Flutter+Go_Router+Fluent_Ui仿阿里网盘桌面软件开发跨平台实战https://www.itying.com/goods-1183.html

回到顶部