ConstraintLayout

以灵活的方式使用相对定位来定位和调整小部件的大小。

此表列出了 androidx.constraintlayout 组中的所有工件。

工件 稳定版本 发布候选版本 测试版 Alpha 版本
constraintlayout 2.1.4 - 2.2.0-beta01 -
constraintlayout-compose 1.0.1 - 1.1.0-beta01 -
constraintlayout-core 1.0.4 - 1.1.0-beta01 -

声明依赖项

要添加对 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")
}

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

反馈

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

创建新问题

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

ConstraintLayout-compose 和 ConstraintLayout-Core 1.1

版本 1.1.0-beta01

2024 年 9 月 4 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01androidx.constraintlayout:constraintlayout-compose-android:1.1.0-beta01androidx.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-alpha14androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha14androidx.constraintlayout:constraintlayout-core:1.1.0-alpha14 已发布。版本 1.1.0-alpha14 包含 这些提交

API 更改

  • 标志现在通过伴随对象单独提供,并且可以使用 or 运算符组合。(I9df53)
  • 简化的 createRowcreateColumn 帮助程序。改进了 createGrid 参数名称和文档以供说明。(Iebc92)
  • 简化了 ConstraintLayout 中的 animateChanges API,现在只需要一个非空的 AnimationSpecInvalidationStrategy 中的 onIncomingConstraints 现在是一个普通的 lambda 表达式。 fixedWidthRate 重命名为 shouldInvalidateOnFixedWith,高度变体也是如此。 (Ie59cdb/332898040b/336370035)
  • NestedScroll 的拖动和抛掷来源正在被 UserInputSideEffect 替换,以适应这些来源的扩展定义,现在包括动画(副作用)和鼠标滚轮和键盘(用户输入)。 (I40579)

版本 1.1.0-alpha13

2023 年 10 月 4 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha13androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha13androidx.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-alpha12androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha12androidx.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-alpha11androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha11androidx.constraintlayout:constraintlayout-core:1.1.0-alpha11 已发布。 版本 1.1.0-alpha11 包含这些提交。

新功能

  • 您现在可以提供一个 InvalidationStrategy 来优化 MotionLayout 中的失效操作。这通常会导致性能下降。 (Iada0c)
  • 您现在可以在使用 ConstraintLayout 与内联 Modifier DSL (Modifier.constrainAs) 时使用 animateChanges = true,每当对约束 DSL 进行更改时,ConstraintLayout 将自动动画到新状态。 (I9abf1)
  • 启用了 OnSwipe 上的 limitBoundsTo 的功能。 (I56522)

API 更改

  • TransitionScope.staggered 重命名为 TransitionScope.maxStaggerDelay。 (I0fd2d)

错误修复

  • 修复了 OnSwipe 中的 dragScale 参数不起作用。 (8bef26)
  • 修复了 MotionScene 中的 customColor 在使用透明颜色时无法正常工作。 (81b2ac)
  • 修复了 OnSwipe 在停止时无法正常宣布,还修复了 touchUp 的初始速度计算。 (Ia5f6f)
  • 更新了 ConstraintLayout Composable 和 Constraintset 的 KDoc。 (3bfe63)

版本 1.1.0-alpha10

2023 年 5 月 24 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha10androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha10androidx.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. 将 paddingLeftpaddingRight 分别更改为 paddingStartpaddingEnd,以及 2. 将 gridSpansgridSkip 的格式更新为 Span 和 Skip 对象的数组,使其更加结构化。 (Idd1eb)

版本 1.1.0-alpha09

2023 年 3 月 22 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09 已发布。 版本 1.1.0-alpha09 包含这些提交。

API 更改

  • Modifier.intermediateLayout 现在不再需要显式的 LookaheadScopeintermediateLayout 中的测量块接收 IntermediateMeasureScope,它提供方便的 CoroutineScopeLookaheadScopeMeasureScope
  • LookaheadLayout 已被 LookaheadScope 替换,它不再是布局。这允许 LookaheadScope 中的子内容由父级的 MeasurePolicy 直接控制。 (Ibe2e5)
  • Easing.Cubic() 现在可以接受超调参数。 (I2d826)

版本 1.1.0-alpha08

2023 年 3 月 8 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08androidx.constraintlayout:constraintlayout-core:1.1.0-alpha08 已发布。 版本 1.1.0-alpha08 包含这些提交。

新功能

  • 添加了 Lint 检查,以建议在典型模式可能导致不可预测的行为的情况下使用 Dimension.percent(1f)LayoutReference.withChainParams()。 (I62eb0I03060)

API 更改

  • 为 Compose 中的 Grid 助手启用 ReverseSpanDirectionSpansOrderFirst 标志。
    1. ReverseSpanDirection:反转跨度/跳过的高度和宽度规范。
    2. SpansOrderFirst:跨度将尊重小部件的顺序。 (I6ad50)
  • 使用 Modifier.onStartEndBoundsChanged(...) 获取 MotionLayout 中不受动画影响的 Composable 的局部边界。这对于需要可能触发动画的布局信息的任何 UI 交互(如 DragAndDrop)很有用。 (I6b5f9)
  • 在 Compose 中启用 Grid 助手中的跳过和跨度 (I917b6)

错误修复

  • 修复了平移属性未应用预期值。 (I961cd)

版本 1.1.0-alpha07

2023 年 2 月 8 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07 已发布。 版本 1.1.0-alpha07 包含这些提交。

新功能

  • 添加新的 API 以使用 DSL 启用 Compose 中的 Grid 助手 (I1143b)

错误修复

  • 修复了 Flow 的 Wrap.Chain 未按给定的 maxElement 参数正确布局。 (e1f2ed3)
  • 修复了在通过 MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String) 更改 Transition 时,start ConstraintSet 未更新。 (17ffff1)
  • 修复了 ConstraintSet 在通过 ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit) 继承约束时,未反映一些更改。 (740804b)

版本 1.1.0-alpha06

2023 年 1 月 25 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06 已发布。 版本 1.1.0-alpha06 包含这些提交。

新功能

  • 添加新的 Apis 以使用 JSON 表示启用 Compose 中的 Grid 助手,该表示允许 Composable 被放置在二维网格中。 (I968ad)

API 更改

  • 添加对弧形向上和弧形向下模式 Arc.AboveArc.Below 方向无关弧形模式的支持到 MotionLayout (I184a9)
  • 现在可以将基线锚点约束到顶部/底部锚点,反之亦然。 (I54628)
  • MotionLayoutScope#motionProperties(包括导数)重命名为 MotionLayoutScope#customProperties。这是为了保持一致,因为在设置自定义属性时也是如此。 (Ib34c9)
  • 现在可以在 ConstraintSetMotionScene 中创建多个引用:val (box, text, button) = createRefsFor("box", "text","button")。使用 constrain(box, button, text) 对多个元素应用约束。在 ConstrainScope 中,您现在可以使用 Dp.asDimension 直观地设置固定尺寸:width = 10.dp.asDimension。 (I021ecIa0960)
  • MotionScene()Transition() 方法现在是非 Composable 函数。来自这些函数的对象(包括 ConstraintSet)现在应该可以彼此正确比较。 ConstraintLayout 中的 animateChanges = true 现在可以使用单个 ConstraintSet 引用,只要其任何属性在重新组合时发生更改。 (I7d22e)

错误修复

  • 修复了当辅助工具发生变化时,ConstraintLayout 始终会触发一个不必要的额外重组的问题。 (Id83ad, b/222093277)
  • 修复了在 ConstraintLayoutMotionLayout 中使用内联函数时的行为。 (I487ae, b/220527863)
  • 修复了当内容发生变化时无法重新测量的问题。 (Ibfe8a, b/219091179)

版本 1.1.0-alpha05

2022 年 12 月 7 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05androidx.constraintlayout:constraintlayout-core:1.1.0-alpha05 已发布。 版本 1.1.0-alpha05 包含这些提交。

新功能

  • 在 DSL 中支持自定义 KeyAttributes (b94e748)
  • ConstrainScope 中使用 Surface 偏差属性 (32625d0)
  • 在链中支持自定义参数 (72a2e9e)
  • 为 Compose 中的 MotionLayout 添加宏基准测试 (36f43bc)
  • 有关 Compose 中先前版本更改的更多信息,请参阅 wiki 页面

API 更改

  • 翻转 addConstraintSetaddTransition 参数 (152facc)

错误修复

版本 1.1.0-alpha01

2022 年 5 月 20 日

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01 已发布。

请注意,MotionLayout API 处于实验阶段,需要选择加入。

有关更多信息,请参阅 GitHub 上的 Compose 1.1.0-alpha01 中的新增功能

版本 2.2

版本 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 更改

  • 添加了一个设置器方法,允许开发人员以编程方式设置 mInfiniteCarousel 的值 (I0a8ca)

版本 2.2.0-alpha10

2023 年 5 月 24 日

androidx.constraintlayout:constraintlayout:2.2.0-alpha10 已发布。 版本 2.2.0-alpha10 包含这些提交。

错误修复

  • 修复了 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 包含这些提交。

错误修复

  • 修复了 ConstraintLayout 页面内容缺失的问题。 (I82e25)

版本 2.2.0-alpha05

2022 年 12 月 7 日

androidx.constraintlayout:constraintlayout:2.2.0-alpha05 已发布。 版本 2.2.0-alpha05 包含这些提交。

错误修复

  • 修复了视图轮播中的内存泄漏问题 (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 处于实验阶段,需要选择加入。

有关更多信息,请参阅 GitHub 上的 Compose 1.0.1 中的新增功能

版本 1.0.0

2022 年 1 月 13 日

androidx.constraintlayout:constraintlayout-compose:1.0.0 已发布。

请注意,MotionLayout api 现在处于实验阶段,需要选择加入。

有关更多信息,请参阅 GitHub 文章 Compose 1.0 中的新增功能

版本 1.0.0-rc02

2021 年 11 月 16 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02 已发布。

有关更多信息,请参阅 GitHub 文章 Compose 1.0 中的新增功能

版本 1.0.0-rc01

2021 年 9 月 27 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01 已发布。

此版本是第二个测试版。它被认为是功能完整,为 Compose 提供了 ConstraintLayoutMotionLayout

有关更多信息,请参阅 GitHub 文章 Compose 1.0 中的新增功能

版本 1.0.0-beta02

2021 年 7 月 30 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02 已发布。

此版本是第二个测试版。它被认为是功能完整,为 Compose 提供了 ConstraintLayoutMotionLayout

有关更多信息,请参阅 GitHub 文章 Compose 1.0 中的新增功能

版本 1.0.0-beta01

2021 年 7 月 22 日

androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01 已发布。

此版本是第一个测试版。它被认为是功能完整,为 Compose 提供了 ConstraintLayoutMotionLayout

有关更多信息,请参阅 GitHub 文章 Compose 1.0 中的新增功能

版本 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 中提供了更丰富的功能,以及新的辅助工具(轮播等)。

版本 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 的发布候选版本,提供了自上一个测试版以来的次要改进和修复。有关更多信息,请参阅 GitHub 文章 2.1 中的新增功能

版本 2.1.0-beta02

2021 年 5 月 4 日

androidx.constraintlayout:constraintlayout:2.1.0-beta02 已发布。

MotionLayout 中的一些新功能

  • 包括弹簧(刚度、阻尼、质量等)和永不完成的 OnSwipe 增强功能
  • jumpToState 函数
  • ViewTransition 上下模式,其中在触摸按下时播放到 100,在向上时反转到 0

各种修复,特别是

  • 修复了 MotionLayout 中垂直滚动的问题 (#173)
  • 嵌套 MotionLayout 的性能改进 (#189)
  • MotionLayout 中使用 NestedScrollView 进行快速过渡 (#189)
  • MotionLayout 中的 ConstraintSet 消失 (#189)
  • 在 MotionLayout 中支持上下 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

  • 对过渡中插入和删除 OnSwipe 和 OnClick 的编程支持
  • 对通过屏幕旋转进行过渡的实验性支持
  • 对过渡支持 duration 参数
  • 更好地支持布尔值或引用类型的自定义属性

辅助工具

  • 添加了一种方法来动画或直接跳转到轮播的特定项目
  • 新的 CircularFlow 辅助工具

有关此版本的更多信息,请参阅 此处已修复的错误

版本 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 的支持。
  • 添加了对 ConstraintSet 的动画更新,以更新 MotionLayout:updateStateAnimate(id,cset,duration);
  • 基于共享值的 ViewTransition。
  • scheduleTransitonTo 允许您在当前过渡完成后排队一个要运行的过渡。

辅助工具

  • Carousel 现在支持无限 (环绕) 模式。
  • ReactiveGuide:当 SharedValue 发生变化时,自动定位自身的指导线。
  • MotionEffect:向引用的视图注入关键帧,使其在给定方向上移动。
  • MotionLabel - 用于动画化单行文本的 View。

有关此版本的更多信息,请 点击此处

版本 2.1.0-alpha1

2020 年 11 月 19 日

androidx.constraintlayout:constraintlayout:2.1.0-alpha1 已发布。

2.1 版本的第一个 Alpha 版本。引入了对以下方面的支持:

  • Carousel 运动辅助程序,用于构建自定义 Carousel 视图。
  • MotionLayout 场景支持包含和约束覆盖。
  • MotionLayout 为旋转 (输入和输出) 提供了更丰富的支持。
  • MotionLayout 添加了 ViewTransitions,允许对约束集进行单个视图过渡。

有关此版本的更多信息,请 点击此处

版本 2.0

ConstraintLayout 2.0 为布局 (虚拟布局等) 添加了新功能,并添加了一个新类,用于简化视图的动画 - MotionLayout。

版本 2.0.4

2020 年 10 月 29 日

androidx.constraintlayout:constraintlayout:2.0.4 已发布。

错误修复

此版本修复了在运行时移除子视图时可能发生的潜在 NPE。建议您更新到此版本。

有关已解决问题的列表,请 点击此处

版本 2.0.3

2020 年 10 月 27 日

androidx.constraintlayout:constraintlayout:2.0.3 已发布。

错误修复

此版本修复了一些问题。建议您更新到此版本。

  • Windows 嵌套处理
  • 某些情况下维度比率的处理
  • 某些 RTL 布局会发生崩溃

有关已解决问题的列表,请 点击此处

版本 2.0.2

2020 年 10 月 6 日

androidx.constraintlayout:constraintlayout:2.0.2 已发布。

错误修复

此版本提高了性能,并修复了一些问题。建议您更新到此版本。

  • 在某些情况下,ConstraintLayout 中对视图 GONE 可见性的处理不正确
  • 在某些情况下,ConstraintLayout 中对打包链的处理不正确
  • 修复了 API 15 上针对 Flow 虚拟布局辅助程序的膨胀异常
  • MotionLayout 中的 limitsBoundsTo 出现故障
  • 在某些情况下,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 已发布。

错误修复

有关已解决问题的列表,请 点击此处

值得注意的修复包括:

  • MotionLayout 过渡延迟和 TransitionListener 修复
  • ConstraintLayout 流和障碍修复

版本 2.0.0-rc1

2020 年 7 月 29 日

androidx.constraintlayout:constraintlayout:2.0.0-rc1 已发布。

错误修复

有关已解决问题的列表,请 点击此处

值得注意的修复包括:

  • 流修复
  • RecyclerView 修复 (我们建议您更新到 RecyclerView 1.2.0 alpha 5 或更高版本)
  • MotionLayout TransitionListener 修复
  • MotionLayout 内存泄漏修复

版本 2.0.0-beta8

2020 年 7 月 7 日

androidx.constraintlayout:constraintlayout:2.0.0-beta8 已发布。

错误修复

有关已解决问题的列表,请 点击此处

值得注意的修复包括:

  • 占位符行为
  • 层可见性
  • 流、障碍修复
  • TransitionListener 修复

版本 2.0.0-beta7

2020 年 6 月 12 日

androidx.constraintlayout:constraintlayout:2.0.0-beta7 已发布。

错误修复

有关已解决问题的列表,请 点击此处

值得注意的修复包括:

  • MotionLayout 中嵌套滚动视图问题
  • MotionLayout 中的 TransitionListener 问题
  • MotionLayout 中的内存泄漏
  • RecyclerView 问题
  • 组可见性
  • 填充问题

版本 2.0.0-beta6

2020 年 5 月 13 日

androidx.constraintlayout:constraintlayout:2.0.0-beta6 已发布。

错误修复

有关已解决问题的列表,请 点击此处。值得注意的修复包括组可见性处理和 MotionLayout 中的派生约束问题。

版本 2.0.0-beta5

2020 年 5 月 7 日

androidx.constraintlayout:constraintlayout:2.0.0-beta5 已发布。

错误修复

有关已解决问题的列表,请 点击此处

版本 2.0.0-beta4

2019 年 12 月 16 日

androidx.constraintlayout:constraintlayout:2.0.0-beta4 已发布。

新功能

MotionLayout

Transition 中的新属性

  • layoutDuringTransition:让您配置 MotionLayout 在过渡期间如何对子视图的 requestLayouts 调用做出反应。可能的值包括 {ignoreRequest, honorRequest}。
  • pathMotionArc:移动元素所采用的路径将使用弧线。可能的值包括 {startVertical | startHorizontal | flip | none}。

现在可以定义一个默认过渡,只需省略起始和结束 ConstraintSets 即可。如果找不到任何其他现有过渡来匹配当前的起始/结束状态,则将使用该默认过渡。

错误修复

有关已解决问题的列表,请 点击此处