Переход

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

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

Чтобы добавить зависимость от 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-альфа01

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-альфа01

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, определяющие значение null , которые являются типовыми. Разработчикам 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 для автоматического поиска переходов при использовании предиктивного жеста «Назад».
  • У переходов появился новый метод getRootTransition() , который возвращает переход, содержащий текущий переход, или текущий переход, если он не содержится ни в каком другом переходе. Это может быть полезно, если разработчику нужны прослушиватели начала и окончания всего перехода.
  • У 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 содержит эти коммиты .

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

  • Обновлена зависимость фрагмента до версии 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 содержит эти коммиты .

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

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

Версия 1.5.0-альфа06

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-альфа05

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-альфа04

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-альфа03

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-альфа02

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 )

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

  • Transition теперь компилируется с API 34.

Версия 1.5.0-альфа01

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.
  • У переходов появился новый метод getRootTransition() , который возвращает переход, содержащий текущий переход, или текущий переход, если он не содержится ни в каком другом переходе. Это может быть полезно, если разработчику нужны прослушиватели начала и окончания всего перехода.
  • У 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-альфа01

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 , чтобы гарантировать, что представление Fragment не будет уничтожено до завершения перехода и что переходы будут отменены в нужное время.

Версия 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 , чтобы гарантировать, что представление Fragment не будет уничтожено до завершения перехода и что переходы будут отменены в нужное время. ( 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-альфа01

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 17 и ниже ( aosp/937350 ).

Версия 1.1.0-альфа02

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-альфа01

3 декабря 2018 г.

Изменения API

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

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

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