Jetpack Compose:Android全新UI编程
温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>
- ISBN:9787115573223
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:290
- 出版时间:2021-10-01
- 条形码:9787115573223 ; 978-7-115-57322-3
本书特色
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
作者简介
朱江 现在联想(北京)有限公司担任Android开发工程师,从事Android开发工作多年,有丰富的项目经验,负责及参与开发过多款移动应用程序,同时还是多个开源项目的作者。2017年开始在CSDN发表Android技术相关博文,得到了大量网友的认可,荣获CSDN认证博客专业人士,在2020年CSDN博客之星评选活动中进入全网前50名。
-
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥12.8¥32.0 -
AI绘画+AI摄影+AI短视频从入门到精通
¥45.5¥79.8 -
企业AI之旅
¥43.5¥79.0 -
机器学习
¥59.4¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
软件设计的哲学(第2版)
¥51.0¥69.8 -
智能算法优化及其应用
¥52.4¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥62.3¥89.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥67.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
人工智能
¥29.4¥42.0 -
中文版PHOTOSHOP 2024+AI修图入门教程
¥59.3¥79.0 -
WPS办公软件应用
¥25.2¥36.0 -
格拉斯曼流行学习及其在图像集分类中的应用
¥13.7¥28.0 -
轻松上手AIGC:如何更好地向CHATGPT提问
¥40.3¥62.0 -
元宇宙的理想与现实:数字科技大成的赋能与治理逻辑
¥61.6¥88.0 -
云原生安全:攻防与运营实战
¥66.8¥89.0