工程目录概览
UI编写
main.dart分析
1. StatelessWidget和StatefullWidget
- StatelessWidget: 无状态不可更新Widget,其
build
方法只在组件创建执行一次, 就是说一旦这个Widget创建完成,相关的属性配置就不允许再变动, 适用于属性固定不变的控件, 节约性能。 - StatefulWidget:有状态可更新Widget,State类中的
build
方法可以通过调用setState函数来重复执行, 类似于android自定义控件中的invalidate, 适用于属性需要动态改变的控件, 比如点击或者网络请求后控件内容更新
注: 这种状态只针对当前控件有效, 不影响父控件或者子控件
2. 函数
- 在
dart
中函数形参, 我们可以使用大括号map
形式的参数:
也可以使用普通的形参表示:
或者两者混搭:
两者区别:
- map形式: 传参时, 采用
key:value
的形式, 可设置默认值, 参数可传可不传
- 普通形式: 传参方式和
java
函数传参一样, 参数必传,否则报错
此外, 我们还可以将函数当做参数进行传递:
定义一个形参和返回值皆为函数的方法:
一般这种写法太复杂, 为了简化写法, 我们可以给函数定义一个别名,类似于这种:
这样看起来就清爽多了:
- 内部匿名函数与外部函数
当然 函数内部也可以声明函数:
- 函数返回的简化写法:
1 | _MyHomePageState createState() => _MyHomePageState(); |
相当于
1 | _MyHomePageState createState(){ |
- UI的隐藏与显示
Scaffold
这个类为我们预制了很多控件, 类似于一个模板,我们可以对内置的控件进行排列组合, 需要显示的就定义, 不显示就不定义, 非常方便
本文为作者原创 转载时请注明出处 谢谢
乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站