过渡
最新更新 | 稳定版 | 候选发布版 | 测试版 | Alpha 版 |
---|---|---|---|---|
2024 年 7 月 24 日 | 1.5.1 | - | - | - |
声明依赖项
要添加对 Transition 的依赖项,您必须将 Google Maven 存储库添加到您的项目中。阅读Google 的 Maven 存储库以了解更多信息。
在应用或模块的 build.gradle
文件中添加所需构件的依赖项
Groovy
dependencies { // Java language implementation implementation "androidx.transition:transition:1.5.1" // Kotlin implementation "androidx.transition:transition-ktx:1.5.1" }
Kotlin
dependencies { // Java language implementation implementation("androidx.transition:transition:1.5.1") // Kotlin implementation("androidx.transition:transition-ktx:1.5.1") }
有关依赖项的更多信息,请参阅添加构建依赖项。
反馈
您的反馈有助于使 Jetpack 变得更好。如果您发现新的问题或有改进此库的想法,请告知我们。在创建新问题之前,请查看此库中现有问题。您可以通过点击星形按钮为现有问题添加您的投票。
有关更多信息,请参阅问题跟踪器文档。
版本 1.5
版本 1.5.1
2024 年 7 月 24 日
androidx.transition:transition:1.5.1
和 androidx.transition:transition-ktx:1.5.1
已发布。版本 1.5.1 包含这些提交。
错误修复
- 修复了在可搜索过渡上调用
animateToStart()
或animateToEnd()
时,如果过渡未启动,则会忽略这些调用的问题。(I44d96,b/338624457)
版本 1.5.0
2024 年 5 月 1 日
androidx.transition:transition:1.5.0
和 androidx.transition:transition-ktx:1.5.0
已发布。版本 1.5.0 包含这些提交。
自 1.4.0 以来重要更改
- 过渡在 API 34 及更高版本上支持搜索。一个新的 API 已添加到
TransitionManager
,controlDelayedTransition()
,它返回一个TransitionSeekController
,允许搜索Transition
。此功能由Fragment 1.7.0在使用预测性后退手势时自动搜索过渡。 - 过渡有一个新的方法
getRootTransition()
,它返回包含当前过渡的过渡或如果当前过渡未包含在任何其他过渡中则返回当前过渡。如果开发人员需要监听整个过渡何时开始或结束,这将非常有用。 - 现在,
TransitionListeners
有了新的onTransitionStart()
和onTransitionEnd()
监听器,允许开发者知道过渡是正向开始还是反向结束。这对于开发具有TransitionListeners
的可寻求过渡非常重要。
版本 1.5.0-rc02
2024年4月17日
androidx.transition:transition:1.5.0-rc02
和 androidx.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-rc01
和 androidx.transition:transition-ktx:1.5.0-rc01
已发布。版本 1.5.0-rc01 包含 这些提交。
版本 1.5.0-beta01
2024年3月20日
androidx.transition:transition:1.5.0-beta01
和 androidx.transition:transition-ktx:1.5.0-beta01
已发布。版本 1.5.0-beta01 包含 这些提交。
错误修复
- 修复了 Fragment 中的一个问题,即使用预测性返回手势中断传入过渡将销毁进入视图,可能导致出现空白屏幕。(Id3f22,b/319531491)
版本 1.5.0-alpha06
2024年1月10日
androidx.transition:transition:1.5.0-alpha06
和 androidx.transition:transition-ktx:1.5.0-alpha06
已发布。版本 1.5.0-alpha06 包含这些提交。
错误修复
- 当使用
TransitionSeekController.animateToStart()
时,添加的TransitionListeners
现在将在animateToStart()
给定的Runnable
之后调用onTransitionEnd()
。(Ic6a55,b/307624554)
依赖项更新
- Fragment 依赖项已更新到
1.7.0-alpha08
。
版本 1.5.0-alpha05
2023年11月29日
androidx.transition:transition:1.5.0-alpha05
和 androidx.transition:transition-ktx:1.5.0-alpha05
已发布。版本 1.5.0-alpha05 包含这些提交。
错误修复
- 修复了设置共享元素过渡并未能同时设置
enter/exitTransition
导致的NullPointerException
。(I8472b) - 修复了
animateToStart()
与Slide()
一起使用时未能将 View 移动回起始位置的问题(I698f4,b/300157785) - 修复了 Transition 中的重入问题,该问题导致取消中断。(Iddcce,b/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-alpha03
和 androidx.transition:transition-ktx:1.5.0-alpha03
已发布。版本 1.5.0-alpha03 包含这些提交。
新功能
- 当与 Fragment
1.7.0-alpha05
一起使用时,Transition 现在为 Android 14 设备上的应用内预测性返回动画提供支持。
错误修复
- 修复了滑动过渡中断错误。当滑动过渡中断进入过渡以移除 View 时,它将跳转到不正确的位置。(I946f8,b/297427333)
版本 1.5.0-alpha02
2023年9月6日
androidx.transition:transition:1.5.0-alpha02
和 androidx.transition:transition-ktx:1.5.0-alpha02
已发布。版本 1.5.0-alpha02 包含这些提交。
新功能
TransitionSeekController
现在允许您通过setCurrentFragment()
将进度设置为总持续时间的几分之一。(aosp/2647607)TransitionSeekController
现在允许在使用animateToStart()
和animateToEnd()
时观察进度,方法是调用addOnProgressChangedListener
。(aosp/2647607)- 添加了
TransitionManager.seekTo()
以允许使用场景来寻求过渡。(aosp/2647607) - 为寻求过渡添加了基于物理的动画。它使用一维速度跟踪器来跟踪使用
setCurrentFraction()
或setCurrentPlayTimeMillis()
时的进度变化,并将其用于animateToStart
和animateToEnd
的初始速度。(aosp/2647607)
错误修复
- 修复了寻求
AutoTransition
时出现的闪烁问题。(aosp/2643369) - 修复了
Slide
过渡在中断时跳到错误的起始位置的问题。(aosp/2733729,b/297427333)
依赖项更新
- Transition 现在可以使用 API 34 进行编译。
版本 1.5.0-alpha01
2023年5月10日
androidx.transition:transition:1.5.0-alpha01
和 androidx.transition:transition-ktx:1.5.0-alpha01
已发布。此版本是在内部分支中开发的。
新功能
- 过渡在 API 34 及更高版本上支持寻求。一个新的 API 已添加到
TransitionManager
中,即controlDelayedTransition()
,它返回一个TransisionSeekController
,允许寻求过渡。
API 更改
TransitionManager
有一个新方法controlDelayedTransition()
,允许应用程序在 API 34+ 上控制过渡动画的进度。返回的TransitionSeekController
允许开发者知道过渡何时准备好进行寻求、动画的持续时间,并允许设置动画的当前时间。只有将isSeekable()
覆盖以返回 true 的过渡才受controlDelayedTransition()
支持。- 过渡有一个新的方法
getRootTransition()
,它返回包含当前过渡的过渡或如果当前过渡未包含在任何其他过渡中则返回当前过渡。如果开发人员需要监听整个过渡何时开始或结束,这将非常有用。 - 现在,
TransitionListeners
有了新的onTransitionStart()
和onTransitionEnd()
监听器,允许开发者知道过渡是正向开始还是反向结束。这对于开发具有TransitionListeners
的可寻求过渡非常重要。
错误修复
- 过渡现在在克隆时会复制其
TransitionListeners
。这意味着在createAnimator()
期间添加新的监听器不会影响根过渡。
版本 1.4.1
版本 1.4.1
2021年4月21日
androidx.transition:transition:1.4.1
和 androidx.transition:transition-ktx:1.4.1
已发布。版本 1.4.1 包含这些提交。
错误修复
- 修复了一个问题,即在一个容器中启动
Transition
会无意中暂停其他在单独容器中运行的过渡,导致这些其他过渡永远无法完成。(aosp/1664439,b/182845041)
版本 1.4.0
版本 1.4.0
2021年1月27日
androidx.transition:transition:1.4.0
和 androidx.transition:transition-ktx:1.4.0
已发布。版本 1.4.0 包含这些提交。
自 1.3.0 以来的一些主要更改
transition-ktx
工件引入了 Kotlin 扩展,用于向 AndroidXTransition
实例添加监听器。(b/138870873)
版本 1.4.0-rc01
2020年12月2日
androidx.transition:transition:1.4.0-rc01
和 androidx.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-beta01
和 androidx.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-alpha01
和 androidx.transition:transition-ktx:1.4.0-alpha01
已发布。版本 1.4.0-alpha01 包含这些提交。
新功能
transition-ktx
工件引入了 Kotlin 扩展,用于向 AndroidXTransition
实例添加监听器。(b/138870873)
版本 1.3.1
版本 1.3.1
2020年2月19日
androidx.transition:transition:1.3.1
已发布。版本 1.3.1 包含这些提交。
错误修复
- 修复了使用 ChangeTransform 时一些动画 View 被错误剪裁的错误(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 的 View 在过渡完成之前不会被销毁,并且过渡在适当的时间被取消
版本 1.3.0-rc02
2019年12月4日
androidx.transition:transition:1.3.0-rc02
已发布。版本 1.3.0-rc02 包含这些提交。
错误修复
- 修复了在弹出隐藏 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 的 View 在转换完成之前不会被销毁,并且转换在适当的时间被取消。(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
发布。此版本中包含的提交可以在此处找到。
新功能
- 如果您将 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
发布。此版本中包含的提交可以在此处找到。
错误修复
- 修复了
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
发布。此版本中包含的提交可以在此处找到。
错误修复
- 修复了 API 级别 17 及以下版本中
ViewGroupOverlay
在Visibility
中缓存的错误(aosp/937350)
版本 1.1.0-alpha02
2019年3月13日
androidx.transition:transition:1.1.0-alpha02
发布。此版本中包含的完整提交列表可以在此处找到。
API 更改
Scene.getCurrentScene()
方法参数的类型已从View
更改为ViewGroup
。
错误修复
SidePropagation
在通过setStartDelay()
提供额外延迟时不起作用(b/119839526)。ChangeImageTransform
在 API 21 之前中断时应用错误的矩阵(b/123226255)。ChangeTransform
在 API 21 之前某些情况下工作不正确(b/125777978)。
版本 1.1.0-alpha01
2018年12月3日
API 更改
- aosp/807055:
Scene.getCurrentScene(View)
方法公开。它允许您根据当前场景编写自定义条件逻辑。
错误修复
- 修复了在使用
TransitionManager
折叠/展开RecyclerView
中的项目时发生的崩溃问题(b/37129527)。 - 修复了应用两个 Visibility 转换时动画不正确的错误(b/62629600)。
- 允许覆盖 TransitionSet 子元素的持续时间和插值器等值(b/64644617)。
- 修复了许多其他小错误。