JetpackCompose从入门到实战

JetpackCompose从入门到实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

谷歌全新Android UI框架Jetpack Compose入门教程,采用声明式开发思想提升效率,系统全面整理知识点。

内容简介

Jetpack Compose是谷歌推出的全新Android UI开发框架,它采用更为先进的声明式开发思想,极大地提升了应用界面的开发效率。Compose颠覆性的设计理念使得其学习曲线较为陡峭,因此本书对知识点进行了系统全面的整理和编排。全书共分11章,从写第一行Hello World到实现一个全功能的产品级项目,帮助读者规划出了从入门到精通的最佳学习路径。除了对知识点细致的讲解之外,书中还穿插了大量源码示例和最佳实践,帮助读者及时巩固所学的内容,真正达到学以致用。本书适合Jetpack Compose初学者阅读,同时书中的很多经验总结,对于已经有一定基础的开发者也同样具有参考价值。

章节目录

封面

前折页

书名页

版权

前言

目录

第1章 全新的Android UI框架

1.1 Jetpack Compose是什么

1.1.1 谷歌为什么要推出Compose

1.1.2 命令式UI与声明式UI

1.1.3 Compose API设计原则

1.1.4 Compose与View的关系

1.1.5 不只是Android UI框架

1.2 搭建开发环境

1.2.1 准备所需要的开发工具

1.2.2 部署开发环境

1.3 创建第一个Compose应用

1.3.1 创建新的Compose项目

1.3.2 保持Compose版本更新

1.3.3 在模拟器中运行Compose应用

1.3.4 分析第一个Compose应用

1.3.5 对Compose应用进行预览

1.3.6 已有项目引入Compose

1.4 本章小结

第2章 了解常用UI组件

2.1 Modifier修饰符

2.1.1 常用修饰符

2.1.2 作用域限定Modifier修饰符

2.1.3 Modifier实现原理

2.2 常用的基础组件

2.2.1 文字组件

2.2.2 图片组件

2.2.3 按钮组件

2.2.4 选择器

2.2.5 对话框

2.3 常用的布局组件

2.3.1 线性布局

2.3.2 帧布局

2.3.3 Spacer留白

2.3.4 ConstraintLayout约束布局

2.3.5 Scaffold脚手架

2.4 列表

2.4.1 LazyComposables

2.4.2 LazyListScope作用域

2.4.3 内容填充

2.5 本章小结

第3章 定制UI视图

3.1 构建UI页面

3.1.1 配置颜色、字体与形状

3.1.2 Welcome欢迎页

3.1.3 LoginIn登录页

3.1.4 Home主页

3.1.5 布局预览

3.2 主题

3.2.1 MaterialTheme介绍

3.2.2 理解MaterialTheme与CompositionLocal

3.2.3 定制主题方案

3.3 本章小结

第4章 状态管理与重组

4.1 状态管理

4.1.1 什么是状态

4.1.2 单向数据流

4.1.3 Stateless与Stateful

4.1.4 状态的定义

4.1.5 状态上提

4.1.6 状态的持久化与恢复

4.1.7 使用ViewModel管理状态

4.1.8 LiveData、RxJava、Flow转State

4.1.9 状态的分层管理

4.2 重组与自动刷新

4.2.1 智能的重组

4.2.2 避免重组的“陷阱”

4.2.3 如何确定重组范围

4.2.4 优化重组的性能

4.3 生命周期与副作用

4.3.1 Composable的生命周期

4.3.2 Composable的副作用

4.3.3 副作用API

4.3.4 异步处理的副作用API

4.3.5 状态创建的副作用API

4.3.6 副作用API的观察参数

4.4 本章小结

第5章 Compose组件渲染流程

5.1 组合

5.2 布局

5.2.1 LayoutModifier

5.2.2 LayoutComposable

5.2.3 固有特性测量Intrinsic

5.2.4 SubcomposeLayout

5.3 绘制

5.3.1 Canvas Composable

5.3.2 DrawModifier

5.3.3 使用平台原生Canvas

5.3.4 实战:Canvas绘制波浪加载

5.4 本章小结

第6章 让页面动起来:动画

6.1 动画分类

6.2 高级别动画API

6.2.1 AnimatedVisibiliy

6.2.2 AnimatedContent

6.2.3 Crossfade

6.2.4 Modifier.animateContentSize

6.3 低级别动画API

6.3.1 animate*AsState

6.3.2 Animatable

6.4 Transition过渡动画

6.4.1 updateTransition

6.4.2 rememberInfiniteTransition

6.5 AnimationSpec动画规格

6.5.1 spring弹跳动画

6.5.2 tween补间动画

6.5.3 keyframes关键帧动画

6.5.4 repeatable循环动画

6.5.5 infiniteRepeatable无限循环动画

6.5.6 snap快闪动画

6.5.7 使用Easing控制动画节奏

6.6 AnimationVector动画矢量值

6.6.1 TwoWayConverter

6.6.2 自定义实现TwoWayConverter

6.7 实战:Compose实现骨架屏的动画效果

6.7.1 定义背景色

6.7.1 为Brush添加动画

6.7.2 实现骨架屏布局

6.8 实战:Compose实现收藏按钮动画效果

6.8.1 实现方式1:高级别API(AnimatedContent)

6.8.2 实现方式2:低级别API(updateTransition)

6.9 本章小结

第7章 增进交互体验:手势处理

7.1 常用的手势处理Modifier

7.1.1 Clickable点击

7.1.2 CombinedClickable复合点击

7.1.3 Draggable拖动

7.1.4 Swipeable滑动

7.1.5 Transformable多点触控

7.1.6 Scrollable滚动

7.1.7 NestedScroll嵌套滑动

7.2 定制手势处理

7.2.1 使用PointerInput Modifier

7.2.2 手势事件方法作用域awaitPointerEventScope

7.3 手势结合动画

7.4 本章小结

第8章 为Compose添加页面导航

8.1 在Compose中使用Navigation

8.1.1 认识Jetpack Navigation

8.1.2 Navigation for Compose

8.1.3 导航时携带参数

8.1.4 Navigation搭配底部导航栏

8.1.5 嵌套导航图Nested Navigation Graph

8.1.6 导航DeepLinks

8.1.7 Navigation对ViewModel的支持

8.2 在Compose中使用Hilt

8.2.1 认识Dagger Hilt

8.2.2 在Compose中使用Hilt

8.3 本章小结

第9章 Accompanist与第三方组件库

9.1 Accompanist

9.1.1 SystemUiController

9.1.2 Pager

9.1.3 SwipeRefresh

9.1.4 Flow Layouts

9.1.5 Insets

9.2 Lottie

9.2.1 配置依赖

9.2.2 Lottie动画资源

9.2.3 创建Lottie动画

9.3 Coil

9.3.1 配置依赖

9.3.2 AsyncImage

9.3.3 SubcomposeAsyncImage

9.3.4 AsyncImagePainter

9.4 本章小结

第10章 项目实战:小游戏Tetris

10.1 整体项目架构

10.2 砖块矩阵(BrickMatrix)

10.2.1 drawBrick绘制砖块单元

10.2.2 drawMatrix绘制砖块矩阵

10.3 下落中的砖块(Sprite)

10.3.1 Shape砖块组合形状

10.3.2 Sprite定义下落砖块

10.3.3 drawSprite绘制下落砖块

10.4 游戏机体(GameBody)

10.4.1 GameButton

10.4.2 组装Button、发送Action

10.4.3 Clicable:分发事件

10.5 订阅游戏状态(ViewState)

10.5.1 ViewState

10.5.2 Action

10.5.3 reduce

10.6 预览游戏画面

第11章 项目实战:聊天应用Chatty

11.1 整体系统架构

11.2 登录注册模块

11.3 IM聊天模块

11.3.1 对话列表页

11.3.2 对话详情页

11.4 联系人模块

11.4.1 通讯录页

11.4.2 添加搜索页

11.4.3 二维码扫描页

11.4.4 陌生人信息页

11.5 用户信息模块

11.5.1 个人信息页

11.5.2 信息编辑页

11.5.3 联系人信息页

11.6 发现模块

11.7 适配暗黑主题

后折页

封底

JetpackCompose从入门到实战是2022年由机械工业出版社出版,作者 曾思淇。

得书感谢您对《JetpackCompose从入门到实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Final Cut Pro X实战从入门到精通 电子书
1.简单易学:本书采用实战形式编写,并以轻松简单的素材为主,使读者不仅能跟随步骤做出相同的效果,还能通过不断操作熟悉软件。 2.全程图解:本书操作步骤力求详细清晰,让读者能够通过图文步骤还原操作过程和作品效果。另外,读者可以观看教学视频进行学习。 3.提示到位:为了方便初学者快速掌握Final Cut Pro X的使用方法,全书针对相应知识点提供了丰富的提示,可以帮助读者扩大知识面,掌握相关技巧。
Excel 2019办公应用实战从入门到精通 电子书
(1)案例设计精良,直面实战需求。 (2)“图书 电脑 手机”三位一体的教学方式。 (3)实例教学,紧密结合日常工作、学习、生活,选取贴近实际的应用案例。 (4)同步全高清视频教学,如名师在侧,高手相伴。 (5)超值赠送相关图书视频教学文件和电子书,花一本书的钱,买几本书的内容。 (6)大量赠送实用软件工具、办公模板,便于读者随时扩展学习应用。
Office 2019办公应用实战从入门到精通 电子书
全书共16章。第1~3章主要介绍Word文档的制作方法,包括Word文档的基本编辑、Word文档的美化处理,以及长文档的排版与处理等;第4~8章主要介绍Excel电子表格的制作方法,包括工作簿和工作表的基本操作、管理和美化工作表、数据的基本分析、数据的高级分析,以及Excel公式和函数的应用等;第9~10章主要介绍PowerPoint演示文稿的制作方法,包括PowerPoint2019演示文稿的设
视觉营销与运营实战从入门到精通 电子书
《视觉营销与运营实战从入门到精通》结合典型案例,深刻、系统地剖析了视觉营销与运营的思维和策略,是一本介绍视觉营销与运营的实战手册。《视觉营销与运营实战从入门到精通》内容主要分为四个部分。第一,讲解视觉营销的基础知识。第二,介绍视觉营销的具体实战方法:通过10个品牌视觉塑造窍门,抢占客户心智;通过11种店铺视觉优化方法,助力皇冠店铺;通过16种产品视觉设计方法,打造爆款产品;通过10种文案视觉呈现技
Flash CC动画制作实战从入门到精通 电子书
本书针对FlashCC进行动画制作的应用方向,从软件基础开始,深入挖掘Flash的核心工具、命令与功能,帮助读者在短的时间内迅速掌握Flash,并将其运用到实际操作中。全书紧紧围绕使用FlashCC进行动画制作的特点,精心设计了200个实例,循序渐进地讲解了使用FlashCC设计制作动画所需要的全部知识。本书共分14章,依次讲解了掌握FlashCC动画制作基础,绘图工具及其功能,基本动画的制作,高