转场

使用开始和结束布局为界面中的动作添加动画效果。
最近更新时间 稳定版 候选版 Beta 版 Alpha 版
2026 年 1 月 14 日 1.7.0 - - -

声明依赖项

如需添加 Transition 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库

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

Groovy

dependencies {
    // Java language implementation
    implementation "androidx.transition:transition:1.7.0"
    // Kotlin
    implementation "androidx.transition:transition-ktx:1.7.0"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.transition:transition:1.7.0")
    // Kotlin
    implementation("androidx.transition:transition-ktx:1.7.0")
}

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.7

版本 1.7.0

2026 年 1 月 14 日

发布了 androidx.transition:transition:1.7.0androidx.transition:transition-ktx:1.7.0。版本 1.7.0 中包含 这些提交内容

自 1.6.0 以来的重要变更

  • 库现在具有 minSdk 23。
  • 修复了在 XR 模式下使用过渡时出现的 NullPointerException (b/427115593)
  • 修复了以下问题:在同一帧中执行弹出和替换操作后,FragmentManager 未处于正确状态,这可能会导致与预测性返回结合使用时发生崩溃。(I50ad1)

版本 1.7.0-rc01

2025 年 12 月 17 日

发布了 androidx.transition:transition:1.7.0-rc01androidx.transition:transition-ktx:1.7.0-rc01。版本 1.7.0-rc01 中包含 这些提交内容

版本 1.7.0-beta01

2025 年 12 月 3 日

发布了 androidx.transition:transition:1.7.0-beta01androidx.transition:transition-ktx:1.7.0-beta01。版本 1.7.0-beta01 中包含 这些提交内容

bug 修复

版本 1.7.0-alpha01

2025 年 7 月 30 日

发布了 androidx.transition:transition:1.7.0-alpha01androidx.transition:transition-ktx:1.7.0-alpha01。版本 1.7.0-alpha01 中包含 这些提交内容

bug 修复

  • 修复了当 View 附加到具有 null windowId 的窗口时发生的崩溃。(I2ddf6)

版本 1.6

版本 1.6.0

2025 年 4 月 23 日

发布了 androidx.transition:transition:1.6.0androidx.transition:transition-ktx:1.6.0。版本 1.6.0 中包含 这些提交内容

版本 1.6.0-rc01

2025 年 3 月 26 日

发布了 androidx.transition:transition:1.6.0-rc01androidx.transition:transition-ktx:1.6.0-rc01。版本 1.6.0-rc01 中包含 这些提交内容

版本 1.6.0-beta01

2025 年 3 月 12 日

发布了 androidx.transition:transition:1.6.0-beta01androidx.transition:transition-ktx:1.6.0-beta01,这两个版本与上一个 Alpha 版相比没有变化。版本 1.6.0-beta01 中包含 这些提交内容

版本 1.6.0-alpha01

2024 年 12 月 11 日

发布了 androidx.transition:transition:1.6.0-alpha01androidx.transition:transition-ktx:1.6.0-alpha01。版本 1.6.0-alpha01 中包含 这些提交内容

新功能

  • Transition 现在为用于为其过渡添加动画效果的 ViewOverlays 设置了不相交的父级。这样就可以通过不相交的父级解析所有者,这意味着您现在可以在过渡期间正确解析 ViewModels、生命周期等。(I10a16b/340894487b/287484338)

bug 修复

  • 此库现在使用 JSpecify nullness 注解,这些注解属于 type-use 类型。Kotlin 开发者应使用以下编译器实参来强制执行正确用法:-Xjspecify-annotations=strict(这是 Kotlin 编译器从 2.1.0 版开始的默认实参)。(I1f54eb/326456246)
  • 移除了对新平台 API 的访问权限进行手动概述的功能,这是因为在使用 AGP 7.3 或更高版本(例如 R8 版本 3.3)的 R8 时,以及在使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)的所有 build 时,系统会通过 API 建模自动进行 API 访问权限概述。建议未使用 AGP 的客户更新到 D8 版本 8.1 或更高版本。如需了解更多详情,请参阅这篇文章。(Ia60e0b/345472586

版本 1.5

版本 1.5.1

2024 年 7 月 24 日

发布了 androidx.transition:transition:1.5.1androidx.transition:transition-ktx:1.5.1。版本 1.5.1 中包含 这些提交内容

bug 修复

  • 修复了以下问题:如果未启动可搜索过渡,则对可搜索过渡调用 animateToStart()animateToEnd() 会被忽略。(I44d96b/338624457

版本 1.5.0

2024 年 5 月 1 日

发布了 androidx.transition:transition:1.5.0androidx.transition:transition-ktx:1.5.0。版本 1.5.0 中包含 这些提交内容

自版本 1.4.0 以来的重要变更

  • 过渡支持在 API 34 及更高版本上进行搜索。向 TransitionManager 添加了一个新 API controlDelayedTransition(),该 API 会返回一个 TransitionSeekController,用于搜索 TransitionFragment 1.7.0 使用此功能在使用预测性返回手势时自动搜索过渡。
  • 过渡具有一个新方法 getRootTransition(),该方法会返回包含当前过渡的过渡,或者如果当前过渡未包含在任何其他过渡中,则返回当前过渡。如果开发者需要监听整个过渡的开始或结束时间,这会非常有用。
  • TransitionListeners 现在具有新的 onTransitionStart()onTransitionEnd() 监听器,开发者可以通过这些监听器了解过渡是开始还是结束,以及是否反向进行。对于开发具有 TransitionListeners 的可搜索过渡,这非常重要。

版本 1.5.0-rc02

2024 年 4 月 17 日

发布了 androidx.transition:transition:1.5.0-rc02androidx.transition:transition-ktx:1.5.0-rc02。版本 1.5.0-rc02 中包含 这些提交内容

依赖项更新

  • 将 Fragment 依赖项更新为 版本 1.7.0-rc02,该版本修复了以下错误:如果将不可搜索的共享元素添加到所有其他过渡都可搜索的事务中,则会发生崩溃。

版本 1.5.0-rc01

2024 年 4 月 3 日

发布了 androidx.transition:transition:1.5.0-rc01androidx.transition:transition-ktx:1.5.0-rc01。版本 1.5.0-rc01 中包含 这些提交内容

版本 1.5.0-beta01

2024 年 3 月 20 日

发布了 androidx.transition:transition:1.5.0-beta01androidx.transition:transition-ktx:1.5.0-beta01。版本 1.5.0-beta01 中包含 这些提交内容

bug 修复

  • 修复了 Fragments 中的一个问题:使用预测性返回手势中断传入过渡会销毁进入的视图,可能会留下空白屏幕。(Id3f22b/319531491

版本 1.5.0-alpha06

2024 年 1 月 10 日

发布了 androidx.transition:transition:1.5.0-alpha06androidx.transition:transition-ktx:1.5.0-alpha06版本 1.5.0-alpha06 中包含这些提交内容。

bug 修复

  • 使用 TransitionSeekController.animateToStart() 时,添加的 TransitionListeners 现在会在 animateToStart()'s 的给定 Runnable 之后调用 onTransitionEnd()。(Ic6a55b/307624554)

依赖项更新

  • Fragment 依赖项已更新为 1.7.0-alpha08

版本 1.5.0-alpha05

2023 年 11 月 29 日

发布了 androidx.transition:transition:1.5.0-alpha05androidx.transition:transition-ktx:1.5.0-alpha05版本 1.5.0-alpha05 中包含这些提交内容。

bug 修复

  • 修复了因设置共享元素过渡但未能同时设置 enter/exitTransition 而导致的 NullPointerException。(I8472b
  • 修复了以下问题:使用 Slide()animateToStart() 无法将 View 移回起始位置(I698f4b/300157785
  • 修复了 Transition 中的重入问题,该问题导致取消失败。(Iddcceb/308379201

版本 1.5.0-alpha04

2023 年 10 月 4 日

发布了 androidx.transition:transition:1.5.0-alpha04 和 `androidx.transition:transition-ktx:1.5.0-alpha04`。版本 1.5.0-alpha04 中包含这些提交内容。

API 变更

  • 重大变更 - animateToStart() 方法现在接受一个 Runnable,该 Runnable 应用于将过渡视图返回到其原始状态。

版本 1.5.0-alpha03

2023 年 9 月 20 日

发布了 androidx.transition:transition:1.5.0-alpha03androidx.transition:transition-ktx:1.5.0-alpha03版本 1.5.0-alpha03 中包含这些提交内容。

新功能

  • Transition 现在在与 Fragment 1.7.0-alpha05 搭配使用时,支持在 Android 14 设备上使用应用内预测性返回动画。

bug 修复

  • 修复了滑动过渡中断 bug。当滑动过渡中断进入过渡以移除 View 时,它会跳转到错误的位置。(I946f8b/297427333)

版本 1.5.0-alpha02

2023 年 9 月 6 日

发布了 androidx.transition:transition:1.5.0-alpha02androidx.transition:transition-ktx:1.5.0-alpha02版本 1.5.0-alpha02 中包含这些提交内容

新功能

  • TransitionSeekController 现在允许您通过 setCurrentFragment() 将进度设置为总时长的分数。(aosp/2647607
  • TransitionSeekController 现在允许通过调用 addOnProgressChangedListener 在使用 animateToStart()animateToEnd() 时观察进度。(aosp/2647607
  • 添加了 TransitionManager.seekTo(),以允许使用场景来搜索过渡。(aosp/2647607
  • 向搜索过渡添加了基于物理特性的动画。它使用一维速度跟踪器通过 setCurrentFraction()setCurrentPlayTimeMillis() 跟踪进度变化,并将其用于 animateToStartanimateToEnd 的初始速度。(aosp/2647607

bug 修复

  • 修复了搜索 AutoTransition 时出现的闪烁问题。(aosp/2643369
  • 修复了以下问题:Slide 过渡在中断时会跳转到错误的起始位置。(aosp/2733729b/297427333)

依赖项更新

  • Transition 现在使用 API 34 进行编译。

版本 1.5.0-alpha01

2023 年 5 月 10 日

发布了 androidx.transition:transition:1.5.0-alpha01androidx.transition:transition-ktx:1.5.0-alpha01。此版本是在内部分支中开发的。

新功能

  • 过渡支持在 API 34 及更高版本上进行搜索。向 TransitionManager 添加了一个新 API controlDelayedTransition(),该 API 会返回一个 TransisionSeekController,用于搜索过渡。

API 变更

  • TransitionManager 有一个新方法 controlDelayedTransition(),该方法允许应用控制 API 34 及更高版本上的过渡动画的进度。返回的 TransitionSeekController 可让开发者了解过渡何时准备好进行搜索、动画的时长,并允许设置动画的当前时间。controlDelayedTransition() 仅支持重写 isSeekable() 以返回 true 的过渡。
  • 过渡具有一个新方法 getRootTransition(),该方法会返回包含当前过渡的过渡,或者如果当前过渡未包含在任何其他过渡中,则返回当前过渡。如果开发者需要监听整个过渡的开始或结束时间,这会非常有用。
  • TransitionListeners 现在具有新的 onTransitionStart()onTransitionEnd() 监听器,开发者可以通过这些监听器了解过渡是开始还是结束,以及是否反向进行。对于开发具有 TransitionListeners 的可搜索过渡,这非常重要。

bug 修复

  • 过渡现在会在克隆时复制其 TransitionListeners。这意味着在 createAnimator() 期间添加新的监听器不会影响根过渡。

版本 1.4.1

版本 1.4.1

2021 年 4 月 21 日

发布了 androidx.transition:transition:1.4.1androidx.transition:transition-ktx:1.4.1版本 1.4.1 中包含这些提交内容。

bug 修复

  • 修复了以下问题:在一个容器中启动 Transition 时,系统会在其他容器中意外暂停其他正在运行的过渡,从而导致这些过渡始终无法完成。(aosp/1664439b/182845041

版本 1.4.0

版本 1.4.0

2021 年 1 月 27 日

发布了 androidx.transition:transition:1.4.0androidx.transition:transition-ktx:1.4.0版本 1.4.0 中包含这些提交内容

自 1.3.0 以来的重要变更

  • transition-ktx 工件引入了 Kotlin 扩展程序,用于向 AndroidX Transition 实例添加监听器。(b/138870873)

版本 1.4.0-rc01

2020 年 12 月 2 日

发布了 androidx.transition:transition:1.4.0-rc01androidx.transition:transition-ktx:1.4.0-rc01,这些版本与 1.4.0-beta01 相比没有变化。版本 1.4.0-rc01 中包含这些提交内容

版本 1.4.0-beta01

2020 年 7 月 22 日

发布了 androidx.transition:transition:1.4.0-beta01androidx.transition:transition-ktx:1.4.0-beta01,这两个版本与 1.4.0-alpha01 相比没有变化。版本 1.4.0-beta01 中包含这些提交内容

版本 1.4.0-alpha01

2020 年 6 月 24 日

发布了 androidx.transition:transition:1.4.0-alpha01androidx.transition:transition-ktx:1.4.0-alpha01版本 1.4.0-alpha01 中包含这些提交内容

新功能

  • transition-ktx 工件引入了 Kotlin 扩展程序,用于向 AndroidX Transition 实例添加监听器。(b/138870873)

版本 1.3.1

版本 1.3.1

2020 年 2 月 19 日

发布了 androidx.transition:transition:1.3.1版本 1.3.1 中包含这些提交内容

bug 修复

  • 修复了当使用 ChangeTransform 时,无法正确裁剪某些添加了动画效果的视图的错误 (b/148798452)

版本 1.3.0

版本 1.3.0

2020 年 1 月 22 日

发布了 androidx.transition:transition:1.3.0版本 1.3.0 中包含这些提交内容

自 1.2.0 以来的重要变更

  • 针对 Fragment 1.2.0 做出了以下改进:改进了与 Fragment 1.2.0 的集成,以确保 Fragment 的视图在转换完成之前不会被销毁,并且会在适当的时间取消转换

版本 1.3.0-rc02

2019 年 12 月 4 日

发布了 androidx.transition:transition:1.3.0-rc02版本 1.3.0-rc02 中包含这些提交内容

bug 修复

  • 修复了在弹出隐藏的 Fragment 之后会将视图错误地标记为 INVISIBLE 的问题。(b/70793925)

版本 1.3.0-rc01

2019 年 10 月 23 日

发布了 androidx.transition:transition:1.3.0-rc01,该版本与 1.3.0-beta01 相比没有变化。版本 1.3.0-rc01 中包含这些提交内容

版本 1.3.0-beta01

2019 年 10 月 9 日

发布了 androidx.transition:transition:1.3.0-beta01版本 1.3.0-beta01 中包含这些提交内容

新功能

  • 改进了与 Fragment 1.2.0-beta01 的集成,以确保 Fragment 的视图在转换完成之前不会被销毁,并且在适当的时间取消转换。(aosp/1119841)

版本 1.2.0

版本 1.2.0

2019 年 10 月 9 日

发布了 androidx.transition:transition:1.2.0,该版本与 1.2.0-rc01 相比没有变化。版本 1.2.0 中包含这些提交内容

自版本 1.1.0 以来的重要变更

如果以 API 级别 29 为目标平台,则应使用此版本。否则,某些转换将无法正常进行。此版本使用了 API 级别 29 中新增的公共方法,而不是反射调用。这是我们对非 SDK 接口实施的限制的一部分。

版本 1.2.0-rc01

2019 年 9 月 5 日

发布了 androidx.transition:transition:1.2.0-rc01,该版本与版本 1.2.0-beta01 相比没有变化。点击此处可查看此版本中包含的提交内容。

版本 1.2.0-beta01

2019 年 7 月 2 日

发布了 androidx.transition:transition:1.2.0-beta01。点击此处可查看此版本中包含的提交内容。

新功能

  • 如果您指定 API 级别 29 为 targetSdkVersion,则应使用此版本。否则,某些转换将无法正常进行。此版本使用了 API 级别 29 中新增的公共方法,而不是反射调用。这是我们对非 SDK 接口实施的限制的一部分。

版本 1.2.0-alpha01

2019 年 5 月 7 日

发布了 androidx.transition:transition:1.2.0-alpha01

新功能

  • 如果您指定 Q 为 targetSdkVersion,则应使用此版本。否则,某些转换将无法正常进行。此版本使用了 Q 中新增的公共方法,而不是反射调用。这是我们对非 SDK 接口实施的限制的一部分。

版本 1.1.0

版本 1.1.0

2019 年 7 月 2 日

发布了 androidx.transition:transition:1.1.0,该版本与 1.1.0-rc02 相比没有变化。点击此处可查看此版本中包含的提交内容。

版本 1.1.0-rc02

2019 年 6 月 5 日

发布了 androidx.transition:transition:1.1.0-rc02。点击此处可查看此版本中包含的提交内容。

bug 修复

  • 修复了 TransitionManager.endTransitions() 以正确处理从属转换。(aosp/946400)

版本 1.1.0-rc01

2019 年 5 月 7 日

发布了 androidx.transition:transition:1.1.0-rc01。点击此处可查看此版本中包含的提交内容。

版本 1.1.0-beta01

2019 年 4 月 3 日

发布了 androidx.transition:transition:1.1.0-beta01。点击此处可查看此版本中包含的提交内容。

bug 修复

  • 修复了 API 级别 17 及更低版本中出现的 Visibility 中的 ViewGroupOverlay 缓存错误 (aosp/937350)

版本 1.1.0-alpha02

2019 年 3 月 13 日

发布了 androidx.transition:transition:1.1.0-alpha02。点击此处可查看此版本中包含的完整提交内容列表。

API 变更

  • 方法参数的 Scene.getCurrentScene() 类型已从 View 更改为 ViewGroup

bug 修复

  • 通过 setStartDelay() 提供额外延迟时,SidePropagation 无法正常工作 (b/119839526)。
  • 在 API 21 之前,ChangeImageTransform 中断时会应用错误的矩阵 (b/123226255)。
  • 在 API 21 之前,ChangeTransform 在某些情况下不正常工作 (b/125777978)。

版本 1.1.0-alpha01

2018 年 12 月 3 日

API 变更

  • aosp/807055Scene.getCurrentScene(View) 方法已公开。您可以使用此方法根据当前场景编写自定义条件逻辑。

bug 修复

  • 修复了使用 TransitionManager 收起/展开 RecyclerView 中的项时出现的崩溃问题 (b/37129527)。
  • 修复了应用 Visibility 转换时动画不正确的问题 (b/62629600)。
  • 允许替换 TransitionSet 子级的时长和插值类型等值 (b/64644617)。
  • 修复了其他一些小错误。