Jetpack Compose 1.2 Beta 发布

谷歌宣布推出 Jetpack Compose 1.2 Beta,其中包含了许多功能和改进。具体更新内容如下:

文本改进

字体填充

开发团队通过制作可自定义的参数解决了 issue tracker 中投票最多的错误之一。使includeFontPadding成为一个可定制的参数。官方建议将此值设置为false,可使布局中的文本更精确地对齐。其标是最终将其设为未来版本中的默认值。当includeFontPadding设置为时false,用户可以通过设置lineHeightStyle参数来调整 Text composable 的行高。结合起来可以是这样的:

Text(
 text = myText,
 style = TextStyle(
   lineHeight = 2.5.em,
   platformStyle = PlatformTextStyle(
     includeFontPadding = false
   ),
   lineHeightStyle = LineHeightStyle(
     alignment = Alignment.Center,
     trim = Trim.None
   )
 )
)

可下载字体

Compose 1.2 还在 Compose 中引入了可下载字体。你可以使用 Compose 的新 API 来异步访问 Google 字体,甚至可以定义备用字体,而无需任何复杂的设置。有了可下载字体,你可以保持较小的 APK 大小并改善用户的系统运行状况,因为多个应用程序可以通过提供商共享相同的字体。

文字放大镜

Android 文本提供了一个放大镜小部件,可以更轻松地选择文本。Compose 现在支持文本放大镜。

布局功能和改进

Lazy Layouts

Lazy Layouts 继续发展,随着网格 APILazyVerticalGridLazyHorizontalGrid实验性的毕业,一个新的实验性 API 被添加,称为LazyLayout,它允许你实现自己的自定义 Lazy Layouts。在 I/O 演讲中了解有关这些 API 的更多信息 Compose 中的 Lazy Layouts

与 CoordinatorLayout 互操作

当你在视图系统中的 CoordinatorLayout 中嵌入一个滚动的 composable 时,你现在可以确保它们的滚动行为是可互操作的。这使得可折叠的工具条的设置更加容易。你可以通过将调用新的实验性的 rememberNestedScrollInteropConnection 方法的结果传递给 nestedScroll 修改器来选择这种行为。这是一个演示此新功能的示例。

Window insets

Accompanist 中的插件库现在已经升级到 Compose Foundation 库,使用 WindowInsets 类。在关于将 Compose 与现有 UI 集成的文档中阅读有关它的更多信息。

Window size classes

为了更容易设计、开发和测试可调整大小的布局,官方发布了 Window size classes - 一组 opinionated viewport breakpoints。它们现在在一个新的库 material3-window-size-class 中以 alpha 形式提供,作为 Material 3 库集的一部分。你可以在支持不同的 screen sizes 文档中阅读有关 size classes 的更多信息,并查看 Crane 中的示例实现

专注于性能

从 Android Studio Dolphin 开始,你可以使用 Layout Inspector 检查可组合项重组的频率。此外,Android Studio Electric Eel 现在包括一个 recomposition highlighter,这是一个用于查看哪些可组合项何时重组的视觉辅助工具。在 Android Studio 的新增功能博客中阅读有关此新工具的更多信息。

Compose 从根本上改变了你编写 UI 的方式,因此你可以采用一些最佳实践来确保你的应用程序是高性能的。新发布的文档页面建议如何编写和配置你的 Compose 应用程序以获得最佳性能。

新工具

除了改进之外,还有新的工具更新可帮助您更有效地使用 Compose。Android Studio Dolphin 现在处于 Beta 版,为 Compose 开发带来了令人兴奋的功能。除了重新合成计数之外,新工具还包括动画协调,以便你可以一次查看和浏览所有动画,以及多预览注释,以帮助你构建多种屏幕尺寸。为了使你能够更快地迭代 Android Studio Electric Eel(在 Canary 中)带来了 LiveEdit。

Compose for Wear OS

适用于 Wear OS 的 Compose 进入 Beta 版,意味着它的功能完整,API 稳定,你可以开始构建你的生产就绪的应用程序。详情可阅读 blog post

猜你喜欢

转载自www.oschina.net/news/195711/jetpack-compose-1-2-betareleased