我们非常高兴地宣布,Material 3 Adaptive 1.2.0 稳定版现已推出!
此版本继续以先前版本为基础,扩展了对更多窗口大小类断点的支持,并推出了自动放置显示窗格的新策略。
Material 3 Adaptive 1.2.0 的新功能
此稳定版基于 WindowManager 1.5.0 对大型和超大型断点的支持,并为 ListDetailPaneScaffold 和 SupportingPaneScaffold 引入了新的重排和悬浮策略。
新的窗口大小类:大型和超大型
WindowManager 1.5.0 针对宽度窗口大小类引入了两个新的断点,以支持比“扩展型”窗口大小类更大的窗口。您可以通过在代码库中向 currentWindowAdaptiveInfo() 调用添加以下参数来启用“大型 (L)”和“超大型 (XL)”断点:
currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)
此标志可让库在需要时返回 L 和 XL 断点。
新的自适应策略:重排和悬浮
在窗口中排列内容和显示窗格是一项复杂的任务,需要考虑许多因素,首先是窗口大小。借助新的 Material 3 Adaptive 库,您可以使用两项新技术以最少的精力实现自适应布局。
借助重排,当窗口大小或宽高比发生变化时,窗格会重新排列:当窗口足够宽时,第二个窗格会放置在第一个窗格旁边;当窗口足够高时,第二个窗格会重排到第一个窗格下方。当窗口变小时,此技术也适用:内容会重排到底部。
根据窗口大小重排窗格
虽然在许多情况下,重排都是一个绝佳的选择,但在某些情况下,内容可能需要固定到窗口的一侧,或者悬浮在窗口上方。 悬浮策略不仅可以固定内容,还可以让您自定义可拖动性、可调整大小性,甚至是背景遮罩等功能。
根据宽高比将窗格从侧面悬浮到中心
您可以使用 adaptStrategies 参数在 Navigator 构造函数中声明流式布局和悬浮策略,并且这两种策略都可以应用于列表详情和支持窗格 scaffolds:
val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>( adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies( detailPaneAdaptStrategy = AdaptStrategy.Reflow( reflowUnder = ListDetailPaneScaffoldRole.List ), extraPaneAdaptStrategy = AdaptStrategy.Levitate( alignment = Alignment.Center ) ) )
如需详细了解如何利用这些新的自适应策略,请参阅 Material 网站 和 GitHub 上的完整 示例代码。
继续阅读
-
产品动态
每位开发者的 AI 工作流和需求都是独一无二的,因此能够选择 AI 如何帮助您进行开发非常重要。今年 1 月,我们推出了选择任何本地或远程 AI 模型来为 Android Studio 中的 AI 功能提供支持的功能
Matthew Warner • 2 分钟阅读时间
-
产品动态
Android Studio Panda 3 稳定版现已推出,可在生产环境中使用。此版本让您可以更好地控制和自定义 AI 支持的工作流,从而比以往更轻松地构建高质量的 Android 应用。
Matt Dyor • 3 分钟阅读时间
-
产品动态
在 Google,我们致力于将最强大的 AI 模型直接引入您口袋中的 Android 设备。今天,我们非常高兴地宣布推出最新的先进开放模型:Gemma 4。
Caren Chang, David Chou • 3 分钟阅读时间
随时了解最新动态
每周通过电子邮件接收最新的 Android 开发洞见 每周。