Constraintlayout

Гибкое позиционирование и изменение размера виджетов с помощью относительного позиционирования.

В этой таблице перечислены все артефакты, входящие в группу androidx.constraintlayout .

Артефакт Стабильный релиз Предварительная версия релиза Бета-версия Альфа-версия
constraintlayout 2.2.1 - - -
constraintlayout-compose 1.1.1 - - -
constraintlayout-core 1.1.1 - - -

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

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

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

классный

dependencies {
    implementation "androidx.constraintlayout:constraintlayout:2.2.1"
    // To use constraintlayout in compose
    implementation "androidx.constraintlayout:constraintlayout-compose:1.1.1"
}

Котлин

dependencies {
    implementation("androidx.constraintlayout:constraintlayout:2.2.1")
    // To use constraintlayout in compose
    implementation("androidx.constraintlayout:constraintlayout-compose:1.1.1")
}

Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .

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

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

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

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

ConstraintLayout-compose и ConstraintLayout-Core 1.1

Версия 1.1.1

26 февраля 2025 г.

Выпущены androidx.constraintlayout:constraintlayout-compose:1.1.1 , androidx.constraintlayout:constraintlayout-compose-android:1.1.1 и androidx.constraintlayout:constraintlayout-core:1.1.1 . Версия 1.1.1 содержит следующие коммиты .

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

  • Исправлены некоторые проблемы с компоновкой, которые в некоторых случаях приводят к тому, что элементы компоновки не размещаются. Например, переключение видимости. ( I34e68 , b/299134793 )

Версия 1.1.0

30 октября 2024 г.

Выпущены androidx.constraintlayout:constraintlayout-compose:1.1.0 , androidx.constraintlayout:constraintlayout-compose-android:1.1.0 и androidx.constraintlayout:constraintlayout-core:1.1.0 . Версия 1.1.0 содержит следующие коммиты .

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

  • Исправлено взаимодействие с SharedTransitionLayout ( b/332898040 ).
  • Исправлены ошибки компоновки, связанные с измерениями из-за перекомпоновки ( b/219091179 , Ibfe8a ).

Версия 1.1.0-rc01

16 октября 2024 г.

Выпущены коммиты androidx.constraintlayout:constraintlayout-compose:1.1.0-rc01 , androidx.constraintlayout:constraintlayout-compose-android:1.1.0-rc01 и androidx.constraintlayout:constraintlayout-core:1.1.0-rc01 . Версия 1.1.0-rc01 содержит следующие коммиты .

Версия 1.1.0-beta01

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

Выпущены коммиты androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01 , androidx.constraintlayout:constraintlayout-compose-android:1.1.0-beta01 и androidx.constraintlayout:constraintlayout-core:1.1.0-beta01 . Версия 1.1.0-beta01 содержит следующие коммиты .

Version 1.1.0-alpha14

7 августа 2024 г.

Выпущены коммиты androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha14 , androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha14 и androidx.constraintlayout:constraintlayout-core:1.1.0-alpha14 . Версия 1.1.0-alpha14 содержит следующие коммиты .

Изменения в API

  • Теперь флаги предоставляются по отдельности через сопутствующий объект и могут комбинироваться с оператором or . ( I9df53 )
  • Упрощены вспомогательные функции createRow и createColumn . Улучшены названия параметров createGrid и документация для большей ясности. ( Iebc92 )
  • Упрощен API animateChanges в ConstraintLayout , теперь требуется только ненулевой AnimationSpec . onIncomingConstraints в InvalidationStrategy теперь является обычной лямбда-функцией. fixedWidthRate переименован в shouldInvalidateOnFixedWith , то же самое для варианта Height. ( Ie59cd , b/332898040 , b/336370035 )
  • Источники данных NestedScroll Drag и Fling — заменяются на UserInput и SideEffect , чтобы соответствовать расширенному определению этих источников, которые теперь включают анимацию (Side Effect), а также колесико мыши и клавиатуру (UserInput). ( I40579 )

Version 1.1.0-alpha13

4 октября 2023 г.

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha13 , androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha13 и androidx.constraintlayout:constraintlayout-core:1.1.0-alpha13 выпущены без изменений. Версия 1.1.0-alpha13 содержит эти коммиты.

  • В этом релизе библиотеки androidx.constraintlayout теперь совместимы по ABI с последними версиями Compose.

Version 1.1.0-alpha12

9 августа 2023 г.

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

Изменения в API

  • Добавлен LayoutScopeMarker в Transition DSL. ( If54ce )

Version 1.1.0-alpha11

26 июля 2023 г.

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

Новые функции

  • Теперь вы можете указать InvalidationStrategy для оптимизации аннулирования зависимостей в MotionLayout . Это обычно приводит к снижению производительности. ( Iada0c )
  • Теперь вы можете использовать animateChanges = true при использовании ConstraintLayout с встроенным DSL-модулем Modifier ( Modifier.constrainAs ). При каждом изменении DSL-модуля ограничений ConstraintLayout автоматически будет анимироваться в соответствии с новым состоянием. ( I9abf1 )
  • Включена функциональность limitBoundsTo для OnSwipe. ( I56522 )

Изменения в API

  • Переименован TransitionScope.staggered в TransitionScope.maxStaggerDelay . ( I0fd2d )

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

  • Fixed dragScale parameter from OnSwipe not working. ( 8bef26 )
  • Исправлена ​​ошибка, из-за которой customColor в MotionScene некорректно работал с прозрачными цветами. ( 81b2ac )
  • Исправлена ​​ошибка, из-за которой OnSwipe некорректно объявлял о завершении действия, а также исправлен начальный расчет скорости для touchUp . ( Ia5f6f )
  • Обновлена ​​документация KDoc для ConstraintLayout Composable и Constraintset . ( 3bfe63 )

Version 1.1.0-alpha10

24 мая 2023 г.

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

Изменения в API

  • API MotionLayout больше не является экспериментальным, это представляет собой первоначальный набор стабильных API для MotionLayout . ( I288f4 )
  • Removed MotionLayoutState . ( Id3ac1 )
  • Теперь вы можете использовать DebugFlags для визуальной отладки: DebugFlags(showBounds = true) . ( Ic714b )
  • Заменена переменная расширения Dp.asDimension на метод: Dp.asDimension() . ( I2d6ef )
  • В DSL MotionLayout теперь поддерживается режим пошагового отображения. Максимальную задержку можно задать с помощью TransitionScope.staggered , а также использовать ConstrainScope.staggeredWeight (внутри MotionSceneScope ) для получения пользовательского режима пошагового отображения. ( I70275 )
  • В вспомогательную функцию Grid внесены два изменения: 1. paddingLeft и paddingRight заменены на paddingStart и paddingEnd соответственно, и 2. формат gridSpans и gridSkip изменен на массив объектов Span и Skip для большей структурированности. ( Idd1eb )

Version 1.1.0-alpha09

22 марта 2023 г.

Выпущены androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09 и androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09 . Версия 1.1.0-alpha09 содержит следующие коммиты.

Изменения в API

  • Modifier.intermediateLayout теперь не требует явного указания LookaheadScope . Блок измерения в intermediateLayout использует IntermediateMeasureScope в качестве получателя, что обеспечивает удобные CoroutineScope , LookaheadScope и MeasureScope .
  • LookaheadLayout был заменен на LookaheadScope , который больше не является компонентом Layout. Это позволяет напрямую управлять содержимым дочерних элементов в LookaheadScope с помощью MeasurePolicy родительского компонента. ( Ibe2e5 )
  • Easing.Cubic() теперь может принимать параметры перерегулирования. ( I2d826 )

Version 1.1.0-alpha08

8 марта 2023 г.

Выпущены androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08 и androidx.constraintlayout:constraintlayout-core:1.1.0-alpha08 . Версия 1.1.0-alpha08 содержит следующие коммиты.

Новые функции

  • Добавлены проверки синтаксиса, предлагающие использовать Dimension.percent(1f) и LayoutReference.withChainParams() в случаях, когда типичные шаблоны могут привести к непредсказуемому поведению. ( I62eb0 , I03060 )

Изменения в API

  • Включите флаги ReverseSpanDirection и SpansOrderFirst для Grid Helper в Compose.
    1. ReverseSpanDirection : меняет местами ширину и высоту для пролетов/пропусков.
    2. SpansOrderFirst : spans would respect the order of the widgets. ( I6ad50 )
  • Используйте Modifier.onStartEndBoundsChanged(...) для получения локальных границ элементов Composable в MotionLayout , которые не затрагиваются анимацией. Полезно для любого взаимодействия с пользовательским интерфейсом, требующего информации о макете, которая также может запускать анимацию, например, DragAndDrop (DragAndDrop). ( I6b5f9 )
  • Включить пропуски и диапазоны в Grid Helper в Compose ( I917b6 )

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

  • Исправлена ​​ошибка, из-за которой свойства перевода не применяли ожидаемые значения. ( I961cd )

Version 1.1.0-alpha07

8 февраля 2023 г.

Выпущены androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07 и androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07 . Версия 1.1.0-alpha07 содержит следующие коммиты.

Новые функции

  • Добавлены новые API для включения Grid Helper в Compose с использованием DSL ( I1143b )

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

  • Исправлена ​​ошибка, из-за которой Wrap.Chain для Flow некорректно отображался в соответствии с заданным параметром maxElement . ( e1f2ed3 )
  • Исправлена ​​ошибка, из-за которой start ConstraintSet не обновлялся при изменении перехода через MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String) . ( 17ffff1 )
  • Исправлена ​​ошибка, из-за которой ConstraintSet не отражал некоторые изменения при наследовании ограничений через ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit) .( 740804b )

Версия 1.1.0-alpha06

25 января 2023 г.

Выпущены androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06 и androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06 . Версия 1.1.0-alpha06 содержит следующие коммиты.

Новые функции

  • Добавлены новые API для включения Grid Helper в Compose с представлением в формате JSON, что позволяет размещать элементы в двумерной сетке. ( I968ad )

Изменения в API

  • Добавлена ​​поддержка режимов дуги вверх и дуги вниз Arc.Above и Arc.Below ), не зависящих от направления, в MotionLayout ( I184a9 )
  • Теперь стало возможным привязывать базовую точку привязки к верхним/нижним точкам привязки и наоборот. ( I54628 )
  • Переименован MotionLayoutScope#motionProperties (включая производные) в MotionLayoutScope#customProperties . Это сделано для обеспечения согласованности с установкой пользовательских свойств. ( Ib34c9 )
  • Теперь можно создавать несколько ссылок в ConstraintSet и MotionScene : val (box, text, button) = createRefsFor("box", "text","button") . Применяйте ограничения к нескольким элементам с помощью constrain(box, button, text) . Внутри ConstrainScope теперь можно интуитивно задать фиксированный размер с помощью Dp.asDimension : width = 10.dp.asDimension . ( I021ec , Ia0960 )
  • Методы MotionScene() и Transition() теперь являются некомпозируемыми функциями. Объекты, созданные с помощью этих функций (включая ConstraintSet ), теперь должны корректно сравниваться друг с другом. animateChanges = true в ConstraintLayout теперь можно использовать только с одной ссылкой ConstraintSet , при условии, что какое-либо из его свойств изменилось при повторной композиции. ( I7d22e )

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

  • Исправлена ​​ошибка, из-за которой ConstraintLayout всегда вызывал ненужную дополнительную перекомпозицию при изменении вспомогательных элементов. ( Id83ad , b/222093277 )
  • Исправлено поведение при использовании Intrinsics с ConstraintLayout и MotionLayout . ( I487ae , b/220527863 )
  • Исправлена ​​ошибка, из-за которой невозможно было повторно измерить параметры при изменении содержимого. ( Ibfe8a , b/219091179 )

Версия 1.1.0-alpha05

7 декабря 2022 г.

Выпущены androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05 и androidx.constraintlayout:constraintlayout-core:1.1.0-alpha05 . Версия 1.1.0-alpha05 содержит следующие коммиты.

Новые функции

  • Support custom KeyAttributes in DSL ( b94e748 )
  • Свойства смещения поверхности в ConstrainScope ( 32625d0 )
  • Support custom parameters in chains ( 72a2e9e )
  • Добавить тесты Macrobenchmark для MotionLayout в Compose ( 36f43bc )
  • Для получения более подробной информации об изменениях в предыдущей версии Compose см. страницу вики.

Изменения в API

  • Поменяйте местами параметры addConstraintSet и addTransition ( 152facc )

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

  • Fix Horizontal Chains ( ed5f56e )

Версия 1.1.0-alpha01

20 мая 2022 г.

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01 is released.

Обратите внимание, что API MotionLayout является экспериментальным и требует подтверждения согласия пользователя.

Для получения более подробной информации см. раздел «Что нового в Compose 1.1.0-alpha01» на GitHub.

Версия 2.2

Version 2.2.1

26 февраля 2025 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.1 . Версия 2.2.1 содержит следующие коммиты .

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

  • Исправлена ​​ошибка бинарной совместимости из библиотеки constraintlayout-core . Спасибо Карло Маринанджели! ( I8952e , b/376718273 )

Version 2.2.0

30 октября 2024 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0 . Версия 2.2.0 содержит следующие коммиты .

Important changes since 2.1.0

  • Полная версия с базовой библиотекой constraintlayout-core.

Version 2.2.0-rc01

16 октября 2024 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0-rc01 . Версия 2.2.0-rc01 содержит следующие коммиты .

Version 2.2.0-beta01

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

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0-beta01 . Версия 2.2.0-beta01 содержит следующие коммиты .

Version 2.2.0-alpha14

7 августа 2024 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0-alpha14 . Версия 2.2.0-alpha14 содержит следующие коммиты .

Version 2.2.0-alpha13

4 октября 2023 г.

Выпущена androidx.constraintlayout:constraintlayout:2.2.0-alpha13 без изменений. Версия 2.2.0-alpha13 содержит следующие коммиты.

Version 2.2.0-alpha12

9 августа 2023 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0-alpha12 . Версия 2.2.0-alpha12 содержит следующие коммиты.

Version 2.2.0-alpha11

26 июля 2023 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0-alpha11 . Версия 2.2.0-alpha11 содержит следующие коммиты.

Изменения в API

  • Add a setter method to allow developers to programmatically set the value for mInfiniteCarousel ( I0a8ca )

Version 2.2.0-alpha10

24 мая 2023 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0-alpha10 . Версия 2.2.0-alpha10 содержит следующие коммиты.

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

  • Исправлена ​​неработающая ссылка на документацию MotionLayout . ( 51cbe88 )

Version 2.2.0-alpha09

22 марта 2023 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0-alpha09 . Версия 2.2.0-alpha09 содержит следующие коммиты.

Версия 2.2.0-alpha08

8 марта 2023 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0-alpha08 . Версия 2.2.0-alpha08 содержит следующие коммиты.

Version 2.2.0-alpha07

8 февраля 2023 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0-alpha07 . Версия 2.2.0-alpha07 содержит следующие коммиты.

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

  • Исправлена ​​ошибка, из-за которой отсутствовало содержимое страницы ConstraintLayout . ( I82e25 )

Version 2.2.0-alpha05

7 декабря 2022 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0-alpha05 . Версия 2.2.0-alpha05 содержит следующие коммиты.

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

  • Исправлена ​​утечка памяти в карусели представлений ( eb67b82 )

Version 2.2.0-alpha01

20 мая 2022 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.2.0-alpha01 .

Includes a preview of the new Grid helper.

Для получения более подробной информации см. раздел «Что нового в версии 2.2.0-alpha01» на GitHub.

ConstraintLayout-compose 1.0

ConstraintLayout-compose 1.0 предоставляет функциональные возможности ConstraintLayout в Jetpack Compose.

Версия 1.0.1

20 мая 2022 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.1 .

Please note MotionLayout API is experimental and requires opt in.

Для получения более подробной информации см. раздел «Что нового в Compose 1.0.1» на GitHub.

Версия 1.0.0

13 января 2022 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0 .

Обратите внимание, что API MotionLayout в настоящее время является экспериментальным и требует подтверждения согласия пользователя.

Для получения более подробной информации см. статью на GitHub «Что нового в версии 1.0 (Compose)» .

Version 1.0.0-rc02

16 ноября 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02 .

Для получения более подробной информации см. статью на GitHub «Что нового в версии 1.0 (Compose)» .

Версия 1.0.0-rc01

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

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01 .

Этот релиз — вторая бета-версия. Он считается полностью функциональным и предоставляет ConstraintLayout и MotionLayout для Compose.

Для получения более подробной информации см. статью на GitHub «Что нового в версии 1.0 (Compose)» .

Версия 1.0.0-beta02

30 июля 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02 .

Этот релиз — вторая бета-версия. Он считается полностью функциональным и предоставляет ConstraintLayout и MotionLayout для Compose.

For more information, see the GitHub article What's New in 1.0 (Compose) .

Версия 1.0.0-beta01

22 июля 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01 .

Этот релиз — первая бета-версия. Он считается полностью функциональным и предоставляет ConstraintLayout и MotionLayout для Compose.

Для получения более подробной информации см. статью на GitHub «Что нового в версии 1.0 (Compose)» .

Version 1.0.0-alpha07

18 мая 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07 .

  • Обновлено для совместимости с версией Compose 1.0.0-beta07 .

Version 1.0.0-alpha06

4 мая 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha06 .

  • Оптимизация композиции: Constraintlayout встраиваемый (#193)
  • Minimize remeasurements in Compose (#210)

Version 1.0.0-alpha05

15 марта 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha05 .

  • включает исправление для механизма оптимизации ( b/182657720 )
  • добавить параметр optimizationLevel к ConstraintLayout copmosable

Version 1.0.0-alpha04

11 марта 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha04 .

Обновите систему, чтобы использовать последнюю версию движка constraintlayout-core.

Version 1.0.0-alpha03

24 февраля 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha03 .

Release update for Jetpack Compose beta01 release

Version 1.0.0-alpha02

10 февраля 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02 .

Обновление для альфа-версии Jetpack Compose (alpha12)

Версия 1.0.0-alpha01

2 февраля 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01 .

Первый релиз библиотеки, предоставляющей встроенные и внешние DSL для выражения ограничений.

Версия 2.1

ConstraintLayout 2.1.0 provides richer features in MotionLayout and new helpers (Carousel, etc.)

Версия 2.1.4

20 мая 2022 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.1.4 .

Для получения более подробной информации см. раздел «Что нового в версии 2.1.4» на GitHub.

Версия 2.1.3

13 января 2022 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.1.3 .

Для получения более подробной информации см. статью на GitHub «Что нового в версии 2.1» .

Версия 2.1.2

16 ноября 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.1.2 .

Для получения более подробной информации см. статью на GitHub «Что нового в версии 2.1» .

Версия 2.1.1

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

Выпущена версия androidx.constraintlayout:constraintlayout:2.1.1 .

This is the final release for 2.1.1.

Для получения более подробной информации см. статью на GitHub «Что нового в версии 2.1» .

Версия 2.1.0

30 июля 2021 г.

androidx.constraintlayout:constraintlayout:2.1.0 is released.

This is the final release for 2.1.0.

Для получения более подробной информации см. статью на GitHub «Что нового в версии 2.1» .

Version 2.1.0-rc01

22 июля 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.1.0-rc01 .

This is the release candidate for 2.1.0, providing minor improvements and fixes from the last beta. For more information, see the GitHub article What's New in 2.1 .

Version 2.1.0-beta02

4 мая 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.1.0-beta02 .

A few new features in MotionLayout:

  • Улучшение OnSwipe, включая пружины (жесткость, демпфирование, масса и т. д.), никогда не будет завершено.
  • jumpToState function
  • В режиме ViewTransition downUp при касании Down воспроизведение начинается со значения 100, а при касании Up — с 0.

Various fixes, notably:

  • Исправлена ​​проблема с вертикальной прокруткой в ​​MotionLayout (#173)
  • Perf improvements on nested MotionLayout (#189)
  • Быстрый переход с помощью NestedScrollView в MotionLayout (#189)
  • ConstraintSet gone in MotionLayout (#189)
  • Поддержка перехода между окнами downUp в MotionLayout (#190)
  • Исправлена ​​ошибка в ImageFilter при повторном использовании drawables (#192)
  • Добавить поддержку пружин в MotionLayout (#199)
  • Performance improvement to CircularFlow (#200)
  • Исправлены ошибки в производных ограничениях / переопределении ограничений (#212)

Version 2.1.0-beta01

11 марта 2021 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.1.0-beta01 .

ConstraintLayout

Параметры android:layout_width и android:layout_height снова стали обязательными из-за проблем с совместимостью.

MotionLayout

  • Программная поддержка добавления и удаления эффектов onSwipe и onClick в переходах.
  • Experimental Support for Transitions through screen rotation
  • support duration argument to transitions
  • Better support for customAttributes that are boolean or References

Помощники

  • Добавлена ​​возможность анимации или прямого перехода к определенному элементу карусели.
  • новый вспомогательный класс CircularFlow

See additional information on this release here and bugs closed .

Версия 2.1.0-alpha2

17 декабря 2020 г.

Выпущена версия androidx.constraintlayout:constraintlayout:2.1.0-alpha2 .

This second alpha adds several new features:

ConstraintLayout

  • Значения android:layout_width и android:layout_height теперь являются необязательными, а по умолчанию используется wrap_content.
  • Новые атрибуты layout_constraintWidth и layout_constraintHeight для выражения ограничений по размерам.
  • поддерживает отрицательные значения для ограничений
  • поддерживает ограничения от базовой линии до верхней и от базовой линии до нижней границы
  • поддерживает базовые ограничения по запасу прочности
  • SharedValues ​​позволяют внедрять внешние значения в ConstraintLayout.

MotionLayout

  • Поддержка интерполяторов с перерегулированием (предвосхищение, перерегулирование)
  • Расширенная поддержка MotionHelper
  • Add animated update of ConstraintSet to MotionLayout updateStateAnimate(id,cset,duration);
  • ViewTransition, основанный на общих ценностях
  • scheduleTransitonПозволяет поставить переход в очередь на выполнение после завершения текущего перехода.

Помощники

  • Carousel now supports an infinite (wrap-around) mode
  • ReactiveGuide : A guideline that position itself automatically when a SharedValue changes
  • MotionEffect : inject Keyframes to referenced views moving in a given direction
  • MotionLabel - A View for animating single line text

See additional information on this release here .

Версия 2.1.0-alpha1

19 ноября 2020 г.

androidx.constraintlayout:constraintlayout:2.1.0-alpha1 is released.

First alpha of the 2.1 release. Introduces support for:

  • Carousel motion helper, to build custom carousel views
  • MotionLayout scenes supports include and constraints override
  • MotionLayout adds richer support for rotation (input and output)
  • MotionLayout adds ViewTransitions, allowing single view transitions for mutation of constraintsets

See additional information on this release here .

Версия 2.0

ConstraintLayout 2.0 adds new features for layouts (virtual layouts, etc.) and a new class for simplifying animation of views, MotionLayout.

Версия 2.0.4

29 октября 2020 г.

androidx.constraintlayout:constraintlayout:2.0.4 is released.

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

This releases fixes a potential NPE that may happen when removing a child view at runtime. It is recommended to update to this version.

Список закрытых вопросов можно посмотреть здесь .

Версия 2.0.3

27 октября 2020 г.

androidx.constraintlayout:constraintlayout:2.0.3 is released.

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

This releases fixes a few issues. It is recommended to update to this version.

  • Обработка отступов Windows
  • Обработка соотношения размеров в некоторых ситуациях
  • Сбои при использовании некоторых RTL-макетов.

Список закрытых вопросов можно посмотреть здесь .

Версия 2.0.2

6 октября 2020 г.

androidx.constraintlayout:constraintlayout:2.0.2 is released.

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

This releases improves performances as well as fix a few issues. It is recommended to update to this version.

  • Handling of view GONE visibility in ConstraintLayout was incorrect in some situations
  • В некоторых ситуациях обработка упакованных цепочек в ConstraintLayout была некорректной.
  • Fixed inflation exception on API 15 for the Flow virtual layout helper
  • Функция limitsBoundsTo была неисправна в MotionLayout.
  • jump to end was broken in MotionLayout in some situations (chaining transitions)

Список закрытых вопросов можно посмотреть здесь .

Версия 2.0.1

25 августа 2020 г.

androidx.constraintlayout:constraintlayout:2.0.1 is released.

This is a minor update enabling the use of the MotionEditor in Android Studio.

Версия 2.0.0

21 августа 2020 г.

androidx.constraintlayout:constraintlayout:2.0.0 is released.

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

Список закрытых вопросов можно посмотреть здесь .

К числу существенных исправлений относятся:

  • MotionLayout Transition delays & TransitionListener fixes
  • Исправления в настройках потока и барьеров ConstraintLayout

Версия 2.0.0-rc1

29 июля 2020 г.

androidx.constraintlayout:constraintlayout:2.0.0-rc1 is released.

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

Список закрытых вопросов можно посмотреть здесь .

К числу существенных исправлений относятся:

  • Исправления потока
  • RecyclerView fixes (we recommend to update to recyclerview 1.2.0 alpha 5 or later)
  • MotionLayout TransitionListener исправляет ошибки.
  • Исправление утечки памяти в MotionLayout

Версия 2.0.0-beta8

7 июля 2020 г.

androidx.constraintlayout:constraintlayout:2.0.0-beta8 is released.

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

Список закрытых вопросов можно посмотреть здесь .

К числу существенных исправлений относятся:

  • Поведение-заглушка
  • Видимость слоя
  • Решения проблем с потоком и барьерами
  • Исправления TransitionListener

Версия 2.0.0-beta7

12 июня 2020 г.

androidx.constraintlayout:constraintlayout:2.0.0-beta7 is released.

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

Список закрытых вопросов можно посмотреть здесь .

К числу существенных исправлений относятся:

  • Проблемы с вложенными прокручиваемыми представлениями в MotionLayout
  • Проблемы с обработчиком переходов в MotionLayout
  • Утечка памяти в MotionLayout
  • Проблемы RecyclerView
  • Видимость группы
  • Проблемы с отступами

Версия 2.0.0-beta6

13 мая 2020 г.

androidx.constraintlayout:constraintlayout:2.0.0-beta6 is released.

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

See the list of closed issues here . Notable fixes are group visibility handling and derived constraints issues in MotionLayout.

Версия 2.0.0-бета5

7 мая 2020 г.

androidx.constraintlayout:constraintlayout:2.0.0-beta5 is released.

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

Список закрытых вопросов можно посмотреть здесь.

Версия 2.0.0-beta4

16 декабря 2019 г.

androidx.constraintlayout:constraintlayout:2.0.0-beta4 is released.

Новые функции

MotionLayout

Новые атрибуты в процессе перехода:

  • layoutDuringTransition : let you configure how MotionLayout should react to children's requestLayouts calls during a transition. Possible values are {ignoreRequest, honorRequest}
  • pathMotionArc : the path taken by elements moving will use an arc. Possible values are {startVertical | startHorizontal | flip | none }

Теперь можно задать переход по умолчанию, просто опустив начальный и конечный наборы ограничений. Этот переход по умолчанию будет использоваться, если не удастся найти другой существующий переход, соответствующий текущим начальному/конечному состояниям.

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

Список закрытых вопросов можно посмотреть здесь.