作者 / Android 开发者关系工程师 Florina Muntenescu
我们一如既往地搭建 产品路线图,现在已经发布了 Jetpack Compose 的 1.1 版本,这是 Android 的现代原生界面工具包。此版本新增了一些功能,比如经过优化的焦点处理、触摸目标值、ImageVector 缓存,和对 Android 12 拉伸滚动的支持。Compose 1.1 还让许多之前的实验性 API 过渡到了稳定阶段,并支持新版 Kotlin。我们已经更新了 示例、Codelab 和 Accompanist 开发库,以便您与 Compose 1.1 搭配使用。
图像矢量 (Image vector) 缓存
Compose 1.1 引入了图像矢量 (Image vector) 缓存,带来了巨大的性能改进。我们为 painterResource
API 添加了缓存机制,以缓存所有使用给定资源 ID 和主题解析的 ImageVectors
实例。缓存将在配置更改时失效。
触摸目标值
相对于 Compose 1.0,Material 组件将扩展其布局空间来满足 Material 无障碍指南 的 触摸目标值 要求。例如,即使您调低 RadioButton
的大小,RadioButton's
触摸目标的尺寸仍将扩展为至少 48x48dp。这将使得 Compose Material 与 Material Design 组件的行为保持一致,以便在混合使用 View 和 Compose 时提供一致的行为。此更改还可确保当您使用 Compose Material 组件创建界面时,能够满足触摸目标无障碍功能的最低要求。
如果您发现此更改破坏了现有的布局逻辑,请将 LocalMinimumTouchTargetEnforcement 设置为 false 来禁用此行为,但此操作可能会降低应用的可用性,因此需要您格外注意,并谨慎使用。
△ RadioButton 触摸目标更新 左: Compose 1.0,右: Compose 1.1
一些 API 从实验版过渡到了稳定版。主要包括:
我们一直在为 Compose 添加新功能,包括以下亮点:
rememberSaveable
的同时,可以保存和恢复 AnimatedContent
。LazyColumn/LazyRow
项目位置进行动画处理。BringIntoView
API 向父级发送请求,以便父级滚动,将项目引入视图。您可以使用 @OptIn 以试用这些全新的 API,并向我们提供反馈!
注意: 使用 Compose 1.1 需要使用 Kotlin 1.6.10。如需了解更多信息,您可以查看 Compose 与 Kotlin 的兼容性对应关系。
想知道未来计划?您可以查看 最新路线图,了解我们目前正在评估和开发的功能,比如延迟加载项目动画、可下载的字体、可移动的内容等等!
Jetpack Compose 现已推出稳定版本,供大家在生产环境中使用,并且会继续添加您想要的功能。我们很高兴看到成千上万的应用已经开始在生产环境中使用 Jetpack Compose,我们迫不及待想看到您将构建的应用!
我们很感激开发者们在 Alpha 版和 Beta 版期间,通过 问题跟踪页 提交的错误报告和功能请求,帮助我们改进了 Compose 并构建您需要的 API。欢迎您继续与我们分享您的反馈,帮助我们让 Compose 变得更好!也欢迎您持续关注 "Android 开发者" 微信公众号了解更多最新内容。
欢迎您 点击这里 向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!
|