描述
开 本: 128开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115573223丛书名: 图灵原创
1.Jetpack Compose是由Google推出的Android UI构建工具,帮助开发者用更少的代码轻松构建高性能应用程序。
2.本书细致的讲解了Compose 的相关知识点,并以项目的形式带读者进行实践,帮助读者从入门到实践学习Compose。
3.本书整理了网上的碎片化问题,从如何搭建Compose的开发环境开始,系统讲解了Compose的控件、布局、动画、手势等方面。
4.本书提供了书中所有项目的源码,帮助读者加深对代码的理解。
Jetpack Compose是Google官方推出的用于构建原生界面的现代Android工具包,能够帮助开发者用更少的代码实现更多功能,轻松地构建精美且易于维护的高性能应用程序。本书系统、细致地讲解了Compose,“手把手”教开发者如何在实际项目中使用Compose。首先介绍了如何搭建Compose的开发环境,以及编写个Hello World程序,然后介绍了Compose的各类简单或复杂的控件、布局、视图,接着介绍了Compose中的动画和手势操作以及如何与其他Jetpack库搭配使用,后带领读者从头到尾完整地开发一个简单的项目。
前言
第 1章 先做好准备工作 1
1.1 Compose 简介 1
1.2 搭建开发环境 2
1.2.1 在Windows上搭建开发环境 2
1.2.2 在macOS上搭建开发环境 8
1.2.3 将Compose添加到现有项目 9
1.3 温习Kotlin 10
1.3.1 默认参数 11
1.3.2 高阶函数 11
1.3.3 解构数据类 12
1.4 小结 13
第 2章 开启Compose旅程 14
2.1 创建第 一个Compose应用程序 14
2.1.1 创建Hello World 14
2.1.2 运行项目 17
2.1.3 分析第 一个Compose应用程序 18
2.1.4 使用Preview 20
2.2 Compose编程思想 22
2.2.1 声明式编程 22
2.2.2 可组合函数 22
2.2.3 重组 23
2.3 智能重组 24
2.3.1 控件按任何顺序执行 24
2.3.2 控件并行运行 24
2.3.3 重组会跳过尽可能多的内容 26
2.3.4 重组是乐观的操作 26
2.4 Compose状态 27
2.4.1 Compose中的状态 27
2.4.2 ViewModel和状态 29
2.4.3 使用其他类型的状态 30
2.5 Compose生命周期 31
2.5.1 可组合项的生命周期 31
2.5.2 状态和效应用例 32
2.5.3 重启效应 34
2.6 小结 35
第3章 使用Compose的简单控件 36
3.1 Compose中的主题 36
3.1.1 主题设置 36
3.1.2 Color设置 37
3.1.3 字体设置 40
3.1.4 Shape设置 42
3.2 Compose中的“TextView ” 43
3.2.1 显示文字 43
3.2.2 设置文字样式 46
3.2.3 设置文字选择 58
3.3 Compose中的“EditText” 61
3.3.1 输入文字 61
3.3.2 显示样式 64
3.3.3 键盘选项 66
3.4 Compose中的“Button” 71
3.4.1 创建Button 72
3.4.2 Button源码解析 72
3.5 Compose中的“ImageView” 77
3.5.1 简单显示 77
3.5.2 设置图片样式 79
3.5.3 显示网络图片 82
3.6 Compose中的“ProgressBar” 84
3.6.1 使用圆形进度条 84
3.6.2 使用条形进度条 87
3.7 小结 90
第4章 了解Compose的布局 91
4.1 竖向线性布局——Column 91
4.1.1 Android View中的竖向线性布局 92
4.1.2 Compose中的竖向线性布局 93
4.1.3 Column源码解析 94
4.2 横向线性布局——Row 99
4.2.1 简单上手 100
4.2.2 Row源码解析 101
4.3 帧布局——Box 102
4.3.1 Box源码解析 102
4.3.2 Box简单上手 103
4.4 修饰符——Modifier 105
4.4.1 内边距padding 105
4.4.2 设置控件的尺寸 107
4.4.3 Row和Column中的weight修饰符 108
4.4.4 给控件添加点击事件 109
4.4.5 为控件添加圆角 109
4.5 脚手架——Scaffold 111
4.5.1 简单了解 Scaffold 111
4.5.2 Scaffold抽屉实现 113
4.6 约束布局——ConstraintLayout 114
4.7 小结 116
第5章 尝试Compose的复杂控件 117
5.1 竖向列表LazyColumn 117
5.1.1 简单使用 117
5.1.2 LazyListScope 119
5.1.3 多Type使用 122
5.1.4 粘性标题 124
5.1.5 回到顶部 128
5.2 横向列表 LazyRow 129
5.2.1 简单使用 129
5.2.2 LazyRow源码解析 129
5.2.3 使用项键Key 130
5.3 网格列表LazyVerticalGrid 131
5.3.1 简单使用 131
5.3.2 LazyVerticalGrid源码解析 132
5.4 底部导航栏 136
5.4.1 简单使用 136
5.4.2 BottomNavigation源码解析 138
5.5 小结 140
第6章 尝试Compose的自定义View 141
6.1 简单认识Compose中的Canvas 141
6.1.1 Android View中的Canvas 141
6.1.2 Compose中的Canvas 142
6.2 使用Canvas绘制点 143
6.2.1 绘制点必须填写的参数 143
6.2.2 绘制点可选的参数 146
6.2.3 使用Brush绘制渐变 149
6.3 使用Canvas绘制线和矩形 153
6.3.1 绘制线 153
6.3.2 绘制矩形 155
6.3.3 绘制圆角矩形 158
6.4 使用Canvas绘制圆及椭圆 159
6.4.1 绘制圆 160
6.4.2 绘制椭圆 161
6.5 使用 Canvas绘制圆弧、图片及Path 163
6.5.1 绘制圆弧 163
6.5.2 绘制图片 166
6.5.3 绘制Path 168
6.6 使用混合模式 172
6.6.1 Android View中的混合模式 173
6.6.1 Compose 中的混合模式 173
6.7 小结 175
第7章 动画的点点滴滴 176
7.1 简单使用动画 176
7.1.1 可见性动画 176
7.1.2 布局大小动画 181
7.1.3 布局切换动画 183
7.2 低级别动画 185
7.2.1 属性动画 185
7.2.2 帧动画 187
7.2.3 多动画同步 188
7.2.4 多动画重复 191
7.3 自定义动画 192
7.3.1 动画规格——AnimationSpec 192
7.3.2 矢量动画——AnimationVector 195
7.4 Compose中的手势 196
7.4.1 Compose中的点击事件 196
7.4.2 Compose中的滚动事件 198
7.4.3 Compose中的嵌套滚动 200
7.4.4 拖动事件 202
7.4.5 滑动事件 204
7.5 小结 206
第8章 和其他Jetpack库搭配使用 207
8.1 使用ViewModel 207
8.1.1 ViewModel的简单使用 207
8.1.2 在Compose中使用ViewModel 211
8.1.3 Compose中ViewModel的进阶使用 213
8.2 使用数据流 216
8.2.1 Flow的使用 216
8.2.2 RxJava的使用 217
8.3 使用Navigation实现页面跳转 218
8.3.1 简单使用 218
8.3.2 传递单个参数 221
8.3.3 传递多个参数 223
8.3.4 解析参数类型 225
8.3.5 添加可选参数 227
8.3.6 添加实体类参数 229
8.4 使用Jetpack中的其他库 231
8.4.1 使用Hilt进行依赖注入 231
8.4.2 使用Paging进行列表加载 232
8.5 小结 234
第9章 和老代码搭配使用 235
9.1 在 Compose中使用Android View 235
9.1.1 简单控件的使用 235
9.1.2 复杂控件使用 237
9.1.3 嵌入XML布局 240
9.2 在Android View中使用Compose 243
9.2.1 在代码中使用 243
9.2.2 在布局中使用 246
9.3 Compose与现有页面集成 248
9.3.1 创建Android View和Compose中通用的控件 248
9.3.2 Compose中的屏幕适配 251
9.4 小结 254
第 10章 Compose实战——玩Android 255
10.1 搭建项目框架 255
10.1.1 创建项目 255
10.1.2 搭建项目架构 257
10.1.3 使用Navigation处理页面跳转 258
10.1.4 使用BottomNavigation创建主页框架 260
10.2 实现项目首页 262
10.2.1 实现首页逻辑层 263
10.2.2 实现首页UI层 269
10.3 实现项目页面 277
10.3.1 实现项目页面的逻辑层 278
10.3.2 实现项目页面的UI层 281
10.4 实现其他页面 284
10.4.1 实现文章详情页面 284
10.4.2 实现我的页面 287
10.5 小结 290
目前Compose相关知识较为分散,缺乏系统性,这本书循序渐进地讲解了Compose 的相关知识点,并以项目的形式带大家实践,我相信可以帮助你快速入门Compose。
–张鸿洋,wanandroid网站站长
从Google官方对Compose的重视,就可以知道它是Android UI的未来。对于开发者来说,提早学习新技术,将有效提升自己在市场上的竞争力,让职业生涯更宽广。朱老师的这本书有效地解决了网上学习材料碎片化的问题,系统化地从控件、布局、动画、手势等方面逐一切入,并搭配完整的项目
评论
还没有评论。