我们很高兴地宣布,Material 3 Adaptive 1.2.0 现已发布稳定版!
此版本继续以先前版本为基础,扩大了对窗口大小类更多断点的支持,并提供了自动放置显示窗格的新策略。
Material 3 Adaptive 1.2.0 的新变化
此稳定版本基于 WindowManager 1.5.0 对大和超大断点的支持,并针对 ListDetailPaneScaffold 和 SupportingPaneScaffold 引入了新的自动重排和悬浮策略。
新的窗口大小类:大和超大
WindowManager 1.5.0 针对宽度窗口大小类引入了两个新的断点,以支持比“扩展型”窗口大小类更大的窗口。如需启用大 (L) 和超大 (XL) 断点,您可以在代码库中的 currentWindowAdaptiveInfo() 调用中添加以下参数:
currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)
此标志可让库在需要时也返回 L 和 XL 断点。
新的自适应策略:重排和悬浮
在窗口中排列内容和显示窗格是一项复杂的任务,需要考虑许多因素,首先是窗口大小。借助全新的 Material 3 自适应库,您可以通过两项新技术轻松实现自适应布局。
借助重排,当窗口大小或宽高比发生变化时,窗格会重新排列,在窗口足够宽时将第二个窗格放置在第一个窗格旁边,或者在窗口较高时将第二个窗格重排到第一个窗格下方。当窗口变小时,此方法同样适用:内容会重排到底部。
根据窗口大小重排窗格
虽然在许多情况下,重排是一个非常棒的选项,但在某些情况下,内容可能需要停靠在窗口的一侧或悬浮在窗口顶部。悬浮策略不仅可以停靠内容,还允许您自定义可拖动性、可调整大小性,甚至背景纱罩等功能。
根据宽高比将窗格从侧边悬浮到中心
您可以使用 adaptStrategies 参数在 Navigator 构造函数中声明流式和悬浮策略,并且这两种策略都可以应用于列表-详情和辅助窗格 scaffolds:
val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>( adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies( detailPaneAdaptStrategy = AdaptStrategy.Reflow( reflowUnder = ListDetailPaneScaffoldRole.List ), extraPaneAdaptStrategy = AdaptStrategy.Levitate( alignment = Alignment.Center ) ) )
如需详细了解如何利用这些新的自适应策略,请参阅 Material 网站和 GitHub 上的完整示例代码。
-
产品资讯随着智能体开发不断加速,Android 工程领域正迈向一个令人振奋的新境界:从辅助性代码补全,跃升至智能体在您的指挥下执行端到端任务。您可以完全自主、灵活地选择要使用的模型和智能体。
Jason Buchel • 阅读用时:3 分钟 -
产品资讯今天,我们分享了如何将“不只是商店”的愿景推进到下一个阶段。从月活跃用户数超过 2.5 亿的“我”标签页,到连接超过 7 亿玩家资料的统一游戏平台,Google Play 始终致力于满足用户的各种需求。
Paul Feng • 阅读用时:3 分钟 -
产品资讯我们很高兴能通过 Googlebook 帮助用户表达自我,并让他们能够使用这些工具。
Cyrus Stoller • 阅读用时:2 分钟
每周通过电子邮件接收最新的 Android 开发洞见。