Создание анимации
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
( См. справочную документацию по API для всех пакетов создания )
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
21 августа 2024 г. | 1.6.8 | 1.7.0-rc01 | - | - |
Структура
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
для вашего приложения или модуля:
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.6.8" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.6.8") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см. в документации по системе отслеживания проблем .
Версия 1.7
Версия 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
, позволяющие выбирать между масштабированием и повторным измерением. Предыдущие APIscaleIn/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
теперь поддерживает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 в анимацию и анимацию. ( 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
чтобы зависеть от Kotlin1.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 )
Исправления ошибок
- Перенос
InfiniteAnimationPolicy
в: Compose: UI ( i5eb09 , b/160602714 )
Версия 1.0
Версия 1.0.5
3 ноября 2021 г.
androidx.compose.animation:animation:1.0.5
и androidx.compose.animation:animation-core:1.0.5
выпускаются. Версия 1.0.5 содержит эти коммиты.
Исправления ошибок
- Исправлена экземпляры отслеживания аварии. ( 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 и AGP7.1
. ( б/194289155 )
Версия 1.0.0-RC02
14 июля 2021 г.
androidx.compose.animation:animation:1.0.0-rc02
и androidx.compose.animation:animation-core:1.0.0-rc02
выпускаются. Версия 1.0.0-RC02 содержит эти коммиты.
Версия 1.0.0-RC01
1 июля 2021 г.
androidx.compose.animation:animation:1.0.0-rc01
и androidx.compose.animation:animation-core:1.0.0-rc01
выпускаются. Версия 1.0.0-RC01 содержит эти коммиты.
Исправления ошибок
- Перенос
InfiniteAnimationPolicy
наandroidx.compose.ui:ui
( i5eb09 , b/160602714 )
Версия 1.0.0-бета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 =
interactionSource = remember { MutableInteractionSource() }
interactionState = remember { InteractionState() }
к таким компонентам, как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
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 -> ambientindation
- Акцентирование -> Ambientemphasislevels
- Ripplethemeambient -> ambientRippleTheme ( i37b6d )
Версия 1.0.0-Alpha04
1 октября 2020 г.
androidx.compose.animation:animation:1.0.0-alpha04
и androidx.compose.animation:animation-core:1.0.0-alpha04
выпускаются. Версия 1.0.0-Alpha04 содержит эти коммиты.
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
September 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
September 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 Changes
Added
ManualFrameClock.hasAwaiters
to see if anything is awaiting a frame from that clock;runWithManualClock
as a replacement forrunBlocking
when running tests that need a ManualFrameClock;TestUiDispatcher.Main
that gives easy access to the main UI dispatcher in your tests.Например:
@Test fun myTest() = runWithManualClock { clock -> // set some compose content withContext(TestUiDispatcher.Main) { clock.advanceClock(1000L) } if (clock.hasAwaiters) { println("The clock has awaiters") } else { println("The clock has no more awaiters") } }
( I0a85b , b/161247083 )
Исправления ошибок
onPreCommit is deprecated; onCommit now has onPreCommit's behavior.
onCommit and onActive now run in the same choreographer frame that the composition changes committed in rather than at the beginning of the next choreographer frame. ( I70403 )
Version 1.0.0-alpha01
August 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 Changes
- Offset has become an inline class ( Iaec70 )
- IntOffset is now an inline class ( Iac0bf )
- IntSize is now an inline class ( I2bf42 )
AnimatedVisibilty composable animates the appearance and disappearance of the child content.
EnterTransition and ExitTransition are introduced to work with AnimatedVisibilty composable to provide 3 different typs of appearance and disappearance animation: fade, slide, and expand/shrink the content. The different types of animations can be combined to achieve more bespoke look and feel. ( Idda11 )
Deprecated PxBounds in favor of Rect. Updated all usages of PxBounds with rect and added proper deprecate/replace with annotations to assist with the migration. ( I37038 , b/162627058 )
Исправления ошибок
-
PlacementScope.placeAbsolute()
was renamed toPlacementScope.place()
, and the previousPlacementScope.place()
was renamed toPlacementScope.placeRelative()
. As a result, thePlacementScope.place()
method will not automatically mirror the position in right-to-left contexts anymore. If this is desired, usePlacementScope.placeRelative()
instead. ( I873ac , b/162916675 ) - The
state { ... }
composable is now deprecated in favor of explicit calls toremember { mutableStateOf(...) }
for clarity. This reduces the overall API surface and number of concepts for state management, and matches theby mutableStateOf()
pattern for class property delegation. ( Ia5727 )
Version 0.1.0-dev16
August 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 Changes
- Built-in vector converters to convert built-in units are now accessible via
Foo.VectorConverter
. egDp.VectorConverter
,Color.VectorConverter
,Float.VectorConverter
, etc ( I3e273 ) - Support end listener in
Modifier.animateContentSize()
such that when size change animation finishes, the listener will be notified, along with start/end size of the animation. ( I277b2 ) - New animateContentSize modifier that animates the layout size change of its child modifier ( Ieffdc )
Added
MonotonicFrameAnimationClock
that enables you to use a MonotonicFrameClock as anAnimationClockObservable
to bridge the gap between the new coroutines based clocks and APIs that still use the old callback based clocks.The
MonotonicFrameClock
equivalent ofManualAnimationClock
is nowManualFrameClock
. ( I111c7 , b/161247083 )
Исправления ошибок
- The APIs for right-to-left support has been updated. LayoutDirectionAmbient has been added, which can be used to read and change the layout direction. Modifier.rtl and Modifier.ltr have been removed. ( I080b3 )
- Require type T to be explicitly specified for transitionDefinition. ( I1aded )
- foundation.shape.corner package were flatten to foundation.share ( I46491 , b/161887429 )
- Modifier.plus has been deprecated, use Modifier.then instead. 'Then' has a stronger signal of ordering, while also prohibits to type
Modifier.padding().background() + anotherModifier
, which breaks the chain and harder to read ( Iedd58 , b/161529964 ) - Modifier.drawBackground has been renamed to Modifier.background ( I13677 )
Version 0.1.0-dev15
July 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 Changes
- Transition API has been changed to return a TransitionState instead of passing the TransitionState to children. This makes the API more consistent with animate() APIs. ( I24e38 )
- Modifier parameter added for Crossfade ( I87cfe , b/159706180 )
- Use AnimationSpec instead of AnimationBuilder in the top level APIs to clarify the concept of static animation specification
- Improve the transition DSL by removing the lambda requirement for creating AnimationSpecs such as tween, spring. They instead take constructor params directly.
- Improve the overall ease of use of AnimationSpec opening up constructors instead of relying on builders
- Change the duration and delay for KeyFrames and Tween to Int. This eliminates unnecessary type casts and method overloading (for supporting both Long and Int). ( Ica0b4 )
- Replaced usage of IntPx with Int. Replaced IntPxPosition with IntOffset. Replaced IntPxSize with IntSize. ( Ib7b44 )
- In order to consolidate the number of classes used to represent sizing information, standardize on usage of the Size class instead of PxSize. This provides the benefits of an inline class to leverage a long to pack 2 float values to represent width and height represented as floats. ( Ic0191 )
- In order to consolidate the number of classes used to represent positioning information, standardize on usage of the Offset class instead of PxPosition. This provides the benefits of an inline class to leverage a long to pack 2 float values to represent x and y offsets represented as floats. ( I3ad98 )
- Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I086f4 )
- Added animate() support for Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds, and AnimationVector ( Ib7518 )
- Crossfade now accepts optional AnimationBuilder param to allow configuring the animation ( I6d6e0 )
- Replaced all nullable Color uses in API with non-nullable and use Color.Unset instead of null ( Iabaa7 )
- Removed ValueHolder class. Restructured AnimatedValue, AnimatedFloat classes to make the animation value field abstract so that subclasses can watch the value update.
- Added model classes for AnimatedValue, AnimatedFloat, etc.
- Added a new set of light-weight @Composable API for animating between values. ( I79530 )
- Breaking changes to the ambients API. See log and
Ambient<T>
documentation for details ( I4c7ee , b/143769776 ) - New repeat mode: Reverse. This mode reverses the previous iteration as the animation repeats in RepeatableSpec or VectorizedRepeatableSpec. ( Ibe0f5 )
- API additions to ManualAnimationClock:
hasObservers: Boolean
and constructor parameterdispatchOnSubscribe: Boolean
( Iaa134 ) - Added APIs for getting min/max bounds in AnimatedFloat ( Icd9cc )
Исправления ошибок
-
runOnIdleCompose
renamed torunOnIdle
( I83607 ) - Several testing APIs were renamed to be more intuitive. All findXYZ APIs were renamed to onNodeXYZ. All doXYZ APIs were renamed to performXYZ. ( I7f164 )
- Introduced low level stateless animation APIs. These APIs ( I63bf7 )
- The Recompose composable is no longer a useful abstraction. Most recomposition should happen as a result of MutableState assignments. For anything beyond that, it is recommended that you use the
invalidate
function to trigger a recomposition of the current scope. ( Ifc992 ) - Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters. Deleted Px class in its entirety ( I3ff33 )
- Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( Id3434 )
- Crossfade can now work with null as initial value ( Iad6a4 , b/155947711 )
- Replaced usage of Px class in various compose classes as part of the large refactoring effort to only rely on Dp and primitive types for pixel parameters ( I19d02 )
- Consolidated CanvasScope implementations so there is now just DrawScope and ContentDrawScope Renamed CanvasScope to DrawScope. Updated DrawScope to implement Density interface and provide LayoutDirection Deleted DrawScope subclass in ContentDrawScope Painter and PainterModifier have been updated to no longer maintain an RTL property themselves as DrawScope provides this already without manually providing it ( I1798e )
- Updated higher level compose APIs that expose a Canvas to expose CanvasScope instead. This removes the need for consumers to maintain their own Paint objects. For consumers that still require access to a Canvas they can use the drawCanvas extension method which provides a callback to issue drawing commands with the underlying Canvas. ( I80afd )
- Added verticalGravity and horizontalGravity parameters to Row and Column, respectively. ( I7dc5a )
- ui-text module is renamed as ui-text-core ( I57dec )
- Improve DrawModifier API:
- Made the receiver scope for draw() ContentDrawScope
- Removed all parameters on draw()
- DrawScope has same interface as former CanvasScope
- ContentDrawScope has drawContent() method ( Ibaced , b/152919067 )
-
runOnIdleCompose
andrunOnUiThread
are now global functions instead of methods on ComposeTestRule. ( Icbe8f ) - [Mutable]State property delegate operators moved to extensions to support Kotlin 1.4 property delegate optimizations. Callers must add imports to continue using
by state { ... }
orby mutableStateOf(...)
. ( I5312c ) - ColoredRect has been deprecated. Use
Box(Modifier.preferredSize(width, height).drawBackground(color))
instead. ( I499fa , b/152753731 ) - Replaced Modifier plus operator with factory extension functions ( I225e4 )
- Deprecated Center composable. It should be replaced either with the LayoutSize.Fill + LayoutAlign.Center modifier, or with one of the Box or Stack composables with suitable modifiers applied ( Idf5e0 )
- Renamed LayoutFlexible to LayoutWeight. Renamed tight parameter to fill. ( If4738 )
- The Opacity composable function has been replaced with the drawOpacity modifier. ( I5fb62 )
- Tests using AndroidComposeTestRule now provide an animation clock at the root of the composition that allows it to be paused, resumed and advanced manually. ( Id54c5 )
- Support right-to-left direction in LayoutPadding modifier ( I9e8da )
- Density and DensityScope were merged into one interface. Instead of ambientDensity() you can now use DensityAmbient.current. Instead of withDensity(density) just with(density) ( I11cb1 )
- Added copy methods to various inline class types including:
- Компенсировать
- Размер
- Радиус
- Движение
- TransformOrigin
- Deprecated Size.copy companion object method favor of instance copy method ( Ife290 , b/159905651 )
- androidx.compose.ViewComposer has been moved to androidx.ui.node.UiComposer androidx.compose.Emittable has been removed. It was redundant with ComponentNode. androidx.compose.ViewAdapters has been removed. They are no longer a supported use case. Compose.composeInto has been deprecated. Use
setContent
orsetViewContent
instead. Compose.disposeComposition has been deprecated. Use thedispose
method on theComposition
returned bysetContent
instead. androidx.compose.Compose.subcomposeInto has moved to androidx.ui.core.subcomposeInto ComponentNode#emitInsertAt has been renamed to ComponentNode#insertAt ComponentNode#emitRemoveAt has been renamed to ComponentNode#removeAt ComponentNode#emitMode has been renamed to ComponentNode#move ( Idef00 )