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 | |
未完待续