Создание анимации

Создавайте анимацию в своих приложениях Jetpack Compose, чтобы улучшить взаимодействие с пользователем.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
11 декабря 2024 г. 1.7.6 - - 1.8.0-альфа07

Структура

Compose — это комбинация 7 идентификаторов групп Maven в androidx . Каждая группа содержит целевой подмножество функций, каждая из которых имеет собственный набор примечаний к выпуску.

В этой таблице описаны группы и ссылки на каждый набор примечаний к выпуску.

Группа Описание
сочинить.анимацию Создавайте анимацию в своих приложениях Jetpack Compose, чтобы улучшить взаимодействие с пользователем.
compose.compiler Преобразуйте функции @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 Compiler.
Compose.ui Фундаментальные компоненты пользовательского интерфейса, необходимые для взаимодействия с устройством, включая макет, рисование и ввод.

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

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

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

классный

dependencies {
    implementation "androidx.compose.animation:animation:1.7.5"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Котлин

dependencies {
    implementation("androidx.compose.animation:animation:1.7.5")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

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

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

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

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

Версия 1.8

Версия 1.8.0-альфа07

11 декабря 2024 г.

Выпущен androidx.compose.animation:animation-*:1.8.0-alpha07 . Версия 1.8.0-alpha07 содержит эти коммиты .

Новые возможности

  • Поддерживает предварительный просмотр в Pager, отличая проход предпросмотра от прохода подхода для сохранения элементов и использования прокрутки. ( б/371802474 )

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

  • Устраняет редкий сбой, при котором общий элемент создается, но никогда не измеряется и не размещается, поскольку требуется, чтобы общий элемент отображался на месте хотя бы один раз, прежде чем отображать его в наложении. ( б/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 , б / 375351468 )
  • Набор API-интерфейсов AnimatedImageVector теперь стабилен. ( I7174b , б / 261436267 )

Версия 1.8.0-альфа05

30 октября 2024 г.

Выпущен androidx.compose.animation:animation-*:1.8.0-alpha05 . Версия 1.8.0-alpha05 содержит эти коммиты .

Новые возможности

  • Lookahead теперь поддерживается в LazyGrid . Это включает в себя различение прохода просмотра и прохода подхода при прокрутке, составлении/удалении элемента и анимации элемента, а также использование прохода просмотра вперед в качестве источника истины для прокрутки и цели анимации элемента.

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

  • Обновите внутренние состояния для преобразования размера AnimatedContent при воссоздании перехода. Это гарантирует, что информация о целевом размере всегда будет актуальной. ( б / 372512085 )

Версия 1.8.0-альфа04

16 октября 2024 г.

Выпущен androidx.compose.animation:animation-*:1.8.0-alpha04 . Версия 1.8.0-alpha04 содержит эти коммиты .

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

  • Исправлена ​​ошибка, приводившая к сбою некоторых кривых замедления в определенные промежутки времени.
  • Исправлена ​​ошибка, приводившая к неправильному выравниванию Modifier.animateContentSize при RTL. ( 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.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 при RTL. ( 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 позволяющие выбирать между масштабированием и повторным измерением. Предыдущие API scaleIn/OutSharedContentToBounds устарели. ( I0d41a )

Улучшения существующих API:

  • Новый Modifier.animateContentSize , который принимает дополнительный параметр для пользовательского выравнивания содержимого. ( I5623a , б / 269803907 )
  • Новая экспериментальная DeferredTargetAnimation для анимации размера, положения или любой другой цели, которая неизвестна во время создания экземпляра. ( I60745 )
  • SeekableTransitionState заменяет snapTo() на seekTo() и добавляет snapTo() , который немедленно изменяет состояние на состояние назначения без какой-либо анимации.
  • Теперь вы можете передать значение periodicBias (Float) в keyframesWithSpline , это позволит сделать начальную и конечную скорость сплайна одинаковой. Полезно для повторяющихся анимаций с использованием сплайнов. Смещение показывает, насколько каждая скорость (начальная и конечная) изменяется для достижения периодичности. ( Ic1e6c , б/292114811 )

Следующие API стали стабильными или были удалены:

  • AnimatedVisibilityScope.transition теперь является стабильным API. 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-бета05

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-бета03

12 июня 2024 г.

Выпущен androidx.compose.animation:animation-*:1.7.0-beta03 . Версия 1.7.0-beta03 содержит эти коммиты .

Версия 1.7.0-бета02

29 мая 2024 г.

Выпущен androidx.compose.animation:animation-*:1.7.0-beta02 . Версия 1.7.0-beta02 содержит эти коммиты .

Версия 1.7.0-бета01

14 мая 2024 г.

Выпущен androidx.compose.animation:animation-*:1.7.0-beta01 . Версия 1.7.0-beta01 содержит эти коммиты .

Изменения API

  • Новые resizeModes ( ScaleToBounds и RemeasureToBounds ) для sharedBounds позволяющие выбирать между масштабированием и повторным измерением. Предыдущие API scaleIn/OutSharedContentToBounds устарели. ( I0d41a )

Внешний вклад

  • Экспериментальная версия SharedTransitionScope теперь представляет собой интерфейс, а не класс Стивена Шона. ( Iaf856 , б/338415048 , б/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

  • AnimatedVisibilityScope.transition теперь является стабильным API. Modifier.animateEnterExit(..) также стал стабильным. ( I6c1d1 )
  • ApproachLayoutModifierNode и Modifier.approachLayout теперь стабильны, а новые isMeasurementApproachInProgress() и isPlacementApproachInProgress() заменяют старые isMeasurementApproachComplete() и isPlacementApproachComplete() соответственно.
  • Удален устаревший модификатор intermediateLayout . ( I3e91c )
  • Теперь вы можете передать значение periodicBias (Float) в keyframesWithSpline , это позволит сделать начальную и конечную скорость сплайна одинаковой. Полезно для повторяющихся анимаций с использованием сплайнов. Смещение показывает, насколько каждая скорость (начальная и конечная) изменяется для достижения периодичности. ( Ic1e6c , б/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 , б/330152398 , б/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 , б / 269803907 )
  • Новая экспериментальная DeferredTargetAnimation для анимации размера, положения или любой другой цели, которая неизвестна во время создания экземпляра. ( I60745 )

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

7 февраля 2024 г.

Выпущен androidx.compose.animation:animation-*:1.7.0-alpha02 . Версия 1.7.0-alpha02 содержит эти коммиты.

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

  • Исправление совместимости для KeyframesSpec . ( I2bdf3 , б/322214617 )
  • Исправлен Modifier.animateContentSize который не сбрасывался должным образом при использовании в LazyList . ( I070512 , б/322525716 )
  • Исправлено исключение IllegalStateException в KeyframesSpec при использовании меток времени, выходящих за пределы допустимого диапазона. ( I341b8 , б/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 , б/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-бета03

13 декабря 2023 г.

Выпущен androidx.compose.animation:animation-*:1.6.0-beta03 . Версия 1.6.0-beta03 содержит эти коммиты.

Изменения API

  • Временно удалены scaleInToFitContainer и scaleOutToFitContainer из AnimatedContentTransitionScope поскольку они требуют упреждающего просмотра. Они будут доступны, если упреждающий просмотр включен по умолчанию или включен в будущих выпусках.

Версия 1.6.0-бета02

29 ноября 2023 г.

Выпущен androidx.compose.animation:animation-*:1.6.0-beta02 . Версия 1.6.0-beta02 содержит эти коммиты.

Версия 1.6.0-бета01

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 )
  • Реализуйте равенство и хеш-код для PageSize.Fixed . ( Ие3еде , б/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 , б/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 Составное развлечение и интерфейс теперь стабильны. ( Еслиb2ce )

Версия 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 )
  • больше исключений из перечисления 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 , б / 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 ) сообщал о предупреждении о проверке с недопустимым исправлением. Теперь инспекция порекомендует переехать в правильный объект недвижимости. ( Иба953 , б/287279257 )

  • Доступна дополнительная проверка, рекомендующая перенести вызовы mutableStateOf() в соответствующие им специализированные типы для примитивов. Его идентификатор lint — AutoboxingStateCreation . Ранее эта проверка была включена по умолчанию для всех проектов. Чтобы увидеть это предупреждение в редакторе Android Studio и в результатах lint вашего проекта, измените его серьезность с информационного на предупреждение (или выше), объявив warning "AutoboxingStateCreation" внутри конфигурации вашего модуля build.gradle или build.gradle.kts как показано ( I34f7e ):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

Версия 1.5.0-бета03

28 июня 2023 г.

Выпущен androidx.compose.animation:animation-*:1.5.0-beta03 . Версия 1.5.0-beta03 содержит эти коммиты.

Версия 1.5.0-бета02

7 июня 2023 г.

Выпущен androidx.compose.animation:animation-*:1.5.0-beta02 . Версия 1.5.0-beta02 содержит эти коммиты.

Версия 1.5.0-бета01

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-бета02

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

  • Интерфейсы в библиотеках Compose теперь созданы с использованием методов интерфейса 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-бета03 содержит эти коммиты.

Изменения 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-бета02 содержит эти коммиты.

Версия 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-бета01 содержит эти коммиты.

  • Это первая бета -версия 1.2! С момента последней Альфа нет изменений.

Версия 1.2.0-Alpha08

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-Alpha07

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-Alpha06

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 , b/185760237 )

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

  • Обновленные API -интерфейсы Vector Graphics для использования правильной композиционной аннотации @VectorComposable вместо @UiComposable ( i942bc )

Версия 1.2.0-Alpha05

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 , b/161675988 )

Версия 1.2.0-Alpha04

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-Alpha03

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-Alpha02

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-Alpha01

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 в анимацию и анимацию. ( 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 , B/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
  • Улучшения по поводу достижения целевого размера
  • Обратите внимание, что в отношении сочинения 1.0 компоненты материала будут расширять место для макета, чтобы соответствовать рекомендациям доступности материала для прикосновения целевого размера . Например, Target Button Touch будет расширяться до минимального размера 48x48DP, даже если вы установите размер кнопки меньше. Это выравнивает материал с тем же поведением компонентов дизайна материала, обеспечивая постоянное поведение, если вы смешиваете виды и сочиняете. Это изменение также гарантирует, что при создании вашего пользовательского интерфейса используется компоненты Compose Material, будут выполнены минимальные требования к доступающей целевой доступности.
  • Стабильная поддержка навигационной железной дороги
  • Выпускники ряда ранее экспериментальных 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-бета04

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

  • Добавлен новый модификатор модификатора. Согласно для того, чтобы можно было наблюдать изменение размещения. Поэтому дополнительные изменения в смещении модификатора ребенка могут быть внесены на основе наблюдаемого изменения размещения. ( I558fd )
  • Новая поддержка ContentKey в CrossFade. ContentQue будет использоваться для проверки равенства с помощью системы анимации. Поэтому пользовательские различия на состояниях могут быть достигнуты за счет указания подходящего контента для разных состояний.

    ContentKey также будет использоваться в качестве ключа для сохранения и восстановления контента. ( I2E055 , B/197907070 )

Версия 1.1.0-бета02

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-Alpha06

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-Alpha05

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 )

  • Перерыв : Lambdas на заводах Enter/ExitTransition были перемещены на последнюю позицию в списке параметров. ( I5072d )

Версия 1.1.0-Alpha04

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-Alpha03

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 содержит эти коммиты.

Новые возможности

  • Обновленная композа 1.1.0-alpha03 чтобы зависеть от Kotlin 1.5.30 . ( I74545 )

Версия 1.1.0-Alpha02

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/Exit для масштаба. Его можно использовать в сочетании с другими типами ввода/выходов. ( I372DA , B/191325593 )

Версия 1.1.0-Alpha01

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 )

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

Версия 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 содержит эти коммиты.

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

  • Исправлена ​​экземпляры отслеживания аварии. ( AOSP/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 и AGP 7.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-бета09

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 Composable. Он управляет изменением своего контента с помощью настраиваемого ContentTransform в качестве нового целевого контента и исходного контента. Различная комбинация переходов ввода и выхода может использоваться для создания индивидуального вида и ощущения. В рамках преобразования контента AnimatedContent автоматически анимирует свой размер, чтобы соответствовать входящему контенту. ( I2c3df )
  • Удален ManualFrameClock . Если вам нужно управлять анимациями, вместо этого используйте composeTestRule.mainClock . ( I3c3e8 , b/189951065 )

Добавлены правила профиля

Этот релиз добавляет правила профиля к следующим модулям Compose ( i14ed6 ):

  • Androidx.compose.animation
  • Androidx.compect.animation-Core
  • Androidx.compose.foundation
  • Androidx.compose.foundation-layout
  • Androidx.compes.material
  • Androidx.compes.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 или эквивалент. Файл указывает правило на строку, где правило в этом случае является шаблоном для сопоставления методов или классов в библиотеке. Синтаксис для этих правил является суперсетом формата профиля искусства, читаемого на человеку, который используется при использовании adb shell profman --dump-classes-and-methods ... Эти правила принимают одну из двух форм для нацеливания на методы или классы.

  • Правило метода будет иметь следующую шаблон:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • И правило класса будет иметь следующий шаблон:

    <CLASS_DESCRIPTOR>
    
  • Здесь <FLAGS> это один или несколько символов H , S и P , чтобы указать, следует ли пометить этот метод как «горячий», «стартап» или «Post Startup».

  • <CLASS_DESCRIPTOR> является дескриптором для класса, которому принадлежит целевой метод. Например, класс androidx.compose.runtime.SlotTable будет иметь дескриптор Landroidx/compose/runtime/SlotTable; .

  • <METHOD_SIGNATURE> является подписью метода и включает имя, типы параметров и типы возврата метода. Например, метод fun isPlaced(): Boolean на LayoutNode имеет подпись isPlaced()Z .

  • Эти шаблоны могут иметь подстановочные знаки ( ** , * и ? ), Чтобы иметь единое правило, охватывать несколько методов или классов.

Что делают правила?

  • Метод, который имеет флаг H указывает, что этот метод является «горячим» методом и должен быть скомпилирован заранее.

  • Метод, который имеет флаг S указывает на то, что это метод, который вызывается при запуске, и должен быть скомпилирован заранее, чтобы избежать стоимости компиляции и интерпретации метода во время запуска.

  • Метод, который имеет флаг P указывает, что это метод, который называется после запуска.

  • Класс, который присутствует в этом файле, указывает на то, что он используется во время запуска и должен быть предварительно выделен в куче, чтобы избежать стоимости загрузки класса.

Как это работает?

  • Библиотеки могут определить эти правила, которые будут упакованы в артефакты AAR. Когда приложение затем строится, которое включает эти артефакты, эти правила объединяются вместе, и объединенные правила используются для создания компактного бинарного профиля искусства, характерного для приложения. Искусство может затем использовать этот профиль, когда приложение установлено на устройствах, чтобы заранее собрать конкретное подмножество приложения для повышения производительности приложения, особенно первого запуска. Обратите внимание, что это не повлияет на отказываемые приложения.

Версия 1.0.0-бета08

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 будут использовать изменение позиции автоматически, не нужно вызовать изменение. ConsumepositionChange в обратных вызовах Ondrag ( i42fc4 , b/185096350 , b/187320697 )
  • Modifier.onGloballyPositioned() был изменен, чтобы сообщить о координатах этого модификатора в цепочке модификатора, а не координаты макета после применения всех модификаторов. Это означает, что теперь упорядочение модификаторов влияет на то, что будут сообщать о координатах. ( IEB67D , B/177926591 )

Версия 1.0.0-бета07

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 .
    • Новая поддержка перехода детей при переходе
    • Поддержать пользовательскую анимацию перехода/ввода анимации в AnimatedVisibuble с использованием animationCope.transition
    • Новый модификатор AnimateEnterexit, доступный для всех детей Animatedvisibility
    • Установил API -интерфейсы Animatedvisibility, которые принимают initiallyVisible параметр ( i702f3 )

Версия 1.0.0-бета06

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-бета04

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 , b/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-бета02

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 Beta.

Изменения API

  • InteractionState был заменен [Mutable]InteractionSource
    • Интерфейсы несут ответственность за излучение / сборы событий взаимодействия.
    • Вместо передачи interactionState = remember { InteractionState() } interactionSource = remember { MutableInteractionSource() } таким компонентам, как Button и Modifier.clickable() .
    • Вместо: Interaction.Pressed in interactionState вы должны вместо этого использовать функции расширения на взаимодействии, например, InteractionSource.collectispressedAsstate ().
    • Для сложных вариантов использования вы можете использовать InteractionSource.Interactions для наблюдения за потоком взаимодействий. См. Документацию и образцы InteractionSource для получения дополнительной информации.
    • ( I85965 , B/152525426 , B/171913923 , B/171710801 , B/174852378 )
  • Smoothscrollby и Scollby Methods 'Пакеты изменяются на androidx.compose.foundation.gestures.* ( I3F7C1 , B/1752944473 )
  • Модификаторы размера были переименованы. MODIFIER.Width/высота/размер были переименованы в требуемый Whidth/TreadHeight/обязанный определение. MODIFIER.PREFERREDWIDTH/PREVENTREDHEight/PreferredSize был переименован в ширину/высоте/размере. ( I5b414 )
  • Ориентация была перенесена в пакет Foundation. VelocirtTracker перешел от UI.Sture в UI.Input.Pointer. ( Iff4a8 , b/1752944473 )
  • AnimationClockobServable и подклассы были удалены. AnimatedFloat был удален. ( ICDE52 , B/177457083 )
  • Modifier.Daggable теперь принимает Draggablestate вместо простой лямбды. Вы можете создать состояние через rememberDraggableState { delta -> } чтобы получить то же поведение, что и раньше ( ICA70F , B/175294473 )
  • Animate, AnimatedValue, AnimatedValue API были удалены ( IF27BC , B/177457083 )
  • AnimationEndreason. Международный удаляется. CancellationException будет брошен, если анимация будет прервана. ( I2CBBC , B/179695417 )
  • TargetAnimation API был удален. ( If47d1 , b/177457083 )

Версия 1.0.0-Alpha12

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 )
  • Границы были переименованы в DPRECT ( I4B32A )
  • Unified Имя параметра для AnimationSpec для анимации по всей системе анимации. Также ограничивайте Enter/Exttransition, чтобы принять FiniteanimationsPec. ( IE47C5 , B/177457083 )
  • Animatable.snapto и Animatable.stop теперь приостановлены функции ( IF4288 )
  • Подобно тому, как мы ранее удалили state { 0 } композиционное и теперь продвигаем использование, как remember { mutableStateOf(0) } мы собираемся удалить savedInstanceState { 0 } . Вместо этого вы должны использовать rememberSaveable { mutableStateOf(0) } и он будет сохранять и восстановить автоматически, если тип, используемый внутри мутабестата, может храниться в пакете. Если ранее вы передали пользовательский объект Save Saver, теперь вам нужно использовать новую перегрузку Remememberableable, которая имеет параметр stateSaver . Использование будет выглядеть следующим образом: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } ( ib4c26 , b/177338004 )
  • Обновленная подпись метода CrossFade, чтобы быть более согласованной с остальной частью системы анимации. ( IB05ed , B/177457083 )
  • RemembersAvedInstanceState () был переименован в Rememmersableable () и перенесен на Androidx.compose.runtime.savable Package. ( I1366E , B/177338004 )
  • RestorAbleStateholder был переименован в Saveablestateholder и переехал на пакет Androidx.compose.runtime.savable. Внутренний метод RestorAbleStateProvider был переименован в SaveablestateProvider. Общий тип был удален, так что вы можете просто передать любой в качестве ключа. Экспериментальная аннотация больше не нужна. ( I0902E , B/174598702 )
  • Обновленный модификатор.animateContentsize API для соответствия остальной системе анимации. ( I0BF75 , B/177457083 )
  • AnimatedValue/Float теперь устарел. Пожалуйста, используйте вместо этого. ( I71345 , B/177457083 )
  • Тупессоифильтер, DoubleTapGestureFilter, LongpressGessureFilter и PressIndicaitongestureFilter были устарели. Используйте MODIFIER.CLICKABLE или MODIFIER.POINTERINPUT с функцией DETECTTAPSTUREREURS. ( I6baf9 , b/1752944473 )
  • Представил элемент контекстного элемента InfiniteAnimationPolicy Coroutine, который будет применен в бесконечной анимации. По умолчанию не установлена ​​политика, за исключением случаев, когда они запускают тесты с ComposeTestRule . ( I50ec4 , b/151940543 )
  • Методы разрушения и копии () были удалены из нескольких классов, где они редко использовались. ( I26702 , B/178659281 )
  • Время игры в анимации теперь не подготовлено к наносекундам ( IF776A )
  • Комплекс: Артефакт Druntime-Dispatch теперь устарел. Теперь можно найти MonotonicFrameClock: Compose: Среда выполнения и AndroidEIDISPATCHER можно найти в Compose: UI. ( IB5C36 )
  • Добавлена Animation.isInfinite и VectorizedAnimationSpec.isInfinite , который сигнализирует, является ли анимация бесконечна или нет. Это может быть использовано в реализации анимации для особой обработки таких анимаций. Например, может быть показано специальное сообщение «оставшееся время», или во время тестов анимация может быть отменена, чтобы предотвратить ожидание праздности на неопределенный срок. ( IEBB05 , B/151940543 )
  • Используйте долго, а не время, как тип времени анимации ( IE3AA7 , B/177420019 )

Версия 1.0.0-Альфа11

28 января 2021 г.

androidx.compose.animation:animation:1.0.0-alpha11 и androidx.compose.animation:animation-core:1.0.0-alpha11 выпускаются. Версия 1.0.0-Alpha11 содержит эти коммиты.

Изменения API

  • Переход на основе перехода на основе на основе рефиниции устарел ( I0AC57 )
  • Для перехода и детской анимации добавляется поле этикетки ( I619FB )
  • AnimateSstate теперь AnimateFoosState, где Foo - это тип переменной, которая анимированная. Например, Float, DP, смещение и т. Д. ( IE7E25 )
  • Новое Infinitetransition, которое использует любое количество детских анимаций. ( I1da81 )
  • Изменения материалов Состояние параметров интерфейсы, чтобы иметь @composable функции, которые возвращают State<T> . Добавляет anynaTable.asstate (), чтобы облегчить конвертируемость анимируемого в состояние. Также изменяет AnimateLevation как приостановленное расширение на анимируемом. ( If613c )

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

  • Oncommit, Ondispose и Onactive были устарели в пользу API -интерфейсов SideEffect и OndayableEffect ( IF760E )
  • Первоначальное состояние в UpdateTransition теперь поддерживается ( IFD51D )
  • Параметр описания содержания был добавлен в изображение и значок. Он используется для предоставления описания услугам доступности ( i2ac4c )
  • Invalidate и CompositionReference () в настоящее время устанавливаются в пользу CurrentRecomposeScope и MamescompositionReference соответственно. ( I583a8 )
  • Продолжительность и время безотказной работы будут заменены длинными миллисекундами, и этот шаг удаляет зависимость ввода указателя от этих классов. ( IA33B2 , B/175142755 , B/177420019 )
  • Clickable, Toggleable и Selectable может быть создан за пределами композиции сейчас ( I0A130 , B/172938345 , B/1752944473 )
  • Смягчение было изменено на функциональный интерфейс ( IB14E5 )
  • Новые items(count: Int) Фабричный метод для объема Lazycolumn/Lazyrow/LazyverticalGrid. items(items: List) и itemsIndexed(items: List) теперь являются функциями расширения, поэтому вам приходится вручную импортировать их при использовании. Новые перегрузки расширения для массивов: элементы (элементы: массив) и элементы Indexed (массив) ( i803fc , b/175562574 )
  • Использовать тестовый тестовый
  • Удален PointerinputData и модифицированный pointerinputChange, чтобы дать все поля PointerinputData. Сделано INTERINPUTEVENT и INTERINPUTEVENTVENTDATA внутренние, потому что они не используются ни в одном публичном API. ( Ifff97 , b/175142755 )

Версия 1.0.0-Alpha10

13 января 2021 г.

androidx.compose.animation:animation:1.0.0-alpha10 и androidx.compose.animation:animation-core:1.0.0-alpha10 выпускаются. Версия 1.0.0-Alpha10 содержит эти коммиты.

Изменения API

  • Модифицированная скорость, чтобы иметь компонентные части и математические операции. ( IB0447 )
  • Переименовано @ExperimentalTesting в @ExperimentalTestApi чтобы соответствовать аналогичным экспериментальным аннотациям API ( IA4502 , B/171464963 )
  • Переименованное положение в DPOFFSET и удаление GetDistance () ( IB2DFD )
  • Удален Any.IdentityHashCode () Public API ( I025D7 )

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

  • Новый API API- Animatable , который обеспечивает взаимную исключительность среди его анимаций. New DepayAnimationSpec для поддержки многомерной анимации распада ( I820F2 , B/168014930 )
  • animate() теперь заменяется animateAsState() , который возвращает State<T> вместо T . Это обеспечивает лучшую производительность, так как область недействительной может быть сужена до того места, где считывается значение состояния. ( IB179E )

Версия 1.0.0-Alpha09

16 декабря 2020 г.

androidx.compose.animation:animation:1.0.0-alpha09 и androidx.compose.animation:animation-core:1.0.0-alpha09 выпускаются. Версия 1.0.0-Alpha09 содержит эти коммиты.

Изменения API

  • Перенесенный DP.VectorConverter, Position.VectorConverter и т. Д. в Animation Core, и установил старые VectorConveters ( IF0C4B )
  • Представил совершенно новый набор API -переходных API с улучшенной простотой использования и поддержкой динамически добавленной анимации, и динамически рассчитанные цели анимации. Эти API отмечены экспериментальными для легкой дифференцировки, чем API на основе TransitionDefinition. ( IA7FE3 )

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

  • Lambdas в смещенных модификаторах теперь возвращают Intoffset, а не плавают. ( IC9EE5 , B/174137212 , B/174146755 )
  • Отрешить Lazycolumnfor, Lazyrowfor, Lazycolumnforindexed и Lazyrowforindexed. Вместо этого используйте Lazycolumn и Lazyrow ( i5b48c )
  • Для приостановки API ввода указателя переименован в GrandpointerInputScope AwaitPointerEventScope и handlePointerInput () в AwaitPointerEventScope (). ( IDF0A1 , B/175142755 )
  • Новая бесконечная функция для создания InfiniteRepeatablepec ( i668e5 )
  • Удаленная аннотация ExperimentalPointerInput ( IA7A24 )

Версия 1.0.0-Alpha08

2 декабря 2020 г.

androidx.compose.animation:animation:1.0.0-alpha08 и androidx.compose.animation:animation-core:1.0.0-alpha08 выпускаются. Версия 1.0.0-Alpha08 содержит эти коммиты.

Изменения API

  • Добавлена ​​проверка на пробег для композиционного именования параметров Lambda, чтобы проверить согласованность с руководящими принципами составления. Также мигрировал некоторые API, используя children в качестве названия для их запекания Lambda до content , согласно проверке и руководству. ( IEC48E )
  • Ранее устаревшие API были удалены:
    • Modifier.onPositioned был удален, используйте Modifier.onGloballyPositioned .
    • Modifier.onDraw был удален, используйте Modifier.onDrawBehind .
    • Modifier.plus был удален, используйте Modifier.then .
    • Color.Unset был удален, используйте Color.Unspecified . Unparticified.
    • Класс PxBounds был удален, вместо этого используйте Rect .
    • ( 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 to RestorableStateProvider ( 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

October 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

October 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

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 for runBlocking 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 to PlacementScope.place() , and the previous PlacementScope.place() was renamed to PlacementScope.placeRelative() . As a result, the PlacementScope.place() method will not automatically mirror the position in right-to-left contexts anymore. If this is desired, use PlacementScope.placeRelative() instead. ( I873ac , b/162916675 )
  • The state { ... } composable is now deprecated in favor of explicit calls to remember { mutableStateOf(...) } for clarity. This reduces the overall API surface and number of concepts for state management, and matches the by 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 . eg Dp.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 an AnimationClockObservable to bridge the gap between the new coroutines based clocks and APIs that still use the old callback based clocks.

    The MonotonicFrameClock equivalent of ManualAnimationClock is now ManualFrameClock . ( 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 parameter dispatchOnSubscribe: Boolean ( Iaa134 )
  • Added APIs for getting min/max bounds in AnimatedFloat ( Icd9cc )

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

  • runOnIdleCompose renamed to runOnIdle ( 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 and runOnUiThread 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 { ... } or by 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 or setViewContent instead. Compose.disposeComposition has been deprecated. Use the dispose method on the Composition returned by setContent 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 )
,

Compose Animation

Build animations in their Jetpack Compose applications to enrich the user experience.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Alpha Release
11 декабря 2024 г. 1.7.6 - - 1.8.0-alpha07

Структура

Compose is a combination of 7 Maven group IDs within androidx . Each group contains a targeted subset of functionality, each with its own set of release notes.

This table explains the groups and links to each set of release notes.

Группа Описание
сочинить.анимацию Build animations in their Jetpack Compose applications to enrich the user experience.
compose.compiler Transform @Composable functions and enable optimizations with a Kotlin compiler plugin.
compose.foundation Write Jetpack Compose applications with ready to use building blocks and extend foundation to build your own design system pieces.
составить.материал Build Jetpack Compose UIs with ready to use Material Design Components. This is the higher level entry point of Compose, designed to provide components that match those described at www.material.io.
Compose.material3 Build Jetpack Compose UIs with Material Design 3 Components, the next evolution of Material Design. Material 3 includes updated theming and components and Material You personalization features like dynamic color, and is designed to be cohesive with the new Android 12 visual style and system UI.
Compose.runtime Fundamental building blocks of Compose's programming model and state management, and core runtime for the Compose Compiler Plugin to target.
Compose.ui Fundamental components of compose UI needed to interact with the device, including layout, drawing, and input.

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

To add a dependency on Compose, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.

Add the dependencies for the artifacts you need in the build.gradle file for your app or module:

классный

dependencies {
    implementation "androidx.compose.animation:animation:1.7.5"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Котлин

dependencies {
    implementation("androidx.compose.animation:animation:1.7.5")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

For more information about dependencies, see Add build dependencies .

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

Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.

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

See the Issue Tracker documentation for more information.

Версия 1.8

Version 1.8.0-alpha07

11 декабря 2024 г.

androidx.compose.animation:animation-*:1.8.0-alpha07 is released. Version 1.8.0-alpha07 contains these commits .

Новые возможности

  • Supports lookahead in Pager, by differentiating the lookahead pass from approach pass for retaining items and consuming scrolling. ( b/371802474 )

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

  • Fixes a rare crash where a shared element is composed but never measured/placed, by requiring the shared element to render in place at least once before rendering it in overlay. ( b/371802474 )

Version 1.8.0-alpha06

13 ноября 2024 г.

androidx.compose.animation:animation-*:1.8.0-alpha06 is released. Version 1.8.0-alpha06 contains these commits .

Изменения API

  • Updated sharedElement parameter naming from state to sharedContentState for consistency across shared element APIs. ( I5694c , b/375351468 )
  • AnimatedImageVector suite of APIs are now stable. ( I7174b , b/261436267 )

Version 1.8.0-alpha05

30 октября 2024 г.

androidx.compose.animation:animation-*:1.8.0-alpha05 is released. Version 1.8.0-alpha05 contains these commits .

Новые возможности

  • Lookahead is now supported in LazyGrid . This includes differentiating lookahead pass versus approach pass in scrolling, item composition/disposal, and item animation, and uses lookahead pass for source of truth for scrolling, and item animation target.

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

  • Update internal states for AnimatedContent 's size transform when transition is recreated. This ensures the target size information is always up to date. ( b/372512085 )

Version 1.8.0-alpha04

16 октября 2024 г.

androidx.compose.animation:animation-*:1.8.0-alpha04 is released. Version 1.8.0-alpha04 contains these commits .

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

  • Fixed a bug causing some easing curves to crash at certain time fractions.
  • Fixed a bug causing improper alignment for Modifier.animateContentSize under RTL. ( Idae6b , b/372055503 )

Version 1.8.0-alpha03

2 октября 2024 г.

androidx.compose.animation:animation-*:1.8.0-alpha03 is released. Version 1.8.0-alpha03 contains these commits .

Изменения API

  • Kotlin version update to 1.9 ( I1a14c )

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

  • Fixed an issue in AnimatedContent size animation by always tracking and starting animation from the current size to ensure continuity.

Version 1.8.0-alpha02

18 сентября 2024 г.

androidx.compose.animation:animation-*:1.8.0-alpha02 is released. Version 1.8.0-alpha02 contains these commits .

Version 1.8.0-alpha01

4 сентября 2024 г.

androidx.compose.animation:animation-*:1.8.0-alpha01 is released. Version 1.8.0-alpha01 contains these commits .

Новые возможности

  • New Modifier.animateBounds API for animating size and position changes within a lookahead scope. 94b9394

Изменения API

  • Remove experimental flags on Keyframes with Arcs and Splines ( 89e1199 )

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

  • Skip placeHolderSize logic when no match is found ( 77c0160 )
  • Clamp play time in AndroidFlingSpline to prevent crashes due to non-monotonically increasing play time( 9d47587 )
  • Fix SharedTransitionScope not drawing items in certain conditions ( b41077b6 )

External Contribution

  • Prevent setting seekable transition playTime when no transition is running by Steven Schoen. ( c2e6e7e6 )

Version 1.7

Version 1.7.6

11 декабря 2024 г.

androidx.compose.animation:animation-*:1.7.6 is released. Version 1.7.6 contains these commits .

Версия 1.7.5

30 октября 2024 г.

androidx.compose.animation:animation-*:1.7.5 is released. Version 1.7.5 contains these commits .

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

  • Fixed a bug causing improper alignment for Modifier.animateContentSize under RTL. ( Idae6b , b/372055503 )

Version 1.7.4

16 октября 2024 г.

androidx.compose.animation:animation-*:1.7.4 is released. Version 1.7.4 contains these commits .

Version 1.7.3

2 октября 2024 г.

androidx.compose.animation:animation-*:1.7.3 is released. Version 1.7.3 contains these commits .

Version 1.7.2

18 сентября 2024 г.

androidx.compose.animation:animation-*:1.7.2 is released. Version 1.7.2 contains these commits .

External Contribution

  • Prevent setting seekable transition playTime when no transition is running. Thanks Steven Schoen! ( c2e6e7e6 )

Version 1.7.1

10 сентября 2024 г.

  • No changes to Android artifacts. -desktop artifacts were removed and -jvmStubs and -linuxx64Stubs artifacts were added. None of these targets are meant to be used, they are placeholders to help Jetbrains Compose efforts.

Версия 1.7.0

4 сентября 2024 г.

androidx.compose.animation:animation-*:1.7.0 is released.

Important changes since 1.6.0

Important changes in version 1.7.0 are covered in this blogpost .

New Shared Element Transition APIs

  • New shared element transition APIs await your usage and feedback. These new experimental APIs enable tagging layouts as shared across layout tree using the provided modifiers, producing smoothly changing bounds when one set of shared content exits and the other set enters. ( Icb0b9 )
  • New scaleInSharedContentToBounds and scaleOutSharedContentToBounds to scale content in sharedBounds ( I731c1 )
  • Experimental SharedTransitionScope is now an interface rather than a class. ( Iaf856 )
  • New resizeModes ( ScaleToBounds and RemeasureToBounds ) for sharedBounds to choose between scaling and remeasure. The previous scaleIn/OutSharedContentToBounds APIs are now deprecated. ( I0d41a )

Improvements to existing APIs:

  • New Modifier.animateContentSize that takes an additional parameter for custom content alignment. ( I5623a , b/269803907 )
  • New Experimental DeferredTargetAnimation for animating size, position, or any other target that is unknown during instantiation. ( I60745 )
  • SeekableTransitionState replaces snapTo() with seekTo() , and adds a snapTo() that immediately changes the state to a destination state without any kind of animation.
  • You may now pass a periodicBias value (Float) to keyframesWithSpline , this will make it so that the initial and final velocity of the spline are equal. Useful for repeatable animations using splines. The bias indicates how much each velocity (initial and final) gets modified to achieve periodicity. ( Ic1e6c , b/292114811 )

The following APIs have become stable or been removed:

  • AnimatedVisibilityScope.transition is now a stable API. Modifier.animateEnterExit(..) has also been made stable. ( I6c1d1 )
  • ApproachLayoutModifierNode and Modifier.approachLayout are now stable, with new isMeasurementApproachInProgress() and isPlacementApproachInProgress() to replace the old isMeasurementApproachComplete() and isPlacementApproachComplete() respectively.
  • Removed deprecated intermediateLayout modifier. ( I3e91c )
  • LookaheadScope APIs have been made stable. ( I21507 )

Version 1.7.0-rc01

21 августа 2024 г.

androidx.compose.animation:animation-*:1.7.0-rc01 is released. Version 1.7.0-rc01 contains these commits .

Version 1.7.0-beta07

7 августа 2024 г.

androidx.compose.animation:animation-*:1.7.0-beta07 is released. Version 1.7.0-beta07 contains these commits .

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

  • Fixed SharedTransitionScope not drawing overlay items during transition in certain conditions, which would typically include usage with Navigation. ( Id65ab , b/347520198 )

Version 1.7.0-beta06

24 июля 2024 г.

androidx.compose.animation:animation-*:1.7.0-beta06 is released. Version 1.7.0-beta06 contains these commits .

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

  • Fixed SeekableTransition leaking transition states by properly cleaning up observations from SnapshotStateObserver when the transition is disposed. ( b9c7182 )
  • Fixed edge cases where child Transitions are not properly marked complete when the parent completes. ( dc42216 )

Version 1.7.0-beta05

10 июля 2024 г.

androidx.compose.animation:animation-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits .

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

  • The Transition property totalDurationNanos now can be properly read within a snapshotFlow .

Version 1.7.0-beta04

26 июня 2024 г.

androidx.compose.animation:animation-*:1.7.0-beta04 is released. Version 1.7.0-beta04 contains these commits .

Version 1.7.0-beta03

12 июня 2024 г.

androidx.compose.animation:animation-*:1.7.0-beta03 is released. Version 1.7.0-beta03 contains these commits .

Version 1.7.0-beta02

29 мая 2024 г.

androidx.compose.animation:animation-*:1.7.0-beta02 is released. Version 1.7.0-beta02 contains these commits .

Version 1.7.0-beta01

14 мая 2024 г.

androidx.compose.animation:animation-*:1.7.0-beta01 is released. Version 1.7.0-beta01 contains these commits .

Изменения API

  • New resizeModes ( ScaleToBounds and RemeasureToBounds ) for sharedBounds to choose between scaling and remeasure. The previous scaleIn/OutSharedContentToBounds APIs are now deprecated. ( I0d41a )

External Contribution

Version 1.7.0-alpha08

1 мая 2024 г.

androidx.compose.animation:animation-*:1.7.0-alpha08 is released. Version 1.7.0-alpha08 contains these commits .

Изменения API

  • LookaheadScope APIs have been made stable. ( I21507 )

External Contribution

  • Clear start animation time after SeekableTransitionState animates/snaps by Steven Schoen ( 1ca89529 )

Version 1.7.0-alpha07

17 апреля 2024 г.

androidx.compose.animation:animation-*:1.7.0-alpha07 is released. Version 1.7.0-alpha07 contains these commits .

Новые возможности

  • New shared element transition APIs await your usage and feedback. These new experimental APIs enable tagging layouts as shared across layout tree using the provided modifiers, producing smoothly changing bounds when one set of shared content exits and the other set enters. ( Icb0b9 )
  • New scaleInSharedContentToBounds and scaleOutSharedContentToBounds to scale content in sharedBounds ( I731c1 )

Изменения API

  • AnimatedVisibilityScope.transition is now a stable API. Modifier.animateEnterExit(..) has also been made stable. ( I6c1d1 )
  • ApproachLayoutModifierNode and Modifier.approachLayout are now stable, with new isMeasurementApproachInProgress() and isPlacementApproachInProgress() to replace the old isMeasurementApproachComplete() and isPlacementApproachComplete() respectively.
  • Removed deprecated intermediateLayout modifier. ( I3e91c )
  • You may now pass a periodicBias value (Float) to keyframesWithSpline , this will make it so that the initial and final velocity of the spline are equal. Useful for repeatable animations using splines. The bias indicates how much each velocity (initial and final) gets modified to achieve periodicity. ( Ic1e6c , b/292114811 )

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

  • Fixed over-shooting and under-shooting easing curves that would previously be clamped to 0..1 ( I38747 )

Version 1.7.0-alpha06

3 апреля 2024 г.

androidx.compose.animation:animation-*:1.7.0-alpha06 is released. Version 1.7.0-alpha06 contains these commits .

Новые возможности

  • Item appearance and disappearance animation support was added into LazyColumn and LazyRow . Previously it was possible to add Modifier.animateItemPlacement() modifier in order to support placement (reordering) animations. We deprecated this modifier and introduced a new non-experimental modifier called Modifier.animateItem() which allows you to support all three animation types: appearance (fade in), disappearance (fade out) and reordering. ( I2d7f7 , b/330152398 , b/150812265 )

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

  • Improved performance of updateTransition API.

Version 1.7.0-alpha05

20 марта 2024 г.

androidx.compose.animation:animation-*:1.7.0-alpha05 is released. Version 1.7.0-alpha05 contains these commits .

Изменения API

  • SeekableTransitionState replaces snapTo() with seekTo() , and adds a snapTo() that immediately changes the state to a destination state without any kind of animation.

Version 1.7.0-alpha04

6 марта 2024 г.

androidx.compose.animation:animation-*:1.7.0-alpha04 is released. Version 1.7.0-alpha04 contains these commits .

Изменения API

  • New API Path.reverse() to reverse a path's direction ( I36348 )

Version 1.7.0-alpha03

21 февраля 2024 г.

androidx.compose.animation:animation-*:1.7.0-alpha03 is released. Version 1.7.0-alpha03 contains these commits.

Новые возможности

  • New Modifier.animateContentSize that takes an additional parameter for custom content alignment. ( I5623a , b/269803907 )
  • New Experimental DeferredTargetAnimation for animating size, position, or any other target that is unknown during instantiation. ( I60745 )

Version 1.7.0-alpha02

7 февраля 2024 г.

androidx.compose.animation:animation-*:1.7.0-alpha02 is released. Version 1.7.0-alpha02 contains these commits.

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

  • Compatibility fix for KeyframesSpec . ( I2bdf3 , b/322214617 )
  • Fixed Modifier.animateContentSize not resetting properly when used in LazyList . ( I070512 , b/322525716 )
  • Fixed IllegalStateException on KeyframesSpec when using out of range timestamps. ( I341b8 , b/322839811 )

Version 1.7.0-alpha01

24 января 2024 г.

androidx.compose.animation:animation-*:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.

Версия 1.6

Версия 1.6.8

12 июня 2024 г.

androidx.compose.animation:animation-*:1.6.8 is released. Version 1.6.8 contains these commits .

Version 1.6.7

1 мая 2024 г.

androidx.compose.animation:animation-*:1.6.7 is released. Version 1.6.7 contains these commits .

Version 1.6.6

17 апреля 2024 г.

androidx.compose.animation:animation-*:1.6.6 is released. No changes since the previous release

Version 1.6.5

3 апреля 2024 г.

androidx.compose.animation:animation-*:1.6.5 is released. Version 1.6.5 contains these commits .

Version 1.6.4

20 марта 2024 г.

androidx.compose.animation:animation-*:1.6.4 is released. Version 1.6.4 contains these commits .

Версия 1.6.3

6 марта 2024 г.

androidx.compose.animation:animation-*:1.6.3 is released. Version 1.6.3 contains these commits .

Version 1.6.2

21 февраля 2024 г.

androidx.compose.animation:animation-*:1.6.2 is released. Version 1.6.2 contains these commits.

Version 1.6.1

7 февраля 2024 г.

androidx.compose.animation:animation-*:1.6.1 is released. Version 1.6.1 contains these commits.

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

Версия 1.6.0

24 января 2024 г.

androidx.compose.animation:animation-*:1.6.0 is released. Version 1.6.0 contains these commits.

Version 1.6.0-rc01

10 января 2024 г.

androidx.compose.animation:animation-*:1.6.0-rc01 is released. Version 1.6.0-rc01 contains these commits.

Version 1.6.0-beta03

13 декабря 2023 г.

androidx.compose.animation:animation-*:1.6.0-beta03 is released. Version 1.6.0-beta03 contains these commits.

Изменения API

  • Temporarily removed scaleInToFitContainer and scaleOutToFitContainer from AnimatedContentTransitionScope as they require lookahead. They will be available when lookahead is on by default or opted-in in future releases.

Version 1.6.0-beta02

29 ноября 2023 г.

androidx.compose.animation:animation-*:1.6.0-beta02 is released. Version 1.6.0-beta02 contains these commits.

Version 1.6.0-beta01

15 ноября 2023 г.

androidx.compose.animation:animation-*:1.6.0-beta01 is released. Version 1.6.0-beta01 contains these commits.

Изменения API

  • ExitTransition.Hold has been renamed to ExitTransition.KeepUntilTransitionsFinished to be more explicit. ( I1c490 )
  • You may now use keyframesWithSpline to interpolate any N-dimensional value using monotonic splines. It's particularly useful to interpolate positional values such as Offset , IntOffset , DpOffset . Added as Experimental API.

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

  • Add renderer support for Sweep Gradient in ArcLine . ( I4d5bb )
  • Implement equals and hashcode for PageSize.Fixed . ( Ie3ede , b/300134276 )
  • Fix binary compatibility issue with Window Inset change. ( Iee695 )
  • Remove material core layer for Material3 Chip/Button as the microbenchmarks show better performance without it. ( I55555 )

Version 1.6.0-alpha08

18 октября 2023 г.

androidx.compose.animation:animation-*:1.6.0-alpha08 is released. Version 1.6.0-alpha08 contains these commits.

Изменения API

  • Deprecated KeyframesSpecConfig#with in favor KeyframesSpecConfig#using which preserves the builder pattern. ( I1d769 )

Version 1.6.0-alpha07

4 октября 2023 г.

androidx.compose.animation:animation-*:1.6.0-alpha07 is released. Version 1.6.0-alpha07 contains these commits.

Изменения API

  • Fixed and Scrollable Tabrows now have Primary and Secondary variants. These correctly map to the color and indicator behavior as defined in Material3.
  • PrimaryScrollableTabRow and SecondaryScrollableTabRow now expose scroll state. ( Iec8f5 , b/260572337 )

Version 1.6.0-alpha06

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

androidx.compose.animation:animation-*:1.6.0-alpha06 is released. Version 1.6.0-alpha06 contains these commits.

Version 1.6.0-alpha05

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

androidx.compose.animation:animation-*:1.6.0-alpha05 is released. Version 1.6.0-alpha05 contains these commits.

Изменения API

  • Added PathEasing to enable an arbitrary path to be supplied to an easing curve. ( Idb4b9 )

Version 1.6.0-alpha04

23 августа 2023 г.

androidx.compose.animation:animation-*:1.6.0-alpha04 is released. Version 1.6.0-alpha04 contains these commits.

Изменения API

  • Add SeekableTransitionState to allow developers to control the progress of a transition. ( I8e69d )

Version 1.6.0-alpha03

9 августа 2023 г.

androidx.compose.animation:animation-*:1.6.0-alpha03 is released. Version 1.6.0-alpha03 contains these commits.

Изменения API

  • New type of enter/exit transition that scales the content based on the size of the animating container during enter & exit animation. LookaheadScope Composable fun and interface are now stable. ( Ifb2ce )

Version 1.6.0-alpha02

26 июля 2023 г.

androidx.compose.animation:animation-*:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.

Изменения API

  • New ExitTransition.Hold to display outgoing content in AnimatedContent until both enter & exit transition are finished. ( I5984f )
  • Additional annotations to specify allowed inputs to composables ( I51109 )

Version 1.6.0-alpha01

21 июня 2023 г.

androidx.compose.animation:animation-*:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.

Новые возможности

  • Enable Modifier.animateContentSize and AnimatedVisibility to be fully integrated into the lookahead system by reporting the target size in the lookahead pass.

Изменения API

  • New property in IntrinsincMeasureScope and its implementations (eg MeasureScope ) to indicate whether the current measure pass is a lookahead pass. ( I7a812 )

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

  • Removed allocations from spring animations. ( Ie9431 )
  • value parameter name for Enum.valueOf changed ( Ia9b89 )
  • more thrown exceptions from enum valueOf ( I818fe )

Версия 1.5

Version 1.5.4

18 октября 2023 г.

androidx.compose.animation:animation-*:1.5.4 is released. Version 1.5.4 contains these commits.

Версия 1.5.3

4 октября 2023 г.

androidx.compose.animation:animation-*:1.5.3 is released. This version has no changes

Version 1.5.2

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

androidx.compose.animation:animation-*:1.5.2 is released. Version 1.5.2 contains these commits.

Версия 1.5.1

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

androidx.compose.foundation:foundation-*:1.5.1 is released. Version 1.5.1 contains these commits.

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

  • Fixed text fields showing keyboard and being editable when readOnly is true. Also fixed the keyboard not showing when readOnly is changed from true to false while focused. ( I34a19 , b/246909589 )

Версия 1.5.1

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

androidx.compose.animation:animation-*:1.5.1 is released. Version 1.5.1 contains these commits.

Версия 1.5.0

9 августа 2023 г.

androidx.compose.animation:animation-*:1.5.0 is released. Version 1.5.0 contains these commits.

Версия 1.5.0-rc01

26 июля 2023 г.

androidx.compose.animation:animation-*:1.5.0-rc01 is released. Version 1.5.0-rc01 contains these commits.

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

  • Fixed an issue where calling .value on a primitive state type (like MutableIntState ) would report a lint warning with an invalid fix. The inspection will now recommend migrating to the correct property. ( Iba953 , b/287279257 )

  • An optional inspection to recommend migrating mutableStateOf() calls to their corresponding specialized types for primitives is available. Its lint ID is AutoboxingStateCreation . Previously, this inspection was enabled by default for all projects. To see this warning in Android Studio's editor and your project's lint outputs, change its severity from informational to warning (or higher) by declaring warning "AutoboxingStateCreation" inside your module's build.gradle or build.gradle.kts configuration as shown ( I34f7e ):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

Version 1.5.0-beta03

28 июня 2023 г.

androidx.compose.animation:animation-*:1.5.0-beta03 is released. Version 1.5.0-beta03 contains these commits.

Version 1.5.0-beta02

7 июня 2023 г.

androidx.compose.animation:animation-*:1.5.0-beta02 is released. Version 1.5.0-beta02 contains these commits.

Version 1.5.0-beta01

24 мая 2023 г.

androidx.compose.animation:animation-*:1.5.0-beta01 is released. Version 1.5.0-beta01 contains these commits.

Изменения API

  • Removed allocations in recomposition, color animations, and AndroidComposeView ( Ib2bfa )

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

  • Removed allocations from spring animations ( Ie9431 )

Version 1.5.0-alpha04

10 мая 2023 г.

androidx.compose.animation:animation-*:1.5.0-alpha04 is released. Version 1.5.0-alpha04 contains these commits.

Изменения API

  • ContentKey is now supported in AnimatedContent to allow more control for when transition should happen. ( Ic069b )

Version 1.5.0-alpha03

19 апреля 2023 г.

androidx.compose.animation:animation-*:1.5.0-alpha03 is released. Version 1.5.0-alpha03 contains these commits.

Новые возможности

  • New default behavior for SubcomposeLayout in LookaheadScope . It allows SubcomposeLayouts that don't have conditional slots (eg TabRow , Scaffold , BoxWithConstraints , etc) to work nicely with lookahead animations.

Изменения API

  • New default intermediateMeasurePolicy that reuses measure policy from lookahead pass allows SubcomposeLayout subtypes without conditional slots such as Scaffold , TabRow , and BoxWithConstraints to work with lookahead by default. ( Id84c8 )
  • Rename infix fun with to togetherWith for combining enter and exit transitions. New AnimatedContentScope as receiver for the content lambda. ( Ic39ae )

Version 1.5.0-alpha02

5 апреля 2023 г.

androidx.compose.animation:animation-*:1.5.0-alpha02 is released. Version 1.5.0-alpha02 contains these commits.

Новые возможности

  • New experimental API to support lookahead in SubcomposeLayout . This will allow SubcomposeLayout to function properly in a LookaheadScope . More out-of-the-box support for specific subtypes of SubcomposeLayout will come soon.

Изменения API

  • New SubcomposeLayout API that takes an additional intermediate measure policy for handling measure/layout logic during lookahead-based animations. ( I017d3 )

Version 1.5.0-alpha01

22 марта 2023 г.

androidx.compose.animation:animation-*:1.5.0-alpha01 is released. Version 1.5.0-alpha01 contains these commits.

Изменения API

  • AnimatedContent APIs are now stable AnimatedContentScope has been renamed to AnimatedContentTransitionScope . scaleIn and scaleOut are now stable APIs. ( Iaf54e )

Версия 1.4

Version 1.4.3

3 мая 2023 г.

androidx.compose.animation:animation:1.4.3 , androidx.compose.animation:animation-core:1.4.3 , and androidx.compose.animation:animation-graphics:1.4.3 are released with no changes (only a version bump ).

Версия 1.4.2

19 апреля 2023 г.

androidx.compose.animation:animation:1.4.2 , androidx.compose.animation:animation-core:1.4.2 , and androidx.compose.animation:animation-graphics:1.4.2 are released with no changes. Version 1.4.2 contains these commits.

Версия 1.4.1

5 апреля 2023 г.

androidx.compose.animation:animation:1.4.1 , androidx.compose.animation:animation-core:1.4.1 , and androidx.compose.animation:animation-graphics:1.4.1 are released with no changes. Version 1.4.1 contains these commits.

Версия 1.4.0

22 марта 2023 г.

androidx.compose.animation:animation:1.4.0 , androidx.compose.animation:animation-core:1.4.0 , and androidx.compose.animation:animation-graphics:1.4.0 are released. Version 1.4.0 contains these commits.

Important changes since 1.3.0

  • Tooling label is supported in r ememberInfiniteTransition and all the extension functions on InfiniteTransition and Transition (eg InfiniteTransition#animateColor ) ( I56ef7 )

Version 1.4.0-rc01

8 марта 2023 г.

androidx.compose.animation:animation:1.4.0-rc01 , androidx.compose.animation:animation-core:1.4.0-rc01 , and androidx.compose.animation:animation-graphics:1.4.0-rc01 are released with no изменения. Version 1.4.0-rc01 contains these commits.

Version 1.4.0-beta02

22 февраля 2023 г.

androidx.compose.animation:animation:1.4.0-beta02 , androidx.compose.animation:animation-core:1.4.0-beta02 , and androidx.compose.animation:animation-graphics:1.4.0-beta02 are released with no изменения. Version 1.4.0-beta02 contains these commits.

Version 1.4.0-beta01

8 февраля 2023 г.

androidx.compose.animation:animation:1.4.0-beta01 , androidx.compose.animation:animation-core:1.4.0-beta01 , and androidx.compose.animation:animation-graphics:1.4.0-beta01 are released with no изменения. Version 1.4.0-beta01 contains these commits.

Version 1.4.0-alpha05

25 января 2023 г.

androidx.compose.animation:animation:1.4.0-alpha05 , androidx.compose.animation:animation-core:1.4.0-alpha05 , and androidx.compose.animation:animation-graphics:1.4.0-alpha05 are released. Version 1.4.0-alpha05 contains these commits.

Изменения

  • No changes in animation libraries since the last alpha, version bump only

Version 1.4.0-alpha04

11 января 2023 г.

androidx.compose.animation:animation:1.4.0-alpha04 , androidx.compose.animation:animation-core:1.4.0-alpha04 , and androidx.compose.animation:animation-graphics:1.4.0-alpha04 are released. Version 1.4.0-alpha04 contains these commits.

Новые возможности

  • Tooling label is supported in rememberInfiniteTransition and all the extension functions on InfiniteTransition and Transition (eg InfiniteTransition#animateColor ) ( I56ef7 )

Изменения API

  • InfiniteTransition#TransitionAnimationState and InfiniteTransition#animations APIs are now public. ( I36682 )

Version 1.4.0-alpha03

7 декабря 2022 г.

androidx.compose.animation:animation:1.4.0-alpha03 , androidx.compose.animation:animation-core:1.4.0-alpha03 , and androidx.compose.animation:animation-graphics:1.4.0-alpha03 are released. Version 1.4.0-alpha03 contains these commits.

Изменения API

  • In UI tests using a Compose rule, continuations resumed during withFrameNanos callbacks will not be dispatched until after all frame callbacks have finished running. This matches the behavior of compose when running normally. However, tests that rely on the old behavior may fail. This should only affect code that calls withFrameNanos or withFrameMillis directly, and has logic outside of callback passed to those functions that may need to be moved inside the callbacks. See the animation test changes in this CL for examples .
  • Added optional onPerformTraversals: (Long) -> Unit parameter to TestMonotonicFrameClock constructor and factory function to run code after withFrameNanos callbacks but before resuming callers' coroutines. ( Idb413 , b/254115946 , b/222093277 , b/255802670 )
  • New param in AnimatedContent for tooling label ( Iebe2d )

Version 1.4.0-alpha02

9 ноября 2022 г.

androidx.compose.animation:animation:1.4.0-alpha02 , androidx.compose.animation:animation-core:1.4.0-alpha02 , and androidx.compose.animation:animation-graphics:1.4.0-alpha02 are released. Version 1.4.0-alpha02 contains these commits.

Изменения API

  • Add ToolingState to allow tooling to change internal states of Composable ( Ie6614 )

Version 1.4.0-alpha01

24 октября 2022 г.

androidx.compose.animation:animation:1.4.0-alpha01 , androidx.compose.animation:animation-core:1.4.0-alpha01 , and androidx.compose.animation:animation-graphics:1.4.0-alpha01 are released. Version 1.4.0-alpha01 contains these commits.

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

  • Fix incorrect interruption animation in AnimatedContent ( b/238662479 )

Версия 1.3

Version 1.3.3

11 января 2023 г.

androidx.compose.animation:animation:1.3.3 , androidx.compose.animation:animation-core:1.3.3 , and androidx.compose.animation:animation-graphics:1.3.3 are released. Version 1.3.3 contains these commits.

  • No changes since the 1.3.2.

Version 1.3.2

7 декабря 2022 г.

androidx.compose.animation:animation:1.3.2 , androidx.compose.animation:animation-core:1.3.2 , and androidx.compose.animation:animation-graphics:1.3.2 are released. Version 1.3.2 contains these commits.

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

  • Updated to support 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 , and androidx.compose.animation:animation-graphics:1.3.1 are released. Version 1.3.1 contains these commits.

Версия 1.3.0

24 октября 2022 г.

androidx.compose.animation:animation:1.3.0 , androidx.compose.animation:animation-core:1.3.0 , and androidx.compose.animation:animation-graphics:1.3.0 are released. Version 1.3.0 contains these commits.

Important changes since 1.2.0

  • New set of easing functions are made stable

Version 1.3.0-rc01

5 октября 2022 г.

androidx.compose.animation:animation:1.3.0-rc01 , androidx.compose.animation:animation-core:1.3.0-rc01 , and androidx.compose.animation:animation-graphics:1.3.0-rc01 are released. Version 1.3.0-rc01 contains these commits.

Version 1.3.0-beta03

21 сентября 2022 г.

androidx.compose.animation:animation:1.3.0-beta03 , androidx.compose.animation:animation-core:1.3.0-beta03 , and androidx.compose.animation:animation-graphics:1.3.0-beta03 are released. Version 1.3.0-beta03 contains these commits.

  • No changes since 1.3.0-beta02.

Version 1.3.0-beta02

7 сентября 2022 г.

androidx.compose.animation:animation:1.3.0-beta02 , androidx.compose.animation:animation-core:1.3.0-beta02 , and androidx.compose.animation:animation-graphics:1.3.0-beta02 are released. Version 1.3.0-beta02 contains these commits.

  • Removed Kotlin.experimental from the compiler options since it is depricated

Version 1.3.0-beta01

24 августа 2022 г.

androidx.compose.animation:animation:1.3.0-beta01 , androidx.compose.animation:animation-core:1.3.0-beta01 , and androidx.compose.animation:animation-graphics:1.3.0-beta01 are released. Version 1.3.0-beta01 contains these commits.

Version 1.3.0-alpha03

10 августа 2022 г.

androidx.compose.animation:animation:1.3.0-alpha03 , androidx.compose.animation:animation-core:1.3.0-alpha03 , and androidx.compose.animation:animation-graphics:1.3.0-alpha03 are released. Version 1.3.0-alpha03 contains these commits.

Изменения API

  • New param in Crossfade , animateAsState and Animatable for tooling label ( Iac08a )
  • Added atFraction function for defining keyframes at a fraction instead of at a specific duration. ( I20c76 , b/232059455 )

Version 1.3.0-alpha02

27 июля 2022 г.

androidx.compose.animation:animation:1.3.0-alpha02 , androidx.compose.animation:animation-core:1.3.0-alpha02 , and androidx.compose.animation:animation-graphics:1.3.0-alpha02 are released. Version 1.3.0-alpha02 contains these commits.

Version 1.3.0-alpha01

29 июня 2022 г.

androidx.compose.animation:animation:1.3.0-alpha01 , androidx.compose.animation:animation-core:1.3.0-alpha01 , and androidx.compose.animation:animation-graphics:1.3.0-alpha01 are released. Version 1.3.0-alpha01 contains these commits.

Изменения API

  • New LookaheadLayout that supports a lookahead pass before the actual measure/layout. This allows a pre-calculation of the layout when it changes, while permitting the post-lookahead measure/layout to use the pre-calculated size/position to animate the size and positions towards the target. SubcomposeLayouts are not yet supported, but will be in an upcoming release. ( I477f5 )

Версия 1.2

Версия 1.2.1

10 августа 2022 г.

androidx.compose.animation:animation:1.2.1 , androidx.compose.animation:animation-core:1.2.1 , and androidx.compose.animation:animation-graphics:1.2.1 are released. Version 1.2.1 contains these commits.

Версия 1.2.0

27 июля 2022 г.

androidx.compose.animation:animation:1.2.0 , androidx.compose.animation:animation-core:1.2.0 , and androidx.compose.animation:animation-graphics:1.2.0 are released. Version 1.2.0 contains these commits.

Important changes since 1.1.0

  • Compose animation now supports 'Animator duration scale' setting from Developer Options.
  • A large selection of new experimental easing curves.
  • AnimatedImageVector now supports repeatCount and repeatMode

Version 1.2.0-rc03

29 июня 2022 г.

androidx.compose.animation:animation:1.2.0-rc03 , androidx.compose.animation:animation-core:1.2.0-rc03 , and androidx.compose.animation:animation-graphics:1.2.0-rc03 are released. Version 1.2.0-rc03 contains these commits.

  • No changes since 1.2.0-rc02.

Version 1.2.0-rc02

22 июня 2022 г.

androidx.compose.animation:animation:1.2.0-rc02 , androidx.compose.animation:animation-core:1.2.0-rc02 , and androidx.compose.animation:animation-graphics:1.2.0-rc02 are released. Version 1.2.0-rc02 contains these commits.

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

  • Removed ExperimentalEasingApi annotation on Easing functions ( Ied441 )

Version 1.2.0-rc01

15 июня 2022 г.

androidx.compose.animation:animation:1.2.0-rc01 , androidx.compose.animation:animation-core:1.2.0-rc01 , and androidx.compose.animation:animation-graphics:1.2.0-rc01 are released. Version 1.2.0-rc01 contains these commits.

Изменения API

  • Interfaces in compose libraries are now built using jdk8 default interface methods ( I5bcf1 )

Version 1.2.0-beta03

1 июня 2022 г.

androidx.compose.animation:animation:1.2.0-beta03 , androidx.compose.animation:animation-core:1.2.0-beta03 , and androidx.compose.animation:animation-graphics:1.2.0-beta03 are released. Version 1.2.0-beta03 contains these commits.

Изменения API

  • Added Experimental Easing Curves for Animations ( I64a38 )

Version 1.2.0-beta02

18 мая 2022 г.

androidx.compose.animation:animation:1.2.0-beta02 , androidx.compose.animation:animation-core:1.2.0-beta02 , and androidx.compose.animation:animation-graphics:1.2.0-beta02 are released. Version 1.2.0-beta02 contains these commits.

Version 1.2.0-beta01

11 мая 2022 г.

androidx.compose.animation:animation:1.2.0-beta01 , androidx.compose.animation:animation-core:1.2.0-beta01 , and androidx.compose.animation:animation-graphics:1.2.0-beta01 are released. Version 1.2.0-beta01 contains these commits.

  • This is the first beta release of 1.2! There are no changes since the last alpha.

Version 1.2.0-alpha08

20 апреля 2022 г.

androidx.compose.animation:animation:1.2.0-alpha08 , androidx.compose.animation:animation-core:1.2.0-alpha08 , and androidx.compose.animation:animation-graphics:1.2.0-alpha08 are released. Version 1.2.0-alpha08 contains these commits.

Version 1.2.0-alpha07

6 апреля 2022 г.

androidx.compose.animation:animation:1.2.0-alpha07 , androidx.compose.animation:animation-core:1.2.0-alpha07 , and androidx.compose.animation:animation-graphics:1.2.0-alpha07 are released. Version 1.2.0-alpha07 contains these commits.

Изменения API

  • AnimatedImageVector now supports repeatCount and repeatMode ( Ia3e75 , b/199304067 )

Version 1.2.0-alpha06

23 марта 2022 г.

androidx.compose.animation:animation:1.2.0-alpha06 , androidx.compose.animation:animation-core:1.2.0-alpha06 , and androidx.compose.animation:animation-graphics:1.2.0-alpha06 are released. Version 1.2.0-alpha06 contains these commits.

Изменения API

  • Updated parsing of vector drawables to support auto mirroring to flip the content of a VectorPainter if the current layout direction is RTL. ( I79cd9 , b/185760237 )

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

  • Updated Vector graphics APIs to use the proper composable annotation @VectorComposable instead of @UiComposable ( I942bc )

Version 1.2.0-alpha05

9 марта 2022 г.

androidx.compose.animation:animation:1.2.0-alpha05 , androidx.compose.animation:animation-core:1.2.0-alpha05 , and androidx.compose.animation:animation-graphics:1.2.0-alpha05 are released. Version 1.2.0-alpha05 contains these commits.

Изменения API

  • Ура! Compose animation now supports 'Animator duration scale' setting from Developer Options. ( I5a4fc , b/161675988 )

Version 1.2.0-alpha04

23 февраля 2022 г.

androidx.compose.animation:animation:1.2.0-alpha04 , androidx.compose.animation:animation-core:1.2.0-alpha04 , and androidx.compose.animation:animation-graphics:1.2.0-alpha04 are released. Version 1.2.0-alpha04 contains these commits.

Version 1.2.0-alpha03

9 февраля 2022 г.

androidx.compose.animation:animation:1.2.0-alpha03 , androidx.compose.animation:animation-core:1.2.0-alpha03 , and androidx.compose.animation:animation-graphics:1.2.0-alpha03 are released. Version 1.2.0-alpha03 contains these commits.

Version 1.2.0-alpha02

26 января 2022 г.

androidx.compose.animation:animation:1.2.0-alpha02 , androidx.compose.animation:animation-core:1.2.0-alpha02 , and androidx.compose.animation:animation-graphics:1.2.0-alpha02 are released. Version 1.2.0-alpha02 contains these commits.

Version 1.2.0-alpha01

12 января 2022 г.

androidx.compose.animation:animation:1.2.0-alpha01 , androidx.compose.animation:animation-core:1.2.0-alpha01 , and androidx.compose.animation:animation-graphics:1.2.0-alpha01 are released. Version 1.2.0-alpha01 contains these commits.

Изменения API

  • Use AnimatedImageVector.animatedVectorResource instead of animatedVectorResource to load an <animated-vector> resource file.
    • Use rememberAnimatedVectorResource instead of AnimatedImageVector#painterFor to render an AnimatedImageVector . ( I9c300 )

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

  • Add toString methods to Animatable and AnimationResult. ( Icd3a6 )

Dependency Updates

  • Now depends on 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 , and androidx.compose.animation:animation-graphics:1.1.1 are released. Version 1.1.1 contains these commits.

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

Версия 1.1.0

9 февраля 2022 г.

androidx.compose.animation:animation:1.1.0 , androidx.compose.animation:animation-core:1.1.0 , and androidx.compose.animation:animation-graphics:1.1.0 are released. Version 1.1.0 contains these commits.

Important changes since 1.0.0

  • Stable support for the Android 12 Overscroll effect
  • Improvements to touch target sizing
  • Note that, with respect to Compose 1.0, Material components will expand their layout space to meet Material accessibility guidelines for touch target size . For instance, Button touch target will expand to a minimum size of 48x48dp, even if you set the Button's size to be smaller. This aligns Compose Material to the same behavior of Material Design Components, providing consistent behavior if you mix Views and Compose. This change also ensures that when you create your UI using Compose Material components, minimum requirements for touch target accessibility will be met.
  • Stable support for Navigation Rail
  • Graduates a number of previously experimental APIs to stable
  • Support for newer versions of Kotlin

Version 1.1.0-rc03

26 января 2022 г.

androidx.compose.animation:animation:1.1.0-rc03 , androidx.compose.animation:animation-core:1.1.0-rc03 , and androidx.compose.animation:animation-graphics:1.1.0-rc03 are released. Version 1.1.0-rc03 contains these commits.

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

  • Updated to support Compose Material 1.1.0-rc03

Version 1.1.0-rc01

15 декабря 2021 г.

androidx.compose.animation:animation:1.1.0-rc01 and androidx.compose.animation:animation-core:1.1.0-rc01 are released. Version 1.1.0-rc01 contains these commits.

Изменения API

  • Use AnimatedImageVector.animatedVectorResource instead of animatedVectorResource to load an <animated-vector> resource file.
    • Use rememberAnimatedVectorResource instead of AnimatedImageVector#painterFor to render an AnimatedImageVector . ( I9c300 )

Version 1.1.0-beta04

1 декабря 2021 г.

androidx.compose.animation:animation:1.1.0-beta04 , androidx.compose.animation:animation-core:1.1.0-beta04 , and androidx.compose.animation:animation-graphics:1.1.0-beta04 are released. Version 1.1.0-beta04 contains these commits.

Новые возможности

  • Updated to be compatible with Kotlin 1.6.0

Version 1.1.0-beta03

17 ноября 2021 г.

androidx.compose.animation:animation:1.1.0-beta03 , androidx.compose.animation:animation-core:1.1.0-beta03 , and androidx.compose.animation:animation-graphics:1.1.0-beta03 are released. Version 1.1.0-beta03 contains these commits.

Изменения API

  • Added new modifier Modifier.onPlaced to allow placement change to be observed. Additional changes to child modifier's offset can therefore be made based on the observed placement change. ( I558fd )
  • New support for contentKey in Crossfade. ContentKey will be used for equality check by animation system. Therefore custom diffing on states can be achieved via specifying appropriate contentKey for different states.

    ContentKey will also be used as the key for save & restore content. ( I2e055 , b/197907070 )

Version 1.1.0-beta02

3 ноября 2021 г.

androidx.compose.animation:animation:1.1.0-beta02 , androidx.compose.animation:animation-core:1.1.0-beta02 , and androidx.compose.animation:animation-graphics:1.1.0-beta02 are released. Version 1.1.0-beta02 contains these commits.

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

  • New animation APIs for supporting tooling. Specifically, they allow tooling to inspect the animations & their configurations in a Transitions. ( I4116e )

Version 1.1.0-beta01

27 октября 2021 г.

androidx.compose.animation:animation:1.1.0-beta01 , androidx.compose.animation:animation-core:1.1.0-beta01 , and androidx.compose.animation:animation-graphics:1.1.0-beta01 are released. Version 1.1.0-beta01 contains these commits.

Изменения API

  • New animation APIs for supporting tooling. Specifically, they allow tooling to inspect the animations & their configurations in a Transitions. ( I4116e )

Version 1.1.0-alpha06

13 октября 2021 г.

androidx.compose.animation:animation:1.1.0-alpha06 , androidx.compose.animation:animation-core:1.1.0-alpha06 , and androidx.compose.animation:animation-graphics:1.1.0-alpha06 are released. Version 1.1.0-alpha06 contains these commits.

Version 1.1.0-alpha05

29 сентября 2021 г.

androidx.compose.animation:animation:1.1.0-alpha05 , androidx.compose.animation:animation-core:1.1.0-alpha05 , and androidx.compose.animation:animation-graphics:1.1.0-alpha05 are released. Version 1.1.0-alpha05 contains these commits.

Изменения API

  • EnterTransition , ExitTransition , and some of the AnimatedVisibility APIs have been made stable. MutableTransitionState.isIdle is also no longer experimental. ( I5072d )

  • Breaking change : lambdas in Enter/ExitTransition factories have been moved to the last position in the param list. ( I5072d )

Version 1.1.0-alpha04

15 сентября 2021 г.

androidx.compose.animation:animation:1.1.0-alpha04 , androidx.compose.animation:animation-core:1.1.0-alpha04 , and androidx.compose.animation:animation-graphics:1.1.0-alpha04 are released. Version 1.1.0-alpha04 contains these commits.

Version 1.1.0-alpha03

1 сентября 2021 г.

androidx.compose.animation:animation:1.1.0-alpha03 , androidx.compose.animation:animation-core:1.1.0-alpha03 , and androidx.compose.animation:animation-graphics:1.1.0-alpha03 are released. Version 1.1.0-alpha03 contains these commits.

Новые возможности

  • Updated Compose 1.1.0-alpha03 to depend on Kotlin 1.5.30 . ( I74545 )

Version 1.1.0-alpha02

18 августа 2021 г.

androidx.compose.animation:animation:1.1.0-alpha02 , androidx.compose.animation:animation-core:1.1.0-alpha02 , and androidx.compose.animation:animation-graphics:1.1.0-alpha02 are released. Version 1.1.0-alpha02 contains these commits.

Изменения API

  • StartOffset is now supported in repeatable and infiniteRepeatable, as a way to delay the start time or fast forward the animation before the animation starts. This start offset will not be repeated ( Ic679f , b/195079908 )
  • New Enter/Exit transition for scale. It can be used in combination with other types of Enter/ExitTransitions. ( I372da , b/191325593 )

Version 1.1.0-alpha01

4 августа 2021 г.

androidx.compose.animation:animation:1.1.0-alpha01 , androidx.compose.animation:animation-core:1.1.0-alpha01 , and androidx.compose.animation:animation-graphics:1.1.0-alpha01 are released. Version 1.1.0-alpha01 contains these commits.

Изменения API

  • AnimatedImageVector and the related APIs are now in the new androidx.compose.animation:animation-graphics module. ( I60873 )

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

Версия 1.0

Версия 1.0.5

3 ноября 2021 г.

androidx.compose.animation:animation:1.0.5 and androidx.compose.animation:animation-core:1.0.5 are released. Version 1.0.5 contains these commits.

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

  • Fixed a crash tracking derivedStateOf instances. ( aosp/1792247 )

Version 1.0.4

13 октября 2021 г.

androidx.compose.animation:animation:1.0.4 and androidx.compose.animation:animation-core:1.0.4 are released. Version 1.0.4 contains these commits.

Dependency Updates

  • Updated to depend on Kotlin 1.5.31

Версия 1.0.3

29 сентября 2021 г.

androidx.compose.animation:animation:1.0.3 and androidx.compose.animation:animation-core:1.0.3 are released. Version 1.0.3 contains these commits.

Dependency Updates

  • Updated to depend on Kotlin 1.5.30

Версия 1.0.2

1 сентября 2021 г.

androidx.compose.animation:animation:1.0.2 and androidx.compose.animation:animation-core:1.0.2 are released. Version 1.0.2 contains these commits.

Updated to support the Compose 1.0.2 release. Compose 1.0.2 is still compatible with Kotlin 1.5.21 .

Версия 1.0.1

4 августа 2021 г.

androidx.compose.animation:animation:1.0.1 and androidx.compose.animation:animation-core:1.0.1 are released. Version 1.0.1 contains these commits.

Dependency Updates

  • Updated to depend on Kotlin 1.5.21 .

Версия 1.0.0

28 июля 2021 г.

androidx.compose.animation:animation:1.0.0 and androidx.compose.animation:animation-core:1.0.0 are released. Version 1.0.0 contains these commits.

Major features of 1.0.0

This is the first stable release of Compose. Please see the official Compose Release blog for more details!

Известные проблемы

  • If you are using Android Studio Bumblebee Canary 4 or AGP 7.1.0-alpha04 / 7.1.0-alpha05 , you may hit the following crash:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    To fix, temporarily increase your minSdkVersion to 24+ in your build.gradle file. This issue will be fixed in the next version of Android Studio Bumblebee and AGP 7.1 . ( b/194289155 )

Version 1.0.0-rc02

14 июля 2021 г.

androidx.compose.animation:animation:1.0.0-rc02 and androidx.compose.animation:animation-core:1.0.0-rc02 are released. Version 1.0.0-rc02 contains these commits.

Version 1.0.0-rc01

1 июля 2021 г.

androidx.compose.animation:animation:1.0.0-rc01 and androidx.compose.animation:animation-core:1.0.0-rc01 are released. Version 1.0.0-rc01 contains these commits.

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

Version 1.0.0-beta09

16 июня 2021 г.

androidx.compose.animation:animation:1.0.0-beta09 and androidx.compose.animation:animation-core:1.0.0-beta09 are released. Version 1.0.0-beta09 contains these commits.

Изменения API

  • New AnimatedContent Composable. It manages its content change using customizable ContentTransform as new target content enters and initial content leaves. Different combination of enter and exit transitions can be used to produce a customized look and feel. As a part of the content transform, AnimatedContent automatically animates its size to match the incoming content. ( I2c3df )
  • Removed ManualFrameClock . If you need to control animations, use composeTestRule.mainClock instead. ( I3c3e8 , b/189951065 )

Added Profile Rules

This release adds profile rules to the following compose modules ( 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

What are profile rules?

  • Profile rules for a library are specified in a text file baseline-prof.txt located in the src/main or equivalent directory. The file specifies a rule per line, where a rule in this case is a pattern for matching to methods or classes in the library. The syntax for these rules is a superset of the human-readable ART profile format that is used when using adb shell profman --dump-classes-and-methods ... . These rules take one of two forms to target either methods or classes.

  • A method rule will have the following pattern:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • And a class rule will have the following pattern:

    <CLASS_DESCRIPTOR>
    
  • Here <FLAGS> is one or more of the characters H , S , and P to indicate whether or not this method should be flagged as "Hot", "Startup", or "Post Startup".

  • The <CLASS_DESCRIPTOR> is the descriptor for the class that the targeted method belongs to. For example, the class androidx.compose.runtime.SlotTable would have a descriptor of Landroidx/compose/runtime/SlotTable; .

  • The <METHOD_SIGNATURE> is the signature of the method, and includes the name, parameter types, and return types of the method. For example, the method fun isPlaced(): Boolean on LayoutNode has the signature isPlaced()Z .

  • These patterns can have wildcards ( ** , * , and ? ) in order to have a single rule encompass multiple methods or classes.

What do the rules do?

  • A method that has the flag H indicates that this method is a "hot" method, and should be compiled ahead of time.

  • A method that has the flag S indicates that it is a method which is called at startup, and should be compiled ahead of time to avoid the cost of compilation and interpreting the method at startup time.

  • A method that has the flag P indicates that it is a method which is called after startup.

  • A class that is present in this file indicates that it is used during startup and should be pre-allocated in the heap to avoid the cost of class loading.

Как это работает?

  • Libraries can define these rules which will be packaged in AAR artifacts. When an app is then built which includes these artifacts, these rules are merged together and the merged rules are used to build a compact binary ART profile that is specific to the app. ART can then leverage this profile when the app is installed on devices in order to ahead-of-time compile a specific subset of the application to improve the performance of the application, especially the first run. Note that this will have no effect on debuggable applications.

Version 1.0.0-beta08

2 июня 2021 г.

androidx.compose.animation:animation:1.0.0-beta08 and androidx.compose.animation:animation-core:1.0.0-beta08 are released. Version 1.0.0-beta08 contains these commits.

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

  • Now detectDragGesures , detectVerticalGestures , and detectHorizontalGestures will consume the position change automatically, no need to call change.consumePositionChange in the onDrag callbacks ( I42fc4 , b/185096350 , b/187320697 )
  • Modifier.onGloballyPositioned() was changed to report the coordinates of this modifier in the modifier chain, not the layout coordinates after applying all the modifiers. This means that now the ordering of modifiers is affecting what coordinates would be reported. ( Ieb67d , b/177926591 )

Version 1.0.0-beta07

18 мая 2021 г.

androidx.compose.animation:animation:1.0.0-beta07 and androidx.compose.animation:animation-core:1.0.0-beta07 are released. Version 1.0.0-beta07 contains these commits.

Изменения API

  • New AnimatedVisibility API that support visibility to be specified in a MutableTransitionState . This also allows the animation states to be observed external to AnimatedVisibility via currentState and isIdle .
    • New child transition support in Transition
    • Support custom exit/enter transition animation in AnimatedVisibility using AnimationScope.transition
    • New animateEnterExit modifier accessible for all children of AnimatedVisibility
    • Deprecated the AnimatedVisibility APIs that take an initiallyVisible parameter ( I702f3 )

Version 1.0.0-beta06

5 мая 2021 г.

androidx.compose.animation:animation:1.0.0-beta06 and androidx.compose.animation:animation-core:1.0.0-beta06 are released. Version 1.0.0-beta06 contains these commits.

Version 1.0.0-beta05

21 апреля 2021 г.

androidx.compose.animation:animation:1.0.0-beta05 and androidx.compose.animation:animation-core:1.0.0-beta05 are released. Version 1.0.0-beta05 contains these commits.

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

  • The AndroidManifest files from ui-test-manifest and ui-tooling-data are now compatible with Android 12 ( I6f9de , b/184718994 )

Version 1.0.0-beta04

7 апреля 2021 г.

androidx.compose.animation:animation:1.0.0-beta04 and androidx.compose.animation:animation-core:1.0.0-beta04 are released. Version 1.0.0-beta04 contains these commits.

Изменения API

  • Public instances of RowScope , ColumnScope , BoxScope , BoxWithConstraintsScope were removed. ( I4e83e , b/181869067 )

Version 1.0.0-beta03

24 марта 2021 г.

androidx.compose.animation:animation:1.0.0-beta03 and androidx.compose.animation:animation-core:1.0.0-beta03 are released. Version 1.0.0-beta03 contains these commits.

Version 1.0.0-beta02

10 марта 2021 г.

androidx.compose.animation:animation:1.0.0-beta02 and androidx.compose.animation:animation-core:1.0.0-beta02 are released. Version 1.0.0-beta02 contains these commits.

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

Version 1.0.0-beta01

24 февраля 2021 г.

androidx.compose.animation:animation:1.0.0-beta01 and androidx.compose.animation:animation-core:1.0.0-beta01 are released. Version 1.0.0-beta01 contains these commits.

This is the first release of Compose 1.0.0 Beta.

Изменения API

  • InteractionState has been replaced with [Mutable]InteractionSource
    • Interfaces are responsible for emitting / collecting Interaction events.
    • Instead of passing interactionState = remember { InteractionState() } to components such as Button and Modifier.clickable() , use interactionSource = remember { MutableInteractionSource() } .
    • Instead of: Interaction.Pressed in interactionState you should instead use the extension functions on InteractionSource, such as InteractionSource.collectIsPressedAsState().
    • For complex use cases you can use InteractionSource.interactions to observe the stream of Interactions. See the InteractionSource documentation and samples for more information.
    • ( I85965 , b/152525426 , b/171913923 , b/171710801 , b/174852378 )
  • smoothScrollBy and scrollBy methods' packages changed to androidx.compose.foundation.gestures.* ( I3f7c1 , b/175294473 )
  • Size modifiers were renamed. Modifier.width/height/size were renamed to requiredWidth/requiredHeight/requiredSize. Modifier.preferredWidth/preferredHeight/preferredSize were renamed to width/height/size. ( I5b414 )
  • Orientation has been moved to foundation package. VelocirtTracker moved from ui.gesture to ui.input.pointer. ( Iff4a8 , b/175294473 )
  • AnimationClockObservable and subclasses have been removed. AnimatedFloat has been removed. ( Icde52 , b/177457083 )
  • Modifier.draggable now accepts DraggableState instead of a simple lambda. you can create state via rememberDraggableState { delta -> } to get the same behaviour as before ( Ica70f , b/175294473 )
  • animate, animatedValue, AnimatedValue APIs have been removed ( If27bc , b/177457083 )
  • AnimationEndReason.Interrupted is removed. CancellationException will be throws if animation is interrupted. ( I2cbbc , b/179695417 )
  • TargetAnimation API has been removed. ( If47d1 , b/177457083 )

Version 1.0.0-alpha12

10 февраля 2021 г.

androidx.compose.animation:animation:1.0.0-alpha12 and androidx.compose.animation:animation-core:1.0.0-alpha12 are released. Version 1.0.0-alpha12 contains these commits.

Изменения API

  • Modifier.pointerInput now requires remember keys to indicate when the pointer input detection coroutine should restart for new dependencies. ( I849cd )
  • Bounds has been renamed to DpRect ( I4b32a )
  • Unified the param name for AnimationSpec to animationSpec across the animation system. Also constrain the Enter/ExitTransition to accept FiniteAnimationSpec. ( Ie47c5 , b/177457083 )
  • Animatable.snapTo and Animatable.stop are now suspend functions ( If4288 )
  • Similarly to how we previously removed state { 0 } composable and now promote usage like remember { mutableStateOf(0) } we are going to remove savedInstanceState { 0 } composable. You should use rememberSaveable { mutableStateOf(0) } instead and it will save and restore automatically if the type used inside the MutableState can be stored in the Bundle. If previously you were passing a custom saver object now you need to use a new overload of rememberSaveable which has stateSaver parameter. 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 with ComposeTestRule . ( 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 and VectorizedAnimationSpec.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) and itemsIndexed(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 with animateAsState() , which returns a State<T> instead of T . 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 to content , according to the lint check and guidance. ( Iec48e )
  • Previously Deprecated APIs were removed:
    • Modifier.onPositioned was removed, use Modifier.onGloballyPositioned .
    • Modifier.onDraw was removed, use Modifier.onDrawBehind .
    • Modifier.plus was removed, use Modifier.then .
    • Color.Unset was removed, use Color.Unspecified .
    • PxBounds class was removed, use Rect 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 to RestorableStateProvider ( 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

October 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

October 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

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 for runBlocking 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 to PlacementScope.place() , and the previous PlacementScope.place() was renamed to PlacementScope.placeRelative() . As a result, the PlacementScope.place() method will not automatically mirror the position in right-to-left contexts anymore. If this is desired, use PlacementScope.placeRelative() instead. ( I873ac , b/162916675 )
  • The state { ... } composable is now deprecated in favor of explicit calls to remember { mutableStateOf(...) } for clarity. This reduces the overall API surface and number of concepts for state management, and matches the by 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 . eg Dp.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 an AnimationClockObservable to bridge the gap between the new coroutines based clocks and APIs that still use the old callback based clocks.

    The MonotonicFrameClock equivalent of ManualAnimationClock is now ManualFrameClock . ( 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 parameter dispatchOnSubscribe: Boolean ( Iaa134 )
  • Added APIs for getting min/max bounds in AnimatedFloat ( Icd9cc )

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

  • runOnIdleCompose renamed to runOnIdle ( 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 and runOnUiThread 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 { ... } or by 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 or setViewContent instead. Compose.disposeComposition has been deprecated. Use the dispose method on the Composition returned by setContent 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 )