作者 / Chet Haase, Android 开发技术推广工程师
欢迎大家来到 Now in Android 栏目,本栏目将专注于为开发者们提供近期值得关注的 Android 开发热点内容。
Android Dev Summit 视频回顾
我们于近两个月一直在连载关于 Android Dev Summit 的中文字幕视频,包括《 是时候迁移至 AndroidX 了 》、《 Android Studio 的进展与新功能 》和《 Fragment 的过去、现在和将来 》等。也请同时关注我们的 Bilibili 账号 查看更多谷歌开发技术视频!
手势导航连载
《 手势导航 (一) | 开启全面屏体验 》介绍了将应用构建到全面屏设备,开启 "边到边" 的全面屏体验之旅。
《 手势导航 (二) | 处理视觉冲突 》介绍如何处理与系统 UI 出现视觉重叠的问题,判断安全的交互区域。
《 手势导航 (三) | 处理手势冲突 》介绍如何处理您的应用和 Android 10 中新引入的系统交互手势之间的冲突。
《 手势导航 (四) | 沉浸模式 》介绍手势交互和冲突在全屏应用 (系统栏也被隐藏) 下的情况和注意事项。
无障碍文档改进
文档团队最近迭代了一些无障碍 (Accessibility) 相关的文档。其中请大家特别关注这两篇: 《 让应用使用起来更没有障碍 》和《 改进应用无障碍特性的原则 》。尤其需要大家留意的是关于标签元素 (Label) 的章节,我们在其中提供了大量的案例来进行重点讲解。
AndroidX 库发布情况更新
近一个月内的一些主要组件更新到了一个里程碑版本,包括稳定版和发布候选版:
稳定版发布列表
Room 2.2.3 在 2.2.0 稳定版的基础上做了一些 bug 修复。这里回顾一下我们在 10 月初发布的 Room 2.2.0 这个重要的正式版本中所包含的新内容:
- 预封装的数据库。现在您可以在自己的 APK 资源中发布一个预先填充过内容的数据库,也可以经由文件来加载数据库内容。Florina Muntenescu 几周前在 一篇文章 中介绍过这个功能。
- 更好的关系: SQLite 可以处理多对多关系,但以前的 Room 就不行……现在可以了 (我们接下来会发布一篇介绍文章,敬请关注)。
- Flow : 为了完善前一个发布版本中对协程的使用,Room 现在支持将 Flow 作为 DAO 返回类型。
- 速度更快的构建 (相信这正是大家想要的): 注解处理器的增量构建优势现在也被用在了 Room 上 。这个功能现在还没有默认启用,但大家可以在自己的构建中做 一些设置 来启用这个功能,从而提升速度。
ViewPager2 1.0.0
相比较旧版的 ViewPager,ViewPager2 所做的改进有:
- 支持 RTL (从右向左) 布局
- 支持竖直朝向布局
- 可靠的 Fragment 支持 (包括将变动信息传递给下层的 Fragment 集合)
- 数据集变化动画 (包括对 DiffUtil 的支持)
从旧版 ViewPager 迁移至 ViewPager2 十分轻松 (我们尽可能确保了 API 的延续性)。请参考 迁移指南 和我们提供的 示例应用 。
请阅读 ViewPager2 使用指南 以了解如何在 Fragment 页面间完成滑动操作。
Transition 1.2.0
如果您的编译目标是 API 29,这次更新对您来说就非常重要。Android 10 针对非 SDK 接口 (限制非公开 API 的使用) 做出的更改 影响了一些方法,而这些方法影响到了 Transition 代码库的映射。更新后的代码库将使用我们提供的新版公开方法。所以,如果您确有需要,请更新到这个版本。
同时发布稳定版的组件库有:
- Annotation-Experimental 1.0.0
- Autofill 1.0.0
- Benchmark 1.0.0
- Biometric 1.0.1
- Browser 1.2.0
- CoordinatorLayout 1.1.0
- Enterprise 1.0.0
- Exifinterface 1.1.0
- Paging 2.1.1
- Recyclerview 1.1.0
- ViewPager2 1.0.0
- Webkit 1.1.0。
上述提到的组件库发布相关内容,请参见这个链接了解更多: developer.android.google.cn/jetpack/and…