Переход

Анимируйте движение в пользовательском интерфейсе с помощью начального и конечного макетов.
Последнее обновление Стабильный релиз Предварительная версия для выпуска Бета-версия Альфа-версия
17 декабря 2025 г. 1.6.0 1.7.0-rc01 - -

Объявление зависимостей

Чтобы добавить зависимость от Transition, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .

Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:

классный

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

Котлин

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

Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .

Обратная связь

Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.

Создать новую задачу

Для получения более подробной информации см. документацию по системе отслеживания ошибок .

Версия 1.7

Версия 1.7.0-rc01

17 декабря 2025 г.

Выпущены androidx.transition:transition:1.7.0-rc01 и androidx.transition:transition-ktx:1.7.0-rc01 . Версия 1.7.0-rc01 содержит следующие коммиты .

Версия 1.7.0-beta01

3 декабря 2025 г.

Выпущены androidx.transition:transition:1.7.0-beta01 и androidx.transition:transition-ktx:1.7.0-beta01 . Версия 1.7.0-beta01 содержит следующие коммиты .

Исправлены ошибки

Версия 1.7.0-alpha01

30 июля 2025 г.

Выпущены androidx.transition:transition:1.7.0-alpha01 и androidx.transition:transition-ktx:1.7.0-alpha01 . Версия 1.7.0-alpha01 содержит следующие коммиты .

Исправлены ошибки

  • Исправлена ​​ошибка, приводившая к сбою при прикреплении представления к окну с нулевым windowId . ( I2ddf6 )

Версия 1.6

Версия 1.6.0

23 апреля 2025 г.

Выпущены androidx.transition:transition:1.6.0 и androidx.transition:transition-ktx:1.6.0 . Версия 1.6.0 содержит следующие коммиты .

Версия 1.6.0-rc01

26 марта 2025 г.

Выпущены androidx.transition:transition:1.6.0-rc01 и androidx.transition:transition-ktx:1.6.0-rc01 . Версия 1.6.0-rc01 содержит следующие коммиты .

Версия 1.6.0-beta01

12 марта 2025 г.

androidx.transition:transition:1.6.0-beta01 и androidx.transition:transition-ktx:1.6.0-beta01 выпущены без изменений по сравнению с последней альфа-версией. Версия 1.6.0-beta01 содержит следующие коммиты .

Версия 1.6.0-alpha01

11 декабря 2024 г.

Выпущены androidx.transition:transition:1.6.0-alpha01 и androidx.transition:transition-ktx:1.6.0-alpha01 . Версия 1.6.0-alpha01 содержит следующие коммиты .

Новые функции

  • Теперь переход задает непересекающийся родительский элемент для ViewOverlays используемых для анимации переходов. Это позволяет разрешать права собственности через непересекающийся родительский элемент, что означает, что теперь вы можете корректно разрешать ViewModels , жизненные циклы и т. д. во время перехода. ( I10a16 , b/340894487 , b/287484338 )

Исправлены ошибки

  • В этой библиотеке теперь используются аннотации JSpecify, определяющие наличие нулевого значения , которые относятся к использованию типов. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования: -Xjspecify-annotations=strict (это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( I1f54e , b/326456246 )
  • Удалено ручное описание доступа к новым API платформы, поскольку это происходит автоматически посредством моделирования API при использовании R8 с AGP 7.3 или более поздней версии (например, R8 версии 3.3) и для всех сборок при использовании AGP 8.1 или более поздней версии (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется обновиться до D8 версии 8.1 или более поздней. Подробнее см. в этой статье . ( Ia60e0 , b/345472586 )

Версия 1.5

Версия 1.5.1

24 июля 2024 г.

Выпущены androidx.transition:transition:1.5.1 и androidx.transition:transition-ktx:1.5.1 . Версия 1.5.1 содержит следующие коммиты .

Исправлены ошибки

  • Исправлена ​​ошибка, из-за которой вызовы animateToStart() или animateToEnd() для перехода с возможностью перемещения игнорировались, если переход не был начат. ( I44d96 , b/338624457 )

Версия 1.5.0

1 мая 2024 г.

Выпущены androidx.transition:transition:1.5.0 и androidx.transition:transition-ktx:1.5.0 . Версия 1.5.0 содержит следующие коммиты .

Важные изменения по сравнению с версией 1.4.0

  • В API 34 и выше добавлена ​​поддержка перемотки переходов. В TransitionManager добавлен новый API-функция, controlDelayedTransition() , которая возвращает TransitionSeekController , позволяющий перематывать Transition . Эта функциональность используется в Fragment 1.7.0 для автоматической перемотки переходов при использовании предиктивного жеста «Назад».
  • В элементах Transition появился новый метод getRootTransition() , который возвращает Transition, содержащий текущий Transition, или текущий Transition, если он не содержится ни в одном другом Transition. Это может быть полезно, если разработчику необходимо иметь обработчики событий, срабатывающих при начале или завершении всего Transition.
  • Теперь TransitionListeners появились новые обработчики событий onTransitionStart() и onTransitionEnd() , которые позволяют разработчику определить, начинается или заканчивается переход в обратном направлении. Это может быть важно при разработке переходов с возможностью перемотки, использующих TransitionListeners .

Версия 1.5.0-rc02

17 апреля 2024 г.

Выпущены 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

3 апреля 2024 г.

Выпущены androidx.transition:transition:1.5.0-rc01 и androidx.transition:transition-ktx:1.5.0-rc01 . Версия 1.5.0-rc01 содержит следующие коммиты .

Версия 1.5.0-beta01

20 марта 2024 г.

Выпущены androidx.transition:transition:1.5.0-beta01 и androidx.transition:transition-ktx:1.5.0-beta01 . Версия 1.5.0-beta01 содержит следующие коммиты .

Исправлены ошибки

  • Исправлена ​​ошибка во фрагментах, из-за которой прерывание входящих переходов с помощью предиктивного жеста «назад» приводило к уничтожению входящего представления, потенциально оставляя пустой экран. ( Id3f22 , b/319531491 )

Версия 1.5.0-alpha06

10 января 2024 г.

Выпущены androidx.transition:transition:1.5.0-alpha06 и androidx.transition:transition-ktx:1.5.0-alpha06 . Версия 1.5.0-alpha06 содержит следующие коммиты.

Исправлены ошибки

  • При использовании TransitionSeekController.animateToStart() добавленные TransitionListeners теперь будут вызывать onTransitionEnd() после Runnable указанного в animateToStart() . ( Ic6a55 , b/307624554 )

Обновление зависимостей

  • Зависимость Fragment обновлена ​​до 1.7.0-alpha08 .

Версия 1.5.0-alpha05

29 ноября 2023 г.

Выпущены androidx.transition:transition:1.5.0-alpha05 и androidx.transition:transition-ktx:1.5.0-alpha05 . Версия 1.5.0-alpha05 содержит следующие коммиты.

Исправлены ошибки

  • Исправлена ​​ошибка NullPointerException , возникающая при установке перехода для общего элемента и одновременной установке перехода enter/exitTransition . ( I8472b )
  • Исправлена ​​ошибка, из-за которой animateToStart() с Slide() не возвращал View в исходное положение ( I698f4 , b/300157785 ).
  • Исправлена ​​проблема повторного входа в Transition, которая нарушала функцию отмены. ( Iddcce , b/308379201 )

Версия 1.5.0-alpha04

4 октября 2023 г.

Выпущены коммиты androidx.transition:transition:1.5.0-alpha04 и `androidx.transition:transition-ktx:1.5.0-alpha04`. Версия 1.5.0-alpha04 содержит следующие коммиты.

Изменения в API

  • Критическое изменение — метод animateToStart() теперь принимает объект Runnable , который следует использовать для возврата переходящих элементов в их исходное состояние.

Версия 1.5.0-alpha03

20 сентября 2023 г.

Выпущены androidx.transition:transition:1.5.0-alpha03 и androidx.transition:transition-ktx:1.5.0-alpha03 . Версия 1.5.0-alpha03 содержит следующие коммиты.

Новые функции

  • Теперь функция Transition поддерживает анимацию «Предиктивный возврат» внутри приложений на устройствах Android 14 при использовании с Fragment 1.7.0-alpha05 .

Исправлены ошибки

  • Исправлена ​​ошибка прерывания перехода между слайдами. Когда переход между слайдами прерывал переход при появлении нового изображения для его удаления, он переходил в неверную позицию. ( I946f8 , b/297427333 )

Версия 1.5.0-alpha02

6 сентября 2023 г.

Выпущены 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 )

Обновление зависимостей

  • Теперь переход совместим с API 34.

Версия 1.5.0-alpha01

10 мая 2023 г.

Выпущены версии androidx.transition:transition:1.5.0-alpha01 и androidx.transition:transition-ktx:1.5.0-alpha01 . Эта версия разрабатывается во внутренней ветке.

Новые функции

  • В API 34 и выше добавлена ​​поддержка перемотки переходов. В TransitionManager добавлен новый API-функция controlDelayedTransition() , которая возвращает TransisionSeekController , позволяющий перематывать переход.

Изменения в API

  • TransitionManager появился новый метод controlDelayedTransition() , позволяющий приложениям управлять ходом анимации переходов в API 34+. Возвращаемый TransitionSeekController сообщает разработчику, когда переход готов к перемотке, продолжительность анимации и позволяет установить текущее время анимации. Метод controlDelayedTransition() поддерживает только переходы, у которых метод isSeekable() возвращает true.
  • В элементах Transition появился новый метод getRootTransition() , который возвращает Transition, содержащий текущий Transition, или текущий Transition, если он не содержится ни в одном другом Transition. Это может быть полезно, если разработчику необходимо иметь обработчики событий, срабатывающих при начале или завершении всего Transition.
  • Теперь TransitionListeners появились новые обработчики событий onTransitionStart() и onTransitionEnd() , которые позволяют разработчику определить, начинается или заканчивается переход в обратном направлении. Это может быть важно при разработке переходов с возможностью перемотки, использующих TransitionListeners .

Исправлены ошибки

  • Теперь при клонировании переходов их TransitionListeners копируются. Это означает, что добавление новых слушателей во время createAnimator() не повлияет на корневой переход.

Версия 1.4.1

Версия 1.4.1

21 апреля 2021 г.

Выпущены 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

27 января 2021 г.

Выпущены androidx.transition:transition:1.4.0 и androidx.transition:transition-ktx:1.4.0 . Версия 1.4.0 содержит эти коммиты.

Значительные изменения по сравнению с версией 1.3.0

  • Артефакт transition-ktx представляет расширения Kotlin для добавления слушателей к экземплярам AndroidX Transition . ( b/138870873 )

Версия 1.4.0-rc01

2 декабря 2020 г.

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

22 июля 2020 г.

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

24 июня 2020 г.

Выпущены androidx.transition:transition:1.4.0-alpha01 и androidx.transition:transition-ktx:1.4.0-alpha01 . Версия 1.4.0-alpha01 содержит следующие коммиты.

Новые функции

  • Артефакт transition-ktx представляет расширения Kotlin для добавления слушателей к экземплярам AndroidX Transition . ( b/138870873 )

Версия 1.3.1

Версия 1.3.1

19 февраля 2020 г.

Выпущена версия androidx.transition:transition:1.3.1 . Версия 1.3.1 содержит следующие коммиты.

Исправлены ошибки

  • Исправлена ​​ошибка, из-за которой некоторые анимированные представления некорректно обрезались при использовании ChangeTransform ( b/148798452 ).

Версия 1.3.0

Версия 1.3.0

22 января 2020 г.

Выпущена версия androidx.transition:transition:1.3.0 . Версия 1.3.0 содержит следующие коммиты .

Важные изменения по сравнению с версией 1.2.0

  • Улучшения для Fragment 1.2.0 : Улучшена интеграция с Fragment 1.2.0 , чтобы гарантировать, что представление фрагмента не будет уничтожено до завершения перехода и что переходы будут отменены в соответствующее время.

Версия 1.3.0-rc02

4 декабря 2019 г.

Выпущена версия androidx.transition:transition:1.3.0-rc02 . Версия 1.3.0-rc02 содержит следующие коммиты .

Исправлены ошибки

  • Исправлена ​​ошибка, из-за которой представления некорректно помечались INVISIBLE после удаления скрытого фрагмента. ( b/70793925 )

Версия 1.3.0-rc01

23 октября 2019 г.

androidx.transition:transition:1.3.0-rc01 выпущен без изменений по сравнению с 1.3.0-beta01 . Версия 1.3.0-rc01 содержит следующие коммиты .

Версия 1.3.0-beta01

9 октября 2019 г.

Выпущена версия androidx.transition:transition:1.3.0-beta01 . Версия 1.3.0-beta01 содержит следующие коммиты .

Новые функции

  • Улучшена интеграция с Fragment 1.2.0-beta01 , чтобы гарантировать, что представление фрагмента не будет уничтожено до завершения перехода и что переходы будут отменены в соответствующее время. ( aosp/1119841 )

Версия 1.2.0

Версия 1.2.0

9 октября 2019 г.

Выпущена 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

5 сентября 2019 г.

Выпущена androidx.transition:transition:1.2.0-rc01 без изменений по сравнению с версией 1.2.0-beta01 . Список изменений, включенных в эту версию, можно найти здесь .

Версия 1.2.0-beta01

2 июля 2019 г.

Выпущена версия androidx.transition:transition:1.2.0-beta01 . Список изменений, включенных в эту версию, можно найти здесь .

Новые функции

  • Эту версию следует использовать, если вы указываете 29 в качестве targetSdkVersion . В противном случае некоторые переходы будут работать некорректно. Вместо вызовов рефлексии эта версия использует новые публичные методы, добавленные в API уровня 29. Это часть наших усилий по ограничению интерфейсов, не относящихся к SDK.

Версия 1.2.0-alpha01

7 мая 2019 г.

Выпущена версия androidx.transition:transition:1.2.0-alpha01 .

Новые функции

  • Эту версию следует использовать, если вы указываете Q в качестве targetSdkVersion . В противном случае некоторые переходы будут работать некорректно. Вместо вызовов рефлексии эта версия использует новые публичные методы, добавленные в Q. Это часть наших усилий по ограничению интерфейсов, не относящихся к SDK.

Версия 1.1.0

Версия 1.1.0

2 июля 2019 г.

Выпущена androidx.transition:transition:1.1.0 без изменений по сравнению с 1.1.0-rc02 . Список изменений, включенных в эту версию, можно найти здесь .

Версия 1.1.0-rc02

5 июня 2019 г.

Выпущена версия androidx.transition:transition:1.1.0-rc02 . Список изменений, включенных в эту версию, можно найти здесь .

Исправлены ошибки

  • Исправлена ​​ошибка, из-за которой TransitionManager.endTransitions() корректно работал с зависимыми переходами. ( aosp/946400 )

Версия 1.1.0-rc01

7 мая 2019 г.

Выпущена версия androidx.transition:transition:1.1.0-rc01 . Список изменений, включенных в эту версию, можно найти здесь .

Версия 1.1.0-beta01

3 апреля 2019 г.

Выпущена версия androidx.transition:transition:1.1.0-beta01 . Список изменений, включенных в эту версию, можно найти здесь .

Исправлены ошибки

  • Исправлена ​​ошибка кэширования ViewGroupOverlay в Visibility , возникающая на API Level 17 и ниже ( aosp/937350 )

Версия 1.1.0-alpha02

13 марта 2019 г.

Выпущена версия 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

3 декабря 2018 г.

изменения API

  • aosp/807055 : Метод Scene.getCurrentScene(View) стал публичным. Он позволяет писать собственную условную логику в зависимости от текущей сцены.

Исправлены ошибки

  • Исправлена ​​ошибка, приводившая к сбою при использовании TransitionManager для сворачивания/разворачивания элемента в RecyclerView ( b/37129527 ).
  • Исправлена ​​некорректная анимация при применении двух переходов видимости ( b/62629600 ).
  • Разрешить переопределение значений, таких как длительность и интерполятор, для дочерних элементов TransitionSet ( b/64644617 ).
  • Исправлено множество других мелких ошибок.