Compose Material 3 自适应

  
使用 Material 3 自适应库创建自适应 UI,这些 UI 会根据当前窗口配置(如窗口大小类或设备姿势)自动调整自身。该库提供默认的脚手架实现和必要的构建块组合,以创建您自己的自定义体验。
最新更新 稳定版 候选版本 Beta 版本 Alpha 版本
2024 年 11 月 13 日 1.0.0 - - 1.1.0-alpha07

声明依赖项

要添加对 Compose 的依赖项,您必须将 Google Maven 存储库添加到您的项目中。阅读Google 的 Maven 存储库以了解更多信息。

在应用或模块的 build.gradle 文件中添加所需工件的依赖项

Groovy

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.1.0-alpha07"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha07"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha07"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha07")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha07"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha07"
}

有关依赖项的更多信息,请参阅添加构建依赖项

反馈

您的反馈有助于使 Jetpack 变得更好。如果您发现新问题或有改进此库的想法,请告诉我们。在创建新问题之前,请查看此库中现有的问题。您可以通过点击星形按钮为现有问题添加您的投票。

创建新问题

有关更多信息,请参阅问题跟踪器文档

Compose Material3 自适应版本 1.1

版本 1.1.0-alpha07

2024 年 11 月 13 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07 已发布。版本 1.1.0-alpha07 包含 这些提交

API 变更

  • 从自适应库中移除拖动句柄实现,并鼓励用户使用 M3 版本的拖动句柄。同时引入一个修饰符,为提供的拖动句柄可组合项提供窗格展开拖动功能。此外,将 DraggableState 隐藏为实现细节,以便以后需要时可以更改它。(Ib50cd
  • 根据 UXR 反馈,将窗格运动自定义的入口点从脚手架函数移至 AnimatedPane。(I10f72
  • 引入轻弹支持和窗格展开的自定义动画规范。(Ie207db/362584341

错误修复

版本 1.1.0-alpha06

2024 年 10 月 30 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06 已发布。版本 1.1.0-alpha06 包含 这些提交

API 变更

  • FloatRange 添加到 PaneScaffoldTransitionScope.motionProgress。(Iac0dd
  • 在可导航脚手架中将导航器参数的类型更改为泛型类型。(I1da6e

版本 1.1.0-alpha05

2024 年 10 月 16 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05 已发布。版本 1.1.0-alpha05 包含 这些提交

API 变更

  • 引入动画规范类,以确保更一致的运动行为和未来的扩展性。(I2d3cc
  • 提供运动类型,并将 PaneMotionData 中的 currentXXXXX 重命名为 originXXXX。(I7c61a

版本 1.1.0-alpha04

2024 年 10 月 2 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04 已发布。版本 1.1.0-alpha04 包含 这些提交

新功能

  • NavigableListDetailPaneScaffoldNavigableSupportingPaneScaffold 添加了预测后退支持。(I4dc21b/359616816

API 变更

  • ThreePaneScaffoldState 添加到 ThreePaneScaffoldNavigator。导航方法已变为 suspend 以支持带动画的导航。添加了 seekBack 以支持部分导航状态(例如预测后退)。(I5a651b/359616816
  • 添加 MutableThreePaneScaffoldState 以控制脚手架值之间的转换。现有的 ThreePaneScaffoldState 已变为只读。(Idb3c6
  • 公开默认窗格运动实现(I95a7b
  • 启用设置窗格展开状态的初始锚点(Ie41b3b/362350560

错误修复

版本 1.1.0-alpha03

2024 年 9 月 18 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03 已发布。版本 1.1.0-alpha03 包含 这些提交

版本 1.1.0-alpha02

2024 年 9 月 4 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02 已发布。版本 1.1.0-alpha02 包含 这些提交

新功能

  • 运动自定义(I0bf9c),(I80e66)支持开发者在自适应脚手架状态更改期间更改默认运动。开发者可以选择一组默认的进入和退出转换,或者使用通过新的运动范围提供的信息实现纯自定义转换。
  • 实现窗格展开拖动句柄的淡入淡出动画(46e3c69
  • 使已记住的 PaneExpansionState 可保存(61ff76f

API 变更

  • 将缺失的窗格展开 API 添加到脚手架中(Ic5bc0
  • ThreePaneScaffoldDestinationItem.content 重命名为 contentKeyrememberListDetailPaneScaffoldNavigatorrememberSupportingPaneScaffoldNavigator 的默认类型参数从 Nothing 更改为 Any。(I58749
  • ThreePaneScaffoldState 标记为稳定(I64aec
  • 使拖动句柄参数具有作用域(Ic0aa2

版本 1.1.0-alpha01

2024 年 8 月 21 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01 已发布。版本 1.1.0-alpha01 包含 这些提交

新功能

  • 引入自适应脚手架的窗格展开支持。

API 变更

  • 将窗格展开 API 公开(I301d6
  • 引入 ThreePaneScaffoldState 以控制窗格值转换。添加了接受此状态的 ListDetailPaneScaffoldSupportingPaneScaffold 的重载。(I5db3b
  • 引入窗格展开键和键提供程序接口(Id621f

错误修复

  • 修复存在排除铰链时分区计算错误的问题。(9dfd483

Compose Material3 自适应版本 1.0

版本 1.0.0

2024 年 9 月 4 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0 已发布。版本 1.0.0 包含 这些提交

1.0.0 的主要功能

版本 1.0.0-rc01

2024 年 8 月 21 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01 已发布。版本 1.0.0-rc01 包含 这些提交

错误修复

  • 修复存在排除铰链时分区计算错误的问题。(9dfd483

版本 1.0.0-beta04

2024 年 6 月 26 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04 已发布。版本 1.0.0-beta04 包含 这些提交

错误修复

  • 修复了铰链边界更新时布局未相应更新的问题。(71e9cf1

版本 1.0.0-beta03

2024 年 6 月 12 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03 已发布。版本 1.0.0-beta03 包含 这些提交

错误修复

  • 修复了 beta02 中由不正确的依赖项解析导致的崩溃。

版本 1.0.0-beta02

2024 年 5 月 29 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02 已发布。1.0.0-beta02 版本包含这些提交

1.0.0-beta01 版本

2024 年 5 月 14 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01 已发布。1.0.0-beta01 版本包含这些提交

1.0.0-alpha12 版本

2024 年 5 月 1 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12 已发布。1.0.0-alpha12 版本包含这些提交

API 变更

  • isFlat 信息添加到 HingeInfo 中 (Ie0516b/333784198)
  • 使自适应 API 成为非实验性 API (I1d038)
  • 使自适应布局 API 成为非实验性 API (Id23df)
  • BackNavigationBehavior 从枚举更改为值类 (Id8757)

错误修复

  • 将转换分数更改为 lambda (I6f5a9)
  • 修复 SizeTracker 的初始状态问题 (18326a9)
  • Posture 等式检查中包含铰链列表 (6687137)

1.0.0-alpha11 版本

2024 年 4 月 17 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11 已发布。1.0.0-alpha11 版本包含这些提交

API 变更

  • 使作用域接口密封。(Iefa57)
  • 引入 AnimatedPaneScope。(I62d73b/332750742)
  • 使 AdaptStrategy 密封且稳定。(Ia28b2)
  • 引入 PaneScaffoldDirective 的复制方法。(I9291f)
  • ThreePaneScaffoldScope 标记为实验性。(I9d527)
  • 提供易于使用的支架 API,支持导航。(I263f0b/321010778)

1.0.0-alpha10 版本

2024 年 4 月 3 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10 已发布。1.0.0-alpha10 版本包含这些提交

API 变更

  • 使默认首选宽度自适应且可自定义。(Ic3abc)
  • 重命名支架指令计算函数。(I10855)
  • 从支架 API 中移除填充和内边距。(I786f8)
  • 添加没有泛型类型的导航器 remember 方法。(I607c3)

1.0.0-alpha09 版本

2024 年 3 月 20 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09 已发布。1.0.0-alpha09 版本包含这些提交

API 变更

  • 将状态转换字段添加到 ThreePaneScaffoldScope 中。(I3d917)
  • 重新排序支架参数。(I4dff5)
  • 提供 AnimatedPane 修饰符参数的默认值。(I77dd7)

错误修复

  • 将间隔符大小包含到窗格运动中。(a3174ca)

1.0.0-alpha08 版本

2024 年 3 月 6 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08 已发布。1.0.0-alpha08 版本包含这些提交

新功能

  • 在切换窗格时实现延迟滑动。(I1a38e)

API 变更

  • 删除了 ThreePaneScaffoldState 接口。(I63f23)

1.0.0-alpha07 版本

2024 年 2 月 21 日