flutter学习笔记(二)

发布时间 2023-06-04 17:54:31作者: 方小川

flutter一切皆widget

flutter和web前端的区别:

1.js语法变成dart

2.html标签变成组件widget

3.flutter里没有css,只有各种widget的属性来实现样式(比如绝对定位用Stack组件来实现)

fluter和web前端的相同点:

1.dart语法接近js

2.flutter里也可以实现flex弹性布局,用Expanded来实现(Expanded只能为Row/Column/Flex的子组件)

3.状态管理类似react一样,有setState来设置状态,包含有状态组件StatefulWidget,无状态组件StatelessWidget

 

常用widget:

MaterialApp ,Scaffold,Container,Center,Padding,Stack,Column,Row,GridView,ListView,Text,TextField,Image
类型作用特点
Container 只有一个子 Widget。默认充满,包含了padding、margin、color、宽高、decoration 等配置。
Padding 只有一个子 Widget。只用于设置Padding,常用于嵌套child,给child设置padding。
Center 只有一个子 Widget。只用于居中显示,常用于嵌套child,给child设置居中。
Stack 可以有多个子 Widget。 子Widget堆叠在一起。
Column 可以有多个子 Widget。垂直布局。
Row 可以有多个子 Widget。水平布局。
Expanded 只有一个子 Widget。在 Column 和 Row 中充满。
ListView 可以有多个子 Widget。用于列表显示。