解释一下Flutter中的Widge
在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