Flutter第一天笔记📒
官方参考资料
Dart 语言 官方说明书
Dart代码格式
Dart编辑器 练习语法
Dart 指导中文版
Flutter中文官方
Flutter中国开源项目
Flutter Widget介绍
Flutter官方网站:https://flutter.dev/
Flutter官方文档:https://flutter.dev/docs
Flutter中文网:https://flutter.cn/
Flutter示例应用:https://flutter.dev/showcase
Flutter开发者论坛:https://flutter.dev/community
构建第一个Flutter 应用
地址在这里
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
代码格式化 cmd + option + L 自动代码格式化
Flutter 代码通常涉及构建相当深的树形数据结构, 例如在build 方法中. 为了获得良好的自动格式化效果, 建议采用可选的尾随逗号. 尾随逗号规则: 在您关心保留所设计的格式的函数, 方法和构造函数中的参数列表末尾添加尾随逗号. 有助于自动格式化程序为Flutter风格的代码插入适量的换行符.
提取widget 为UI的单独逻辑部分使用单独的widget是在Flutter中管理复杂性的一种重要方法.
Refactor 要提取的代码右键, 选择refactor -> flutter Extra widget
快捷调出Wrap with …. 快捷键 Alt + Enter
Row() Column() 设置对齐方式: mainAxisAlignment: xxx 横向布局 纵向布局
Expanded (widget) 会分割两者之前所有可用的水平空间.
Container: 容器
变为有状态的Widget 快捷键option + enter -> refector to stateful widget 多出一个方法createState() => _myHomePageState() 新的有状态widget(_myHomePageState 内部声明一个selectedIndex)
声明一个page的Widget 在build方法顶部; 在这里判断page 在selectedIndex改变的时候应该是什么容器 替换child 所对应的page 这样就能达到,点击item 展示不同页面
自适应性 LayoutBuilder(builder: (context, constraints) { }
关键字 final 不能修改final变量的值. Final const : 不想更改一个变量 都可以使用 这两个关键字替代var关键字 或者加载一个具体类型前.
SizeBox(height: 10) 类似于Swift里面用一个Expanded(height: 10) 占位用.
Dart重要概念 所有变量应用的都是对象, 每个对象都是一个类的实例. 数字 函数以及null 都是对象. 除去null意外(如果开启了空安全)所有的类都继承至Object类.
Dart没有 public private 成员访问限定符. 如果一个标识下划线_开头则表示该标识符在库内是私有的. Android Studio快捷键 cmd + option + L ( 代码格式化 ) option/alt + Enter (快捷调出 Wrap with … 意图列表 ) Shift + Option + 上/下 ==> (代码移动整行) cmd + ,(逗号) ==> 进入设置preference cmd + -/+ ==> (折叠/展开)代码
|
Flutter常用命令(后续再补充)
1 2 3 4 5 6 7 8 9
| https: $Flutter emulators 获取模拟器 $flutter enumators —launch xxx 启动模拟器 查看所有真机设备 $Flutter devices $flutter build apk 打包apk $flutter build ios 打包 ipa
|
Android Studio环境配置
1 2 3 4 5 6 7 8 9 10 11
| 环境配置 $ flutter doctor 查看哪里还有问题 遇到的问题及解决方案
1. Cmdline-tools comment is missing https: 2. 证书问题 执行 $ flutter doctor --android-licenses
没问题运行flutter doctor 应该没有报错信息~!
|