内容简介
第1章 开启Flutter之旅
1.1 Flutter的特点与核心概念
1.1.1一切皆为组件
1.1.2组件嵌套
1.1.3构建Widget
1.1.4处理用户交互
1.1.5什么是状态
1.1.6分层的框架
1.2开发环境搭建
1.2.1 Windows环境搭建
1.2.2 MacOS环境搭建
1.3第一个Flutter程序
第2章 Flutter基础知识
2.1入口程序
2.2 Material Design设计风格
2.3 Flutter主题
2.3.1创建应用主题
2.3.2局部主题
2.3.3使用主题
2.4无状态组件和有状态组件
2.5使用包资源
2.6 Http请求
第3章 Dart语言简述
3.1 Dart重要概念与常用开发库
3.2变量与基本数据类型
3.3函数
3.4运算符
3.5流程控制语句
3.6异常处理
3.7面向对象
3.7.1实例化成员变量
3.7.2构造函数
3.7.3读取和写入对象
3.7.4重载操作
3.7.5继承类
3.7.6 抽象类
3.7.7枚举类型
3.7.8 Mixins
3.8泛型
3.9库的使用
3.10异步支持
3.11元数据
3.12注释
第4章 常用组件
4.1容器组件
4.2图片组件
4.3文本组件
4.4图标及按钮组件
4.4.1图标组件
4.4.2图标按钮组件
4.4.3凸起按钮组件
4.5列表组件
4.5.1基础列表组件
4.5.2水平列表组件
4.5.3长列表组件
4.5.4网格列表组件
4.6表单组件
第5章 Material Design风格组件
5.1 App结构和导航组件
5.1.1 MaterialApp(应用组件)
5.1.2 Scaffold(脚手架组件)
5.1.3 AppBar(应用按钮组件)
5.1.4 BottomNavigationBar(底部导航条组件)
5.1.5 TabBar(水平选项卡及视图组件)
5.1.6 Drawer(抽屉组件)
5.2按钮和提示组件
5.2.1 FloatingActionButton(悬停按钮组件)
5.2.2 FlatButton(扁平按钮组件)
5.2.3 PopupMenuButton(弹出菜单组件)
5.2.4 SimpleDialog(简单对话框组件)
5.2.5 AlertDialog(提示对话框组件)
5.2.6 SnackBar(轻量提示组件)
5.3其他组件
5.3.1 TextField(文本框组件)
5.3.2 Card(卡片组件)
第6章 Cupertino风格组件
6.1 CupertinoActivityIndicator组件
6.2 CupertinoAlertDialog对话框组件
6.3 CupertinoButton按钮组件
6.4 Cupertino导航组件集
第7章 页面布局
7.1基础布局处理
7.1.1 Container(容器布局)
7.1.2 Center(居中布局)
7.1.3 Padding(填充布局)
7.1.4 Align(对齐布局)
7.1.5 Row(水平布局)
7.1.6 Column(垂直布局)
7.1.7 FittedBox(缩放布局)
7.1.8 Stack/Alignment
7.1.9 Stack/Positioned
7.1.10 IndexedStack
7.1.11 OverflowBox(溢出父容器显示)
7.2宽高尺寸处理
7.2.1 SizedBox(设置具体尺寸)
7.2.2 ConstrainedBox(限定最大最小宽高布局)
7.2.3 LimitedBox(限定最大宽高布局)
7.2.4 AspectRatio(调整宽高比)
7.2.5 FractionallySizedBox(百分比布局)
7.3列表及表格布局
7.3.1 ListView
7.3.2 GridView
7.3.3 Table
7.4其他布局处理
7.4.1 Transform(矩阵转换)
7.4.2 Baseline(基准线布局)
7.4.3 Offstage(控制是否显示组件)
7.4.4 Wrap(按宽高自动换行布局)
7.5布局综合示例
7.5.1布局分析
7.5.2准备素材
7.5.3编写代码
第8章 手势
8.1用GestureDetector进行手势检测
8.2用Dismissible实现滑动删除
第9章 资源和图片
9.1添加资源和图片
9.1.1指定assets
9.1.2加载assets
9.1.3平台assets
9.2自定义字体
第10章 路由及导航
10.1页面跳转基本使用
10.2页面跳转发送数据
10.3页面跳转返回数据
第11章 组件装饰和视觉效果
11.1 Opacity(透明度处理)
11.2 DecoratedBox(装饰盒子)
11.3 RotatedBox(旋转盒子)
11.4 Clip(剪裁处理)
11.5案例——自定义画板
第12章 动画
12.1用AnimatedOpacity实现渐变效果
12.2用Hero实现页面切换动画
第13章 Flutter插件开发
13.1新建插件
13.2运行插件
13.3示例代码分析
第14章 开发工具及使用技巧
14.1 IDE集成开发环境
14.1.1 Android Studio/IntelliJ
14.1.2 Visual Studio Code
14.2 Flutter SDK
14.3使用热重载
14.4格式化代码
14.5 Flutter组件检查器
第15章 测试与发布应用
15.1测试应用
15.1.1简介
15.1.2单元测试
15.1.3 Widget测试
15.1.4集成测试
15.2发布Android版App
15.2.1检查App Manifest
15.2.2查看构建配置
15.2.3添加启动图标
15.2.4 App签名
15.2.5构建发布版APK并安装在设备上
15.3发布iOS版App
15.3.1准备工作
15.3.2在iTunes Connect上注册用程序
15.3.3注册一个Bundle ID
15.3.4在iTunes Connect上创建应用程序记录
15.3.5查看Xcode项目设置
15.3.6添加应用程序图标
15.3.7准备发布版本
15.3.8将应用发布到App Store
第16章 综合案例——即时通讯App界面实现
16.1项目介绍
16.2项目搭建
16.2.1新建项目
16.2.2添加源码目录及文件
16.3入口程序
16.4加载页面
16.5应用页面
16.6搜索页面
16.6.1布局拆分
16.6.2请求获取焦点
16.6.3自定义TouchCallBack组件
16.6.4返回文本组件
16.6.5组装实现搜索页面
16.7聊天页面
16.7.1准备聊天消息数据
16.7.2聊天消息列表项实现
16.7.3聊天消息列表实现
16.8好友页面
16.8.1准备好友列表数据
16.8.2好友列表项实现
16.8.3好友列表头实现
16.8.4 ContactSiderList类
16.8.5 Contacts类
16.9我的页面
16.9.1通用列表项实现
16.9.2 Personal类