Сочинить анимацию
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
( См. справочную документацию API для всех пакетов Compose )
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
---|---|---|---|---|
27 августа 2025 г. | 1.9.0 | - | - | 1.10.0-альфа02 |
Структура
Compose — это комбинация из 7 идентификаторов групп Maven в androidx
. Каждая группа содержит определённый набор функций, каждый из которых сопровождается собственным набором заметок о выпуске.
В этой таблице объясняются группы и ссылки на каждый набор заметок о выпуске.
Группа | Описание |
---|---|
compose.animation | Создавайте анимацию в своих приложениях Jetpack Compose, чтобы обогатить пользовательский опыт. |
compose.компилятор | Преобразуйте функции @Composable и включите оптимизацию с помощью плагина компилятора Kotlin. |
compose.foundation | Создавайте приложения Jetpack Compose с помощью готовых строительных блоков и расширяйте базу для создания собственных элементов системы проектирования. |
сочинить.материал | Создавайте пользовательские интерфейсы Jetpack Compose с помощью готовых компонентов Material Design. Это высокоуровневая точка входа в Compose, предназначенная для предоставления компонентов, соответствующих описанным на сайте www.material.io. |
compose.material3 | Создавайте пользовательские интерфейсы Jetpack Compose с компонентами Material Design 3 — следующим этапом развития Material Design. Material 3 включает в себя обновлённые темы и компоненты, а также функции персонализации Material You, такие как динамическая подсветка, и разработан для соответствия новому визуальному стилю и пользовательскому интерфейсу Android 12. |
compose.runtime | Основные строительные блоки модели программирования Compose и управления состоянием, а также основная среда выполнения для целевого плагина компилятора Compose. |
compose.ui | Основные компоненты пользовательского интерфейса, необходимые для взаимодействия с устройством, включая макет, рисование и ввод. |
Объявление зависимостей
Чтобы добавить зависимость от Compose, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle
вашего приложения или модуля:
классный
dependencies { implementation "androidx.compose.animation:animation:1.9.0" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Котлин
dependencies { implementation("androidx.compose.animation:animation:1.9.0") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.
Более подробную информацию см. в документации по системе отслеживания проблем .
Версия 1.10
Версия 1.10.0-альфа02
27 августа 2025 г.
Выпущена androidx.compose.animation:animation-*:1.10.0-alpha02
. Версия 1.10.0-alpha02 содержит следующие коммиты .
Версия 1.10.0-альфа01
13 августа 2025 г.
Выпущена androidx.compose.animation:animation-*:1.10.0-alpha01
. Версия 1.10.0-alpha01 содержит следующие коммиты .
Новые функции
- Новый API, позволяющий динамически включать и отключать общие элементы, а также позволяющий учитывать, происходит ли уже текущий переход общего элемента.
- Новый API для настройки альтернативных целевых границ, когда целевой общий элемент удаляется во время перехода.
- Новый API для получения
LayoutCoordinates
объектаLookaheadScope
. ( I18dd4 , b/409819304 , b/395670637 ) - Новый модификатор
Modifier.skipToLookaheadPosition
вSharedTransitionScope
для привязки макета к целевой позиции во время общего перехода. ( I88734 )
Изменения API
- Упрощен
renderInSharedTransitionOverlay
путем удаления лямбда-функцииclipInOverlayDuringTransition
, поскольку она редко использовалась. Введен новый фабричный метод дляSharedContentConfig
. ( Id01b2 ) - Добавлен набор значений по умолчанию для конфигураций общего элемента, общих границ и
renderInSharedTransitionOverlay
. Эти значения по умолчанию теперь доступны через публичные API. ( Id23cc ) -
ScaleToBounds
ResizeMode переименован вscaleToBounds
( I5ac50 )
Исправления ошибок
- Перемещение minSdk по умолчанию из API 21 в API 23 ( Ibdfca , b/380448311 , b/435705964 , b/435705223 )
Версия 1.9
Версия 1.9.0
13 августа 2025 г.
Выпущена androidx.compose.animation:animation-*:1.9.0
. Версия 1.9.0 содержит следующие коммиты .
Версия 1.9.0-rc01
30 июля 2025 г.
Выпущена androidx.compose.animation:animation-*:1.9.0-rc01
. Версия 1.9.0-rc01 содержит следующие коммиты .
Версия 1.9.0-beta03
16 июля 2025 г.
Выпущена androidx.compose.animation:animation-*:1.9.0-beta03
. Версия 1.9.0-beta03 содержит следующие коммиты .
Версия 1.9.0-beta02
2 июля 2025 г.
Выпущена androidx.compose.animation:animation-*:1.9.0-beta02
. Версия 1.9.0-beta02 содержит следующие коммиты .
Версия 1.9.0-beta01
18 июня 2025 г.
Выпущена androidx.compose.animation:animation-*:1.9.0-beta01
. Версия 1.9.0-beta01 содержит следующие изменения .
Версия 1.9.0-альфа04
4 июня 2025 г.
Выпущена androidx.compose.animation:animation-*:1.9.0-alpha04
. Версия 1.9.0-alpha04 содержит следующие коммиты .
Версия 1.9.0-альфа03
20 мая 2025 г.
Выпущена androidx.compose.animation:animation-*:1.9.0-alpha03
. Версия 1.9.0-alpha03 содержит следующие коммиты .
Версия 1.9.0-альфа02
7 мая 2025 г.
Выпущена androidx.compose.animation:animation-*:1.9.0-alpha02
. Версия 1.9.0-alpha02 содержит следующие коммиты .
Новые функции
- Значительно улучшена поддержка прокрутки и перетаскивания общих элементов. В частности, при прокрутке переходного общего элемента дельта прокрутки будет применяться непосредственно к общему элементу, а не заставит общие элементы следовать за новой целью. ( cacf7b )
Версия 1.9.0-альфа01
23 апреля 2025 г.
Выпущена androidx.compose.animation:animation-*:1.9.0-alpha01
. Версия 1.9.0-alpha01 содержит следующие коммиты .
Изменения поведения
- Для проверок lint, поставляемых вместе с Compose, теперь требуется версия AGP не ниже 8.8.2. Если вы не можете обновить AGP, вы можете обновить Lint самостоятельно, указав
android.experimental.lint.version=8.8.2
(или более новую версию) в файлеgradle.properties
. Для запуска проверок lint Compose в среде IDE требуется Android Studio Ladybug или более новая версия.
Новые функции
- Улучшена производительность прокрутки для общих элементов ( ea4f1f )
Изменения API
- Для проектов, выпущенных с использованием Kotlin 2.0, требуется использование KGP 2.0.0 или более поздней версии. ( Idb6b5 )
-
TabRow
иScrollableTabRow
устарели в пользу их основных и дополнительных вариантов. Основные и дополнительные строки вкладок более производительны и соответствуют спецификации. ( I918e2 ) - Добавлена локальная композиция
LocalResources
для запроса ресурсов. ВызовLocalResources.current
перекомпонует объект при изменении конфигурации, поэтому вызовы API, таких какstringResource()
, вернут обновлённые значения ( I50c13 , b/274786917 ).
Исправления ошибок
- Убедитесь, что общие элементы удалены из наложения после завершения перехода ( 35f359 )
- Устранить дополнительную рекомпозицию в переходе ( 988923 )
- Исправлена обработка прерывания дочернего перехода ( 8aed52 )
- Обеспечить сброс перехода при предоставлении нового
TransitionState
( 57820a )
Внешний вклад
- Из Compose
1.8.1
: Завершение анимации вSeekableTransitionState
, если новая продолжительность уже прошла, Стивен Шоен. ( 0c832c )
Версия 1.8
Версия 1.8.3
18 июня 2025 г.
Выпущена androidx.compose.animation:animation-*:1.8.3
. Версия 1.8.3 содержит следующие коммиты .
Версия 1.8.2
20 мая 2025 г.
Выпущена androidx.compose.animation:animation-*:1.8.2
. Версия 1.8.2 содержит следующие коммиты .
Версия 1.8.1
7 мая 2025 г.
Выпущена androidx.compose.animation:animation-*:1.8.1
. Версия 1.8.1 содержит следующие коммиты .
Внешний вклад
- Завершаем анимацию в
SeekableTransitionState
, если новая длительность уже прошла. Спасибо, Стивен Шён! ( fbcdf7 )
Версия 1.8.0
23 апреля 2025 г.
Выпущена androidx.compose.animation:animation-*:1.8.0
. Версия 1.8.0 содержит следующие коммиты .
Важные изменения с версии 1.7.0
- Важные изменения в версии 1.8.0 описаны в этой записи блога.
- Новый API
Modifier.animateBounds
для анимации изменений размера и положения в области просмотра вперед. ( 94b939 ) - Доработанные API для ключевых кадров с дугами и сплайнами ( 89e119 )
- Поддержка упреждающего просмотра в
LazyGrid
и Pager. Это включает в себя различие между упреждающим просмотром и подходным просмотром при прокрутке, составлении/удалении элементов и анимации элементов, а также использование упреждающего просмотра в качестве источника истинной информации для прокрутки и цели анимации элементов. - Обновлено наименование параметра
sharedElement
с state наsharedContentState
для обеспечения согласованности между API общих элементов. ( 9e7df5 ) - Набор API
AnimatedImageVector
теперь стабилен. ( 69d7e0 )
Версия 1.8.0-rc03
9 апреля 2025 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-rc03
. Версия 1.8.0-rc03 содержит следующие коммиты .
Версия 1.8.0-rc02
26 марта 2025 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-rc02
. Версия 1.8.0-rc02 содержит следующие коммиты .
Версия 1.8.0-rc01
12 марта 2025 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-rc01
. Версия 1.8.0-rc01 содержит следующие коммиты .
Исправления ошибок
- Исправлена ошибка, из-за которой дочерний переход ошибочно отмечался как прерванный. ( 3fa2ce )
Версия 1.8.0-beta03
26 февраля 2025 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-beta03
. Версия 1.8.0-beta03 содержит следующие коммиты .
Версия 1.8.0-beta02
12 февраля 2025 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-beta02
. Версия 1.8.0-beta02 содержит следующие коммиты .
Версия 1.8.0-beta01
29 января 2025 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-beta01
. Версия 1.8.0-beta01 содержит следующие коммиты .
Версия 1.8.0-альфа08
15 января 2025 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-alpha08
. Версия 1.8.0-alpha08 содержит следующие коммиты .
Исправления ошибок
- Исправлена некорректная анимация размещения из
animateBounds
вLazyGrid
из-за сбросаMotionFrameOfReferencePlacement
. ( 16193b ) - Исправлен внутренний запрос в
SharedTransitionLayout
путем перенаправления внутреннего запроса на проход опережающего просмотра из корня опережающего просмотра верхнего уровня. ( a07d12 ) - Добавлены отсутствующие теги
@param
в документы. ( e5cf67 )
Версия 1.8.0-альфа07
11 декабря 2024 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-alpha07
. Версия 1.8.0-alpha07 содержит следующие коммиты .
Новые функции
- Поддерживает упреждающий просмотр в Pager, разделяя проход упреждающего просмотра и проход подхода для сохранения элементов и использования прокрутки. ( b/371802474 )
Исправления ошибок
- Исправлена редкая ошибка, при которой общий элемент был составлен, но не был измерен или размещен, путем требования, чтобы общий элемент был отрисован на месте хотя бы один раз, прежде чем он будет отрисован в наложении. ( b/371802474 )
Версия 1.8.0-альфа06
13 ноября 2024 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-alpha06
. Версия 1.8.0-alpha06 содержит следующие коммиты .
Изменения API
- Обновлено наименование параметра
sharedElement
сstate
наsharedContentState
для обеспечения согласованности между API общих элементов. ( I5694c , b/375351468 ) - Набор API
AnimatedImageVector
теперь стабилен. ( I7174b , b/261436267 )
Версия 1.8.0-альфа05
30 октября 2024 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-alpha05
. Версия 1.8.0-alpha05 содержит следующие коммиты .
Новые функции
- В
LazyGrid
теперь поддерживается функция Lookahead. Это включает в себя дифференциацию прохода с просмотром вперёд и прохода приближения при прокрутке, составлении/удалении элементов и анимации элементов, а также использование прохода с просмотром вперёд в качестве источника истинной информации для прокрутки и цели анимации элемента.
Исправления ошибок
- Обновлять внутренние состояния для преобразования размера
AnimatedContent
при повторном создании перехода. Это гарантирует актуальность информации о целевом размере. ( b/372512085 )
Версия 1.8.0-альфа04
16 октября 2024 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-alpha04
. Версия 1.8.0-alpha04 содержит следующие коммиты .
Исправления ошибок
- Исправлена ошибка, приводившая к сбою некоторых кривых замедления в определенные моменты времени.
- Исправлена ошибка, приводившая к неправильному выравниванию
Modifier.animateContentSize
при написании справа налево. ( Idae6b , b/372055503 )
Версия 1.8.0-альфа03
2 октября 2024 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-alpha03
. Версия 1.8.0-alpha03 содержит следующие коммиты .
Изменения API
- Обновление версии Kotlin до 1.9 ( I1a14c )
Исправления ошибок
- Исправлена проблема с анимацией размера
AnimatedContent
путем постоянного отслеживания и запуска анимации с текущего размера для обеспечения непрерывности.
Версия 1.8.0-альфа02
18 сентября 2024 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-alpha02
. Версия 1.8.0-alpha02 содержит следующие коммиты .
Версия 1.8.0-альфа01
4 сентября 2024 г.
Выпущена androidx.compose.animation:animation-*:1.8.0-alpha01
. Версия 1.8.0-alpha01 содержит следующие коммиты .
Новые функции
- Новый API
Modifier.animateBounds
для анимации изменений размера и положения в области просмотра вперед. 94b9394
Изменения API
- Удалить экспериментальные флаги для ключевых кадров с дугами и сплайнами ( 89e1199 )
Исправления ошибок
- Пропустить логику
placeHolderSize
, если совпадений не найдено ( 77c0160 ) - Ограничьте время воспроизведения в
AndroidFlingSpline
, чтобы предотвратить сбои из-за немонотонно увеличивающегося времени воспроизведения ( 9d47587 ) - Исправлена ошибка, из-за которой
SharedTransitionScope
не отображал элементы при определенных условиях ( b41077b6 ).
Внешний вклад
- Запретить установку
playTime
для переходов с возможностью поиска, когда переход не выполняется. Автор: Стивен Шоен. ( c2e6e7e6 )
Версия 1.7
Версия 1.7.8
12 февраля 2025 г.
Выпущена androidx.compose.animation:animation-*:1.7.8
. Версия 1.7.8 содержит следующие коммиты .
Версия 1.7.7
29 января 2025 г.
Выпущена версия androidx.compose.animation:animation-*:1.7.7
. Без изменений по сравнению с версией 1.7.6. 11 декабря 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.6
. Версия 1.7.6 содержит следующие коммиты .
Версия 1.7.5
30 октября 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.5
. Версия 1.7.5 содержит следующие коммиты .
Исправления ошибок
- Исправлена ошибка, приводившая к неправильному выравниванию
Modifier.animateContentSize
при написании справа налево. ( Idae6b , b/372055503 )
Версия 1.7.4
16 октября 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.4
. Версия 1.7.4 содержит следующие коммиты .
Версия 1.7.3
2 октября 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.3
. Версия 1.7.3 содержит следующие коммиты .
Версия 1.7.2
18 сентября 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.2
. Версия 1.7.2 содержит следующие коммиты .
Внешний вклад
- Запретить устанавливать
playTime
перехода с возможностью поиска, когда переход не выполняется. Спасибо, Стивен Шоен! ( c2e6e7e6 )
Версия 1.7.1
10 сентября 2024 г.
- Артефакты Android остались без изменений. Артефакты
-desktop
были удалены, а артефакты-jvmStubs
и-linuxx64Stubs
были добавлены. Ни один из этих целевых объектов не предназначен для использования, они являются заглушками, помогающими работе Jetbrains Compose.
Версия 1.7.0
4 сентября 2024 г.
Выпущена версия androidx.compose.animation:animation-*:1.7.0
.
Важные изменения с версии 1.6.0
Важные изменения в версии 1.7.0 описаны в этой записи блога .
Новые API-интерфейсы перехода общих элементов
- Новые API для перехода общих элементов ждут вашего использования и отзывов. Эти новые экспериментальные API позволяют помечать макеты как общие для всего дерева макетов с помощью предоставленных модификаторов, обеспечивая плавное изменение границ при выходе одного набора общего контента и появлении другого. ( Icb0b9 )
- Новые
scaleInSharedContentToBounds
иscaleOutSharedContentToBounds
для масштабирования содержимого вsharedBounds
( I731c1 ) - Экспериментальный
SharedTransitionScope
теперь является интерфейсом, а не классом. ( Iaf856 ) - Новые
resizeModes
(ScaleToBounds
иRemeasureToBounds
) дляsharedBounds
позволяют выбирать между масштабированием и повторным измерением. Предыдущие APIscaleIn/OutSharedContentToBounds
устарели. ( I0d41a )
Улучшения существующих API:
- Новый
Modifier.animateContentSize
, который принимает дополнительный параметр для выравнивания содержимого. ( I5623a , b/269803907 ) - Новая экспериментальная
DeferredTargetAnimation
для анимации размера, положения или любой другой цели, которая неизвестна во время создания экземпляра. ( I60745 ) -
SeekableTransitionState
заменяетsnapTo()
наseekTo()
и добавляетsnapTo()
который немедленно изменяет состояние на целевое без какой-либо анимации. - Теперь вы можете передать значение
periodicBias
(с плавающей точкой) вkeyframesWithSpline
, что позволит добиться равенства начальной и конечной скорости сплайна. Это полезно для повторяющихся анимаций со сплайнами. Смещение показывает, насколько изменяется каждая скорость (начальная и конечная) для достижения периодичности. ( Ic1e6c , b/292114811 )
Следующие API стали стабильными или были удалены:
- API
AnimatedVisibilityScope.transition
теперь стабилен.Modifier.animateEnterExit(..)
также стал стабильным. ( I6c1d1 ) -
ApproachLayoutModifierNode
иModifier.approachLayout
теперь стабильны, с новымиisMeasurementApproachInProgress()
иisPlacementApproachInProgress()
которые заменили старыеisMeasurementApproachComplete()
иisPlacementApproachComplete()
соответственно. - Удален устаревший модификатор
intermediateLayout
. ( I3e91c ) - API
LookaheadScope
стали стабильными. ( I21507 )
Версия 1.7.0-rc01
21 августа 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-rc01
. Версия 1.7.0-rc01 содержит следующие коммиты .
Версия 1.7.0-beta07
7 августа 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-beta07
. Версия 1.7.0-beta07 содержит следующие коммиты .
Исправления ошибок
- Исправлена ошибка, из-за которой
SharedTransitionScope
не отображал элементы наложения во время перехода в определенных условиях, к которым обычно относится использование навигации. ( Id65ab , b/347520198 )
Версия 1.7.0-beta06
24 июля 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-beta06
. Версия 1.7.0-beta06 содержит следующие коммиты .
Исправления ошибок
- Исправлена утечка состояний перехода
SeekableTransition
путем правильной очистки наблюдений изSnapshotStateObserver
при уничтожении перехода. ( b9c7182 ) - Исправлены крайние случаи, когда дочерние переходы не отмечались как завершенные должным образом после завершения родительского перехода. ( dc42216 )
Версия 1.7.0-beta05
10 июля 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-beta05
. Версия 1.7.0-beta05 содержит следующие коммиты .
Исправления ошибок
- Свойство перехода
totalDurationNanos
теперь можно корректно прочитать вsnapshotFlow
.
Версия 1.7.0-beta04
26 июня 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-beta04
. Версия 1.7.0-beta04 содержит следующие коммиты .
Версия 1.7.0-beta03
12 июня 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-beta03
. Версия 1.7.0-beta03 содержит следующие коммиты .
Версия 1.7.0-beta02
29 мая 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-beta02
. Версия 1.7.0-beta02 содержит следующие коммиты .
Версия 1.7.0-beta01
14 мая 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-beta01
. Версия 1.7.0-beta01 содержит следующие коммиты .
Изменения API
- Новые
resizeModes
(ScaleToBounds
иRemeasureToBounds
) дляsharedBounds
позволяют выбирать между масштабированием и повторным измерением. Предыдущие APIscaleIn/OutSharedContentToBounds
устарели. ( I0d41a )
Внешний вклад
- Экспериментальный
SharedTransitionScope
теперь является интерфейсом, а не классом Стивена Шоена. ( Iaf856 , b/338415048 , b/338414702 )
Версия 1.7.0-альфа08
1 мая 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-alpha08
. Версия 1.7.0-alpha08 содержит следующие коммиты .
Изменения API
- API
LookaheadScope
стали стабильными. ( I21507 )
Внешний вклад
- Очистить время начала анимации после анимации/захвата
SeekableTransitionState
Стивеном Шоеном ( 1ca89529 )
Версия 1.7.0-альфа07
17 апреля 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-alpha07
. Версия 1.7.0-alpha07 содержит следующие коммиты .
Новые функции
- Новые API для перехода общих элементов ждут вашего использования и отзывов. Эти новые экспериментальные API позволяют помечать макеты как общие для всего дерева макетов с помощью предоставленных модификаторов, обеспечивая плавное изменение границ при выходе одного набора общего контента и появлении другого. ( Icb0b9 )
- Новые
scaleInSharedContentToBounds
иscaleOutSharedContentToBounds
для масштабирования содержимого вsharedBounds
( I731c1 )
Изменения API
- API
AnimatedVisibilityScope.transition
теперь стабилен.Modifier.animateEnterExit(..)
также стал стабильным. ( I6c1d1 ) -
ApproachLayoutModifierNode
иModifier.approachLayout
теперь стабильны, с новымиisMeasurementApproachInProgress()
иisPlacementApproachInProgress()
которые заменили старыеisMeasurementApproachComplete()
иisPlacementApproachComplete()
соответственно. - Удален устаревший модификатор
intermediateLayout
. ( I3e91c ) - Теперь вы можете передать значение
periodicBias
(с плавающей точкой) вkeyframesWithSpline
, что позволит добиться равенства начальной и конечной скорости сплайна. Это полезно для повторяющихся анимаций со сплайнами. Смещение показывает, насколько изменяется каждая скорость (начальная и конечная) для достижения периодичности. ( Ic1e6c , b/292114811 )
Исправления ошибок
- Исправлены кривые замедления перелета и недолета, которые ранее были ограничены значением 0..1 ( I38747 ).
Версия 1.7.0-альфа06
3 апреля 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-alpha06
. Версия 1.7.0-alpha06 содержит следующие коммиты .
Новые функции
- Поддержка анимации появления и исчезновения элементов добавлена в
LazyColumn
иLazyRow
. Ранее можно было добавить модификаторModifier.animateItemPlacement()
для поддержки анимации размещения (изменения порядка). Мы объявили этот модификатор устаревшим и ввели новый неэкспериментальный модификаторModifier.animateItem()
, который позволяет поддерживать все три типа анимации: появление (появление), исчезновение (затухание) и изменение порядка. ( I2d7f7 , b/330152398 , b/150812265 )
Исправления ошибок
- Улучшена производительность API
updateTransition
.
Версия 1.7.0-альфа05
20 марта 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-alpha05
. Версия 1.7.0-alpha05 содержит следующие коммиты .
Изменения API
-
SeekableTransitionState
заменяетsnapTo()
наseekTo()
и добавляетsnapTo()
который немедленно изменяет состояние на целевое без какой-либо анимации.
Версия 1.7.0-альфа04
6 марта 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-alpha04
. Версия 1.7.0-alpha04 содержит следующие коммиты .
Изменения API
- Новый API
Path.reverse()
для изменения направления пути на противоположное ( I36348 )
Версия 1.7.0-альфа03
21 февраля 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-alpha03
. Версия 1.7.0-alpha03 содержит следующие изменения.
Новые функции
- Новый
Modifier.animateContentSize
, который принимает дополнительный параметр для выравнивания содержимого. ( I5623a , b/269803907 ) - Новая экспериментальная
DeferredTargetAnimation
для анимации размера, положения или любой другой цели, которая неизвестна во время создания экземпляра. ( I60745 )
Версия 1.7.0-альфа02
7 февраля 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-alpha02
. Версия 1.7.0-alpha02 содержит следующие изменения.
Исправления ошибок
- Исправление совместимости для
KeyframesSpec
. ( I2bdf3 , b/322214617 ) - Исправлена ошибка, из-за которой
Modifier.animateContentSize
не сбрасывался должным образом при использовании вLazyList
. ( I070512 , b/322525716 ) - Исправлено исключение
IllegalStateException
вKeyframesSpec
при использовании временных меток, выходящих за пределы диапазона. ( I341b8 , b/322839811 )
Версия 1.7.0-альфа01
24 января 2024 г.
Выпущена androidx.compose.animation:animation-*:1.7.0-alpha01
. Версия 1.7.0-alpha01 содержит следующие коммиты.
Версия 1.6
Версия 1.6.8
12 июня 2024 г.
Выпущена androidx.compose.animation:animation-*:1.6.8
. Версия 1.6.8 содержит следующие коммиты .
Версия 1.6.7
1 мая 2024 г.
Выпущена androidx.compose.animation:animation-*:1.6.7
. Версия 1.6.7 содержит следующие коммиты .
Версия 1.6.6
17 апреля 2024 г.
Выпущена версия androidx.compose.animation:animation-*:1.6.6
. Никаких изменений с предыдущей версии.
Версия 1.6.5
3 апреля 2024 г.
Выпущена androidx.compose.animation:animation-*:1.6.5
. Версия 1.6.5 содержит следующие коммиты .
Версия 1.6.4
20 марта 2024 г.
Выпущена androidx.compose.animation:animation-*:1.6.4
. Версия 1.6.4 содержит следующие коммиты .
Версия 1.6.3
6 марта 2024 г.
Выпущена androidx.compose.animation:animation-*:1.6.3
. Версия 1.6.3 содержит следующие коммиты .
Версия 1.6.2
21 февраля 2024 г.
Выпущена androidx.compose.animation:animation-*:1.6.2
. Версия 1.6.2 содержит следующие коммиты.
Версия 1.6.1
7 февраля 2024 г.
Выпущена androidx.compose.animation:animation-*:1.6.1
. Версия 1.6.1 содержит следующие коммиты.
Исправления ошибок
- Исправление совместимости для
KeyframesSpec
. ( I2bdf3 , b/322214617 )
Версия 1.6.0
24 января 2024 г.
Выпущена androidx.compose.animation:animation-*:1.6.0
. Версия 1.6.0 содержит следующие коммиты.
Версия 1.6.0-rc01
10 января 2024 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-rc01
. Версия 1.6.0-rc01 содержит следующие коммиты.
Версия 1.6.0-beta03
13 декабря 2023 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-beta03
. Версия 1.6.0-beta03 содержит следующие изменения.
Изменения API
- Временно удалены
scaleInToFitContainer
иscaleOutToFitContainer
изAnimatedContentTransitionScope
, поскольку для них требуется просмотр вперёд. Они будут доступны в будущих выпусках, когда просмотр вперёд будет включён по умолчанию или активирован.
Версия 1.6.0-beta02
29 ноября 2023 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-beta02
. Версия 1.6.0-beta02 содержит следующие изменения.
Версия 1.6.0-beta01
15 ноября 2023 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-beta01
. Версия 1.6.0-beta01 содержит следующие изменения.
Изменения API
-
ExitTransition.Hold
переименован вExitTransition.KeepUntilTransitionsFinished
для большей наглядности. ( I1c490 ) - Теперь вы можете использовать
keyframesWithSpline
для интерполяции любого N-мерного значения с помощью монотонных сплайнов. Это особенно полезно для интерполяции позиционных значений, таких какOffset
,IntOffset
иDpOffset
. Добавлено в качестве экспериментального API.
Исправления ошибок
- Добавить поддержку рендеринга для Sweep Gradient в
ArcLine
. ( I4d5bb ) - Реализовать equals и hashcode для
PageSize.Fixed
. ( Ie3ede , b/300134276 ) - Исправлена проблема двоичной совместимости с изменением вставки окна. ( Iee695 )
- Удалите слой материального ядра для чипа/кнопки Material3, так как микротесты показывают лучшую производительность без него. ( I55555 )
Версия 1.6.0-альфа08
18 октября 2023 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-alpha08
. Версия 1.6.0-alpha08 содержит следующие коммиты.
Изменения API
- Устаревший
KeyframesSpecConfig#with
в пользуKeyframesSpecConfig#using
, который сохраняет шаблон конструктора. ( I1d769 )
Версия 1.6.0-альфа07
4 октября 2023 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-alpha07
. Версия 1.6.0-alpha07 содержит следующие коммиты.
Изменения API
- Фиксированные и прокручиваемые вкладки теперь имеют первичные и вторичные варианты. Они корректно соответствуют цветовому и индикаторному поведению, заданному в Material3.
-
PrimaryScrollableTabRow
иSecondaryScrollableTabRow
теперь отображают состояние прокрутки. ( Iec8f5 , b/260572337 )
Версия 1.6.0-альфа06
20 сентября 2023 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-alpha06
. Версия 1.6.0-alpha06 содержит следующие коммиты.
Версия 1.6.0-альфа05
6 сентября 2023 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-alpha05
. Версия 1.6.0-alpha05 содержит следующие изменения.
Изменения API
- Добавлен
PathEasing
, позволяющий задать произвольный путь для кривой замедления. ( Idb4b9 )
Версия 1.6.0-альфа04
23 августа 2023 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-alpha04
. Версия 1.6.0-alpha04 содержит следующие коммиты.
Изменения API
- Добавьте
SeekableTransitionState
, чтобы позволить разработчикам контролировать ход перехода. ( I8e69d )
Версия 1.6.0-альфа03
9 августа 2023 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-alpha03
. Версия 1.6.0-alpha03 содержит следующие изменения.
Изменения API
- Новый тип перехода входа/выхода, масштабирующий содержимое в зависимости от размера анимированного контейнера во время анимации входа и выхода. Забава и интерфейс
LookaheadScope
Composable теперь стабильны. ( Ifb2ce )
Версия 1.6.0-альфа02
26 июля 2023 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-alpha02
. Версия 1.6.0-alpha02 содержит следующие коммиты.
Изменения API
- Новый
ExitTransition.Hold
Удерживайте для отображения исходящего содержимого вAnimatedContent
до завершения переходов входа и выхода. ( I5984f ) - Дополнительные аннотации для указания допустимых входных данных для компонуемых объектов ( I51109 )
Версия 1.6.0-альфа01
21 июня 2023 г.
Выпущена androidx.compose.animation:animation-*:1.6.0-alpha01
. Версия 1.6.0-alpha01 содержит следующие изменения.
Новые функции
- Включите полную интеграцию
Modifier.animateContentSize
иAnimatedVisibility
в систему упреждающего просмотра, сообщая целевой размер в проходе упреждающего просмотра.
Изменения API
- Новое свойство в
IntrinsincMeasureScope
и его реализациях (например,MeasureScope
) для указания, является ли текущий проход измерения проходом просмотра вперед. ( I7a812 )
Исправления ошибок
- Удалены выделения из пружинных анимаций. ( Ie9431 )
- Имя параметра значения для Enum.valueOf изменено ( Ia9b89 )
- больше исключений из enum valueOf ( I818fe )
Версия 1.5
Версия 1.5.4
18 октября 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.4
. Версия 1.5.4 содержит следующие коммиты.
Версия 1.5.3
4 октября 2023 г.
Выпущена версия androidx.compose.animation:animation-*:1.5.3
. В этой версии изменений нет.
Версия 1.5.2
27 сентября 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.2
. Версия 1.5.2 содержит следующие коммиты.
Версия 1.5.1
6 сентября 2023 г.
Выпущен androidx.compose.foundation:foundation-*:1.5.1
. Версия 1.5.1 содержит следующие коммиты.
Исправления ошибок
- Исправлено отображение клавиатуры в текстовых полях и возможность редактирования при
readOnly
равном true. Также исправлено отсутствие отображения клавиатуры при изменении значенияreadOnly
с true на false при наличии фокуса. ( I34a19 , b/246909589 )
Версия 1.5.1
6 сентября 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.1
. Версия 1.5.1 содержит следующие коммиты.
Версия 1.5.0
9 августа 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.0
. Версия 1.5.0 содержит следующие коммиты.
Версия 1.5.0-rc01
26 июля 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.0-rc01
. Версия 1.5.0-rc01 содержит следующие коммиты.
Исправления ошибок
Исправлена проблема, из-за которой вызов
.value
для примитивного типа состояния (например,MutableIntState
) приводил к предупреждению lint с недопустимым исправлением. Теперь инспекция будет рекомендовать миграцию на правильное свойство. ( Iba953 , b/287279257 )Доступна дополнительная инспекция, рекомендующая перенести вызовы
mutableStateOf()
в соответствующие специализированные типы для примитивов. Её идентификатор lint —AutoboxingStateCreation
. Ранее эта инспекция была включена по умолчанию для всех проектов. Чтобы увидеть это предупреждение в редакторе Android Studio и в результатах lint вашего проекта, измените его уровень серьёзности с информационного на предупреждение (или выше), объявивwarning "AutoboxingStateCreation"
в конфигурацииbuild.gradle
илиbuild.gradle.kts
вашего модуля, как показано ниже ( I34f7e ):android { lint { warning "AutoboxingStateCreation" } ... }
Версия 1.5.0-beta03
28 июня 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.0-beta03
. Версия 1.5.0-beta03 содержит следующие изменения.
Версия 1.5.0-beta02
7 июня 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.0-beta02
. Версия 1.5.0-beta02 содержит следующие изменения.
Версия 1.5.0-beta01
24 мая 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.0-beta01
. Версия 1.5.0-beta01 содержит следующие изменения.
Изменения API
- Удалены выделения памяти при перекомпозиции, цветовых анимациях и
AndroidComposeView
( Ib2bfa ).
Исправления ошибок
- Удалены выделения из пружинных анимаций ( Ie9431 )
Версия 1.5.0-альфа04
10 мая 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.0-alpha04
. Версия 1.5.0-alpha04 содержит следующие коммиты.
Изменения API
-
ContentKey
теперь поддерживается вAnimatedContent
, что позволяет лучше контролировать момент перехода. ( Ic069b )
Версия 1.5.0-альфа03
19 апреля 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.0-alpha03
. Версия 1.5.0-alpha03 содержит следующие изменения.
Новые функции
- Новое поведение по умолчанию для
SubcomposeLayout
вLookaheadScope
. Оно позволяетSubcomposeLayouts
без условных слотов (например,TabRow
,Scaffold
,BoxWithConstraints
и т. д.) корректно работать с анимацией с упреждением.
Изменения API
- Новая
intermediateMeasurePolicy
измерения по умолчанию, которая повторно использует политику измерения из прохода просмотра вперед, позволяет подтипамSubcomposeLayout
без условных слотов, таким какScaffold
,TabRow
иBoxWithConstraints
, работать с просмотром вперед по умолчанию. ( Id84c8 ) - Переименуйте инфиксную функцию fun with в
togetherWith
для объединения переходов входа и выхода. НовыйAnimatedContentScope
в качестве приёмника для лямбда-функции контента. ( Ic39ae )
Версия 1.5.0-альфа02
5 апреля 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.0-alpha02
. Версия 1.5.0-alpha02 содержит следующие коммиты.
Новые функции
- Новый экспериментальный API для поддержки просмотра вперёд в
SubcomposeLayout
. Это позволитSubcomposeLayout
корректно работать вLookaheadScope
. Более расширенная поддержка отдельных подтиповSubcomposeLayout
появится в ближайшее время.
Изменения API
- Новый API
SubcomposeLayout
, который использует дополнительную промежуточную политику измерения для обработки логики измерения/макета во время анимации с предпросмотром. ( I017d3 )
Версия 1.5.0-альфа01
22 марта 2023 г.
Выпущена androidx.compose.animation:animation-*:1.5.0-alpha01
. Версия 1.5.0-alpha01 содержит следующие коммиты.
Изменения API
- API-интерфейсы
AnimatedContent
теперь стабильны.AnimatedContentScope
переименован вAnimatedContentTransitionScope
.scaleIn
иscaleOut
теперь являются стабильными API. ( Iaf54e )
Версия 1.4
Версия 1.4.3
3 мая 2023 г.
androidx.compose.animation:animation:1.4.3
, androidx.compose.animation:animation-core:1.4.3
и androidx.compose.animation:animation-graphics:1.4.3
выпущены без изменений (только повышение версии).
Версия 1.4.2
19 апреля 2023 г.
androidx.compose.animation:animation:1.4.2
, androidx.compose.animation:animation-core:1.4.2
и androidx.compose.animation:animation-graphics:1.4.2
выпущены без изменений. Версия 1.4.2 содержит эти коммиты.
Версия 1.4.1
5 апреля 2023 г.
androidx.compose.animation:animation:1.4.1
, androidx.compose.animation:animation-core:1.4.1
и androidx.compose.animation:animation-graphics:1.4.1
выпущены без изменений. Версия 1.4.1 содержит эти коммиты.
Версия 1.4.0
22 марта 2023 г.
Выпущены androidx.compose.animation:animation:1.4.0
, androidx.compose.animation:animation-core:1.4.0
и androidx.compose.animation:animation-graphics:1.4.0
. Версия 1.4.0 содержит эти коммиты.
Важные изменения с версии 1.3.0
- Метка инструмента поддерживается в
ememberInfiniteTransition
и всех функциях расширенияInfiniteTransition
и Transition (например,InfiniteTransition#animateColor
) ( I56ef7 ).
Версия 1.4.0-rc01
8 марта 2023 г.
androidx.compose.animation:animation:1.4.0-rc01
, androidx.compose.animation:animation-core:1.4.0-rc01
и androidx.compose.animation:animation-graphics:1.4.0-rc01
выпущены без изменений. Версия 1.4.0-rc01 содержит эти коммиты.
Версия 1.4.0-бета02
22 февраля 2023 г.
androidx.compose.animation:animation:1.4.0-beta02
, androidx.compose.animation:animation-core:1.4.0-beta02
и androidx.compose.animation:animation-graphics:1.4.0-beta02
выпущены без изменений. Версия 1.4.0-beta02 содержит эти коммиты.
Версия 1.4.0-бета01
8 февраля 2023 г.
androidx.compose.animation:animation:1.4.0-beta01
, androidx.compose.animation:animation-core:1.4.0-beta01
и androidx.compose.animation:animation-graphics:1.4.0-beta01
выпущены без изменений. Версия 1.4.0-beta01 содержит эти коммиты.
Версия 1.4.0-альфа05
25 января 2023 г.
androidx.compose.animation:animation:1.4.0-alpha05
, androidx.compose.animation:animation-core:1.4.0-alpha05
и androidx.compose.animation:animation-graphics:1.4.0-alpha05
выпущены. Версия 1.4.0-alpha05 содержит эти коммиты.
Изменения
- Никаких изменений в библиотеках анимации со времени последней альфа-версии, только обновление версии.
Версия 1.4.0-альфа04
11 января 2023 г.
androidx.compose.animation:animation:1.4.0-alpha04
, androidx.compose.animation:animation-core:1.4.0-alpha04
и androidx.compose.animation:animation-graphics:1.4.0-alpha04
выпущены. Версия 1.4.0-alpha04 содержит эти коммиты.
Новые функции
- Метка инструмента поддерживается в
rememberInfiniteTransition
и всех функциях расширения дляInfiniteTransition
иTransition
(например,InfiniteTransition#animateColor
) ( I56ef7 ).
Изменения API
- API-интерфейсы
InfiniteTransition#TransitionAnimationState
иInfiniteTransition#animations
теперь общедоступны. ( I36682 )
Версия 1.4.0-альфа03
7 декабря 2022 г.
androidx.compose.animation:animation:1.4.0-alpha03
, androidx.compose.animation:animation-core:1.4.0-alpha03
и androidx.compose.animation:animation-graphics:1.4.0-alpha03
выпущены. Версия 1.4.0-alpha03 содержит эти коммиты.
Изменения API
- В тестах пользовательского интерфейса с использованием правила Compose продолжения, возобновленные во время обратных вызовов
withFrameNanos
не будут отправляться до тех пор, пока не завершится выполнение всех обратных вызовов кадров. Это соответствует поведению Compose при нормальной работе. Однако тесты, основанные на старом поведении, могут завершиться неудачно. Это должно влиять только на код, который напрямую вызываетwithFrameNanos
илиwithFrameMillis
и имеет логику вне обратного вызова, передаваемую тем функциям, которые, возможно, потребуется переместить внутри обратных вызовов. Примеры см. в изменениях теста анимации в этом CL . - Добавлен необязательный параметр
onPerformTraversals: (Long) -> Unit
в конструкторTestMonotonicFrameClock
и фабричная функция для запуска кода после обратных вызововwithFrameNanos
, но перед возобновлением сопрограмм вызывающего объекта. ( Idb413 , б/254115946 , б/222093277 , б/255802670 ) - Новый параметр в
AnimatedContent
для метки инструмента ( Iebe2d )
Версия 1.4.0-альфа02
9 ноября 2022 г.
androidx.compose.animation:animation:1.4.0-alpha02
, androidx.compose.animation:animation-core:1.4.0-alpha02
и androidx.compose.animation:animation-graphics:1.4.0-alpha02
выпущены. Версия 1.4.0-alpha02 содержит эти коммиты.
Изменения API
- Добавьте
ToolingState
, чтобы позволить инструментам изменять внутренние состояния Composable ( Ie6614 ).
Версия 1.4.0-альфа01
24 октября 2022 г.
androidx.compose.animation:animation:1.4.0-alpha01
, androidx.compose.animation:animation-core:1.4.0-alpha01
и androidx.compose.animation:animation-graphics:1.4.0-alpha01
выпущены. Версия 1.4.0-alpha01 содержит эти коммиты.
Исправления ошибок
- Исправление неправильной анимации прерывания в AnimatedContent ( b/238662479 ).
Версия 1.3
Версия 1.3.3
11 января 2023 г.
androidx.compose.animation:animation:1.3.3
, androidx.compose.animation:animation-core:1.3.3
и androidx.compose.animation:animation-graphics:1.3.3
выпущены. Версия 1.3.3 содержит эти коммиты.
- Никаких изменений с версии 1.3.2.
Версия 1.3.2
7 декабря 2022 г.
androidx.compose.animation:animation:1.3.2
, androidx.compose.animation:animation-core:1.3.2
и androidx.compose.animation:animation-graphics:1.3.2
выпущены. Версия 1.3.2 содержит эти коммиты.
Исправления ошибок
- Обновлено для поддержки androidx.compose.ui 1.3.2.
Версия 1.3.1
9 ноября 2022 г.
androidx.compose.animation:animation:1.3.1
, androidx.compose.animation:animation-core:1.3.1
и androidx.compose.animation:animation-graphics:1.3.1
выпущены. Версия 1.3.1 содержит эти коммиты.
Версия 1.3.0
24 октября 2022 г.
Выпущены androidx.compose.animation:animation:1.3.0
, androidx.compose.animation:animation-core:1.3.0
и androidx.compose.animation:animation-graphics:1.3.0
. Версия 1.3.0 содержит эти коммиты.
Важные изменения с версии 1.2.0
- Новый набор функций замедления стал стабильным.
Версия 1.3.0-rc01
5 октября 2022 г.
androidx.compose.animation:animation:1.3.0-rc01
, androidx.compose.animation:animation-core:1.3.0-rc01
и androidx.compose.animation:animation-graphics:1.3.0-rc01
выпущены. Версия 1.3.0-rc01 содержит эти коммиты.
Версия 1.3.0-beta03
21 сентября 2022 г.
androidx.compose.animation:animation:1.3.0-beta03
, androidx.compose.animation:animation-core:1.3.0-beta03
и androidx.compose.animation:animation-graphics:1.3.0-beta03
выпущены. Версия 1.3.0-beta03 содержит эти коммиты.
- Никаких изменений с версии 1.3.0-beta02.
Версия 1.3.0-beta02
7 сентября 2022 г.
androidx.compose.animation:animation:1.3.0-beta02
, androidx.compose.animation:animation-core:1.3.0-beta02
и androidx.compose.animation:animation-graphics:1.3.0-beta02
выпущены. Версия 1.3.0-beta02 содержит эти коммиты.
- Удален Kotlin.experimental из параметров компилятора, поскольку он устарел.
Версия 1.3.0-бета01
24 августа 2022 г.
androidx.compose.animation:animation:1.3.0-beta01
, androidx.compose.animation:animation-core:1.3.0-beta01
и androidx.compose.animation:animation-graphics:1.3.0-beta01
выпущены. Версия 1.3.0-beta01 содержит эти коммиты.
Версия 1.3.0-альфа03
10 августа 2022 г.
androidx.compose.animation:animation:1.3.0-alpha03
, androidx.compose.animation:animation-core:1.3.0-alpha03
и androidx.compose.animation:animation-graphics:1.3.0-alpha03
выпущены. Версия 1.3.0-alpha03 содержит эти коммиты.
Изменения API
- Новые параметры в
Crossfade
,animateAsState
иAnimatable
для метки инструмента ( Iac08a ) - Добавлена функция
atFraction
для определения ключевых кадров с определенной долей, а не с определенной продолжительностью. ( I20c76 , б/232059455 )
Версия 1.3.0-альфа02
27 июля 2022 г.
androidx.compose.animation:animation:1.3.0-alpha02
, androidx.compose.animation:animation-core:1.3.0-alpha02
и androidx.compose.animation:animation-graphics:1.3.0-alpha02
выпущены. Версия 1.3.0-alpha02 содержит эти коммиты.
Версия 1.3.0-альфа01
29 июня 2022 г.
androidx.compose.animation:animation:1.3.0-alpha01
, androidx.compose.animation:animation-core:1.3.0-alpha01
и androidx.compose.animation:animation-graphics:1.3.0-alpha01
выпущены. Версия 1.3.0-alpha01 содержит эти коммиты.
Изменения API
- Новый
LookaheadLayout
, который поддерживает просмотр вперед перед фактической мерой/макетом. Это позволяет предварительно рассчитать макет при его изменении, в то же время позволяя измерению/макету после просмотра использовать предварительно рассчитанный размер/положение для анимации размера и положения по отношению к цели.SubcomposeLayouts
пока не поддерживаются, но будут в следующем выпуске. ( I477f5 )
Версия 1.2
Версия 1.2.1
10 августа 2022 г.
androidx.compose.animation:animation:1.2.1
, androidx.compose.animation:animation-core:1.2.1
и androidx.compose.animation:animation-graphics:1.2.1
выпущены. Версия 1.2.1 содержит эти коммиты.
Версия 1.2.0
27 июля 2022 г.
androidx.compose.animation:animation:1.2.0
, androidx.compose.animation:animation-core:1.2.0
и androidx.compose.animation:animation-graphics:1.2.0
выпущены. Версия 1.2.0 содержит эти коммиты.
Важные изменения с версии 1.1.0
- Создание анимации теперь поддерживает настройку «Шкала продолжительности анимации» в настройках разработчика.
- Большой выбор новых экспериментальных кривых замедления.
-
AnimatedImageVector
теперь поддерживаетrepeatCount
repeatMode
Версия 1.2.0-rc03
29 июня 2022 г.
androidx.compose.animation:animation:1.2.0-rc03
, androidx.compose.animation:animation-core:1.2.0-rc03
и androidx.compose.animation:animation-graphics:1.2.0-rc03
выпущены. Версия 1.2.0-rc03 содержит эти коммиты.
- Никаких изменений с версии 1.2.0-rc02.
Версия 1.2.0-rc02
22 июня 2022 г.
androidx.compose.animation:animation:1.2.0-rc02
, androidx.compose.animation:animation-core:1.2.0-rc02
и androidx.compose.animation:animation-graphics:1.2.0-rc02
выпущены. Версия 1.2.0-rc02 содержит эти коммиты.
Исправления ошибок
- Удалена аннотация
ExperimentalEasingApi
для функций замедления ( Ied441 ).
Версия 1.2.0-rc01
15 июня 2022 г.
androidx.compose.animation:animation:1.2.0-rc01
, androidx.compose.animation:animation-core:1.2.0-rc01
и androidx.compose.animation:animation-graphics:1.2.0-rc01
выпущены. Версия 1.2.0-rc01 содержит эти коммиты.
Изменения API
- Интерфейсы в библиотеках компоновки теперь создаются с использованием методов интерфейса jdk8 по умолчанию ( I5bcf1 ).
Версия 1.2.0-бета03
1 июня 2022 г.
androidx.compose.animation:animation:1.2.0-beta03
, androidx.compose.animation:animation-core:1.2.0-beta03
и androidx.compose.animation:animation-graphics:1.2.0-beta03
выпущены. Версия 1.2.0-beta03 содержит эти коммиты.
Изменения API
- Добавлены экспериментальные кривые замедления для анимации ( I64a38 ).
Версия 1.2.0-бета02
18 мая 2022 г.
androidx.compose.animation:animation:1.2.0-beta02
, androidx.compose.animation:animation-core:1.2.0-beta02
и androidx.compose.animation:animation-graphics:1.2.0-beta02
выпущены. Версия 1.2.0-beta02 содержит эти коммиты.
Версия 1.2.0-бета01
11 мая 2022 г.
androidx.compose.animation:animation:1.2.0-beta01
, androidx.compose.animation:animation-core:1.2.0-beta01
и androidx.compose.animation:animation-graphics:1.2.0-beta01
выпущены. Версия 1.2.0-beta01 содержит эти коммиты.
- Это первая бета-версия 1.2! Со времени последней альфы изменений нет.
Версия 1.2.0-альфа08
20 апреля 2022 г.
androidx.compose.animation:animation:1.2.0-alpha08
, androidx.compose.animation:animation-core:1.2.0-alpha08
и androidx.compose.animation:animation-graphics:1.2.0-alpha08
выпущены. Версия 1.2.0-alpha08 содержит эти коммиты.
Версия 1.2.0-альфа07
6 апреля 2022 г.
androidx.compose.animation:animation:1.2.0-alpha07
, androidx.compose.animation:animation-core:1.2.0-alpha07
и androidx.compose.animation:animation-graphics:1.2.0-alpha07
выпущены. Версия 1.2.0-alpha07 содержит эти коммиты.
Изменения API
-
AnimatedImageVector
теперь поддерживаетrepeatCount
иrepeatMode
( Ia3e75 , b/199304067 ).
Версия 1.2.0-альфа06
23 марта 2022 г.
androidx.compose.animation:animation:1.2.0-alpha06
, androidx.compose.animation:animation-core:1.2.0-alpha06
и androidx.compose.animation:animation-graphics:1.2.0-alpha06
выпущены. Версия 1.2.0-alpha06 содержит эти коммиты.
Изменения API
- Обновлен анализ векторных изображений для поддержки автоматического зеркалирования для переворачивания содержимого
VectorPainter
, если текущее направление макета — RTL. ( I79cd9 , б/185760237 )
Исправления ошибок
- Обновлены API векторной графики для использования правильной составной аннотации
@VectorComposable
вместо@UiComposable
( I942bc ).
Версия 1.2.0-альфа05
9 марта 2022 г.
androidx.compose.animation:animation:1.2.0-alpha05
, androidx.compose.animation:animation-core:1.2.0-alpha05
и androidx.compose.animation:animation-graphics:1.2.0-alpha05
выпущены. Версия 1.2.0-alpha05 содержит эти коммиты.
Изменения API
- Ура! Создание анимации теперь поддерживает настройку «Шкала продолжительности анимации» в настройках разработчика. ( I5a4fc , б/161675988 )
Версия 1.2.0-альфа04
23 февраля 2022 г.
androidx.compose.animation:animation:1.2.0-alpha04
, androidx.compose.animation:animation-core:1.2.0-alpha04
и androidx.compose.animation:animation-graphics:1.2.0-alpha04
выпущены. Версия 1.2.0-alpha04 содержит эти коммиты.
Версия 1.2.0-альфа03
9 февраля 2022 г.
androidx.compose.animation:animation:1.2.0-alpha03
, androidx.compose.animation:animation-core:1.2.0-alpha03
и androidx.compose.animation:animation-graphics:1.2.0-alpha03
выпущены. Версия 1.2.0-alpha03 содержит эти коммиты.
Версия 1.2.0-альфа02
26 января 2022 г.
androidx.compose.animation:animation:1.2.0-alpha02
, androidx.compose.animation:animation-core:1.2.0-alpha02
и androidx.compose.animation:animation-graphics:1.2.0-alpha02
выпущены. Версия 1.2.0-alpha02 содержит эти коммиты.
Версия 1.2.0-альфа01
12 января 2022 г.
androidx.compose.animation:animation:1.2.0-alpha01
, androidx.compose.animation:animation-core:1.2.0-alpha01
и androidx.compose.animation:animation-graphics:1.2.0-alpha01
выпущены. Версия 1.2.0-alpha01 содержит эти коммиты.
Изменения API
- Используйте
AnimatedImageVector.animatedVectorResource
вместоanimatedVectorResource
для загрузки файла ресурсов<animated-vector>
.- Используйте
rememberAnimatedVectorResource
вместоAnimatedImageVector#painterFor
для рендерингаAnimatedImageVector
. ( I9c300 )
- Используйте
Исправления ошибок
- Добавьте методы toString в Animatable и AnimationResult. ( Icd3a6 )
Обновления зависимостей
- Теперь зависит от Kotlin
1.6.10
.
Версия 1.1
Версия 1.1.1
23 февраля 2022 г.
androidx.compose.animation:animation:1.1.1
, androidx.compose.animation:animation-core:1.1.1
и androidx.compose.animation:animation-graphics:1.1.1
выпущены. Версия 1.1.1 содержит эти коммиты.
Исправления ошибок
- Исправьте исключение
NullPointerException
вandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
( aosp/1947059 , b/206677462 ). - Исправлен сбой, вызванный содержимым буфера обмена при чтении из буфера обмена на Android. ( I06020 , б/197769306 )
- Фиксированный RTL в
LazyVerticalGrid
( AOSP/1931080 , B/207510535 )
Версия 1.1.0
9 февраля 2022 г.
Выпущены androidx.compose.animation:animation:1.1.0
, androidx.compose.animation:animation-core:1.1.0
и androidx.compose.animation:animation-graphics:1.1.0
. Версия 1.1.0 содержит эти коммиты.
Важные изменения с версии 1.0.0
- Стабильная поддержка эффекта прокрутки Android 12.
- Улучшения в сенсорном изменении целевого размера.
- Обратите внимание, что в Compose 1.0 компоненты Material будут расширять свое пространство макета, чтобы соответствовать рекомендациям по доступности Material для сенсорного размера цели . Например, цель касания кнопки расширится до минимального размера 48x48dp, даже если вы установите меньший размер кнопки. Это приводит Compose Material в соответствие с тем же поведением компонентов Material Design, обеспечивая единообразное поведение при смешивании представлений и Compose. Это изменение также гарантирует, что при создании пользовательского интерфейса с использованием компонентов Compose Material будут соблюдены минимальные требования к доступности сенсорной цели.
- Стабильная поддержка Navigation Rail
- Стабильный уровень ряда ранее экспериментальных API.
- Поддержка новых версий Kotlin
Версия 1.1.0-rc03
26 января 2022 г.
androidx.compose.animation:animation:1.1.0-rc03
, androidx.compose.animation:animation-core:1.1.0-rc03
и androidx.compose.animation:animation-graphics:1.1.0-rc03
выпущены. Версия 1.1.0-rc03 содержит эти коммиты.
Исправления ошибок
- Обновлено для поддержки Compose Material 1.1.0-rc03.
Версия 1.1.0-rc01
15 декабря 2021 г.
Выпущены androidx.compose.animation:animation:1.1.0-rc01
и androidx.compose.animation:animation-core:1.1.0-rc01
. Версия 1.1.0-rc01 содержит эти коммиты.
Изменения API
- Используйте
AnimatedImageVector.animatedVectorResource
вместоanimatedVectorResource
для загрузки файла ресурсов<animated-vector>
.- Используйте
rememberAnimatedVectorResource
вместоAnimatedImageVector#painterFor
для рендерингаAnimatedImageVector
. ( I9c300 )
- Используйте
Версия 1.1.0-beta04
1 декабря 2021 г.
androidx.compose.animation:animation:1.1.0-beta04
, androidx.compose.animation:animation-core:1.1.0-beta04
и androidx.compose.animation:animation-graphics:1.1.0-beta04
выпущены. Версия 1.1.0-beta04 содержит эти коммиты.
Новые функции
- Обновлен для совместимости с Kotlin
1.6.0
Версия 1.1.0-beta03
17 ноября 2021 г.
androidx.compose.animation:animation:1.1.0-beta03
, androidx.compose.animation:animation-core:1.1.0-beta03
и androidx.compose.animation:animation-graphics:1.1.0-beta03
выпущены. Версия 1.1.0-beta03 содержит эти коммиты.
Изменения API
- Добавлен новый модификатор Modifier.onPlaced, позволяющий наблюдать за изменением размещения. Таким образом, дополнительные изменения смещения дочернего модификатора могут быть сделаны на основе наблюдаемого изменения размещения. ( I558fd )
Новая поддержка contentKey в Crossfade. ContentKey будет использоваться для проверки равенства системой анимации. Поэтому пользовательское различие состояний может быть достигнуто путем указания соответствующего contentKey для разных состояний.
ContentKey также будет использоваться в качестве ключа для сохранения и восстановления контента. ( I2e055 , б / 197907070 )
Версия 1.1.0-beta02
3 ноября 2021 г.
androidx.compose.animation:animation:1.1.0-beta02
, androidx.compose.animation:animation-core:1.1.0-beta02
и androidx.compose.animation:animation-graphics:1.1.0-beta02
выпущены. Версия 1.1.0-beta02 содержит эти коммиты.
Исправления ошибок
- Новые API-интерфейсы анимации для поддержки инструментов. В частности, они позволяют инструментам проверять анимацию и ее конфигурации в переходах. ( I4116e )
Версия 1.1.0-бета01
27 октября 2021 г.
androidx.compose.animation:animation:1.1.0-beta01
, androidx.compose.animation:animation-core:1.1.0-beta01
и androidx.compose.animation:animation-graphics:1.1.0-beta01
выпущены. Версия 1.1.0-beta01 содержит эти коммиты.
Изменения API
- Новые API-интерфейсы анимации для поддержки инструментов. В частности, они позволяют инструментам проверять анимацию и ее конфигурации в переходах. ( I4116e )
Версия 1.1.0-альфа06
13 октября 2021 г.
androidx.compose.animation:animation:1.1.0-alpha06
, androidx.compose.animation:animation-core:1.1.0-alpha06
и androidx.compose.animation:animation-graphics:1.1.0-alpha06
выпущены. Версия 1.1.0-alpha06 содержит эти коммиты.
Версия 1.1.0-альфа05
29 сентября 2021 г.
androidx.compose.animation:animation:1.1.0-alpha05
, androidx.compose.animation:animation-core:1.1.0-alpha05
и androidx.compose.animation:animation-graphics:1.1.0-alpha05
выпущены. Версия 1.1.0-alpha05 содержит эти коммиты.
Изменения API
EnterTransition
,ExitTransition
и некоторые API-интерфейсыAnimatedVisibility
стали стабильными.MutableTransitionState.isIdle
также больше не является экспериментальным. ( I5072d )Критическое изменение : лямбды в фабриках Enter/ExitTransition перемещены в последнюю позицию в списке параметров. ( I5072d )
Версия 1.1.0-альфа04
15 сентября 2021 г.
androidx.compose.animation:animation:1.1.0-alpha04
, androidx.compose.animation:animation-core:1.1.0-alpha04
и androidx.compose.animation:animation-graphics:1.1.0-alpha04
выпущены. Версия 1.1.0-alpha04 содержит эти коммиты.
Версия 1.1.0-альфа03
1 сентября 2021 г.
androidx.compose.animation:animation:1.1.0-alpha03
, androidx.compose.animation:animation-core:1.1.0-alpha03
и androidx.compose.animation:animation-graphics:1.1.0-alpha03
выпущены. Версия 1.1.0-alpha03 содержит эти коммиты.
Новые функции
- Обновлен Compose
1.1.0-alpha03
для зависимости от Kotlin1.5.30
. ( I74545 )
Версия 1.1.0-альфа02
18 августа 2021 г.
androidx.compose.animation:animation:1.1.0-alpha02
, androidx.compose.animation:animation-core:1.1.0-alpha02
и androidx.compose.animation:animation-graphics:1.1.0-alpha02
выпущены. Версия 1.1.0-alpha02 содержит эти коммиты.
Изменения API
- StartOffset теперь поддерживается в повторяющихся и бесконечных повторах как способ отложить время начала или перемотать анимацию вперед до ее запуска. Это начальное смещение не будет повторяться ( Ic679f , b/195079908 ).
- Новый переход «Вход/Выход» для масштабирования. Его можно использовать в сочетании с другими типами Enter/ExitTransitions. ( I372da , б / 191325593 )
Версия 1.1.0-альфа01
4 августа 2021 г.
androidx.compose.animation:animation:1.1.0-alpha01
, androidx.compose.animation:animation-core:1.1.0-alpha01
и androidx.compose.animation:animation-graphics:1.1.0-alpha01
выпущены. Версия 1.1.0-alpha01 содержит эти коммиты.
Изменения API
-
AnimatedImageVector
и связанные API теперь находятся в новом модулеandroidx.compose.animation:animation-graphics
. ( I60873 )
Исправления ошибок
-
InfiniteAnimationPolicy
перемещен в :compose:ui ( I5eb09 , b/160602714 ).
Версия 1.0
Версия 1.0.5
3 ноября 2021 г.
Выпущены androidx.compose.animation:animation:1.0.5
и androidx.compose.animation:animation-core:1.0.5
. Версия 1.0.5 содержит эти коммиты.
Исправления ошибок
- Исправлен сбой при отслеживании экземпляров производныхStateOf. ( аосп/1792247 )
Версия 1.0.4
13 октября 2021 г.
Выпущены androidx.compose.animation:animation:1.0.4
и androidx.compose.animation:animation-core:1.0.4
. Версия 1.0.4 содержит эти коммиты.
Обновления зависимостей
- Обновлено в зависимости от Kotlin
1.5.31
Версия 1.0.3
29 сентября 2021 г.
Выпущены androidx.compose.animation:animation:1.0.3
и androidx.compose.animation:animation-core:1.0.3
. Версия 1.0.3 содержит эти коммиты.
Обновления зависимостей
- Обновлено в зависимости от Kotlin
1.5.30
Версия 1.0.2
1 сентября 2021 г.
Выпущены androidx.compose.animation:animation:1.0.2
и androidx.compose.animation:animation-core:1.0.2
. Версия 1.0.2 содержит эти коммиты.
Обновлено для поддержки версии Compose 1.0.2
. Compose 1.0.2
по-прежнему совместим с Kotlin 1.5.21
.
Версия 1.0.1
4 августа 2021 г.
Выпущены androidx.compose.animation:animation:1.0.1
и androidx.compose.animation:animation-core:1.0.1
. Версия 1.0.1 содержит эти коммиты.
Обновления зависимостей
- Обновлено в зависимости от Kotlin
1.5.21
.
Версия 1.0.0
28 июля 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0
и androidx.compose.animation:animation-core:1.0.0
. Версия 1.0.0 содержит эти коммиты.
Основные особенности версии 1.0.0
Это первая стабильная версия Compose. Более подробную информацию можно найти в официальном блоге Compose Release !
Известные проблемы
Если вы используете Android Studio Bumblebee Canary 4 или AGP
7.1.0-alpha04
/7.1.0-alpha05
, вы можете столкнуться со следующим сбоем:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
Чтобы исправить это, временно увеличьте minSdkVersion до 24+ в файле
build.gradle
. Эта проблема будет исправлена в следующей версии Android Studio Bumblebee и AGP7.1
. ( р/194289155 )
Версия 1.0.0-rc02
14 июля 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-rc02
и androidx.compose.animation:animation-core:1.0.0-rc02
. Версия 1.0.0-rc02 содержит эти коммиты.
Версия 1.0.0-rc01
1 июля 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-rc01
и androidx.compose.animation:animation-core:1.0.0-rc01
. Версия 1.0.0-rc01 содержит эти коммиты.
Исправления ошибок
-
InfiniteAnimationPolicy
перемещен вandroidx.compose.ui:ui
( I5eb09 , b/160602714 ).
Версия 1.0.0-beta09
16 июня 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-beta09
и androidx.compose.animation:animation-core:1.0.0-beta09
. Версия 1.0.0-beta09 содержит эти коммиты.
Изменения API
- Новый составной
AnimatedContent
. Он управляет изменением своего контента с помощью настраиваемогоContentTransform
по мере поступления нового целевого контента и удаления исходного контента. Для создания индивидуального внешнего вида можно использовать различные комбинации переходов входа и выхода. В рамках преобразования контентаAnimatedContent
автоматически анимирует свой размер в соответствии с входящим контентом. ( I2c3df ) - Удален
ManualFrameClock
. Если вам нужно управлять анимацией, используйте вместо этогоcomposeTestRule.mainClock
. ( I3c3e8 , б/189951065 )
Добавлены правила профиля
В этом выпуске правила профиля добавлены в следующие модули составления ( I14ed6 ):
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
Что такое правила профиля?
Правила профиля для библиотеки указаны в текстовом файле
baseline-prof.txt
расположенном в каталогеsrc/main
или его эквиваленте. В файле указывается правило для каждой строки, где правило в данном случае представляет собой шаблон для сопоставления с методами или классами в библиотеке. Синтаксис этих правил представляет собой расширенный набор удобочитаемого формата профиля ART, который используется при использованииadb shell profman --dump-classes-and-methods ...
. Эти правила принимают одну из двух форм и ориентированы либо на методы, либо на классы.Правило метода будет иметь следующий шаблон:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
И правило класса будет иметь следующий шаблон:
<CLASS_DESCRIPTOR>
Здесь
<FLAGS>
— это один или несколько символовH
,S
иP
указывающие, следует ли пометить этот метод как «Горячий», «Запуск» или «После запуска».<CLASS_DESCRIPTOR>
— это дескриптор класса, которому принадлежит целевой метод. Например, классandroidx.compose.runtime.SlotTable
будет иметь дескрипторLandroidx/compose/runtime/SlotTable;
.<METHOD_SIGNATURE>
является сигнатурой метода и включает имя, типы параметров и типы возвращаемых данных метода. Например, методfun isPlaced(): Boolean
наLayoutNode
имеет подписьisPlaced()Z
.Эти шаблоны могут содержать подстановочные знаки (
**
,*
и?
), чтобы одно правило охватывало несколько методов или классов.
Что делают правила?
Метод с флагом
H
указывает, что этот метод является «горячим» и его следует скомпилировать заранее.Метод с флагом
S
указывает, что этот метод вызывается при запуске и его следует скомпилировать заранее, чтобы избежать затрат на компиляцию и интерпретацию метода во время запуска.Метод с флагом
P
указывает, что это метод, который вызывается после запуска.Класс, присутствующий в этом файле, указывает на то, что он используется во время запуска и должен быть предварительно выделен в куче, чтобы избежать затрат на загрузку классов.
Как это работает?
- Библиотеки могут определять эти правила, которые будут упакованы в артефакты AAR. Когда затем создается приложение, включающее эти артефакты, эти правила объединяются, и объединенные правила используются для создания компактного двоичного профиля ART, специфичного для приложения. Затем ART может использовать этот профиль, когда приложение устанавливается на устройства, чтобы заранее скомпилировать определенное подмножество приложения для повышения производительности приложения, особенно при первом запуске. Обратите внимание, что это не повлияет на отлаживаемые приложения.
Версия 1.0.0-beta08
2 июня 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-beta08
и androidx.compose.animation:animation-core:1.0.0-beta08
. Версия 1.0.0-beta08 содержит эти коммиты.
Исправления ошибок
- ТеперьDetectDragGesures,
detectVerticalGestures
detectHorizontalGestures
будут автоматически учитывать изменение позиции, нет необходимости вызывать Change.consumePositionChange в обратных вызовах onDrag (detectDragGesures
, b/185096350 , b/187320697 ) . -
Modifier.onGloballyPositioned()
был изменен, чтобы сообщать координаты этого модификатора в цепочке модификаторов, а не координаты макета после применения всех модификаторов. Это означает, что теперь порядок модификаторов влияет на то, какие координаты будут сообщаться. ( Ieb67d , р/177926591 )
Версия 1.0.0-beta07
18 мая 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-beta07
и androidx.compose.animation:animation-core:1.0.0-beta07
. Версия 1.0.0-beta07 содержит эти коммиты.
Изменения API
- Новый API
AnimatedVisibility
, который поддерживает видимость, указанную вMutableTransitionState
. Это также позволяет наблюдать состояния анимации внеAnimatedVisibility
черезcurrentState
иisIdle
.- Поддержка нового ребенка в переходный период
- Поддержка пользовательской анимации перехода выхода/входа в AnimatedVisibility с помощью AnimationScope.transition.
- Новый модификатор animateEnterExit, доступный для всех дочерних элементов AnimatedVisibility.
- Устарели API-интерфейсы AnimatedVisibility, которые принимают параметр
initiallyVisible
( I702f3 ).
Версия 1.0.0-beta06
5 мая 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-beta06
и androidx.compose.animation:animation-core:1.0.0-beta06
. Версия 1.0.0-beta06 содержит эти коммиты.
Версия 1.0.0-бета05
21 апреля 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-beta05
и androidx.compose.animation:animation-core:1.0.0-beta05
. Версия 1.0.0-beta05 содержит эти коммиты.
Исправления ошибок
- Файлы AndroidManifest из ui-test-manifest и ui-tooling-data теперь совместимы с Android 12 ( I6f9de , b/184718994 ).
Версия 1.0.0-beta04
7 апреля 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-beta04
и androidx.compose.animation:animation-core:1.0.0-beta04
. Версия 1.0.0-beta04 содержит эти коммиты.
Изменения API
- Публичные экземпляры
RowScope
,ColumnScope
,BoxScope
,BoxWithConstraintsScope
были удалены. ( I4e83e , б/181869067 )
Версия 1.0.0-бета03
24 марта 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-beta03
и androidx.compose.animation:animation-core:1.0.0-beta03
. Версия 1.0.0-beta03 содержит эти коммиты.
Версия 1.0.0-beta02
10 марта 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-beta02
и androidx.compose.animation:animation-core:1.0.0-beta02
. Версия 1.0.0-beta02 содержит эти коммиты.
Исправления ошибок
- Ввести ограничения на публичное использование экспериментальных API ( I6aa29 , b/174531520 ).
Версия 1.0.0-бета01
24 февраля 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-beta01
и androidx.compose.animation:animation-core:1.0.0-beta01
. Версия 1.0.0-beta01 содержит эти коммиты.
Это первый выпуск бета-версии Compose 1.0.0.
Изменения API
-
InteractionState
заменено на[Mutable]InteractionSource
- Интерфейсы отвечают за отправку/сбор событий взаимодействия.
- Вместо передачи
interactionState = remember { InteractionState() }
таким компонентам, какButton
иModifier.clickable()
, используйтеinteractionSource = remember { MutableInteractionSource() }
. - Вместо:
Interaction.Pressed in interactionState
вам следует использовать функции расширения InteractionSource, такие как InteractionSource.collectIsPressedAsState(). - В сложных случаях использования вы можете использовать InteractionSource.interactions для наблюдения за потоком взаимодействий. Дополнительные сведения см. в документации и примерах InteractionSource.
- ( I85965 , б/152525426 , б/171913923 , б/171710801 , б/174852378 )
- Пакеты методов SmoothScrollBy и ScrollBy изменены на
androidx.compose.foundation.gestures.*
( I3f7c1 , b/175294473 ) - Модификаторы размера были переименованы. Modifier.width/height/size были переименованы в requireWidth/requiredHeight/requiredSize. Modifier.preferredWidth/preferredHeight/preferredSize были переименованы в ширину/высоту/размер. ( I5b414 )
- Ориентация перенесена в пакет фундамента. VelocirtTracker перешёл с ui.gesture на ui.input.pointer. ( Iff4a8 , б/175294473 )
- AnimationClockObservable и подклассы были удалены. AnimatedFloat был удален. ( Icde52 , б/177457083 )
- Modifier.draggable теперь принимает DraggableState вместо простой лямбды. вы можете создать состояние с помощью
rememberDraggableState { delta -> }
чтобы получить то же поведение, что и раньше ( Ica70f , b/175294473 ) - API animate, AnimatedValue, AnimatedValue были удалены ( If27bc , b/177457083 ).
- AnimationEndReason.Interrupted удален. CancellationException будет выброшено, если анимация прервется. ( I2cbbc , б/179695417 )
- API TargetAnimation был удален. ( If47d1 , б/177457083 )
Версия 1.0.0-альфа12
10 февраля 2021 г.
Выпущены androidx.compose.animation:animation:1.0.0-alpha12
и androidx.compose.animation:animation-core:1.0.0-alpha12
. Версия 1.0.0-alpha12 содержит эти коммиты.
Изменения API
-
Modifier.pointerInput
теперь требует ключей запоминания, чтобы указать, когда сопрограмма обнаружения ввода указателя должна перезапуститься для новых зависимостей. ( I849cd ) - Bounds переименован в DpRect ( I4b32a ).
- Имя параметра AnimationSpec было унифицировано с анимационным Spec во всей системе анимации. Также ограничьте Enter/ExitTransition приемом FiniteAnimationSpec. ( Ie47c5 , б/177457083 )
- Animatable.snapTo и Animatable.stop теперь являются функциями приостановки ( If4288 ).
- Аналогично тому, как мы ранее удалили компонуемое
state { 0 }
и теперь продвигаем его использование, напримерremember { mutableStateOf(0) }
мы собираемся удалить компонуемоеsavedInstanceState { 0 }
. Вместо этого вам следует использоватьrememberSaveable { mutableStateOf(0) }
, и он будет автоматически сохраняться и восстанавливаться, если тип, используемый внутри MutableState, может быть сохранен в Bundle. Если раньше вы передавали пользовательский объект сохранения, теперь вам нужно использовать новую перегрузку RememberSaveable, которая имеет параметрstateSaver
. The usage will look like this:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
( Ib4c26 , b/177338004 ) - Updated Crossfade's method signature to be more consistent with the rest of the animation system. ( Ib05ed , b/177457083 )
- rememberSavedInstanceState() was renamed to rememberSaveable() and moved to androidx.compose.runtime.saveable package. ( I1366e , b/177338004 )
- RestorableStateHolder was renamed to SaveableStateHolder and moved to androidx.compose.runtime.saveable package. Inner method RestorableStateProvider was renamed to SaveableStateProvider. Generic type was removed so you can just pass Any as a key. Experimental annotation is not needed anymore. ( I0902e , b/174598702 )
- Updated Modifier.animateContentSize API to be consistent with the rest of the animation system. ( I0bf75 , b/177457083 )
- AnimatedValue/Float is now deprecated. Please use Animatable instead. ( I71345 , b/177457083 )
- tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter and pressIndicaitonGestureFilter have been deprecated. Use Modifier.clickable or Modifier.pointerInput with detectTapGestures function instead. ( I6baf9 , b/175294473 )
- Introduced an
InfiniteAnimationPolicy
coroutine context element that will be applied in infinite animations. By default no policy is installed, except when running tests withComposeTestRule
. ( I50ec4 , b/151940543 ) - Destructuring and copy() methods have been removed from several classes where they were rarely used. ( I26702 , b/178659281 )
- Playtime in animation is now unfiied to nanoseconds ( If776a )
- The compose:runtime-dispatch artifact is now deprecated. MonotonicFrameClock can now be found in compose:runtime and AndroidUiDispatcher can be found in compose:ui. ( Ib5c36 )
- Added
Animation.isInfinite
andVectorizedAnimationSpec.isInfinite
that signal if an animation is infinite or not. This can be used in implementations of animations to have special handling of such animations. For example, a special "time remaining" message can be shown, or during tests the animation can be cancelled to prevent waiting for idleness indefinitely. ( Iebb05 , b/151940543 ) - Use Long instead of Uptime as animation time type ( Ie3aa7 , b/177420019 )
Version 1.0.0-alpha11
28 января 2021 г.
androidx.compose.animation:animation:1.0.0-alpha11
and androidx.compose.animation:animation-core:1.0.0-alpha11
are released. Version 1.0.0-alpha11 contains these commits.
Изменения API
- TransitionDefinition-based Transition has been deprecated ( I0ac57 )
- A label field is added for Transition and child animations to be displayed in tools ( I619fb )
- animateAsState is now animateFooAsState, where Foo is the type of the variable being animated. eg Float, Dp, Offset, etc ( Ie7e25 )
- New InfiniteTransition that runs any number of child animations. ( I1da81 )
- Changes Material stateful parameter interfaces to have @Composable functions that return
State<T>
. Adds Animatable.asState() to make it easier to convert an Animatable to a State. Also changes animateElevation to be a suspend extension on Animatable. ( If613c )
Исправления ошибок
- onCommit, onDispose, and onActive have been deprecated in favor of SideEffect and DisposableEffect APIs ( If760e )
- Initial State in updateTransition is now supported ( Ifd51d )
- Content description parameter has been added to the Image and Icon. It is used to provide description to the accessibility services ( I2ac4c )
- invalidate and compositionReference() are now deprecated in favor of currentRecomposeScope and rememberCompositionReference respectively. ( I583a8 )
- Duration and Uptime will be replace with Long milliseconds, and this step removes the dependency of pointer input on those classes. ( Ia33b2 , b/175142755 , b/177420019 )
- clickable, toggleable and selectable can be created outside of composition now ( I0a130 , b/172938345 , b/175294473 )
- Easing has been changed to a functional interface ( Ib14e5 )
- New
items(count: Int)
factory method for scope of LazyColumn/LazyRow/LazyVerticalGrid.items(items: List)
anditemsIndexed(items: List)
are now extension functions so you have to manually import them when used. New extension overloads for Arrays: items(items: Array) and itemsIndexed(Array) ( I803fc , b/175562574 ) - Leverage TestCoroutineDispatcher in testing ( I532b6 )
- Removed PointerInputData and modified PointerInputChange to give it all of PointerInputData's fields. Made PointerInputEvent and PointerInputEventData internal because they aren't used in any public API. ( Ifff97 , b/175142755 )
Version 1.0.0-alpha10
13 января 2021 г.
androidx.compose.animation:animation:1.0.0-alpha10
and androidx.compose.animation:animation-core:1.0.0-alpha10
are released. Version 1.0.0-alpha10 contains these commits.
Изменения API
- Modified Velocity to have component parts and mathematical operations. ( Ib0447 )
- Renamed
@ExperimentalTesting
to@ExperimentalTestApi
to be consistent with similar experimental api annotations ( Ia4502 , b/171464963 ) - Renamed Position to DpOffset and removed getDistance() ( Ib2dfd )
- Removed Any.identityHashCode() public api ( I025d7 )
Исправления ошибок
- New coroutine-based API
Animatable
that ensures mutual exclusiveness among its animations. New DecayAnimationSpec to support multi-dimensional decay animation ( I820f2 , b/168014930 ) -
animate()
is now replaced withanimateAsState()
, which returns aState<T>
instead ofT
. This allows better performance, as the invalidation scope can be narrowed down to where the State value is read. ( Ib179e )
Version 1.0.0-alpha09
16 декабря 2020 г.
androidx.compose.animation:animation:1.0.0-alpha09
and androidx.compose.animation:animation-core:1.0.0-alpha09
are released. Version 1.0.0-alpha09 contains these commits.
Изменения API
- Moved Dp.VectorConverter, Position.VectorConverter, etc to animation-core, and deprecated the old VectorConveters ( If0c4b )
- Introduced a whole new set of Transition APIs with improved ease of use, and support for dynamically added animations, and dynamically calculated animation targets. This APIs are marked experimental for easy differentiation from the TransitionDefinition-based API. ( Ia7fe3 )
Исправления ошибок
- Lambdas in offset modifiers now return IntOffset rather than Float. ( Ic9ee5 , b/174137212 , b/174146755 )
- Deprecate LazyColumnFor, LazyRowFor, LazyColumnForIndexed and LazyRowForIndexed. Use LazyColumn and LazyRow instead ( I5b48c )
- For suspending pointer input APIs, renamed HandlePointerInputScope to AwaitPointerEventScope and handlePointerInput() to awaitPointerEventScope(). ( Idf0a1 , b/175142755 )
- New infiniteRepeatable function for creating an InfiniteRepeatableSpec ( I668e5 )
- Removed ExperimentalPointerInput annotation ( Ia7a24 )
Version 1.0.0-alpha08
2 декабря 2020 г.
androidx.compose.animation:animation:1.0.0-alpha08
and androidx.compose.animation:animation-core:1.0.0-alpha08
are released. Version 1.0.0-alpha08 contains these commits.
Изменения API
- Added lint check for composable lambda parameter naming and position, to check for consistency with Compose guidelines. Also migrated some APIs using
children
as the name for their trailing lambda tocontent
, according to the lint check and guidance. ( Iec48e ) - Previously Deprecated APIs were removed:
-
Modifier.onPositioned
was removed, useModifier.onGloballyPositioned
. -
Modifier.onDraw
was removed, useModifier.onDrawBehind
. -
Modifier.plus
was removed, useModifier.then
. -
Color.Unset
was removed, useColor.Unspecified
. -
PxBounds
class was removed, useRect
instead. - ( Ie9d02 , b/172562222 )
-
- Temporarily added option to let the TestAnimationClock be driven by the MonotonicFrameClock ( I1403b , b/173402197 )
Исправления ошибок
- Renamed Modifier.drawLayer to Modifier.graphicsLayer Also updated related classes to GraphicsLayer as per API council feedback. ( I0bd29 , b/173834241 )
- Added Modifier.scale/rotate APIs as conveniences for drawLayer.
- Renamed Modifier.drawOpacity to Modifier.alpha
- Renamed Modifier.drawShadow to Modifier.shadow ( I264ca , b/173208140 )
- Made PointerInputData's uptime and position fields non-nullable. ( Id468a )
- offsetPx modifiers were renamed to offset. They are now taking lambda parameters instead of State. ( Ic3021 , b/173594846 )
- New APIs for running animations in coroutines ( Ied662 )
- Deprecated Ambients named with
Ambient
as their suffix, and replaced them with new properties prefixed with Ambient, following other Ambients and Compose API guidelines. ( I33440 ) - Time control in tests (TestAnimationClock and its usages) is now experimental ( I6ef86 , b/171378521 )
- Remove old ui-test module and its stubs ( I3a7cb )
-
RestorableStateHolder.withRestorableState
function was renamed toRestorableStateProvider
( I66640 ) - The Alignment interface was updated and made functional. ( I46a07 , b/172311734 )
Version 1.0.0-alpha07
11 ноября 2020 г.
androidx.compose.animation:animation:1.0.0-alpha07
and androidx.compose.animation:animation-core:1.0.0-alpha07
are released. Version 1.0.0-alpha07 contains these commits.
Исправления ошибок
- The foundation AmbientTextStyle, ProvideTextStyle, and AmbientContentColor have been deprecated. Instead use the new versions available in the Material library. For non-Material applications, you should instead create your own design system specific theming ambients that can be consumed in your own components. ( I74acc , b/172067770 )
- foundation.Text has been deprecated and replaced with material.Text. For a basic, unopinionated text API that does not consume values from a theme, see androidx.compose.foundation.BasicText. ( If64cb )
- MeasureResult was moved out of MeasureScope. ( Ibf96d , b/171184002 )
- Several layout related symbols were moved from androidx.compose.ui to androidx.compose.layout.ui. ( I0fa98 , b/170475424 )
Version 1.0.0-alpha06
28 октября 2020 г.
androidx.compose.animation:animation:1.0.0-alpha06
and androidx.compose.animation:animation-core:1.0.0-alpha06
are released. Version 1.0.0-alpha06 contains these commits.
Изменения API
- Enable transitions in ComposeTestRule; remove option to enable the blinking cursor from ComposeTestRule. ( If0de3 )
Version 1.0.0-alpha05
14 октября 2020 г.
androidx.compose.animation:animation:1.0.0-alpha05
and androidx.compose.animation:animation-core:1.0.0-alpha05
are released. Version 1.0.0-alpha05 contains these commits.
Изменения API
- New Animation interface and subclasses: These classes store the start and end conditions for animations, and therefore allow value and velocity to be queried via only playtime ( Ie95bd , b/163329867 )
Исправления ошибок
- OnPositionedModifier is renamed to OnGloballyPositionedModifier and onPositioned() is renamed to onGloballyPositioned(). ( I587e8 , b/169083903 )
Deprecates contentColor() and currentTextStyle() APIs, and replaces them with AmbientContentColor and AmbientTextStyle ambients respectively. You can access the current value by using
.current
on the ambient property, as with any other ambient. This was change was made for consistency and to avoid having multiple ways to accomplish the same thing. Additionally renames some ambient properties to better describe their purpose as follows:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme ( I37b6d )
Version 1.0.0-alpha04
October 1, 2020
androidx.compose.animation:animation:1.0.0-alpha04
and androidx.compose.animation:animation-core:1.0.0-alpha04
are released. Version 1.0.0-alpha04 contains these commits.
Изменения API
- Annotated rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled and textInputServiceFactory with @VisibleForTesting, make them internal API and hide their kdoc ( I554eb , b/168308412 )
Исправления ошибок
- Updated many Graphics APIs
- Updated scale and rotation transformation APIs to consume a single Offset parameter to represent the pivot coordinate instead of separate float parameters for the x/y coordinates in DrawScope and DrawTransform
- Removed Rect.expandToInclude and Rect.join methods
- Updated Radius documentation to say oval in addition to elliptical
- Added documentation to indicate the public constructor for the inline Radius class is not to be called directly but instead Radius objects should be instantiated through their function constructors
- Removed RoundRect APIs to query topRight, bottomRight, bottomCenter, etc.
- Deprecated Rect.shift in favor of Rect.translate
- Removed RoundRect.grow and Rect.shrink APIs
- Renamed RoundRect.outerRect to Rect.boundingRect
- Removed RoundRect.middleRect/tallMiddleRect/wideMiddleRect and Rect.isStadium methods
- Renamed RoundRect.longestSide to RoundRect.maxDimension
- Renamed RoundRect.shortestSide to RoundRect.minDimension
- Changed RoundRect.center to be a property instead of a function
- Updated RoundRect constructor to consume Radius properties instead of individual parameters for x/y radius values
- Removed Size APIs that assumed it was a Rectangle with origin at 0,0
- Added a destructing API to Radius
- Migrated various RoundRect extension functions to be properties instead
- ( I8f5c7 , b/168762961 )
- foundation.Box was deprecated. Please use foundation.layout.Box instead. ( Ie5950 , b/167680279 )
- Stack was renamed to Box. The previously existing Box will be deprecated in favor of the new Box in compose.foundation.layout. The behavior of the new Box is to stack children one on top of another when it has multiple children - this is different from the previous Box, which was behaving similar to a Column. ( I94893 , b/167680279 )
- Box decoration parameters have been deprecated. If you want to have decorations/padding on your box, use Modifiers instead (Modifier.background, Modifier.border, Modifier.padding) ( Ibae92 , b/167680279 )
- We prevented static imports of contents of layout scopes (eg alignWithSiblings in RowScope). The explicit scope alternative should be used instead:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }
. ( I216be , b/166760797 )
Version 1.0.0-alpha03
16 сентября 2020 г.
androidx.compose.animation:animation:1.0.0-alpha03
and androidx.compose.animation:animation-core:1.0.0-alpha03
are released. Version 1.0.0-alpha03 contains these commits.
Исправления ошибок
- Usages of gravity were consistently renamed to align or alignment in layout APIs. ( I2421a , b/164077038 )
Version 1.0.0-alpha02
2 сентября 2020 г.
androidx.compose.animation:animation:1.0.0-alpha02
and androidx.compose.animation:animation-core:1.0.0-alpha02
are released. Version 1.0.0-alpha02 contains these commits.
Изменения API
Added
ManualFrameClock.hasAwaiters
to see if anything is awaiting a frame from that clock;runWithManualClock
as a replacement forrunBlocking
when running tests that need a ManualFrameClock;TestUiDispatcher.Main
that gives easy access to the main UI dispatcher in your tests.Например:
@Test fun myTest() = runWithManualClock { clock -> // set some compose content withContext(TestUiDispatcher.Main) { clock.advanceClock(1000L) } if (clock.hasAwaiters) { println("The clock has awaiters") } else { println("The clock has no more awaiters") } }
( I0a85b , b/161247083 )
Исправления ошибок
onPreCommit is deprecated; onCommit now has onPreCommit's behavior.
onCommit and onActive now run in the same choreographer frame that the composition changes committed in rather than at the beginning of the next choreographer frame. ( I70403 )
Version 1.0.0-alpha01
26 августа 2020 г.
androidx.compose.animation:animation:1.0.0-alpha01
and androidx.compose.animation:animation-core:1.0.0-alpha01
are released. Version 1.0.0-alpha01 contains these commits.
Version 0.1.0-dev
Version 0.1.0-dev17
19 августа 2020 г.
androidx.compose.animation:animation:0.1.0-dev17
and androidx.compose.animation:animation-core:0.1.0-dev17
are released. Version 0.1.0-dev17 contains these commits.
Новые функции
Изменения API
- Offset has become an inline class ( Iaec70 )
- IntOffset is now an inline class ( Iac0bf )
- IntSize is now an inline class ( I2bf42 )
AnimatedVisibilty composable animates the appearance and disappearance of the child content.
EnterTransition and ExitTransition are introduced to work with AnimatedVisibilty composable to provide 3 different typs of appearance and disappearance animation: fade, slide, and expand/shrink the content. The different types of animations can be combined to achieve more bespoke look and feel. ( Idda11 )
Deprecated PxBounds in favor of Rect. Updated all usages of PxBounds with rect and added proper deprecate/replace with annotations to assist with the migration. ( I37038 , b/162627058 )
Исправления ошибок
-
PlacementScope.placeAbsolute()
was renamed toPlacementScope.place()
, and the previousPlacementScope.place()
was renamed toPlacementScope.placeRelative()
. As a result, thePlacementScope.place()
method will not automatically mirror the position in right-to-left contexts anymore. If this is desired, usePlacementScope.placeRelative()
instead. ( I873ac , b/162916675 ) - The
state { ... }
composable is now deprecated in favor of explicit calls toremember { mutableStateOf(...) }
for clarity. This reduces the overall API surface and number of concepts for state management, and matches theby mutableStateOf()
pattern for class property delegation. ( Ia5727 )
Version 0.1.0-dev16
5 августа 2020 г.
androidx.compose.animation:animation:0.1.0-dev16
and androidx.compose.animation:animation-core:0.1.0-dev16
are released. Version 0.1.0-dev16 contains these commits.
Изменения API
- Built-in vector converters to convert built-in units are now accessible via
Foo.VectorConverter
. egDp.VectorConverter
,Color.VectorConverter
,Float.VectorConverter
, etc ( I3e273 ) - Support end listener in
Modifier.animateContentSize()
such that when size change animation finishes, the listener will be notified, along with start/end size of the animation. ( I277b2 ) - New animateContentSize modifier that animates the layout size change of its child modifier ( Ieffdc )
Added
MonotonicFrameAnimationClock
that enables you to use a MonotonicFrameClock as anAnimationClockObservable
to bridge the gap between the new coroutines based clocks and APIs that still use the old callback based clocks.The
MonotonicFrameClock
equivalent ofManualAnimationClock
is nowManualFrameClock
. ( I111c7 , b/161247083 )
Исправления ошибок
- The APIs for right-to-left support has been updated. LayoutDirectionAmbient has been added, which can be used to read and change the layout direction. Modifier.rtl and Modifier.ltr have been removed. ( I080b3 )
- Require type T to be explicitly specified for transitionDefinition. ( I1aded )
- foundation.shape.corner package were flatten to foundation.share ( I46491 , b/161887429 )
- Modifier.plus has been deprecated, use Modifier.then instead. 'Then' has a stronger signal of ordering, while also prohibits to type
Modifier.padding().background() + anotherModifier
, which breaks the chain and harder to read ( Iedd58 , b/161529964 ) - Modifier.drawBackground has been renamed to Modifier.background ( I13677 )
Version 0.1.0-dev15
22 июля 2020 г.
androidx.compose.animation:animation:0.1.0-dev15
and androidx.compose.animation:animation-core:0.1.0-dev15
are released. Version 0.1.0-dev15 contains these commits.
Dependencies Update
- To use the
0.1.0-dev15
version of Compose, you will need to update your dependencies according to the new code snippets shown above in Declaring dependencies .
Изменения API
- Transition API has been changed to return a TransitionState instead of passing the TransitionState to children. This makes the API more consistent with animate() APIs. ( I24e38 )
- Modifier parameter added for Crossfade ( I87cfe , b/159706180 )
- Use AnimationSpec instead of AnimationBuilder in the top level APIs to clarify the concept of static animation specification
- Improve the transition DSL by removing the lambda requirement for creating AnimationSpecs such as tween, spring. They instead take constructor params directly.
- Improve the overall ease of use of AnimationSpec opening up constructors instead of relying on builders
- Change the duration and delay for KeyFrames and Tween to Int. This eliminates unnecessary type casts and method overloading (for supporting both Long and Int). ( Ica0b4 )
- Replaced usage of IntPx with Int. Replaced IntPxPosition with IntOffset. Replaced IntPxSize with IntSize. ( Ib7b44 )
- In order to consolidate the number of classes used to represent sizing information, standardize on usage of the Size class instead of PxSize. This provides the benefits of an inline class to leverage a long to pack 2 float values to represent width and height represented as floats. ( Ic0191 )
- In order to consolidate the number of classes used to represent positioning information, standardize on usage of the Offset class instead of PxPosition. This provides the benefits of an inline class to leverage a long to pack 2 float values to represent x and y offsets represented as floats. ( I3ad98 )
- Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I086f4 )
- Added animate() support for Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds, and AnimationVector ( Ib7518 )
- Crossfade now accepts optional AnimationBuilder param to allow configuring the animation ( I6d6e0 )
- Replaced all nullable Color uses in API with non-nullable and use Color.Unset instead of null ( Iabaa7 )
- Removed ValueHolder class. Restructured AnimatedValue, AnimatedFloat classes to make the animation value field abstract so that subclasses can watch the value update.
- Added model classes for AnimatedValue, AnimatedFloat, etc.
- Added a new set of light-weight @Composable API for animating between values. ( I79530 )
- Breaking changes to the ambients API. See log and
Ambient<T>
documentation for details ( I4c7ee , b/143769776 ) - New repeat mode: Reverse. This mode reverses the previous iteration as the animation repeats in RepeatableSpec or VectorizedRepeatableSpec. ( Ibe0f5 )
- API additions to ManualAnimationClock:
hasObservers: Boolean
and constructor parameterdispatchOnSubscribe: Boolean
( Iaa134 ) - Added APIs for getting min/max bounds in AnimatedFloat ( Icd9cc )
Исправления ошибок
-
runOnIdleCompose
renamed torunOnIdle
( I83607 ) - Several testing APIs were renamed to be more intuitive. All findXYZ APIs were renamed to onNodeXYZ. All doXYZ APIs were renamed to performXYZ. ( I7f164 )
- Introduced low level stateless animation APIs. These APIs ( I63bf7 )
- The Recompose composable is no longer a useful abstraction. Most recomposition should happen as a result of MutableState assignments. For anything beyond that, it is recommended that you use the
invalidate
function to trigger a recomposition of the current scope. ( Ifc992 ) - Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters. Deleted Px class in its entirety ( I3ff33 )
- Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( Id3434 )
- Crossfade can now work with null as initial value ( Iad6a4 , b/155947711 )
- Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I19d02 )
- Consolidated CanvasScope implementations so there is now just DrawScope and ContentDrawScope Renamed CanvasScope to DrawScope. Updated DrawScope to implement Density interface and provide LayoutDirection Deleted DrawScope subclass in ContentDrawScope Painter and PainterModifier have been updated to no longer maintain an RTL property themselves as DrawScope provides this already without manually providing it ( I1798e )
- Updated higher level compose APIs that expose a Canvas to expose CanvasScope instead. This removes the need for consumers to maintain their own Paint objects. For consumers that still require access to a Canvas they can use the drawCanvas extension method which provides a callback to issue drawing commands with the underlying Canvas. ( I80afd )
- Added verticalGravity and horizontalGravity parameters to Row and Column, respectively. ( I7dc5a )
- ui-text module is renamed as ui-text-core ( I57dec )
- Improve DrawModifier API:
- Made the receiver scope for draw() ContentDrawScope
- Removed all parameters on draw()
- DrawScope has same interface as former CanvasScope
- ContentDrawScope has drawContent() method ( Ibaced , b/152919067 )
-
runOnIdleCompose
andrunOnUiThread
are now global functions instead of methods on ComposeTestRule. ( Icbe8f ) - [Mutable]State property delegate operators moved to extensions to support Kotlin 1.4 property delegate optimizations. Callers must add imports to continue using
by state { ... }
orby mutableStateOf(...)
. ( I5312c ) - ColoredRect has been deprecated. Use
Box(Modifier.preferredSize(width, height).drawBackground(color))
instead. ( I499fa , b/152753731 ) - Replaced Modifier plus operator with factory extension functions ( I225e4 )
- Deprecated Center composable. It should be replaced either with the LayoutSize.Fill + LayoutAlign.Center modifier, or with one of the Box or Stack composables with suitable modifiers applied ( Idf5e0 )
- Renamed LayoutFlexible to LayoutWeight. Renamed tight parameter to fill. ( If4738 )
- The Opacity composable function has been replaced with the drawOpacity modifier. ( I5fb62 )
- Tests using AndroidComposeTestRule now provide an animation clock at the root of the composition that allows it to be paused, resumed and advanced manually. ( Id54c5 )
- Support right-to-left direction in LayoutPadding modifier ( I9e8da )
- Density and DensityScope were merged into one interface. Instead of ambientDensity() you can now use DensityAmbient.current. Instead of withDensity(density) just with(density) ( I11cb1 )
- Added copy methods to various inline class types including:
- Компенсировать
- Размер
- Радиус
- Движение
- TransformOrigin
- Deprecated Size.copy companion object method favor of instance copy method ( Ife290 , b/159905651 )
- androidx.compose.ViewComposer has been moved to androidx.ui.node.UiComposer androidx.compose.Emittable has been removed. It was redundant with ComponentNode. androidx.compose.ViewAdapters has been removed. They are no longer a supported use case. Compose.composeInto has been deprecated. Use
setContent
orsetViewContent
instead. Compose.disposeComposition has been deprecated. Use thedispose
method on theComposition
returned bysetContent
instead. androidx.compose.Compose.subcomposeInto has moved to androidx.ui.core.subcomposeInto ComponentNode#emitInsertAt has been renamed to ComponentNode#insertAt ComponentNode#emitRemoveAt has been renamed to ComponentNode#removeAt ComponentNode#emitMode has been renamed to ComponentNode#move ( Idef00 )