Flutter基础与实战——从入门到APP跨平台开发
定 价:129 元
- 作者:赵龙 编著
- 出版时间:2021/11/1
- ISBN:9787111690627
- 出 版 社:机械工业出版社
- 中图法分类:TN929.53
- 页码:327
- 纸张:
- 版次:
- 开本:16开
本书旨在帮助读者快速入门Flutter、掌握Flutter开发技能,从而具备一定的Flutter跨平台开发能力。本书在内容编排上主要分为以下三个部分。
第壹部分(第1~5章)是UI构建基础篇,纵向概述Flutter开发中用到的基础组件(如Text、Image)、UI布局组件(如Column)、滑动组件(如NestScrollView)和功能性组件(如手势识别)等。
第二部分(第6~10章)是Flutter核心功能篇,涵盖动画、弹框、绘图、插件开发、文件操作与网络请求等。
第三部分(第11~13章)是实战应用篇,将前两部分的内容加以应用,并补充开发细节,如应用图标配置、打包发布、权限请求、各种工具类封装,还提供了一个APP的基础架构以及短视频应用与电商类应用。读者可以直接在本书提供的源码基础上搭建企业级的应用。
此外,本书还具有较强的工具属性,便于在随时查阅,陪伴读者完成Flutter的学习旅程。
本书适合想要入门Flutter,进行应用开发的技术人员阅读。
目录
前言
UI 构建基础篇
第1 章 Flutter 开发起步
1.1 Dart 语言概述
1.1.1 Dart 与Flutter 的发展史
1.1.2 编译模式概述
1.2 Dart 语言核心
1.2.1 Dart 方法函数
1.2.2 Map、List、Set 的基本使用
1.2.3 Dart 中的流程控制
1.3 Flutter 项目配置文件
1.3.1 pubspec 配置文件依赖库引用说明
1.3.2 图片等资源管理配置
1.4 Flutter APP 的调试技巧
1.4.1 Android Studio 的日志使用技巧
1.4.2 断点调试——逐行追踪代码
1.4.3 Flutter Inspector 调试快速定位元素
1.4.4 Flutter Performance 调试应用绘制消耗
小结
第2 章 基础组件
2.1 MaterialApp
2.1.1 路由配置
2.1.2 语言环境与主题配置
2.2 Scaffold 组件
2.2.1 FloatingActionButton 悬浮按钮
2.2.2 侧拉页面drawer 配置
2.2.3 bottomNavigationBar 配置底部导航栏菜单
2.3 AppBar
2.3.1 AppBar 的基本使用
VI
2.3.2 在AppBar 中实现可滑动切换的标签栏
2.4 文本显示 Text 组件
2.4.1 Text 组件的样式TextStyle
2.4.2 RichText 组件的基本使用
2.5 文本输入框TextField 组件
2.5.1 背景样式InputDecoration
2.5.2 文本控制器TextEditingController
2.5.3 输入焦点与键盘控制
2.6 容器Container 组件
2.7 按钮Button
2.8 图片Image 组件
2.8.1 加载网络图片
2.8.2 加载本地图片
小结
第3 章 UI 布局排版组件
3.1 线性布局Column 与Row
3.1.1 Column 与Row 的宽与高自适应
3.1.2 Column 与Row 中子Widget 的对齐方式分析
3.1.3 Column 与Row 中子Widget 按比例权重布局
3.2 非线性布局
3.2.1 帧布局 Stack
3.2.2 弹性布局Flex
3.2.3 流式布局Wrap
3.2.4 流式布局Flow
3.3 实现一个酷炫的登录页面
3.3.1 页面主体结构构建
3.3.2 输入层UI 布局
3.3.3 输入层的事件交互操作
3.3.4 抖动文本输入框ShakeTextFiled
3.3.5 键盘占位 KeyboardPlaceholderWidget
小结
第4 章 功能性组件
4.1 进度指示器
4.1.1 线性指示器LinearProgressIndicator
4.1.2 圆形指示器CircularProgressIndicator
4.1.3 苹果风格CupertinoActivityIndicator
4.1.4 Material 风格RefreshIndicator
4.1.5 苹果风格CupertinoSliverRefreshControl
4.2 单选框Radio、复选框CheckBox、开关Switch
4.2.1 单选框Radio 组件
4.2.2 单选框RadioListTile 的基本使用
4.2.3 复选框CheckBox 的基本使用
4.2.4 复选框CheckboxListTile 的基本使用
4.2.5 开关Switch 的基本使用
4.2.6 开关SwitchListTile 的基本使用
4.3 手势处理
4.3.1 GestureDetector 的使用
4.3.2 Ink 与InkWell
4.3.3 手势拖动与放大图片的组件
小结
第5 章 滑动视图
5.1 ScrollView
5.1.1 滑动组件SingleChildScrollView
5.1.2 滑动布局NestedScrollView 与SliverAppBar
5.1.3 滑动组件CustomScrollView
5.2 PageView
5.3 ListView 与GridView
5.3.1 ListView 基本使用
5.3.2 GridView 的基本使用
5.3.3 下拉刷新与上拉加载更多
小结
核心功能篇
第6 章 动画专题—让画面动起来
6.1 基本动画
6.1.1 透明动画
6.1.2 缩放动画
6.1.3 平移动画
6.1.4 旋转动画
6.2 Tween 动画
6.2.1 数值类型的Tween
6.2.2 颜色类型的 Tween
6.2.3 各系列的Tween
6.2.4 CurvedAnimation 使用分析
6.2.5 TweenSequence 串行动画使用分析
6.3 其他动画概述
6.3.1 抖动动画实现
6.3.2 Hero 屏幕共享元素动画
6.3.3 Path 绘图高级动画
6.3.4 ClipReact 裁剪动画
6.3.5 Material Design Motion 规范的预构建动画
小结
第7 章 弹框专题—提升交互体验的关键
7.1 基本弹框的使用
7.1.1 showDialog
7.1.2 showCupertinoDialog
7.1.3 showGeneralDialog
7.1.4 showBottomSheet
7.1.5 showModalBottomSheet
7.1.6 showCupertinoModalPopup
7.2 Dialog 中的状态更新
7.3 自定义弹框
小结
第8 章 绘图专题—装饰让界面更美观
8.1 Flutter 中绘图功能实现
8.1.1 CustomPaint 简述
8.1.2 CustomPainter 简述
8.1.3 画笔Paint
8.2 绘制基本图形
8.2.1 绘制点
8.2.2 绘制直线
8.2.3 绘制矩形
8.2.4 绘制弧或者饼drawArc
8.2.5 绘制圆角矩形
8.2.6 绘制圆形
8.2.7 绘制椭圆drawOval
8.2.8 通过Path 绘制基本图形
8.3 贝塞尔曲线
8.3.1 使用二阶贝塞尔曲线绘制弧线
8.3.2 使用三阶贝塞尔曲线绘制不规则弧线
8.4 绘制文本
8.5 绘制图片
8.5.1 ui.Image 图片
8.5.2 Uint8List 图片
8.5.3 绘制一个图片
小结
第9 章 插件开发专题—满足你的个性化开发需求
9.1 Flutter 与原生(Android、iOS)双向通信
9.1.1 MethodChannel 实现Flutter 与原生(Android、iOS)双向通信
9.1.2 BasicMessageChannel 实现Flutter 与原生(Android、iOS)双向通信
9.1.3 EventChannel 实现原生(Android、iOS)向Flutter 发送消息
9.1.4 Flutter 调用Android 原生TextView
9.1.5 Flutter 调用iOS 原生UIView
9.2 插件发布
9.2.1 插件发布前的准备
9.2.2 插件发布pub 仓库
小结
第10 章 文件操作与网络请求
10.1 异步编程
10.1.1 Flutter 异步编程async 与await 的基本使用
10.1.2 延时任务与定时任务概述
10.1.3 Future 与Timer 常用方法概述
10.1.4 Future 任务原理分析
10.1.5 异步加载FutureBuilder 概述
10.2 文件File 的读写
10.2.1 资源目录assets 文件读取
10.2.2 手机磁盘文件读写
10.2.3 SharedPreferences 轻量级数据保存
10.2.4 sqflite 数据库数据操作
10.3 网络请求库
10.3.1 网络请求框架HttpClient
10.3.2 网络请求库Dio
小结
实战应用篇
第11 章 APP 从0 起步—用Flutter 搭建基础框架
11.1 项目创建及打包配置
11.1.1 Flutter 项目配置概述
11.1.2 Android 配置文件与清单文件概述
11.1.3 iOS 清单info.plist 配置概述
11.2 基础工具类封装
11.2.1 常用工具类封装
11.2.2 路由工具类封装
11.2.3 网络请求工具类封装
11.3 基础组件封装
11.3.1 自定义路由弹框
11.3.2 权限请求弹框
11.3.3 基类BaseState 构建
11.3.4 App 版本升级组件
11.3.5 Html 加载组件
11.4 启动流程配置
11.4.1 Android 与iOS 双平台的闪屏页面
11.4.2 启动初始化页面
11.4.3 广告倒计时页面
11.4.4 滑动引导功能页面
11.4.5 应用首页面
11.4.6 应用登录页面
11.4.7 设置中心页面
小结
第12 章 短视频应用的跨平台开发—打造社交新体验
12.1 视频列表页面
12.1.1 状态栏颜色设置
12.1.2 下拉刷新与上拉加载更多功能
12.1.3 列表构建
12.1.4 加载数据处理
12.2 视频列表子Item
12.3 视频播放详情 VideoPlayDetailedWidget
12.3.1 视频播放控制器的常用操作方法
12.3.2 视频播放视图构建
12.3.3 视频播放控制
12.4 视频首页面
小结
第13 章 电商类应用的跨平台开发—呈现访客至上的购物页面
13.1 指纹登录功能
13.2 主页面根视图
13.2.1 剪切板功能
13.2.2 双击退出应用功能
13.2.3 主体页面
13.3 滑动折叠的首页面
13.3.1 首页面背景
13.3.2 首页面主体
13.3.3 首页面缩放平移搜索框
13.3.4 搜索框
13.3.5 子页面 HomeItemTabbarPage
小结