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

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

Структура

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.2"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Котлин

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

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

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

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

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

Версия 1.8

Версия 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.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-beta02

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

androidx.compose.animation:animation:1.3.0-beta02 , androidx.compose.animation:animation-core:1.3.0-beta02 и androidx.compose.animation:animation-graphics:1.3.0-beta02 выпущены. Версия 1.3.0-beta02 содержит эти коммиты.

  • Удален Kotlin.experimental из параметров компилятора, поскольку он устарел.

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

24 августа 2022 г.

androidx.compose.animation:animation:1.3.0-beta01 , androidx.compose.animation:animation-core:1.3.0-beta01 и androidx.compose.animation:animation-graphics:1.3.0-beta01 выпущены. Версия 1.3.0-beta01 содержит эти коммиты.

Версия 1.3.0-альфа03

10 августа 2022 г.

androidx.compose.animation:animation:1.3.0-alpha03 , androidx.compose.animation:animation-core:1.3.0-alpha03 и androidx.compose.animation:animation-graphics:1.3.0-alpha03 выпущены. Версия 1.3.0-alpha03 содержит эти коммиты.

Изменения API

  • Новые параметры в Crossfade , animateAsState и Animatable для метки инструмента ( Iac08a )
  • Добавлена ​​функция atFraction для определения ключевых кадров с определенной долей, а не с определенной продолжительностью. ( I20c76 , б/232059455 )

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

27 июля 2022 г.

androidx.compose.animation:animation:1.3.0-alpha02 , androidx.compose.animation:animation-core:1.3.0-alpha02 и androidx.compose.animation:animation-graphics:1.3.0-alpha02 выпущены. Версия 1.3.0-alpha02 содержит эти коммиты.

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

29 июня 2022 г.

androidx.compose.animation:animation:1.3.0-alpha01 , androidx.compose.animation:animation-core:1.3.0-alpha01 и androidx.compose.animation:animation-graphics:1.3.0-alpha01 выпущены. Версия 1.3.0-alpha01 содержит эти коммиты.

Изменения API

  • Новый LookaheadLayout , который поддерживает просмотр вперед перед фактической мерой/макетом. Это позволяет предварительно рассчитать макет при его изменении, в то же время позволяя измерению/макету после просмотра использовать предварительно рассчитанный размер/положение для анимации размера и положения по отношению к цели. SubcomposeLayouts пока не поддерживаются, но будут в следующем выпуске. ( I477f5 )

Версия 1.2

Версия 1.2.1

10 августа 2022 г.

androidx.compose.animation:animation:1.2.1 , androidx.compose.animation:animation-core:1.2.1 и androidx.compose.animation:animation-graphics:1.2.1 выпущены. Версия 1.2.1 содержит эти коммиты.

Версия 1.2.0

27 июля 2022 г.

Выпущены androidx.compose.animation:animation:1.2.0 , androidx.compose.animation:animation-core:1.2.0 и androidx.compose.animation:animation-graphics:1.2.0 . Версия 1.2.0 содержит эти коммиты.

Важные изменения с версии 1.1.0

  • Создание анимации теперь поддерживает настройку «Шкала продолжительности анимации» в настройках разработчика.
  • Большой выбор новых экспериментальных кривых замедления.
  • AnimatedImageVector теперь поддерживаетpepeCount repeatCount repeatMode

Версия 1.2.0-rc03

29 июня 2022 г.

androidx.compose.animation:animation:1.2.0-rc03 , androidx.compose.animation:animation-core:1.2.0-rc03 и androidx.compose.animation:animation-graphics:1.2.0-rc03 выпущены. Версия 1.2.0-rc03 содержит эти коммиты.

  • Никаких изменений с версии 1.2.0-rc02.

Версия 1.2.0-rc02

22 июня 2022 г.

androidx.compose.animation:animation:1.2.0-rc02 , androidx.compose.animation:animation-core:1.2.0-rc02 и androidx.compose.animation:animation-graphics:1.2.0-rc02 выпущены. Версия 1.2.0-rc02 содержит эти коммиты.

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

  • Удалена аннотация ExperimentalEasingApi для функций замедления ( Ied441 ).

Версия 1.2.0-rc01

15 июня 2022 г.

androidx.compose.animation:animation:1.2.0-rc01 , androidx.compose.animation:animation-core:1.2.0-rc01 и androidx.compose.animation:animation-graphics:1.2.0-rc01 выпущены. Версия 1.2.0-rc01 содержит эти коммиты.

Изменения API

  • Интерфейсы в библиотеках компоновки теперь создаются с использованием методов интерфейса jdk8 по умолчанию ( I5bcf1 ).

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

1 июня 2022 г.

androidx.compose.animation:animation:1.2.0-beta03 , androidx.compose.animation:animation-core:1.2.0-beta03 и androidx.compose.animation:animation-graphics:1.2.0-beta03 выпущены. Версия 1.2.0-beta03 содержит эти коммиты.

Изменения API

  • Добавлены экспериментальные кривые замедления для анимации ( I64a38 ).

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

18 мая 2022 г.

androidx.compose.animation:animation:1.2.0-beta02 , androidx.compose.animation:animation-core:1.2.0-beta02 и androidx.compose.animation:animation-graphics:1.2.0-beta02 выпущены. Версия 1.2.0-beta02 содержит эти коммиты.

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

11 мая 2022 г.

androidx.compose.animation:animation:1.2.0-beta01 , androidx.compose.animation:animation-core:1.2.0-beta01 и androidx.compose.animation:animation-graphics:1.2.0-beta01 выпущены. Версия 1.2.0-beta01 содержит эти коммиты.

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

Версия 1.2.0-альфа08

20 апреля 2022 г.

androidx.compose.animation:animation:1.2.0-alpha08 , androidx.compose.animation:animation-core:1.2.0-alpha08 и androidx.compose.animation:animation-graphics:1.2.0-alpha08 выпущены. Версия 1.2.0-alpha08 содержит эти коммиты.

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

6 апреля 2022 г.

androidx.compose.animation:animation:1.2.0-alpha07 , androidx.compose.animation:animation-core:1.2.0-alpha07 и androidx.compose.animation:animation-graphics:1.2.0-alpha07 выпущены. Версия 1.2.0-alpha07 содержит эти коммиты.

Изменения API

  • AnimatedImageVector теперь поддерживает repeatCount и repeatMode ( Ia3e75 , b/199304067 ).

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

23 марта 2022 г.

androidx.compose.animation:animation:1.2.0-alpha06 , androidx.compose.animation:animation-core:1.2.0-alpha06 и androidx.compose.animation:animation-graphics:1.2.0-alpha06 выпущены. Версия 1.2.0-alpha06 содержит эти коммиты.

Изменения API

  • Обновлен синтаксический анализ векторных изображений для поддержки автоматического зеркалирования для переворачивания содержимого VectorPainter если текущее направление макета — RTL. ( I79cd9 , б/185760237 )

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

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

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

9 марта 2022 г.

androidx.compose.animation:animation:1.2.0-alpha05 , androidx.compose.animation:animation-core:1.2.0-alpha05 и androidx.compose.animation:animation-graphics:1.2.0-alpha05 выпущены. Версия 1.2.0-alpha05 содержит эти коммиты.

Изменения API

  • Ура! Создание анимации теперь поддерживает настройку «Шкала продолжительности анимации» в настройках разработчика. ( I5a4fc , б/161675988 )

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

23 февраля 2022 г.

androidx.compose.animation:animation:1.2.0-alpha04 , androidx.compose.animation:animation-core:1.2.0-alpha04 и androidx.compose.animation:animation-graphics:1.2.0-alpha04 выпущены. Версия 1.2.0-alpha04 содержит эти коммиты.

Версия 1.2.0-альфа03

9 февраля 2022 г.

androidx.compose.animation:animation:1.2.0-alpha03 , androidx.compose.animation:animation-core:1.2.0-alpha03 и androidx.compose.animation:animation-graphics:1.2.0-alpha03 выпущены. Версия 1.2.0-alpha03 содержит эти коммиты.

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

26 января 2022 г.

androidx.compose.animation:animation:1.2.0-alpha02 , androidx.compose.animation:animation-core:1.2.0-alpha02 и androidx.compose.animation:animation-graphics:1.2.0-alpha02 выпущены. Версия 1.2.0-alpha02 содержит эти коммиты.

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

12 января 2022 г.

androidx.compose.animation:animation:1.2.0-alpha01 , androidx.compose.animation:animation-core:1.2.0-alpha01 и androidx.compose.animation:animation-graphics:1.2.0-alpha01 выпущены. Версия 1.2.0-alpha01 содержит эти коммиты.

Изменения API

  • Используйте AnimatedImageVector.animatedVectorResource вместо animatedVectorResource для загрузки файла ресурсов <animated-vector> .
    • Используйте rememberAnimatedVectorResource вместо AnimatedImageVector#painterFor для рендеринга AnimatedImageVector . ( I9c300 )

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

  • Добавьте методы toString в Animatable и AnimationResult. ( Icd3a6 )

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

  • Теперь зависит от Kotlin 1.6.10 .

Версия 1.1

Версия 1.1.1

23 февраля 2022 г.

androidx.compose.animation:animation:1.1.1 , androidx.compose.animation:animation-core:1.1.1 и androidx.compose.animation:animation-graphics:1.1.1 выпущены. Версия 1.1.1 содержит эти коммиты.

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

  • Исправьте NullPointerException в androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList ( aosp/1947059 , b/206677462 ).
  • Исправлен сбой, вызванный содержимым буфера обмена при чтении из буфера обмена на Android. ( I06020 , б/197769306 )
  • Исправлено RTL в LazyVerticalGrid ( aosp/1931080 , b/207510535 )

Версия 1.1.0

9 февраля 2022 г.

Выпущены androidx.compose.animation:animation:1.1.0 , androidx.compose.animation:animation-core:1.1.0 и androidx.compose.animation:animation-graphics:1.1.0 . Версия 1.1.0 содержит эти коммиты.

Важные изменения с версии 1.0.0

  • Стабильная поддержка эффекта прокрутки Android 12.
  • Улучшения в сенсорном изменении целевого размера.
  • Обратите внимание, что в Compose 1.0 компоненты Material будут расширять свое пространство макета, чтобы соответствовать рекомендациям по доступности Material для сенсорного размера цели . Например, цель касания кнопки расширится до минимального размера 48x48dp, даже если вы установите меньший размер кнопки. Это приводит Compose Material в соответствие с тем же поведением компонентов Material Design, обеспечивая единообразное поведение при смешивании представлений и Compose. Это изменение также гарантирует, что при создании пользовательского интерфейса с использованием компонентов Compose Material будут соблюдены минимальные требования к доступности сенсорной цели.
  • Стабильная поддержка Navigation Rail
  • Стабильный уровень ряда ранее экспериментальных API.
  • Поддержка новых версий Kotlin

Версия 1.1.0-rc03

26 января 2022 г.

androidx.compose.animation:animation:1.1.0-rc03 , androidx.compose.animation:animation-core:1.1.0-rc03 и androidx.compose.animation:animation-graphics:1.1.0-rc03 выпущены. Версия 1.1.0-rc03 содержит эти коммиты.

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

  • Обновлено для поддержки Compose Material 1.1.0-rc03.

Версия 1.1.0-rc01

15 декабря 2021 г.

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

Изменения API

  • Используйте AnimatedImageVector.animatedVectorResource вместо animatedVectorResource для загрузки файла ресурсов <animated-vector> .
    • Используйте rememberAnimatedVectorResource вместо AnimatedImageVector#painterFor для рендеринга AnimatedImageVector . ( I9c300 )

Версия 1.1.0-beta04

1 декабря 2021 г.

androidx.compose.animation:animation:1.1.0-beta04 , androidx.compose.animation:animation-core:1.1.0-beta04 и androidx.compose.animation:animation-graphics:1.1.0-beta04 выпущены. Версия 1.1.0-beta04 содержит эти коммиты.

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

  • Обновлен для совместимости с Kotlin 1.6.0

Версия 1.1.0-beta03

17 ноября 2021 г.

androidx.compose.animation:animation:1.1.0-beta03 , androidx.compose.animation:animation-core:1.1.0-beta03 и androidx.compose.animation:animation-graphics:1.1.0-beta03 выпущены. Версия 1.1.0-beta03 содержит эти коммиты.

Изменения API

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

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

Версия 1.1.0-beta02

3 ноября 2021 г.

androidx.compose.animation:animation:1.1.0-beta02 , androidx.compose.animation:animation-core:1.1.0-beta02 и androidx.compose.animation:animation-graphics:1.1.0-beta02 выпущены. Версия 1.1.0-beta02 содержит эти коммиты.

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

  • Новые API-интерфейсы анимации для поддержки инструментов. В частности, они позволяют инструментам осматривать анимации и их конфигурации в переходах. ( I4116e )

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

27 октября 2021 г.

androidx.compose.animation:animation:1.1.0-beta01 androidx.compose.animation:animation-core:1.1.0-beta01 androidx.compose.animation:animation-graphics:1.1.0-beta01 Версия 1.1.0-beta01 содержит эти коммиты.

Изменения API

  • Новые анимационные API для поддержки инструментов. В частности, они позволяют инструментам осматривать анимации и их конфигурации в переходах. ( I4116e )

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

13 октября 2021 г.

androidx.compose.animation:animation:1.1.0-alpha06 androidx.compose.animation:animation-core:1.1.0-alpha06 androidx.compose.animation:animation-graphics:1.1.0-alpha06 Версия 1.1.0-Alpha06 содержит эти коммиты.

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

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

androidx.compose.animation:animation:1.1.0-alpha05 androidx.compose.animation:animation-core:1.1.0-alpha05 androidx.compose.animation:animation-graphics:1.1.0-alpha05 Версия 1.1.0-Alpha05 содержит эти коммиты.

Изменения API

  • EnterTransition , ExitTransition и некоторые API -интерфейсы AnimatedVisibility стали стабильными. MutableTransitionState.isIdle также больше не экспериментально. ( I5072d )

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

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

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

androidx.compose.animation:animation:1.1.0-alpha04 , androidx.compose.animation:animation-core:1.1.0-alpha04 и androidx.compose.animation:animation-graphics:1.1.0-alpha04 . Версия 1.1.0-Alpha04 содержит эти коммиты.

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

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

androidx.compose.animation:animation:1.1.0-alpha03 androidx.compose.animation:animation-core:1.1.0-alpha03 androidx.compose.animation:animation-graphics:1.1.0-alpha03 Версия 1.1.0-alpha03 содержит эти коммиты.

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

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

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

18 августа 2021 г.

androidx.compose.animation:animation:1.1.0-alpha02 , androidx.compose.animation:animation-core:1.1.0-alpha02 и androidx.compose.animation:animation-graphics:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит эти коммиты.

Изменения API

  • StartOffSet теперь поддерживается в повторяемом и бесконечности, как способ задержать время начала или перенести анимацию до начала анимации. Это смещение начала не будет повторена ( IC679F , B/195079908 )
  • Новый переход Enter/Exit для масштаба. Его можно использовать в сочетании с другими типами ввода/выходов. ( I372DA , B/191325593 )

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

4 августа 2021 г.

androidx.compose.animation:animation:1.1.0-alpha01 , androidx.compose.animation:animation-core:1.1.0-alpha01 и androidx.compose.animation:animation-graphics:1.1.0-alpha01 выпускаются. Версия 1.1.0-Alpha01 содержит эти коммиты.

Изменения API

  • AnimatedImageVector и связанные с ними API теперь находятся в новом androidx.compose.animation:animation-graphics . ( I60873 )

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

Версия 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.compose.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-beta04

7 апреля 2021 г.

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

Изменения API

  • Общественные случаи RowScope , ColumnScope , BoxScope , BoxWithConstraintsScope были удалены. ( I4e83e , 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-beta02

10 марта 2021 г.

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

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

  • Применение ограничений на публичное использование экспериментальных API ( i6aa29 , b/174531520 )

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

24 февраля 2021 г.

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

Это первый выпуск Compose 1.0.0 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 )
  • Временно добавлена ​​опция, чтобы позволить TestanimationClock быть управляемым монотонным фраминком ( I1403B , B/173402197 )

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

  • Переименованный модификатор.drawlayer to modifier.graphicslayer также обновил связанные классы для GraphicsLayer в соответствии с отзывом Совета API. ( I0BD29 , B/173834241 )
  • Добавлен MODIFIER.SCALE/OTE API в качестве удобств для Drawlayer.
    • Переименованный модификатор.
    • Переименованный модификатор. Drawshadow to modifier.shadow ( I264CA , B/173208140 )
  • Сделано поля и положения PointerinPutData. ( Id468a )
  • Модификаторы OffsetPX были переименованы в смещение. Сейчас они принимают параметры Lambda вместо состояния. ( IC3021 , B/173594846 )
  • Новые API для работы анимации в Coroutines ( IED662 )
  • Установившись в окружающей среде, названные с Ambient в качестве суффикса, и заменили их новыми свойствами, префиксированными окружающей средой, следуя за другими окружающими, и составил руководящие принципы API. ( I33440 )
  • Контроль времени в тестах (TestanimationClock и его использование) в настоящее время экспериментально ( i6ef86 , b/171378521 )
  • Удалить старый модуль UI-теста и его заглушки ( i3a7cb )
  • RestorableStateHolder.withRestorableState был переименован в RestorableStateProvider ( I66640 )
  • Интерфейс выравнивания был обновлен и сделан функциональным. ( I46A07 , B/172311734 )

Версия 1.0.0-Alpha07

11 ноября 2020 г.

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

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

  • Фонд AmbientTextStyle, ProvidetextStyle и AmbientContentColor были устарели. Вместо этого используйте новые версии, доступные в библиотеке материалов. Для нематериальных приложений вы должны вместо этого создать собственную систему дизайна, которые можно использовать в ваших собственных компонентах. ( I74ACC , B/172067770 )
  • Foundation.Text был устарел и заменен на материал. Текст. Для базового, неопинозированного текстового API, который не потребляет значения из темы, см. Androidx.compe.foundation.basictext. ( IF64CB )
  • Measersult был выброшен из -за мер. ( IBF96D , B/1711844002 )
  • Несколько символов, связанных с макетом, были перемещены с Androidx.compose.ui на androidx.compose.layout.ui. ( I0FA98 , B/170475424 )

Версия 1.0.0-Alpha06

28 октября 2020 г.

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

Изменения API

  • Включить переходы в Composetestrule; Удалите опцию, чтобы включить мигающий курсор из Composetestrule. ( If0de3 )

Версия 1.0.0-Alpha05

14 октября 2020 г.

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

Изменения API

  • Новый интерфейс анимации и подклассы: в этих классах хранятся условия начала и конечности для анимации и, следовательно, позволяют запрашивать значение и скорость только через время игры ( IE95BD , B/163329867 )

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

  • OnPositionEdModifier переименован в OnGloballyPositionEdModifier, а OnPosited () переименован в OnGloballyPosited (). ( I587e8 , b/169083903 )
  • Университет ContentColor () и CurrentTextStyle () API () и заменяет их на AmbientContentcolor и AmbientTextStyle Ambients соответственно. Вы можете получить доступ к текущему .current с помощью. Это было изменено для последовательности, и чтобы избежать нескольких способов выполнить одно и то же. Кроме того, переименование некоторых окружающих свойств, чтобы лучше описать их цель следующим образом:

    • ContentColorambient -> AmbientContentcolor
    • TextStileAmbient -> AmbientTextStyle
    • IndicationAmbient -> ambientindication
    • Акцентирование -> Ambientemphasislevels
    • Ripplethemeambient -> ambientRippleTheme ( i37b6d )

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

1 октября 2020 г.

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

Изменения API

  • Аннотированная rootanimationClockFactory, TransitionSenabled, MallingCursorEnabled и TextInputServiceFactory с @VisibleFortesting, сделайте их внутренним API и скрыть свой KDOC ( I554EB , B/168308412 )

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

  • Обновлено множество графических API
    • Обновленные API -интерфейсы преобразования масштаба и поворота для использования одного параметра смещения, чтобы представлять координату pivot вместо отдельных параметров плавания для координат x/y в DrawScope и Tranttransform
    • Удаленный rect.expandtoinclude и rect.join Методы
    • Обновленная документация RADIUS, чтобы сказать Oval в дополнение к эллиптической
    • Добавлена ​​документация, чтобы указать общественный конструктор для класса встроенного радиуса не должна быть вызвана непосредственно, а вместо этого объекты RADIUS должны быть созданы через конструкторы своих функций
    • Удаленные API круглое, чтобы запросить Top Right, Bottomright, Bottomcenter и т. Д.
    • Устаревший rect.shift в пользу rect.translate
    • Удаленный круглый
    • Переименован в круглый
    • Удаленный круглый
    • Переименованное в раунде.
    • Переименован в круглый
    • Изменен Roundrect.center, чтобы быть свойством, а не функцией
    • Обновленный конструктор круглогов для потребления Radius Properties вместо отдельных параметров для значений RADIUS x/y
    • Удаленные API размера, которые предполагали, что это был прямоугольник с происхождением на 0,0
    • Добавил разрушение API в радиус
    • Вместо этого мигрировали различные функции разгибания круглогов, чтобы быть свойствами
    • ( I8f5c7 , b/168762961 )
  • Foundation.box был устарел. Пожалуйста, используйте foundation.layout.box вместо этого. ( IE5950 , B/167680279 )
  • Стек был переименован в коробку. Ранее существующая коробка будет устареть в пользу новой коробки в compose.foundation.layout. Поведение новой коробки состоит в том, чтобы складывать детей один на другой, когда у него есть несколько детей - это отличается от предыдущей коробки, которая вела себя похожа на столбце. ( I94893 , B/167680279 )
  • Параметры украшения коробки устарели. Если вы хотите иметь украшения/заполнение на своей коробке, вместо этого используйте модификаторы (modifier.background, modifier.border, modifier.padding) ( ibae92 , b/167680279 )
  • Мы предотвратили статический импорт содержимого прицела макета (например, совместные сборы в Rowscope). Вместо этого следует использовать альтернативу явного прицела: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) } . ( I216be , b/166760797 )

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

16 сентября 2020 г.

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

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

  • Использование гравитации было последовательно переименовано в выравнивание или выравнивание в API -интерфейсе. ( I2421A , B/164077038 )

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

2 сентября 2020 г.

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

Изменения API

  • Добавлено ManualFrameClock.hasAwaiters , чтобы увидеть, ожидает ли что -нибудь кадр из этих часов; runWithManualClock в качестве замены для runBlocking при запуске тестов, которые нуждаются в руководстве TestUiDispatcher.Main , который дает легкий доступ к основному диспетчеру пользовательского интерфейса в ваших тестах.

    Например:

    @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 )

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

  • На промежутке устарел; У Oncommit теперь есть поведение Procommit.

    Oncommit и Onactive теперь работают в той же кадре хореографа, в которой композиция изменяется, а не в начале следующей кадры хореографа. ( I70403 )

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

26 августа 2020 г.

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

Версия 0.1.0-Dev

Версия 0.1.0-Dev17

19 августа 2020 г.

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

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

Изменения API

  • Offset стало встроенным классом ( IAEC70 )
  • Intoffset теперь встроенный класс ( IAC0BF )
  • Intsize теперь встроенный класс ( i2bf42 )
  • AnimatedVisibilty Composable анимирует внешний вид и исчезновение договора.

    Энтертранция и вывод и выходы вводятся на работу с AnimatedVisibilty Composable, чтобы обеспечить 3 различных типа внешнего вида и исчезновения анимации: исчезание, скольжение и расширение/сокращение контента. Различные типы анимации могут быть объединены, чтобы достичь более индивидуального внешнего вида. ( Idda11 )

  • Устаревшие pxbounds в пользу прямо. Обновлено все использование pxbounds с помощью прямого и добавленного надлежащего вымогания/замены аннотациями, чтобы помочь с миграцией. ( I37038 , B/162627058 )

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

  • PlacementScope.placeAbsolute() был переименован в PlacementScope.place() , а предыдущий PlacementScope.place() был переименован в PlacementScope.placeRelative() . В результате метод PlacementScope.place() больше не будет автоматически отражать положение в контексте правого налегих. Если это требуется, используйте вместо этого PlacementScope.placeRelative() . ( I873AC , B/162916675 )
  • state { ... } композитное теперь устарело в пользу явных вызовов remember { mutableStateOf(...) } для ясности. Это уменьшает общую поверхность API и количество понятий для управления состоянием и соответствует шаблону by mutableStateOf() для делегирования свойства класса. ( IA5727 )

Версия 0.1.0-Dev16

5 августа 2020 года

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

Изменения API

  • Встроенные векторные преобразователи для преобразования встроенных единиц теперь доступны через Foo.VectorConverter . Например, Dp.VectorConverter , Color.VectorConverter , Float.VectorConverter и т. Д. ( I3E273 )
  • Поддержка конечного слушателя в Modifier.animateContentSize() так, чтобы при завершении анимации изменения размера слушатель будет уведомлен, наряду с размером начала/конец анимации. ( I277b2 )
  • Новый модификатор AnimateContentsize, который анимирует изменение размера макета своего дочернего модификатора ( IEFFDC )
  • Добавлен MonotonicFrameAnimationClock , который позволяет использовать монотонный фрамиклок в качестве AnimationClockObservable чтобы преодолеть разрыв между новыми часами на основе Coroutines и API, которые все еще используют старые часы на основе обратного вызова.

    MonotonicFrameClock эквивалентным ManualAnimationClock , теперь является ManualFrameClock . ( I111c7 , b/161247083 )

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

  • API-интерфейсы для поддержки справа налево были обновлены. Был добавлен MayoutDirectionAmbient, который можно использовать для чтения и изменения направления макета. Modifier.rtl и modifier.ltr были удалены. ( I080B3 )
  • Требовать типа T, который будет явно указан для перехода. ( I1aded )
  • Foundation.shape.corner Package был сглажен до Foundation.share ( I46491 , B/161887429 )
  • MODIFIER.PLUS был устарел, используйте модификатор. Тогда вместо этого. «Тогда» имеет более сильный сигнал упорядочения, в то время как также запрещает тип Modifier.padding().background() + anotherModifier , который разбивает цепь и труднее читать ( IEDD58 , B/161529964 )
  • MODIFIER.Drawbackground был переименован в Modifier.Background ( I13677 )

Версия 0.1.0-Dev15

22 июля 2020 г.

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

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

  • Чтобы использовать версию Compose 0.1.0-dev15 , вам необходимо будет обновить свои зависимости в соответствии с новыми фрагментами кода, показанными выше при объявлении зависимостей .

Изменения API

  • Переход API был изменен, чтобы вернуть переходное положение вместо передачи переходного штата детям. Это делает API более соответствовать API Animate (). ( I24e38 )
  • Параметр модификатора добавлен для CrossFade ( I87CFE , B/159706180 )
  • Используйте AnimationPec вместо AnimationBuilder в API верхнего уровня, чтобы прояснить концепцию статической анимации спецификации
    • Улучшите переход DSL, удалив требование Lambda для создания анимаций, таких как Tween, Spring. Вместо этого они принимают конструкторы напрямую.
    • Улучшение общей простоты использования конструкторов AnimationsPec открывает конструкторы вместо строителей
    • Измените продолжительность и задержку для ключевых кадров и подростка на Int. Это устраняет ненужные черты типа и перегрузку методов (для поддержки как Long, так и int). ( ICA0B4 )
  • Заменило использование INTPX с Int. Заменил INTPXPOSION с IntoffSet. Заменил intpxsize на Intsize. ( IB7B44 )
  • Чтобы консолидировать количество классов, используемых для представления информации о размерах, стандартизируйте использование класса размера вместо PxSize. Это обеспечивает преимущества встроенного класса для использования длинных значений плавания 2, чтобы представлять ширину и высоту, представленные как поплавки. ( IC0191 )
  • Чтобы консолидировать количество классов, используемых для представления информации о позиционировании, стандартизировать использование класса смещения вместо pxposition. Это обеспечивает преимущества встроенного класса для использования длинных значений плавания 2, чтобы представлять смещения x и y, представленные как поплавки. ( I3ad98 )
  • Заменил использование класса PX в различных классах компоновки в рамках больших усилий по рефакторингу, чтобы полагаться только на DP и примитивные типы для параметров пикселей ( I086F4 )
  • Добавлена ​​поддержка Animate () для DP, PX, размера, положения, границ, pxposition, pxsize, pxbounds, intpx, intpxsize, intpxposition, intpxbounds и анимации ( IB7518 )
  • CrossFade теперь принимает дополнительную анимацию, создав Param, чтобы разрешить настройку анимации ( i6d6e0 )
  • Заменил все нулевые использование цвета в API с не нулевым и используйте Color.unset вместо нулевого ( iabaa7 )
  • Удаленный класс владельцев стоимости. Реструктурированные анимационные классы, анимированные классы, чтобы сделать полевой поля анимации абстрактным, чтобы подклассы могли смотреть обновление значения.
    • Добавлены классы моделей для анимации, анимированного флоата и т. Д.
    • Добавлен новый набор легких API @composable @composable для анимации между значениями. ( I79530 )
  • Нарушение изменений в API Ampi. См. Журнал и Ambient<T> Документация для деталей ( i4c7ee , b/143769776 )
  • Новый режим повторения: обратный. Этот режим переворачивает предыдущую итерацию, когда анимация повторяется в RepectablePec или VectorizedRepeatablePec. ( Ibe0f5 )
  • Дополнения API к ManualAnimationClock: hasObservers: Boolean и Parameter dispatchOnSubscribe: Boolean ( IAA134 )
  • Добавлены API для получения границ min/max в анимированном цвете ( ICD9CC )

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

  • runOnIdleCompose переименован в runOnIdle ( I83607 )
  • Несколько тестирующих API были переименованы в более интуитивно понятные. Все API Findxyz были переименованы в Onnodexyz. Все API -интерфейсы Doxyz были переименованы в выполнение Xyz. ( I7f164 )
  • Введены API анимации без хранения. Эти API ( i63bf7 )
  • Сопровождение Composable больше не является полезной абстракцией. Большая часть переоценки должна произойти в результате назначений мутаблстата. Для чего -либо, кроме этого, рекомендуется использовать функцию invalidate , чтобы вызвать переоборудование текущего объема. ( IFC992 )
  • Заменило использование класса PX в различных классах Compose в рамках больших усилий по рефакторингу, чтобы полагаться только на DP и примитивные типы для параметров пикселей. Удал класс PX полностью ( 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 )