Compose Material 3 自适应
最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 12 月 12 日 | 1.0.0 | - | - | 1.1.0-alpha08 |
声明依赖项
如需添加 Compose 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库。
在应用或模块的 build.gradle
文件中添加所需工件的依赖项:
Groovy
dependencies { implementation "androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02" implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02" implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02" }
Kotlin
dependencies { implementation("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02") implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02" implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02" }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
Compose Material3 自适应版本 1.1
版本 1.1.0-alpha08
2024 年 12 月 12 日
发布了 androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha08
。版本 1.1.0-alpha08 包含这些提交内容。
API 变更
- 引入了
currentWindowDpSize
函数。(I99125、b/296300441) - 公开了
PaneScaffoldParentData
和ThreePaneScaffoldHorizontalOrder.toLtrOrder()
(I2d6b7) - 移除
PaneScaffoldMotionScope
,并将其转换为PaneScaffoldTransitionScope
下的字段。还应将其重命名为PaneScaffoldMotionDataProvider
,并移除对 PaneMotionData 底层数据结构的访问权限,改为提供用于访问数据的 getter 和循环方法。(Id8884) - 为
ThreePaneScaffold
创建替换机制,以支持针对不同外形规格的旁加载实现。(I5280f) - 默认情况下,将窗格展开状态设为 null(Ia65f8、b/376394520)
版本 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) - 引入了对窗格展开的快速滑动支持和自定义动画规范。(Ie207d、b/362584341)
bug 修复
- 修复了取消时预测性返回问题。(36a3e0a)、(b/369899645)
版本 1.1.0-alpha06
2024 年 10 月 30 日
发布了 androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06
。版本 1.1.0-alpha06 包含这些提交内容。
API 变更
- 在
PaneScaffoldTransitionScope.motionProgress
中添加了FloatRange
。(Iac0dd) - 在可导航的 Scaffold 中,将导航器参数的类型更改为泛型类型。(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 包含这些提交内容。
新功能
- 向
NavigableListDetailPaneScaffold
和NavigableSupportingPaneScaffold
添加了预测性返回支持。(I4dc21、b/359616816)
API 变更
- 为
ThreePaneScaffoldNavigator
添加了ThreePaneScaffoldState
。导航方法已改为suspend
,以支持带动画的导航。添加了seekBack
以支持部分导航状态(例如预测性返回)。(I5a651、b/359616816) - 添加了
MutableThreePaneScaffoldState
,用于控制 Scaffold 值之间的过渡。现有的ThreePaneScaffoldState
已设为只读。(Idb3c6) - 公开了默认窗格动作实现 (I95a7b)
- 启用设置窗格展开状态的初始锚点(Ie41b3、b/362350560)
bug 修复
- 强制执行拖动手柄的 48x48dp 最小触摸目标大小(7ce6635、b/366018217)
- 在配置更改后恢复固定位置(3c9fc6b、b/362353672)
版本 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
已重命名为contentKey
。rememberListDetailPaneScaffoldNavigator
和rememberSupportingPaneScaffoldNavigator
的默认类型参数已从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 包含这些提交内容。
新功能
- 引入了对自适应 Scaffold 的窗格展开功能支持。
API 变更
- 向公众推出了窗格展开 API (I301d6)
- 引入了
ThreePaneScaffoldState
来控制窗格值转换。添加了可接受此状态的ListDetailPaneScaffold
和SupportingPaneScaffold
过载。(I5db3b) - 引入了窗格展开键和按键提供程序接口 (Id621f)
bug 修复
- 修复了存在排除的铰链时分区计算有误的问题。(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 的主要功能
- 一行代码可组合函数
currentWindowSize()
、collectFoldingFeaturesAsState()
和currentWindowAdaptiveInfo()
,用于获取适应应用所需的窗口信息,例如窗口大小和折叠功能。 ListDetailPaneScaffold
和SupportingPaneScaffold
来提供两个 Material3 规范布局,这些布局会根据不同的窗口配置自动调整自身。这两个框架还可完全自定义,以满足创作者的不同需求。ThreePaneScaffoldNavigator
及其相关的记忆函数rememberListDetailPaneScaffoldNavigator()
和rememberSupportingPaneScaffoldNavigator()
可在自适应框架中提供导航解决方案,与非自适应环境中常见的一次一个目的地设置相比,该框架可以同时显示多个导航目的地。- 更改自适应架构状态时的默认内置 Material3 动画。
版本 1.0.0-rc01
2024 年 8 月 21 日
发布了 androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01
。版本 1.0.0-rc01 包含这些提交内容。
bug 修复
- 修复了存在排除的铰链时分区计算有误的问题。(9dfd483)
版本 1.0.0-beta04
2024 年 6 月 26 日
发布了 androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04
。版本 1.0.0-beta04 包含这些提交内容。
bug 修复
- 修复了以下问题:当合页边界更新时,布局不会相应更新。(71e9cf1)
版本 1.0.0-beta03
2024 年 6 月 12 日
发布了 androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03
。版本 1.0.0-beta03 包含这些提交内容。
bug 修复
- 修复了 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 变更
- 向
HingeInfo
添加了isFlat
信息 (Ie0516、b/333784198) - 将自适应 API 设为非实验性 API (I1d038)
- 将自适应布局 API 设为非实验性 API (Id23df)
- 将
BackNavigationBehavior
从枚举更改为值类 (Id8757)
bug 修复
版本 1.0.0-alpha11
2024 年 4 月 17 日
发布了 androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11
。版本 1.0.0-alpha11 包含这些提交内容。
API 变更
- 使作用域接口密封。(Iefa57)
- 引入了
AnimatedPaneScope
。(I62d73、b/332750742) - 使
AdaptStrategy
密封且稳定。(Ia28b2) - 引入
PaneScaffoldDirective
的复制方法。(I9291f) - 将
ThreePaneScaffoldScope
标记成了实验性对象。(I9d527) - 提供简单易用的支持导航的框架 API。(I263f0、b/321010778)
版本 1.0.0-alpha10
2024 年 4 月 3 日
发布了 androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10
。版本 1.0.0-alpha10 包含这些提交内容。
API 变更
- 使默认首选宽度自适应且可自定义。(Ic3abc)
- 重命名了框架指令计算函数。(I10855)
- 从 Scaffold API 中移除了内边距和内嵌。(I786f8)
- 添加了没有泛型类型的导航器记忆方法。(I607c3)
版本 1.0.0-alpha09
2024 年 3 月 20 日
发布了 androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09
。版本 1.0.0-alpha09 包含这些提交内容。
API 变更
bug 修复
- 在窗格动作中添加间隔符大小。(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 日