Переход
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
---|---|---|---|---|
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
был добавлен новый APIcontrolDelayedTransition()
, который возвращает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
был добавлен новый APIcontrolDelayedTransition()
, который возвращает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 для добавления слушателей к экземплярам AndroidXTransition
. ( 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 для добавления слушателей к экземплярам AndroidXTransition
. ( 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 ).
- Исправлено множество других мелких ошибок.