我们很高兴地宣布,Material 3 Adaptive 1.2.0 现在为稳定版!
此版本在之前版本的基础上继续构建,扩展了对更多窗口大小类断点的支持,并新增了自动放置显示窗格的策略。
Material 3 自适应库 1.2.0 版有哪些新变化
此稳定版基于 WindowManager 1.5.0 对“大”和“超大”断点的支持构建而成,并为 ListDetailPaneScaffold 和 SupportingPaneScaffold 引入了新的自动重排和悬浮策略。
新的窗口大小类:“大”和“超大”
WindowManager 1.5.0 针对宽度窗口大小类引入了两个新的断点,以支持比“扩展型”窗口大小类更大的窗口。您可以通过向代码库中的 currentWindowAdaptiveInfo() 调用添加以下参数来启用“大号 (L)”和“超大号 (XL)”断点:
currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)
此标志可让库在需要时也返回 L 和 XL 分界点。
新的自适应策略:重排和悬浮
在窗口中排列内容和显示窗格是一项复杂的任务,需要考虑许多因素,首先是窗口大小。借助新的 Material 3 自适应库,两项新技术可帮助您以最小的投入实现自适应布局。
借助重排,当窗口大小或宽高比发生变化时,窗格会重新排列;当窗口足够宽时,第二个窗格会放置在第一个窗格旁边;当窗口足够高时,第二个窗格会重排到第一个窗格下方。当窗口变小时,此技术同样适用:内容会重新排布到下方。
根据窗口大小重排窗格
虽然重排在许多情况下都是一个不错的选择,但有时可能需要将内容停靠在窗口的一侧或悬浮在窗口顶部。悬浮策略不仅会停靠内容,还允许您自定义可拖动性、可调整大小性,甚至背景遮罩等功能。
根据宽高比将窗格从侧面悬浮到中心
流式布局和悬浮策略均可在 Navigator 构造函数中使用 adaptStrategies 参数进行声明,并且这两种策略均可应用于列表-详情窗格和辅助窗格 scaffolds:
val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>( adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies( detailPaneAdaptStrategy = AdaptStrategy.Reflow( reflowUnder = ListDetailPaneScaffoldRole.List ), extraPaneAdaptStrategy = AdaptStrategy.Levitate( alignment = Alignment.Center ) ) )
如需详细了解如何利用这些新的自适应策略,请参阅 Material 网站和 GitHub 上的完整示例代码。
继续阅读
-
产品资讯
在今天的 Android Show 上,我们宣布 Android 将从操作系统转型为智能系统,从而为用户与您的应用互动创造更多机会。
Matthew McCullough • 阅读用时:4 分钟
-
产品资讯
移动生态系统始终在不断发展,带来新的机遇,也带来新的威胁。通过这些变更,Android 和 Google Play 将继续致力于确保数十亿用户可以放心地享受应用带来的乐趣,并让开发者创新蓬勃发展。
Vijaya Kaza • 阅读用时:3 分钟
-
产品资讯
Jetpack Compose 2026 年 4 月版已是稳定版。此版本包含核心 Compose 模块的 1.11 版(请参阅完整的 BOM 映射)、共享元素调试工具、触控板事件等。
Meghan Mehta • 阅读用时:5 分钟
随时了解最新动态
每周通过电子邮件接收最新的 Android 开发洞见。