Компоновка ограничений

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

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

Артефакт Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
макет ограничения 2.2.0 - - -
ограничениеlayout-compose 1.1.0 - - -
ограничениеlayout-core 1.1.0 - - -

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

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

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

Groovy

dependencies {
    implementation "androidx.constraintlayout:constraintlayout:2.2.0"
    // To use constraintlayout in compose
    implementation "androidx.constraintlayout:constraintlayout-compose:1.1.0"
}

Kotlin

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

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

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

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

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

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

ConstraintLayout-compose и ConstraintLayout-Core 1.1

Версия 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-бета01

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-альфа14

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 , б/332898040 , б/336370035 )
  • Источники NestedScroll Drag и Fling заменяются UserInput и SideEffect , чтобы обеспечить расширенное определение этих источников, которые теперь включают анимацию (Side Effect) и колесо мыши и клавиатуру (UserInput). ( I40579 )

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

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-альфа12

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 в переходный DSL. ( Если54ce )

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

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.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-альфа10

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

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

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

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 , который больше не является макетом. Это позволяет дочернему содержимому в LookaheadScope напрямую управляться родительским MeasurePolicy . ( Ibe2e5 )
  • Easing.Cubic() теперь может принимать параметры превышения. ( I2d826 )

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

8 марта 2023 г.

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

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

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

Изменения API

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

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

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

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

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 не обновлялся при изменении Transition через MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String) . ( 17ffff1 )
  • Исправлен ConstraintSet не отражающий некоторые изменения при наследовании ограничений через ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit) .( 740804b )

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

25 января 2023 г.

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

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

  • Добавьте новый Apis, чтобы включить помощник по сетке в Compose с представлением JSON, который позволяет размещать составные элементы в 2D-сетке. ( 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 , б/220527863 )
  • Исправлена ​​невозможность повторного измерения при изменении содержимого. ( Ibfe8a , б/219091179 )

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

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-альфа01

20 мая 2022 г.

Выпущен androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01 .

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

Дополнительные сведения см. в разделе «Что нового в Compose 1.1.0-alpha01» на GitHub.

Версия 2.2

Версия 2.2.0

30 октября 2024 г.

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

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

  • Релиз четности с базовой библиотекой ядра ограничения.

Версия 2.2.0-rc01

16 октября 2024 г.

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

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

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

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

Версия 2.2.0-альфа14

7 августа 2024 г.

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

Версия 2.2.0-альфа13

4 октября 2023 г.

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

Версия 2.2.0-альфа12

9 августа 2023 г.

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

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

26 июля 2023 г.

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

Изменения API

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

Версия 2.2.0-альфа10

24 мая 2023 г.

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

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

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

Версия 2.2.0-альфа09

22 марта 2023 г.

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

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

8 марта 2023 г.

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

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

8 февраля 2023 г.

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

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

  • Исправлена ​​проблема с отсутствием содержимого страницы ConstraintLayout . ( I82e25 )

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

7 декабря 2022 г.

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

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

  • Исправление утечки в карусели просмотра ( eb67b82 )

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

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

22 июля 2021 г.

Выпущен androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01 .

Этот выпуск является первой бета-версией. Он считается завершенным и предоставляет ConstraintLayout и MotionLayout для Compose.

Дополнительные сведения см. в статье GitHub Что нового в версии 1.0 (Compose) .

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

18 мая 2021 г.

Выпущен androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07 .

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

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

4 мая 2021 г.

Выпущен androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha06 .

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

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

15 марта 2021 г.

Выпущен androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha05 .

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

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

11 марта 2021 г.

Выпущен androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha04 .

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

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

24 февраля 2021 г.

Выпущен androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha03 .

Обновление выпуска для выпуска Jetpack Compose beta01

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

10 февраля 2021 г.

Выпущен androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02 .

Обновление выпуска для версии Jetpack Compose альфа12

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

2 февраля 2021 г.

Выпущен androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01 .

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

Версия 2.1

ConstraintLayout 2.1.0 предоставляет более широкие возможности MotionLayout и новые помощники (карусель и т. д.).

Версия 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-бета02

4 мая 2021 г.

Выпущен androidx.constraintlayout:constraintlayout:2.1.0-beta02 .

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

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

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

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

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

11 марта 2021 г.

Выпущен androidx.constraintlayout:constraintlayout:2.1.0-beta01 .

ОграничениеLayout

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

ДвижениеLayout

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

Помощники

  • добавлен способ анимации или перехода непосредственно к заданному элементу карусели
  • новый помощник CircularFlow

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

Версия 2.1.0-альфа2

17 декабря 2020 г.

Выпущен androidx.constraintlayout:constraintlayout:2.1.0-alpha2 .

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

ОграничениеLayout

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

ДвижениеLayout

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

Помощники

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

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

Версия 2.1.0-альфа1

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 .

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

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

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

Версия 2.0.3

27 октября 2020 г.

Выпущен androidx.constraintlayout:constraintlayout:2.0.3 .

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

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

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

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

Версия 2.0.2

6 октября 2020 г.

Выпущен androidx.constraintlayout:constraintlayout:2.0.2 .

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

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

  • Обработка видимости представления 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 Transition и исправления TransitionListener
  • Исправления потока и барьеров ConstraintLayout

Версия 2.0.0-rc1

29 июля 2020 г.

Выпущен androidx.constraintlayout:constraintlayout:2.0.0-rc1 .

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

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

Заметные исправления:

  • Исправления потока
  • Исправления RecyclerView (рекомендуем обновиться до recyclerview 1.2.0 альфа 5 или новее)
  • Исправления MotionLayout TransitionListener
  • Исправление утечки памяти MotionLayout

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

7 июля 2020 г.

Выпущен androidx.constraintlayout:constraintlayout:2.0.0-beta8 .

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

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

Заметные исправления:

  • Поведение заполнителя
  • Видимость слоя
  • Поток, исправления барьеров
  • Исправления TransitionListener

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

12 июня 2020 г.

Выпущен androidx.constraintlayout:constraintlayout:2.0.0-beta7 .

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

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

Заметные исправления:

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

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

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

16 декабря 2019 г.

Выпущен androidx.constraintlayout:constraintlayout:2.0.0-beta4 .

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

ДвижениеLayout

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

  • LayoutDuringTransition: позволяет настроить, как MotionLayout должен реагировать на дочерние вызовы requestLayouts во время перехода. Возможные значения: {ignoreRequest, HonorRequest}.
  • pathMotionArc: путь, по которому перемещаются элементы, будет использовать дугу. Возможные значения: {startVertical | началоГоризонтальное | перевернуть | никто }

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

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

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