Constraintlayout
androidx.constraintlayout.widget
下表列出了 androidx.constraintlayout
组中的所有工件。
制品 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
constraintlayout | 2.2.0 | - | - | - |
constraintlayout-compose | 1.1.0 | - | - | - |
constraintlayout-core | 1.1.0 | - | - | - |
声明依赖项
如需添加 ConstraintLayout 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库。
在应用或模块的 build.gradle
文件中添加所需工件的依赖项:
Groovy
dependencies { implementation "androidx.constraintlayout:constraintlayout:2.2.0-beta01" // To use constraintlayout in compose implementation "androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01" }
Kotlin
dependencies { implementation("androidx.constraintlayout:constraintlayout:2.2.0-beta01") // To use constraintlayout in compose implementation("androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
ConstraintLayout-compose 和 ConstraintLayout-Core 1.1
版本 1.1.0
2024 年 10 月 30 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0
、androidx.constraintlayout:constraintlayout-compose-android:1.1.0
和 androidx.constraintlayout:constraintlayout-core:1.1.0
。版本 1.1.0 中包含这些提交内容。
自 1.0.0 以来的重要变更
- 修复了与 SharedTransitionLayout 的互动问题 (b/332898040)。
- 修复了因重组而与测量相关的布局问题 (b/219091179、Ibfe8a)。
版本 1.1.0-rc01
2024 年 10 月 16 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-rc01
、androidx.constraintlayout:constraintlayout-compose-android:1.1.0-rc01
和 androidx.constraintlayout:constraintlayout-core:1.1.0-rc01
。版本 1.1.0-rc01 包含这些提交内容。
版本 1.1.0-beta01
2024 年 9 月 4 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01
、androidx.constraintlayout:constraintlayout-compose-android:1.1.0-beta01
和 androidx.constraintlayout:constraintlayout-core:1.1.0-beta01
。版本 1.1.0-beta01 包含这些提交内容。
版本 1.1.0-alpha14
2024 年 8 月 7 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha14
、androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha14
和 androidx.constraintlayout:constraintlayout-core:1.1.0-alpha14
。版本 1.1.0-alpha14 包含这些提交内容。
API 变更
- 标志现在通过伴生对象单独提供,并且可以与
or
运算符组合使用。(I9df53) - 简化了
createRow
和createColumn
帮助程序。改进了createGrid
参数名称和文档,以便更清晰。(Iebc92) - 简化了
ConstraintLayout
中的animateChanges
API,只需非 null 的AnimationSpec
。InvalidationStrategy
中的onIncomingConstraints
现在是常规 lambda。fixedWidthRate
已重命名为shouldInvalidateOnFixedWith
,高度变体也是如此。(Ie59cd、b/332898040、b/336370035) NestedScroll
来源 Drag 和 Fling 已替换为UserInput
和SideEffect
,以适应这些来源的扩展定义,这些来源现在包括动画(附带效应)以及鼠标滚轮和键盘 (UserInput)。(I40579)
版本 1.1.0-alpha13
2023 年 10 月 4 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha13
、androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha13
和 androidx.constraintlayout:constraintlayout-core:1.1.0-alpha13
,这些版本没有任何变化。版本 1.1.0-alpha13 中包含这些提交内容。
- 此版本允许
androidx.constraintlayout
库与最新的 Compose 版本具有 ABI 兼容性。
版本 1.1.0-alpha12
2023 年 8 月 9 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha12
、androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha12
和 androidx.constraintlayout:constraintlayout-core:1.1.0-alpha12
。版本 1.1.0-alpha12 中包含这些提交内容。
API 变更
- 向 Transition DSL 添加了
LayoutScopeMarker
。(If54ce)
版本 1.1.0-alpha11
2023 年 7 月 26 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha11
、androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha11
和 androidx.constraintlayout:constraintlayout-core:1.1.0-alpha11
。版本 1.1.0-alpha11 中包含这些提交内容。
新功能
- 您现在可以提供
InvalidationStrategy
来优化MotionLayout
中的失效操作。这通常是导致性能下降的原因。(Iada0c) - 现在,当您将
ConstraintLayout
与内嵌修饰符 DSL (Modifier.constrainAs
) 搭配使用时,可以使用animateChanges = true
。每当对约束条件 DSL 进行更改时,ConstraintLayout
都会自动动画化为该新状态。(I9abf1) - 在 OnSwipe 上为
limitBoundsTo
启用了功能。(I56522)
API 变更
TransitionScope.staggered
已重命名为TransitionScope.maxStaggerDelay
。(I0fd2d)
bug 修复
- 修复了来自
OnSwipe
的dragScale
参数不起作用的问题。(8bef26) - 修复了
MotionScene
中的customColor
无法正确使用透明颜色的问题。(81b2ac) - 修复了
OnSwipe
在停止后无法正确播报的问题,还修复了touchUp
的初始速度计算。(Ia5f6f) - 更新了
ConstraintLayout
可组合项和Constraintset
的 KDoc。(3bfe63)
版本 1.1.0-alpha10
2023 年 5 月 24 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha10
、androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha10
和 androidx.constraintlayout:constraintlayout-core:1.1.0-alpha10
。版本 1.1.0-alpha10 中包含这些提交内容。
API 变更
MotionLayout
API 不再处于实验阶段,表示MotionLayout
的初始稳定 API。(I288f4)- 移除了
MotionLayoutState
。(Id3ac1) - 您现在可以使用
DebugFlags
进行可视化调试:DebugFlags(showBounds = true)
。(Ic714b) - 将扩展程序变量
Dp.asDimension
更改为了方法:Dp.asDimension()
。(I2d6ef) MotionLayout
DSL 现在支持分阶段,您可以使用TransitionScope.staggered
定义延迟时间上限,也可以使用ConstrainScope.staggeredWeight
(在MotionSceneScope
中)获取自定义分阶段顺序。(I70275)- 对 Grid 帮助程序进行了两项更改:1.
paddingLeft
和paddingRight
分别更改为paddingStart
和paddingEnd
,并将gridSpans
和gridSkip
的格式更新为 Span 和 Skip 对象的数组,以使其更具结构性。(Idd1eb)
版本 1.1.0-alpha09
2023 年 3 月 22 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09
和 androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09
。版本 1.1.0-alpha09 中包含这些提交内容。
API 变更
Modifier.intermediateLayout
现在不需要显式LookaheadScope
。intermediateLayout
中的测量块将IntermediateMeasureScope
用作接收器,以便提供方便的CoroutineScope
、LookaheadScope
和MeasureScope
。LookaheadLayout
已替换为LookaheadScope
,后者不再是布局。这样,LookaheadScope
中的子内容就可以直接由父级的MeasurePolicy
控制。(Ibe2e5)Easing.Cubic()
现在可以接受过冲参数。(I2d826)
版本 1.1.0-alpha08
2023 年 3 月 8 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08
和 androidx.constraintlayout:constraintlayout-core:1.1.0-alpha08
。版本 1.1.0-alpha08 中包含这些提交内容。
新功能
- 添加了 lint 检查,以便在典型模式可能会导致不可预测行为的情况下建议使用
Dimension.percent(1f)
和LayoutReference.withChainParams()
。(I62eb0、I03060)
API 变更
- 在 Compose 中为 Grid Helper 启用
ReverseSpanDirection
和SpansOrderFirst
标志。ReverseSpanDirection
:将跨度/跳过的宽度和高度规范反转。SpansOrderFirst
:span 会遵循微件的顺序。(I6ad50)
- 使用
Modifier.onStartEndBoundsChanged(...)
可在MotionLayout
中获取不受动画影响的可组合项的本地边界。适用于需要布局信息且可能还会触发动画(例如DragAndDrop
)的任何界面互动。(I6b5f9) - 在 Compose 中启用 Grid Helper 的跳过和跨度 (I917b6)
bug 修复
- 修复了翻译属性未应用预期值的问题。(I961cd)
版本 1.1.0-alpha07
2023 年 2 月 8 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07
和 androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07
。版本 1.1.0-alpha07 中包含这些提交内容。
新功能
- 添加了新的 API,以使用 DSL 在 Compose 中启用 Grid Helper (I1143b)
bug 修复
- 修复了流的
maxElement
针对给定Wrap.Chain
参数无法正确布置的问题。(e1f2ed3) - 修复了在通过
MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String)
更改 Transition 时start
ConstraintSet
无法更新的问题。(17ffff1) - 修复了在通过
ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit)
继承约束时ConstraintSet
无法反映某些更改的问题。(740804b)
版本 1.1.0-alpha06
2023 年 1 月 25 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06
和 androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06
。版本 1.1.0-alpha06 中包含这些提交内容。
新功能
- 添加了新的 API,以使用 JSON 表示法在 Compose 中启用 Grid Helper,让可组合项能够放置在 2D 网格中。(I968ad)
API 变更
- 向
MotionLayout
添加了对向上弧线和向下弧线模式的支持,以及对Arc.Above
和Arc.Below
方向的独立弧线模式的支持 (I184a9) - 现在可将基线锚点限制为顶部/底部锚点,反之亦然。(I54628)
MotionLayoutScope#motionProperties
(包括衍生体)已重命名为MotionLayoutScope#customProperties
。设置自定义属性时,这可确保一致性。(Ib34c9)- 现在可以在
ConstraintSet
和MotionScene
中创建多个引用:val (box, text, button) = createRefsFor("box", "text","button")
。使用constrain(box, button, text)
对多个元素应用限制条件。在ConstrainScope
中,您现在可以使用Dp.asDimension
直观地设置固定尺寸:width = 10.dp.asDimension
。(I021ec、Ia0960) MotionScene()
和Transition()
方法现在是非可组合函数。这些函数(包括ConstraintSet
)中的对象现在应能正确地相互比较。现在,只要重组时其属性发生了更改,ConstraintLayout
中的animateChanges = true
便只能与一个ConstraintSet
引用一起使用。(I7d22e)
bug 修复
- 修复了帮助程序发生更改时
ConstraintLayout
一律会触发不必要的额外重组的问题。(Id83ad、b/222093277) - 修复了固有特性与
ConstraintLayout
和MotionLayout
一起使用时的行为。(I487ae、b/220527863) - 修复了内容发生更改时无法重新测量的问题。(Ibfe8a、b/219091179)
版本 1.1.0-alpha05
2022 年 12 月 7 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05
和 androidx.constraintlayout:constraintlayout-core:1.1.0-alpha05
。版本 1.1.0-alpha05 中包含这些提交内容。
新功能
- 支持 DSL 中的自定义
KeyAttributes
(b94e748) ConstrainScope
中的 Surface 偏差属性 (32625d0)- 支持链中的自定义参数 (72a2e9e)
- 在 Compose 中为
MotionLayout
添加了 Macrobenchmark 测试 (36f43bc) - 如需详细了解 Compose 的上一版本中的变化,请参阅 Wiki 页面
API 变更
- 翻转
addConstraintSet
和addTransition
参数 (152facc)
bug 修复
- 修复了水平链 (ed5f56e)
版本 1.1.0-alpha01
2022 年 5 月 20 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01
。
请注意,MotionLayout API 属于实验性 API,需要选择启用才能使用。
如需了解详情,请参阅 GitHub 上的 Compose 1.1.0-alpha01 中的新功能。
版本 2.2
版本 2.2.0
2024 年 10 月 30 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0
。版本 2.2.0 包含这些提交内容。
自 2.1.0 以来的重要变更
- 与底层 constraintlayout-core 库的等效版本。
版本 2.2.0-rc01
2024 年 10 月 16 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-rc01
。版本 2.2.0-rc01 包含这些提交内容。
版本 2.2.0-beta01
2024 年 9 月 4 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-beta01
。版本 2.2.0-beta01 包含这些提交内容。
版本 2.2.0-alpha14
2024 年 8 月 7 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-alpha14
。版本 2.2.0-alpha14 包含这些提交内容。
版本 2.2.0-alpha13
2023 年 10 月 4 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-alpha13
,该版本没有任何变化。版本 2.2.0-alpha13 中包含这些提交内容。
版本 2.2.0-alpha12
2023 年 8 月 9 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-alpha12
。版本 2.2.0-alpha12 中包含这些提交内容。
版本 2.2.0-alpha11
2023 年 7 月 26 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-alpha11
。版本 2.2.0-alpha11 中包含这些提交内容。
API 变更
- 添加了一个 setter 方法,以允许开发者通过程序化方式设置
mInfiniteCarousel
的值 (I0a8ca)
版本 2.2.0-alpha10
2023 年 5 月 24 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-alpha10
。版本 2.2.0-alpha10 中包含这些提交内容。
bug 修复
- 修复了
MotionLayout
文档的损坏链接。51cbe88
版本 2.2.0-alpha09
2023 年 3 月 22 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-alpha09
。版本 2.2.0-alpha09 中包含这些提交内容。
版本 2.2.0-alpha08
2023 年 3 月 8 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-alpha08
。版本 2.2.0-alpha08 中包含这些提交内容。
版本 2.2.0-alpha07
2023 年 2 月 8 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-alpha07
。版本 2.2.0-alpha07 中包含这些提交内容。
bug 修复
- 修复了
ConstraintLayout
页面内容缺失的问题。(I82e25)
版本 2.2.0-alpha05
2022 年 12 月 7 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-alpha05
。版本 2.2.0-alpha05 中包含这些提交内容。
- 如需详细了解上一版本中的变化,请参阅 GitHub Wiki 页面
bug 修复
- 修复了 View Carousel 中的泄露问题 (eb67b82)
版本 2.2.0-alpha01
2022 年 5 月 20 日
发布了 androidx.constraintlayout:constraintlayout:2.2.0-alpha01
。
包含新 Grid
帮助程序的预览。
如需了解详情,请参阅 GitHub 上的 2.2.0-alpha01 中的新功能。
ConstraintLayout-compose 1.0
ConstraintLayout-compose 1.0 在 Jetpack Compose 中提供 ConstraintLayout 功能。
版本 1.0.1
2022 年 5 月 20 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.1
。
请注意,MotionLayout API 属于实验性 API,需要选择启用才能使用。
如需了解详情,请参阅 GitHub 上的 Compose 1.0.1 中的新功能。
版本 1.0.0
2022 年 1 月 13 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0
。
请注意,MotionLayout API 目前处于实验阶段,需要选择启用才能使用。
如需了解详情,请参阅 GitHub 文章 1.0 (Compose) 的新功能。
版本 1.0.0-rc02
2021 年 11 月 16 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02
。
如需了解详情,请参阅 GitHub 文章 1.0 (Compose) 的新功能。
版本 1.0.0-rc01
2021 年 9 月 27 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01
。
此版本是第二个 Beta 版。我们将此版本视为功能完整的版本,向 Compose 提供 ConstraintLayout
和 MotionLayout
。
如需了解详情,请参阅 GitHub 文章 1.0 (Compose) 的新功能。
版本 1.0.0-beta02
2021 年 7 月 30 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02
。
此版本是第二个 Beta 版。我们将此版本视为功能完整的版本,向 Compose 提供 ConstraintLayout
和 MotionLayout
。
如需了解详情,请参阅 GitHub 文章 1.0 (Compose) 的新功能。
版本 1.0.0-beta01
2021 年 7 月 22 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01
。
此版本是第一个 Beta 版。我们将此版本视为功能完整的版本,向 Compose 提供 ConstraintLayout
和 MotionLayout
。
如需了解详情,请参阅 GitHub 文章 1.0 (Compose) 的新功能。
版本 1.0.0-alpha07
2021 年 5 月 18 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07
。
- 经更新后与 Compose 版本
1.0.0-beta07
兼容。
版本 1.0.0-alpha06
2021 年 5 月 4 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha06
。
- Compose 优化:Constraintlayout 内嵌可组合项 (#193)
- 最大限度减少 Compose 中的再测量 (#210)
版本 1.0.0-alpha05
2021 年 3 月 15 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha05
。
- 修复了优化引擎 (b/182657720)
- 向 ConstraintLayout 可组合项中添加了 optimizationLevel 参数
版本 1.0.0-alpha04
2021 年 3 月 11 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha04
。
进行了更新,以使用最新的 constraintlayout-core 引擎
版本 1.0.0-alpha03
2021 年 2 月 24 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha03
。
对 Jetpack Compose beta01 版的版本更新
版本 1.0.0-alpha02
2021 年 2 月 10 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02
。
对 Jetpack Compose alpha12 版的版本更新
版本 1.0.0-alpha01
2021 年 2 月 2 日
发布了 androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01
。
该库的第一个版本,提供内嵌和外部 DSL 来表达约束条件。
版本 2.1
ConstraintLayout 2.1.0 在 MotionLayout 中提供更丰富的功能,并新增了帮助程序(Carousel 等)
版本 2.1.4
2022 年 5 月 20 日
发布了 androidx.constraintlayout:constraintlayout:2.1.4
。
如需了解详情,请参阅 GitHub 上的 2.1.4 中的新功能。
版本 2.1.3
2022 年 1 月 13 日
发布了 androidx.constraintlayout:constraintlayout:2.1.3
。
如需了解详情,请参阅 GitHub 文章 2.1 中的新功能。
版本 2.1.2
2021 年 11 月 16 日
发布了 androidx.constraintlayout:constraintlayout:2.1.2
。
如需了解详情,请参阅 GitHub 文章 2.1 中的新功能。
版本 2.1.1
2021 年 9 月 27 日
发布了 androidx.constraintlayout:constraintlayout:2.1.1
。
这是 2.1.1 的最终版本。
如需了解详情,请参阅 GitHub 文章 2.1 中的新功能。
版本 2.1.0
2021 年 7 月 30 日
发布了 androidx.constraintlayout:constraintlayout:2.1.0
。
这是 2.1.0 的最终版本。
如需了解详情,请参阅 GitHub 文章 2.1 中的新功能。
版本 2.1.0-rc01
2021 年 7 月 22 日
发布了 androidx.constraintlayout:constraintlayout:2.1.0-rc01
。
这是 2.1.0 的候选版本,对上一个 Beta 版进行了小幅改进和修复。 如需了解详情,请参阅 GitHub 文章 2.1 中的新功能。
版本 2.1.0-beta02
2021 年 5 月 4 日
发布了 androidx.constraintlayout:constraintlayout:2.1.0-beta02
。
MotionLayout 中的一些新功能:
- OnSwipe 增强功能,包括弹簧(刚度、阻尼、质量等),以后还会不断推出
- jumpToState 函数
- ViewTransition downUp 模式,向下触碰时播放至 100,向上触碰时倒放至 0
修复了各种问题,特别是:
- 修复了 MotionLayout 的纵向滚动问题 (#173)
- 改进了嵌套 MotionLayout 的性能 (#189)
- 利用 MotionLayout 中的 NestedScrollView 实现了快速转换 (#189)
- 停用了 MotionLayout 中的 ConstraintSet (#189)
- 支持 MotionLayout 中的 downUp ViewTransitions (#190)
- 修复了重用可绘制对象时 ImageFilter 中的问题 (#192)
- 在 MotionLayout 中添加了弹簧支持 (#199)
- 改进了 CircularFlow 的性能 (#200)
- 修复了衍生的约束条件替换中的问题 (#212)
版本 2.1.0-beta01
2021 年 3 月 11 日
发布了 androidx.constraintlayout:constraintlayout:2.1.0-beta01
。
ConstraintLayout
由于兼容性问题,android:layout_width 和 android:layout_height 恢复为必选项。
MotionLayout
- 对在 Transition 中插入和移除 onSwipe 和 onClick 提供了程序化支持
- 对通过屏幕旋转实现过渡效果提供了实验性支持
- 支持使用时长参数设置过渡效果
- 更好地支持类型为布尔值或 Reference 的 customAttribute
帮助程序
- 添加了一种为轮播界面添加动画效果或直接跳转到某个指定项目的方式
- 全新的 CircularFlow 帮助程序
如需查看有关此版本的更多信息,请参阅这篇文章和已关闭的 bug。
版本 2.1.0-alpha2
2020 年 12 月 17 日
发布了 androidx.constraintlayout:constraintlayout:2.1.0-alpha2
。
在此第二个 Alpha 版本中,我们添加了多项新功能:
ConstraintLayout
- android:layout_width 和 android:layout_height 现为可选项,wrap_content 为默认行为
- 新增了 layout_constraintWidth 和 layout_constraintHeight 属性,用于说明尺寸约束
- 支持对约束采用负外边距值
- 支持顶部基线约束和底部基线约束
- 支持基线外边距约束
- 可借助 SharedValues 将外部值注入 ConstraintLayout
MotionLayout
- 支持过冲插值器(anticipate、overshoot)
- 加强了 MotionHelper 支持
- 向 MotionLayout updateStateAnimate(id,cset,duration); 添加了 ConstraintSet 的含动画效果的更新
- 基于共享值的 ViewTransition
- 借助 scheduleTransitonTo,您可以将过渡加入队列,使其在当前过渡完毕后运行。
帮助程序
- 轮播界面现支持无限(环绕)模式
- ReactiveGuide:一项说明如何在 SharedValue 发生变化时自动定位到自身的准则
- MotionEffect:将 Keyframe 注入沿给定方向移动的引用 View 中
- MotionLabel - 用于对单行文本添加动画效果的 View
如需查看有关此版本的更多信息,请点击此处。
版本 2.1.0-alpha1
2020 年 11 月 19 日
发布了 androidx.constraintlayout:constraintlayout:2.1.0-alpha1
。
2.1 版的第一个 Alpha 版本。引入了对以下项目的支持:
- 轮播界面动作帮助程序,用于构建自定义轮播视图
- MotionLayout 场景支持 include 和约束覆盖
- MotionLayout 扩大了对轮播(输入和输出)的支持范围
- MotionLayout 增加了 ViewTransitions,允许对约束集的突变进行单个视图转换
如需查看有关此版本的更多信息,请点击此处。
版本 2.0
ConstraintLayout 2.0 新增了布局功能(虚拟布局等)以及用于简化视图动画的新类 MotionLayout。
版本 2.0.4
2020 年 10 月 29 日
发布了 androidx.constraintlayout:constraintlayout:2.0.4
。
bug 修复
此版本修复了在运行时移除子视图的情况下可能会发生的 NPE 问题。建议更新到此版本。
如需查看已解决的问题的列表,请点击此处。
版本 2.0.3
2020 年 10 月 27 日
发布了 androidx.constraintlayout:constraintlayout:2.0.3
。
bug 修复
此版本修复了几个问题。建议更新到此版本。
- 窗口边衬区处理
- 某些情况下的尺寸比处理
- 与一些 RTL 布局相关的崩溃问题
如需查看已解决的问题的列表,请点击此处。
版本 2.0.2
2020 年 10 月 6 日
发布了 androidx.constraintlayout:constraintlayout:2.0.2
。
bug 修复
此版本改进了性能并修复了几个问题。建议更新到此版本。
- 在某些情况下,对 ConstraintLayout 中视图 GONE 可见性的处理不正确
- 在某些情况下,对 ConstraintLayout 中打包的链的处理不正确
- 修复了流虚拟布局帮助程序在 API 15 上的膨胀异常
- limitsBoundsTo 在 MotionLayout 中被打断
- 在某些情况下,跳转到结尾在 MotionLayout 中被打断(链式转换)
如需查看已解决的问题的列表,请点击此处。
版本 2.0.1
2020 年 8 月 25 日
发布了 androidx.constraintlayout:constraintlayout:2.0.1
。
这是一项次要更新,让您能够在 Android Studio 中使用 MotionEditor。
版本 2.0.0
2020 年 8 月 21 日
发布了 androidx.constraintlayout:constraintlayout:2.0.0
。
bug 修复
如需查看已解决的问题的列表,请点击此处。
重要修复包括:
- MotionLayout 转换延迟与 TransitionListener 修复
- ConstraintLayout 流与屏障修复
版本 2.0.0-rc1
2020 年 7 月 29 日
发布了 androidx.constraintlayout:constraintlayout:2.0.0-rc1
。
bug 修复
如需查看已解决的问题的列表,请点击此处。
重要修复包括:
- 流修复
- RecyclerView 修复(我们建议更新到 recyclerview 1.2.0 alpha 5 或更高版本)
- MotionLayout TransitionListener 修复
- MotionLayout 内存泄漏修复
版本 2.0.0-beta8
2020 年 7 月 7 日
发布了 androidx.constraintlayout:constraintlayout:2.0.0-beta8
。
bug 修复
如需查看已解决的问题的列表,请点击此处。
重要修复包括:
- 占位符行为
- 层可见性
- 流与屏障修复
- TransitionListener 修复
版本 2.0.0-beta7
2020 年 6 月 12 日
发布了 androidx.constraintlayout:constraintlayout:2.0.0-beta7
。
bug 修复
如需查看已解决的问题的列表,请点击此处。
重要修复包括:
- MotionLayout 中的嵌套滚动视图问题
- MotionLayout 的转换监听器问题
- MotionLayout 中的内存泄漏
- RecyclerView 问题
- 组可见性
- 内边距问题
版本 2.0.0-beta6
2020 年 5 月 13 日
发布了 androidx.constraintlayout:constraintlayout:2.0.0-beta6
。
bug 修复
如需查看已解决的问题的列表,请点击此处。重要修复包括 MotionLayout 中的组可见性处理和派生约束问题。
版本 2.0.0-beta5
2020 年 5 月 7 日
发布了 androidx.constraintlayout:constraintlayout:2.0.0-beta5
。
bug 修复
如需查看已解决的问题的列表,请点击此处
版本 2.0.0-beta4
2019 年 12 月 16 日
发布了 androidx.constraintlayout:constraintlayout:2.0.0-beta4
。
新功能
MotionLayout
Transition 中的新属性:
- layoutDuringTransition:可让您配置 MotionLayout 在转换期间应如何响应子级的 requestLayout 调用。可能的值有 {ignoreRequest, honorRequest}
- pathMotionArc:元素移动将采用圆弧路径。可能的值有 {startVertical | startHorizontal | flip | none }
现在,只需省略起始和结束 ConstraintSet 即可定义默认转换。如果找不到其他与当前起始/结束状态匹配的现有转换,则会使用该默认转换。
bug 修复
如需查看已解决的问题的列表,请点击此处