Constrainlayout

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

В этой таблице перечислены все артефакты, входящие в группу 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 содержит следующие коммиты .

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

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

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

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

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

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

Версия 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 )
  • Удалён 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 )

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

Версия 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 : элементы <span> будут соблюдать порядок виджетов. ( I6ad50 )
  • Используйте Modifier.onStartEndBoundsChanged(...) для получения локальных границ элементов Composable в MotionLayout , которые не затрагиваются анимацией. Полезно для любого взаимодействия с пользовательским интерфейсом, требующего информации о макете, которая также может запускать анимацию, например, DragAndDrop (DragAndDrop). ( I6b5f9 )
  • Включить пропуски и диапазоны в Grid Helper в Compose ( I917b6 )

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

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

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

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

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

Изменения в API

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

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

  • Исправить горизонтальные цепочки ( ed5f56e )

Версия 1.1.0-alpha01

20 мая 2022 г.

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

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

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

Версия 2.2

Версия 2.2.1

26 февраля 2025 г.

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

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

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

Версия 2.2.0

30 октября 2024 г.

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

Важные изменения по сравнению с версией 2.1.0

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

Версия 2.2.0-rc01

16 октября 2024 г.

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

Версия 2.2.0-beta01

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

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

Версия 2.2.0-alpha14

7 августа 2024 г.

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

Версия 2.2.0-alpha13

4 октября 2023 г.

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

Версия 2.2.0-alpha12

9 августа 2023 г.

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

Версия 2.2.0-alpha11

26 июля 2023 г.

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

Изменения в API

  • Добавьте метод-сеттер, позволяющий разработчикам программно устанавливать значение для mInfiniteCarousel ( I0a8ca ).

Версия 2.2.0-alpha10

24 мая 2023 г.

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

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

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

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

Версия 2.2.0-alpha07

8 февраля 2023 г.

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

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

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

Версия 2.2.0-alpha05

7 декабря 2022 г.

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

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

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

Версия 2.2.0-alpha01

20 мая 2022 г.

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

Включает предварительный просмотр нового вспомогательного инструмента Grid .

Для получения более подробной информации см. раздел «Что нового в версии 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 .

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

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

Версия 1.0.0

13 января 2022 г.

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

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

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

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

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

Версия 1.0.0-beta01

22 июля 2021 г.

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

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

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

Версия 1.0.0-alpha07

18 мая 2021 г.

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

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

Версия 1.0.0-alpha06

4 мая 2021 г.

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

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

Версия 1.0.0-alpha05

15 марта 2021 г.

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

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

Версия 1.0.0-alpha04

11 марта 2021 г.

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

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

Версия 1.0.0-alpha03

24 февраля 2021 г.

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

Обновление для бета-версии Jetpack Compose beta01

Версия 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 расширен функционал MotionLayout и добавлены новые вспомогательные функции (Carousel и др.).

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

Это финальная версия 2.1.1.

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

Версия 2.1.0

30 июля 2021 г.

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

Это финальная версия 2.1.0.

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

Версия 2.1.0-rc01

22 июля 2021 г.

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

Это предварительная версия релиза 2.1.0, содержащая незначительные улучшения и исправления по сравнению с предыдущей бета-версией. Для получения дополнительной информации см. статью на GitHub «Что нового в версии 2.1» .

Версия 2.1.0-beta02

4 мая 2021 г.

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

Несколько новых функций в MotionLayout:

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

Были внесены различные исправления, в частности:

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

Версия 2.1.0-beta01

11 марта 2021 г.

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

ConstraintLayout

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

MotionLayout

  • Программная поддержка добавления и удаления эффектов onSwipe и onClick в переходах.
  • Экспериментальная поддержка переходов посредством поворота экрана.
  • поддержка аргумента продолжительности для переходов
  • Улучшена поддержка пользовательских атрибутов, имеющих логический тип или являющихся ссылками.

Помощники

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

Дополнительную информацию об этом релизе можно найти здесь , а все ошибки исправлены .

Версия 2.1.0-alpha2

17 декабря 2020 г.

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

Во второй альфа-версии добавлено несколько новых функций:

ConstraintLayout

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

MotionLayout

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

Помощники

  • Теперь карусель поддерживает бесконечный (зацикливающийся) режим.
  • ReactiveGuide: Направляющая, которая автоматически позиционируется при изменении значения SharedValue.
  • MotionEffect: внедряет ключевые кадры в представления, движущиеся в заданном направлении.
  • MotionLabel — представление для анимации однострочного текста.

Дополнительную информацию об этом релизе можно найти здесь .

Версия 2.1.0-alpha1

19 ноября 2020 г.

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

Первая альфа-версия релиза 2.1. Добавлена ​​поддержка:

  • Вспомогательная функция для создания пользовательских карусельных изображений.
  • Сцены MotionLayout поддерживают включение и переопределение ограничений.
  • MotionLayout обеспечивает более широкую поддержку вращения (входного и выходного).
  • MotionLayout добавляет ViewTransitions, позволяя осуществлять переходы между отдельными представлениями при изменении наборов ограничений.

Дополнительную информацию об этом релизе можно найти здесь .

Версия 2.0

В ConstraintLayout 2.0 добавлены новые возможности для работы с макетами (виртуальные макеты и т. д.), а также новый класс для упрощения анимации представлений — MotionLayout.

Версия 2.0.4

29 октября 2020 г.

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

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

В этом релизе исправлена ​​потенциальная ошибка NullPointerException, которая может возникнуть при удалении дочернего представления во время выполнения. Рекомендуется обновиться до этой версии.

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

Версия 2.0.3

27 октября 2020 г.

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

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

В этом релизе исправлено несколько ошибок. Рекомендуется обновиться до этой версии.

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

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

Версия 2.0.2

6 октября 2020 г.

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

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

В этом релизе улучшена производительность, а также исправлены некоторые ошибки. Рекомендуется обновиться до этой версии.

  • В некоторых ситуациях обработка видимости `view GONE` в `ConstraintLayout` была некорректной.
  • В некоторых ситуациях обработка упакованных цепочек в ConstraintLayout была некорректной.
  • Исправлена ​​ошибка, связанная с инфляцией в API 15 для вспомогательного класса виртуальной компоновки Flow.
  • Функция limitsBoundsTo была неисправна в MotionLayout.
  • В некоторых ситуациях (при построении цепочек переходов) функция перехода к концу была некорректно работала в MotionLayout.

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

Версия 2.0.1

25 августа 2020 г.

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

Это небольшое обновление, позволяющее использовать MotionEditor в Android Studio.

Версия 2.0.0

21 августа 2020 г.

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

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

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

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

  • Исправления задержек переходов в MotionLayout и проблем с TransitionListener.
  • Исправления в настройках потока и барьеров ConstraintLayout

Версия 2.0.0-rc1

29 июля 2020 г.

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

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

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

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

  • Исправления потока
  • Исправлены ошибки в RecyclerView (рекомендуется обновить до RecyclerView 1.2.0 alpha 5 или более поздней версии).
  • MotionLayout TransitionListener исправляет ошибки.
  • Исправление утечки памяти в MotionLayout

Версия 2.0.0-beta8

7 июля 2020 г.

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

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

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

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

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

Версия 2.0.0-beta7

12 июня 2020 г.

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

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

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

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

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

Версия 2.0.0-beta6

13 мая 2020 г.

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

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

Список закрытых проблем можно посмотреть здесь . Среди важных исправлений — проблемы с обработкой видимости групп и производными ограничениями в MotionLayout.

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

7 мая 2020 г.

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

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

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

Версия 2.0.0-beta4

16 декабря 2019 г.

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

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

MotionLayout

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

  • layoutDuringTransition: позволяет настроить реакцию MotionLayout на вызовы requestLayouts дочерних элементов во время перехода. Возможные значения: {ignoreRequest, honorRequest}.
  • pathMotionArc: путь, по которому движутся элементы, будет проходить по дуге. Возможные значения: {startVertical | startHorizontal | flip | none }

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

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

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