我们持续构建产品 路线图,现在已经发布了 Jetpack Compose 的 1.2 版本,是 Android 的现代原生界面工具包。此版本新增功能包括可下载字体、延迟网格、以及针对平板电脑和 ChromeOS 的改进,以及更好的焦点、鼠标和输入处理能力。
我们推荐您使用 Compose 为手机、平板电脑和可折叠设备构建全新 Android 应用。我们也同步发布了 Compose for Wear OS 1.0 版,使得 Compose 成为构建 Wear OS 应用的最佳方式。
我们时常看到 像 Twitter 开发团队 这样的开发者使用 Compose 可以更快捷地进行开发:
"Compose 极大地 提高了我们的生产力。编写一个 Composable 函数比创建一个自定义视图更加 简单快捷,这也使得我们能更容易地满足设计师的想法。"
Compose 1.2 版本为手机、平板电脑和可折叠设备上 Compose 带来了许多更新,包括经过实验性检验的全新稳定 API,并支持新版本的 Kotlin。我们已经更新 示例、Codelab、Accompanist 开发库和 MDC-Compose 主题适配器,以便和 Compose 1.2 版本搭配使用。
注意 : 将 Compose 编译器内容库更新到 1.2 版本需要使用 Kotlin 1.7.0。从该版本开始,编译器版本将与其他 Compose 开发库的版本解耦。您可以 阅读文章 了解这样做的原因。
全新稳定功能和 API
我们已添加多个稳定功能和 API,主要包括:
-
API LazyHorizontalGrid 和 LazyVerticalGrid 帮助您在网格中放置项目清单。这些 API 在 Compose 1.1 版本中已经存在,但被标记为 @Experimental。
-
WindowInsets 类提供用于处理设备边衬区的修饰符,例如 windowInsetsPadding、systemBarsPadding 和 windowInsetsTopHeight。此类在很大程度上基于 Accompanist insets 开发库,并可以取代它作为边衬区的首选机制。
-
Modifier.nestedScroll 为嵌套滚动互操作性提供视图。此 示例 演示了这个新功能。请在 手势文档 中了解详情。
-
我们通过添加 Modifier.pointerHoverIcon、PointerEventType.Scroll 和 PointerEvent.scrollDelta 改进了对鼠标设备的支持。
全新实验性 API
我们一直在为 Compose 添加新功能。包括以下亮点:
- 使用 LazyLayout 创建您的自定义高效可滚动布局。使用 Modifier.overscroll 向可滚动容器添加自定义的滚动效果。
- 使用 GoogleFont 下载字体。请阅读官方 文档 了解详情。
- 添加了许多文本功能,例如允许自定义 includeFontPadding 和行高 (您可以参考 文本文档 和相关 文章)、Brush API (可参考此 文章),以及 pluralStringResource。
- 改进了测试 API。例如,performKeyInput 操作可在测试中模拟键盘输入。新的 testTagsAsResourceId 语义属性可与 UI Automator 集成。
欢迎您使用 @OptIn 试用这些全新 API,并将您的 反馈分享 给我们!
解决的问题
我们修复了社区提出的许多问题,以下几点值得关注:
- 让动画遵循 系统定义的 "Animator 时长缩放"。
- 通过添加 userScrollEnabled 参数,允许 禁用滚动 延迟布局。
- 使 TextField 中的 返回按钮行为 与 EditText 中的行为相同。
十分感谢大家在我们的 问题跟踪页 上提交了错误报告和功能请求,进一步帮助我们改进了 Compose 并构建您需要的 API。欢迎您继续向我们提供反馈,帮助我们让 Compose 变得更好!
想知道未来计划?您可以查看我们的 最新路线图,了解我们目前正在构想和开发的功能,例如用于添加和移除延迟加载项目动画、流程布局、文本编辑改进等等!
Jetpack Compose 会继续添加您想要的功能。我们很高兴地看到,已经有成千上万的应用在生产环境中使用了 Jetpack Compose,许多开发者也分享了 如何使用 Jetpack Compose 改善应用开发过程。我们热切期待看到您的下一个杰作!也欢迎您持续关注 "Android 开发者" 微信公众号,及时了解更多开发技术和产品更新等资讯动态。
欢迎您 点击这里 向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的 支持!
版权声明
禁止一切形式的转载-禁止商用-禁止衍生 申请授权