Flutter学习日记-log1
本文最后更新于:2 年前
入职了新公司,终于接触到了Flutter,在此记录每天上手成果
日志随笔
一、Flutter
环境搭建
直接参考Flutter
中文网,进行部署,最后使用flutter doctor
命令行校验,本机环境如下:
1 |
|
本机采用VS Code
编辑器进行编辑,按照文档下载对应的插件即可
二、创建初始代码
使用VS Code
中的命令创建默认demo
,层级如下:
其中ios
文件夹中的代码即为Xcode
工程,可以使用Xcode
打开运行即可,测试发现一个问题:iOS
模拟器运行正常,但是使用真机运行失败,github
上解答:iOS 13.3.1
真机存在免费账号签名问题,无法运行,只能使用iOS
模拟器运行
三、初始Demo
解析
1、main
函数启动程序
- 初始
widget
需要使用MaterialApp
创建,常见参数:title
、theme
、home
,其中home
参数认为是必填参数,代表首页
2、StatefulWidget
和StatelessWidget
StatefulWidget
是动态,StatelessWidget
是静态- 都需要重写
build
方法, - 优先使用
StatelessWidget
具体内部实现区别,暂不研究
3、监听动态StatefulWidget
的状态改变
创建一个
State
类,绑定到StatefulWidget
,同时在StatefulWidget
中使用createState
方法添加State
类,然后把重写build
方法的代码写在State
里面,在事件触发时,掉用setState
方法,此时会重新执行StatefulWidget
的build
方法,此处需注意,不是所有代码都会执行
4、使用Navigator
打开新的页面
- 新的页面,不代表是新的
dart
文件,新页面仍然可以在同一个dart
里面创建出来 Navigator.push
有两个参数,第一个是默认值content
,此处暂不做验证- 第二个值是新页面,新页面需要使用
MaterialPageRoute
方法创建出来,此方法参数builder
必填,括号内形参,方法内return
新的页面,就能给形参赋值,从而正常跳转
以上所有代码如下:
1 |
|
四、路由传参
- 有固定的格式,接收参数的
widget
通过固定语法接收参数,接收完之后定义一个参数存储,传输过程中参数名相同 - 回调的参数使用打开
widget
的方法回调,Navigator.push
对应Navigator.pop
,同样,第二个参数为回调参数 - 第一个
widget
获取回调参数时,需要使用await
修饰,才能获取到回调参数,传参方法中也可以使用async
异步修饰 async
和await
分别代表异步操作和延迟操作
代码如下:
1 |
|
未完待续