活动和计划

利用 Android 开发者峰会上发布的最新 Jetpack Compose 更新,打造适用于各种屏幕的应用

阅读用时:3 分钟
查看 Rebecca Gutteridge 的个人资料
Rebecca Gutteridge 开发技术推广部主管

Android 生态系统是一个多设备世界,涵盖手机、可折叠设备、平板电脑、穿戴式设备、车载显示屏、XR 和 Googlebook。在这种情况下,自适应开发是触达各种用户的基石。

Jetpack Compose 是在 Android 平台上构建所有界面的标准。摆脱旧版 View 系统后,您将拥有一个统一的开发目标,从而消除在不同设备类型之间维护碎片化代码库的阻碍。但构建自适应布局只是成功了一半。当屏幕折叠、窗口大小调整或应用在不同外形规格之间切换时,传统的布局假设可能会失效,应用很容易丢失状态或让人感觉不连贯。

在 Android 开发者峰会上,我们分享了如何通过 Jetpack AppState 将 Compose 更深入地融入数据层,从而在界面和架构方面推进应用基础。同时,我们还提供了 FlexBox 和 Grid 等自适应构建块,以及支持智能体的工具,帮助您在各种屏幕上实现扩展。

请查看下方我们近期发布的一些重要公告,或前往 Android 开发者网站,观看 50 多场点播演讲,包括应用基础知识的最佳实践。

推进核心基础,让 Compose 超越界面

即将发布的 Compose 1.13 稳定版将扩展该工具包,通过 Grid 和 Flexbox 提供对自适应布局的内置支持,并提供渐进式模糊处理和格式化文本等新功能。如需了解网格渐变和渐进式模糊等最新图形功能,以及如何在不牺牲电池续航时间或帧速率的情况下实现这些功能,请观看利用 Jetpack Compose 和 Android 中的最新图形功能提升应用体验。

除了视觉渲染之外,Compose 文本编辑器现在还具有完全重写的 BasicTextField(采用缓冲区驱动的架构)和 TextFieldState,可消除 IME 竞态条件并支持富文本格式编辑机制。观看在 Compose 中构建可靠的文本编辑体验,详细了解这一转变。

在引入这些丰富的视觉和互动体验时,保持流畅的帧速率和较低的启动延迟至关重要。请参阅在 Compose 中超越自我,了解如何使用 Perfetto 和重组跟踪进行性能分析、识别代价高昂的反模式,并保持界面流畅运行。

Compose 还将扩展到架构层,推出 Jetpack AppState(目前处于 Alpha 版阶段)。AppState 将 Compose 的快照系统引入应用架构:Transform 允许您使用自动读取跟踪和纯 Kotlin 控制流,从 State 和 Flow 输入中派生响应式状态;而 StateStore 则为您提供了一个键控容器,用于在 activity、后台服务、微件和应用函数之间共享可观察状态,并提供可选的 DataStore 持久性。观看使用 Jetpack AppState 将 Compose 状态扩展到界面之外,了解如何通过在堆栈中上移 Compose 状态来简化复杂的状态流水线,并使应用的每个界面保持同步。

为各种设备规格设计可靠的导航和输入系统

随着应用变得越来越模块化,导航和用户输入需要在每个入口点和屏幕尺寸上保持可预测性。Jetpack Navigation 3 1.2 版为其开发者拥有的返回堆栈带来了内置的类型安全深层链接。借助 Kotlin 序列化,您可以将传入的 URI 和 intent 直接映射到强类型导航键,自定义复杂实参的解析方式,并延迟构建合成返回堆栈,从而始终提供自然的返回导航体验。如需了解这些 API 的实际应用,请参阅使用 Jetpack Navigation 3 构建类型安全的深层链接。

输入处理也得到了改进,可支持跨设备的多模态互动。Compose 的分层输入系统可无缝扩展到触控之外,支持触控板、鼠标和实体控件。如需了解如何在各种设备规格中管理指针生命周期、悬停状态和硬件事件,请观看使用 Jetpack Compose 扩展触摸屏以外的输入互动。

在大屏设备、桌面设备及其他设备上缩放界面

在可折叠设备、平板电脑和笔记本电脑之间切换时,界面必须自然地进行调整,而不是简单地拉伸内容以填充更大的显示屏。在 Compose 开发中采用自适应构建方式,结合 Navigation 3、WindowManager 和 Agentic Workflows,可帮助您以极少的手动开销将移动布局重构为自适应多窗格体验。对于希望进一步优化现有布局的开发者,使用 Compose 针对各种屏幕调整应用详细介绍了这些多窗格架构模式,并演示了如何随着窗口大小的变化优化导航流程。

除了移动设备,Googlebook 等新形态设备也带来了新的机遇。打造桌面级体验需要物理外围设备支持、窗口化环境等。在《Inside the first wave on Googlebook with Notability and Logitech》(Notability 和 Logitech 携手 Googlebook 掀起第一波浪潮)一文中,早期合作伙伴分享了针对指针互动、外部硬件和桌面级工作流进行优化的实用工程策略。

开始学习 Android 技能

为了帮助您更快地实现这些模式,您可以利用 Android 技能来帮助您的编码智能体。无论您是在 Android Studio 中使用 Android Studio 中的 Gemini,还是将 Android CLI 与其他智能体搭配使用,这些技能都能为您处理繁重的工作,并符合自适应质量指南。对于 Compose,我们目前有:

  • 更新后的自适应技能可帮助智能体将紧凑屏幕转换为自适应多窗格布局,并处理状态和配置更改。现在,它还添加了可折叠设备和桌面设备支持,可自动处理窗口化、键盘快捷键、提示和触控板悬停状态。
  • 新增了 Compose 性能技能,可帮助您优化代码库
  • XML 到 Compose 迁移技能
  • 新墨水技能

除了核心架构和自适应布局之外,您还可以探索技术深入探究,涵盖 Media3 播放、CameraX 流水线、车载体验、丰富图形,以及将 Google Play 大规模迁移到 Compose 的经验教训。欢迎观看 Android 开发者峰会应用基础知识专题演讲播放列表中的完整技术演示,探索架构、代码演示和实用指南。

作者:
继续阅读