第2版前言
第1章 开启Flutter之旅 1
1.1 Flutter的特点与核心概念 1
1.1.1 一切皆为组件 2
1.1.2 组件嵌套 2
1.1.3 构建 3
1.1.4 处理用户交互 3
1.1.5 状态 4
1.1.6 分层的框架 5
1.2 搭建开发环境 6
1.2.1 Windows环境搭建 6
1.2.2 MacOS环境搭建 12
1.3 写第一个Flutter程序 16
第2章 Flutter基础知识 22
2.1 入口程序 22
2.2 Material Design设计风格 23
2.3 Flutter主题 23
2.3.1 创建应用主题 23
2.3.2 局部主题 25
2.3.3 使用主题 26
2.4 使用包资源 27
2.5 状态管理 31
2.5.1 有状态及无状态组件 31
2.5.2 Provider的使用 33
2.6 HTTP请求 36
2.6.1 HTTP请求方式 37
2.6.2 HttpClient请求方式 38
2.6.3 Dio请求方式 39
第3章 Dart语言简述 47
3.1 Dart的重要概念与常用开发库 47
3.2 变量与基本数据类型 50
3.3 函数 52
3.4 运算符 54
3.5 流程控制语句 58
3.6 异常处理 61
3.7 面向对象 62
第4章 常用组件 75
4.1 容器组件 75
4.2 图片组件 77
4.3 文本组件 79
4.4 图标及按钮组件 81
4.4.1 图标组件 81
4.4.2 图标按钮组件 82
4.4.3 凸起按钮组件 83
4.5 列表组件 84
4.5.1 基础列表组件 85
4.5.2 水平列表组件 86
4.5.3 长列表组件 88
4.5.4 网格列表组件 89
4.6 表单组件 90
第5章 Material Design风格组件 94
5.1 App结构和导航组件 95
5.2 按钮和提示组件 112
5.3 其他组件 121
5.3.1 TextField(文本框组件) 121
5.3.2 Card(卡片组件) 123
第6章 Cupertino风格组件 126
6.1 CupertinoActivityIndicator(加载指示器组件) 126
6.2 CupertinoAlertDialog(对话框组件) 127
6.3 CupertinoButton(按钮组件) 128
6.4 Cupertino(导航组件集) 129
第7章 页面布局 135
7.1 基础布局处理 136
7.2 宽高尺寸处理 157
7.3 列表及表格布局 163
7.4 其他布局处理 169
7.5 布局综合示例 176
第8章 手势 184
8.1 用GestureDetector进行手势检测 184
8.2 用Dismissible实现滑动删除 186
第9章 资源和图片 189
9.1 添加资源和图片 189
9.1.1 指定asset 189
9.1.2 加载asset 190
9.1.3 平台asset 192
9.2 自定义字体 194
第10章 组件装饰和视觉效果 196
10.1 Opacity(透明度处理) 196
10.2 DecoratedBox(装饰盒子) 197
10.3 RotatedBox(旋转盒子) 204
10.4 Clip(剪裁处理) 205
10.5 案例—自定义画板 209
第11章 路由和持久化 227
11.1 路由的基本应用 227
11.2 Fluro企业级路由 235
11.3 Key-Value存储简介 240
11.3.1 shared_preferences的应用 241
11.3.2 shared_preferences的实现原理 244
11.4 文件存储 246
11.5 Sqflite的应用 249
11.5.1 常用操作方法 249
11.5.2 客户表操作示例 251
第12章 动画 256
12.1 动画的基本概念 256
12.2 Flutter的动画相关类 257
12.2.6 动画控制流程 262
12.3 动画示例 262
12.3.1 字体放大动画 262
12.3.2 缓动动画 266
12.3.3 遮罩动画 269
12.3.4 数字变化动画 272
12.3.5 图表动画 274
12.4 动画组件 277
12.4.1 用AnimatedOpacity实现渐变效果 277
12.4.2 用Hero实现页面切换动画 279
第13章 Flutter插件开发 282
13.1 获取系统版本插件 282
13.1.1 新建插件 282
13.1.2 运行插件 285
13.1.3 示例代码分析 286
13.2 电池电量插件 293
13.3 Channel详解 308
第14章 开发工具及使用技巧 324
14.1 IDE集成开发环境 324
14.1.1 Android Studio / IntelliJ 324
14.1.2 Visual Studio Code 330
14.2 Flutter SDK 337
14.3 使用热重载 338
14.4 格式化代码 339
14.5 Flutter组件检查器 340
第15章 测试与发布应用 343
15.1 测试应用 343
15.2 发布Android版App 348
15.3 发布iOS版App 353
第16章 综合案例 362
16.1 即时通信App界面实现 362
16.2 企业站App实现 394