ConstraintLayout

Umieszczaj widżety w elastyczny sposób dzięki pozycjonowaniu względnemu.

Ta tabela zawiera listę wszystkich artefaktów w grupie androidx.constraintlayout.

Artefakt Wersja stabilna Wersja kandydująca do publikacji Wersja beta Wersja Alfa
constraintlayout 2.2.1 - - -
constraintlayout-compose 1.1.1 - - -
constraintlayout-core 1.1.1 - - -

Deklarowanie zależności

Aby dodać zależność od ConstraintLayout, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w artykule Repozytorium Maven Google.

Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:

Odlotowe

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

Kotlin

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

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego problemu

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

ConstraintLayout-compose i ConstraintLayout-Core 1.1

Wersja 1.1.1

26 lutego 2025 r.

androidx.constraintlayout:constraintlayout-compose:1.1.1, androidx.constraintlayout:constraintlayout-compose-android:1.1.1 i androidx.constraintlayout:constraintlayout-core:1.1.1 są dostępne. Wersja 1.1.1 zawiera te zmiany.

Poprawki błędów

  • Rozwiązuje niektóre problemy z układem, które w niektórych przypadkach powodują, że układy nie są umieszczane. np. przełączanie widoczności. (I34e68, b/299134793)

Wersja 1.1.0

30 października 2024 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0, androidx.constraintlayout:constraintlayout-compose-android:1.1.0 i androidx.constraintlayout:constraintlayout-core:1.1.0 są dostępne. Wersja 1.1.0 zawiera te zmiany.

Ważne zmiany od wersji 1.0.0

  • Poprawia interakcję z SharedTransitionLayout (b/332898040).
  • Rozwiązuje problemy z układem związane z pomiarami spowodowane ponownym komponowaniem (b/219091179, Ibfe8a).

Wersja 1.1.0-rc01

16 października 2024 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0-rc01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-rc01 i androidx.constraintlayout:constraintlayout-core:1.1.0-rc01 są dostępne. Wersja 1.1.0-rc01 zawiera te zmiany.

Wersja 1.1.0-beta01

4 września 2024 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-beta01 i androidx.constraintlayout:constraintlayout-core:1.1.0-beta01 są dostępne. Wersja 1.1.0-beta01 zawiera te zmiany.

Wersja 1.1.0-alpha14

7 sierpnia 2024 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha14, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha14 i androidx.constraintlayout:constraintlayout-core:1.1.0-alpha14 są dostępne. Wersja 1.1.0-alpha14 zawiera te zmiany.

Zmiany w interfejsie API

  • Flagi są teraz udostępniane osobno za pomocą obiektu towarzyszącego i można je łączyć z operatorem or. (I9df53)
  • Uproszczone narzędzia createRow i createColumn. Ulepszone nazwy parametrów createGrid i dokumentacja dla większej przejrzystości. (Iebc92)
  • Uproszczony interfejs animateChanges API w ConstraintLayout, który wymaga tylko niepustego parametru AnimationSpec. onIncomingConstraintsInvalidationStrategy jest teraz zwykłą funkcją lambda. fixedWidthRate zmieniono na shouldInvalidateOnFixedWith, podobnie jak w przypadku wariantu Wysokość. (Ie59cd, b/332898040, b/336370035)
  • Źródła NestedScrollDragUserInputNestedScrollFlingUserInput zastępujemy źródłami UserInputSideEffect, aby uwzględnić rozszerzoną definicję tych źródeł, która obejmuje teraz animacje (Side Effect) oraz kółko myszy i klawiaturę (UserInput). (I40579)

Wersja 1.1.0-alpha13

4 października 2023 roku

Usługi androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha13, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha13 i androidx.constraintlayout:constraintlayout-core:1.1.0-alpha13 są udostępniane bez zmian. Wersja 1.1.0-alpha13 zawiera te zmiany.

  • Ta wersja umożliwia bibliotekom androidx.constraintlayout zachowanie zgodności ABI z najnowszymi wersjami Compose.

Wersja 1.1.0-alpha12

9 sierpnia 2023 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha12, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha12 i androidx.constraintlayout:constraintlayout-core:1.1.0-alpha12 są dostępne. Wersja 1.1.0-alpha12 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano LayoutScopeMarker do Transition DSL. (If54ce)

Wersja 1.1.0-alpha11

26 lipca 2023 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha11, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha11 i androidx.constraintlayout:constraintlayout-core:1.1.0-alpha11 są dostępne. Wersja 1.1.0-alpha11 zawiera te zmiany.

Nowe funkcje

  • Możesz teraz podać InvalidationStrategy, aby zoptymalizować unieważnianie w MotionLayout. To zwykle powoduje spadek skuteczności. (Iada0c)
  • Możesz teraz używać animateChanges = true podczas korzystania z ConstraintLayout z wbudowanym DSL modyfikatora (Modifier.constrainAs). Za każdym razem, gdy zmienisz DSL ograniczeń, ConstraintLayout automatycznie przejdzie do nowego stanu. (I9abf1)
  • Włączona funkcja dla limitBoundsTo w OnSwipe. (I56522)

Zmiany w interfejsie API

  • Zmieniono nazwę TransitionScope.staggered na TransitionScope.maxStaggerDelay. (I0fd2d)

Poprawki błędów

  • Usunęliśmy błąd, który powodował, że parametr dragScaleOnSwipe nie działał. (8bef26)
  • Rozwiązanie problemu polegającego na tym, że customColorMotionScene nie działało prawidłowo w przypadku przezroczystych kolorów. (81b2ac)
  • Naprawiliśmy błąd, który powodował, że OnSwipe nie był prawidłowo odczytywany po zatrzymaniu. Poprawiliśmy też obliczanie prędkości początkowej dla touchUp. (Ia5f6f)
  • Zaktualizowano dokumentację KDoc dla funkcji ConstraintLayoutConstraintset. (3bfe63)

Wersja 1.1.0-alpha10

24 maja 2023 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha10, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha10 i androidx.constraintlayout:constraintlayout-core:1.1.0-alpha10 są dostępne. Wersja 1.1.0-alpha10 zawiera te zmiany.

Zmiany w interfejsie API

  • MotionLayout Interfejs API nie jest już eksperymentalny. Reprezentuje on początkowy zestaw stabilnych interfejsów API dla MotionLayout. (I288f4)
  • Użytkownik MotionLayoutState został usunięty. (Id3ac1)
  • Możesz teraz używać DebugFlags do debugowania wizualnego: DebugFlags(showBounds = true). (Ic714b)
  • Zmieniono zmienną rozszerzenia Dp.asDimension na metodę: Dp.asDimension(). (I2d6ef)
  • MotionLayout DSL jest teraz obsługiwane rozłożenie w czasie. Maksymalne opóźnienie można zdefiniować za pomocą TransitionScope.staggered. Możesz też użyć ConstrainScope.staggeredWeight (w MotionSceneScope), aby uzyskać niestandardową kolejność rozłożoną w czasie. (I70275)
  • W narzędziu pomocniczym Siatka wprowadzono 2 zmiany: paddingLeftpaddingRight na paddingStartpaddingEnd oraz 2. zaktualizować format gridSpansgridSkip na tablicę obiektów Span i Skip, aby nadać mu bardziej strukturalny charakter. (Idd1eb)

Wersja 1.1.0-alpha09

22 marca 2023 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09 zostały opublikowane. Wersja 1.1.0-alpha09 zawiera te zmiany.

Zmiany w interfejsie API

  • Modifier.intermediateLayout nie wymaga już wyraźnego LookaheadScope. Blok miary w intermediateLayout ma IntermediateMeasureScope jako odbiornik, który zapewnia wygodne CoroutineScope, LookaheadScopeMeasureScope.
  • LookaheadLayout został zastąpiony przez LookaheadScope, który nie jest już układem. Dzięki temu treści dla dzieci na LookaheadScope mogą być bezpośrednio kontrolowane przez MeasurePolicy rodzica. (Ibe2e5)
  • Easing.Cubic() może teraz przyjmować parametry przekroczenia. (I2d826)

Wersja 1.1.0-alpha08

8 marca 2023 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08androidx.constraintlayout:constraintlayout-core:1.1.0-alpha08 zostały opublikowane. Wersja 1.1.0-alpha08 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano sprawdzanie kodu, aby sugerować użycie Dimension.percent(1f)LayoutReference.withChainParams() w przypadkach, w których typowe wzorce mogą prowadzić do nieprzewidywalnego zachowania. (I62eb0, I03060)

Zmiany w interfejsie API

  • Włącz flagi ReverseSpanDirectionSpansOrderFirst dla funkcji Pomocnik siatki w kompozycji.
    1. ReverseSpanDirection: odwróć specyfikację szerokości i wysokości w przypadku zakresów lub pominięć.
    2. SpansOrderFirst: zakresy będą uwzględniać kolejność widżetów. (I6ad50)
  • Użyj Modifier.onStartEndBoundsChanged(...), aby uzyskać lokalne granice komponentów, których nie dotyczy animacja, w MotionLayout. Przydatne w przypadku każdej interakcji z interfejsem, która wymaga informacji o układzie i może też wywoływać animacje, np. DragAndDrop. (I6b5f9)
  • Włączanie pomijania i rozpiętości w narzędziu Grid Helper w Compose (I917b6)

Poprawki błędów

  • Właściwości stałego tłumaczenia nie stosują oczekiwanych wartości. (I961cd)

Wersja 1.1.0-alpha07

8 lutego 2023 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07 zostały opublikowane. Wersja 1.1.0-alpha07 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodanie nowych interfejsów API, aby włączyć narzędzie Grid Helper w Compose za pomocą DSL (I1143b)

Poprawki błędów

  • Rozwiązanie problemu z nieprawidłowym układem elementu Wrap.Chain w przypadku przepływu w odniesieniu do parametru maxElement. (e1f2ed3)
  • Rozwiązaliśmy problem polegający na tym, że wartość start ConstraintSet nie była aktualizowana podczas zmiany przejścia za pomocą MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String). (17ffff1)
  • Rozwiązaliśmy problem polegający na tym, że ConstraintSet nie odzwierciedlał niektórych zmian podczas dziedziczenia ograniczeń przez ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit).(740804b)

Wersja 1.1.0-alpha06

25 stycznia 2023 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06 zostały opublikowane. Wersja 1.1.0-alpha06 zawiera te zmiany.

Nowe funkcje

  • Dodano nowe interfejsy API, aby włączyć Asystenta siatki w Compose z reprezentacją JSON, która umożliwia umieszczanie komponentów w siatce 2D. (I968ad)

Zmiany w interfejsie API

  • Dodanie do MotionLayout (I184a9) obsługi trybów łuku w górę i w dół Arc.Above oraz trybów łuku niezależnych od kierunku Arc.Below
  • Można teraz ograniczyć pozycję reklamy zakotwiczonej u góry lub u dołu strony do reklamy zakotwiczonej u góry lub u dołu strony i odwrotnie. (I54628)
  • Zmieniono nazwę MotionLayoutScope#motionProperties (w tym pochodnych) na MotionLayoutScope#customProperties. Jest to spójne z ustawianiem właściwości niestandardowych. (Ib34c9)
  • Możesz teraz tworzyć wiele plików referencyjnych w ConstraintSetMotionScene: val (box, text, button) = createRefsFor("box", "text","button"). Stosuj ograniczenia do wielu elementów za pomocą operatora constrain(box, button, text). W ConstrainScope możesz teraz intuicyjnie ustawić stały wymiar za pomocą Dp.asDimension: width = 10.dp.asDimension. (I021ec, Ia0960)
  • Metody MotionScene() i Transition() są teraz funkcjami niekomponowalnymi. Obiekty z tych funkcji (w tym ConstraintSet) powinny być teraz prawidłowo porównywalne. animateChanges = trueConstraintLayout można teraz używać tylko z jednym odwołaniem ConstraintSet, o ile podczas ponownego komponowania zmieniła się dowolna z jego właściwości. (I7d22e)

Poprawki błędów

  • Rozwiązaliśmy problem polegający na tym, że ConstraintLayout zawsze powodował niepotrzebne dodatkowe ponowne komponowanie, gdy zmieniano elementy pomocnicze. (Id83ad, b/222093277)
  • Poprawiono działanie podczas korzystania z funkcji Intrinsics z ConstraintLayoutMotionLayout. (I487ae, b/220527863)
  • Naprawiono problem z niemożnością ponownego pomiaru po zmianie treści. (Ibfe8a, b/219091179)

Wersja 1.1.0-alpha05

7 grudnia 2022 r.

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05androidx.constraintlayout:constraintlayout-core:1.1.0-alpha05 zostały opublikowane. Wersja 1.1.0-alpha05 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa niestandardowych KeyAttributes w DSL (b94e748)
  • Właściwości odchylenia powierzchni w ConstrainScope (32625d0)
  • Obsługa parametrów niestandardowych w łańcuchach (72a2e9e)
  • Dodawanie testów Macrobenchmark dla MotionLayout w Compose (36f43bc)
  • Więcej informacji o zmianach w poprzedniej wersji Compose znajdziesz na stronie wiki.

Zmiany w interfejsie API

  • Parametry Odwróć addConstraintSetaddTransition (152facc)

Poprawki błędów

  • Napraw łańcuchy poziome (ed5f56e)

Wersja 1.1.0-alpha01

20 maja 2022 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01

Pamiętaj, że interfejs MotionLayout API jest eksperymentalny i wymaga wyrażenia zgody.

Więcej informacji znajdziesz w artykule Co nowego w Compose 1.1.0-alpha01 na GitHubie.

Wersja 2.2

Wersja 2.2.1

26 lutego 2025 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.1 Wersja 2.2.1 zawiera te zmiany.

Wkład zewnętrzny

  • Rozwiązuje problem ze zgodnością binarną z biblioteki constraintlayout-core. Dziękujemy Carlo Marinangeli! (I8952e, b/376718273)

Wersja 2.2.0

30 października 2024 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0 Wersja 2.2.0 zawiera te zmiany.

Ważne zmiany od wersji 2.1.0

  • Wersja równoległa z podstawową biblioteką constraintlayout-core.

Wersja 2.2.0-rc01

16 października 2024 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0-rc01 Wersja 2.2.0-rc01 zawiera te zmiany.

Wersja 2.2.0-beta01

4 września 2024 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0-beta01 Wersja 2.2.0-beta01 zawiera te zmiany.

Wersja 2.2.0-alpha14

7 sierpnia 2024 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha14 Wersja 2.2.0-alpha14 zawiera te zmiany.

Wersja 2.2.0-alpha13

4 października 2023 roku

androidx.constraintlayout:constraintlayout:2.2.0-alpha13 zostaje opublikowany bez zmian. Wersja 2.2.0-alpha13 zawiera te zatwierdzenia.

Wersja 2.2.0-alpha12

9 sierpnia 2023 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha12 Wersja 2.2.0-alpha12 zawiera te zatwierdzenia.

Wersja 2.2.0-alpha11

26 lipca 2023 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha11 Wersja 2.2.0-alpha11 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj metodę ustawiającą, aby umożliwić programistom programowe ustawianie wartości parametru mInfiniteCarousel (I0a8ca).

Wersja 2.2.0-alpha10

24 maja 2023 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha10 Wersja 2.2.0-alpha10 zawiera te zatwierdzenia.

Poprawki błędów

  • Napraw uszkodzony link do dokumentu MotionLayout. (51cbe88)

Wersja 2.2.0-alpha09

22 marca 2023 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha09 Wersja 2.2.0-alpha09 zawiera te zatwierdzenia.

Wersja 2.2.0-alpha08

8 marca 2023 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha08 Wersja 2.2.0-alpha08 zawiera te zatwierdzenia.

Wersja 2.2.0-alpha07

8 lutego 2023 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha07 Wersja 2.2.0-alpha07 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiąż problem z ConstraintLayout brakiem treści na stronie. (I82e25)

Wersja 2.2.0-alpha05

7 grudnia 2022 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha05 Wersja 2.2.0-alpha05 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono wyciek pamięci w karuzeli widoków (eb67b82)

Wersja 2.2.0-alpha01

20 maja 2022 r.

Publikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha01

Zawiera podgląd nowego Grid.

Więcej informacji znajdziesz w sekcji Nowości w wersji 2.2.0-alpha01 na GitHubie.

ConstraintLayout-compose 1.0

Biblioteka ConstraintLayout-compose 1.0 udostępnia funkcje ConstraintLayout w Jetpack Compose.

Wersja 1.0.1

20 maja 2022 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.1

Pamiętaj, że interfejs MotionLayout API jest eksperymentalny i wymaga wyrażenia zgody.

Więcej informacji znajdziesz w artykule Co nowego w Compose 1.0.1 na GitHubie.

Wersja 1.0.0

13 stycznia 2022 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0

Pamiętaj, że interfejs MotionLayout API jest obecnie eksperymentalny i wymaga wyrażenia zgody.

Więcej informacji znajdziesz w artykule na GitHubie What's New in 1.0 (Compose) (Co nowego w wersji 1.0 (Compose)).

Wersja 1.0.0-rc02

16 listopada 2021 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02

Więcej informacji znajdziesz w artykule na GitHubie What's New in 1.0 (Compose) (Co nowego w wersji 1.0 (Compose)).

Wersja 1.0.0-rc01

27 września 2021 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01

To druga wersja beta. Jest ona uznawana za kompletną i zapewnia ConstraintLayoutMotionLayout w przypadku Compose.

Więcej informacji znajdziesz w artykule na GitHubie What's New in 1.0 (Compose) (Co nowego w wersji 1.0 (Compose)).

Wersja 1.0.0-beta02

30 lipca 2021 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02

To druga wersja beta. Jest ona uznawana za kompletną i zapewnia ConstraintLayoutMotionLayout w przypadku Compose.

Więcej informacji znajdziesz w artykule na GitHubie What's New in 1.0 (Compose) (Co nowego w wersji 1.0 (Compose)).

Wersja 1.0.0-beta01

22 lipca 2021 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01

To pierwsza wersja beta. Jest ona uznawana za kompletną i zapewnia ConstraintLayoutMotionLayout w przypadku Compose.

Więcej informacji znajdziesz w artykule na GitHubie What's New in 1.0 (Compose) (Co nowego w wersji 1.0 (Compose)).

Wersja 1.0.0-alpha07

18 maja 2021 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07

  • Zaktualizowano, aby była zgodna z wersją Compose 1.0.0-beta07.

Wersja 1.0.0-alpha06

4 maja 2021 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha06

  • Optymalizacja Compose: funkcja kompozycyjna w ConstraintLayout (#193)
  • Minimalizowanie ponownych pomiarów w Compose (#210)

Wersja 1.0.0-alpha05

15 marca 2021 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha05

  • zawiera poprawkę mechanizmu optymalizacji (b/182657720);
  • dodaj parametr optimizationLevel do funkcji kompozycyjnej ConstraintLayout.

Wersja 1.0.0-alpha04

11 marca 2021 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha04

Aktualizacja do najnowszego silnika constraintlayout-core

Wersja 1.0.0-alpha03

24 lutego 2021 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha03

Aktualizacja wersji beta01 Jetpack Compose

Wersja 1.0.0-alpha02

10 lutego 2021 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02

Aktualizacja wersji Jetpack Compose alpha12

Wersja 1.0.0-alpha01

2 lutego 2021 r.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01

Pierwsza wersja biblioteki, która udostępnia wbudowane i zewnętrzne języki DSL do wyrażania ograniczeń.

Wersja 2.1

ConstraintLayout 2.1.0 udostępnia więcej funkcji w MotionLayout i nowe komponenty pomocnicze (np. Carousel).

Wersja 2.1.4

20 maja 2022 r.

Publikacja androidx.constraintlayout:constraintlayout:2.1.4

Więcej informacji znajdziesz w artykule Co nowego w wersji 2.1.4 na GitHubie.

Wersja 2.1.3

13 stycznia 2022 r.

Publikacja androidx.constraintlayout:constraintlayout:2.1.3

Więcej informacji znajdziesz w artykule na GitHubie Co nowego w wersji 2.1.

Wersja 2.1.2

16 listopada 2021 r.

Publikacja androidx.constraintlayout:constraintlayout:2.1.2

Więcej informacji znajdziesz w artykule na GitHubie Co nowego w wersji 2.1.

Wersja 2.1.1

27 września 2021 r.

Publikacja androidx.constraintlayout:constraintlayout:2.1.1

To ostatnia wersja 2.1.1.

Więcej informacji znajdziesz w artykule na GitHubie Co nowego w wersji 2.1.

Wersja 2.1.0

30 lipca 2021 r.

Publikacja androidx.constraintlayout:constraintlayout:2.1.0

To ostatnia wersja 2.1.0.

Więcej informacji znajdziesz w artykule na GitHubie Co nowego w wersji 2.1.

Wersja 2.1.0-rc01

22 lipca 2021 r.

Publikacja androidx.constraintlayout:constraintlayout:2.1.0-rc01

Jest to wersja kandydująca 2.1.0, która zawiera drobne ulepszenia i poprawki w porównaniu z ostatnią wersją beta. Więcej informacji znajdziesz w artykule na GitHubie Co nowego w wersji 2.1.

Wersja 2.1.0-beta02

4 maja 2021 r.

Publikacja androidx.constraintlayout:constraintlayout:2.1.0-beta02

Kilka nowych funkcji w MotionLayout:

  • Ulepszenie OnSwipe, w tym sprężyna (sztywność, tłumienie, masa itp.) i nigdy nie kończy się
  • Funkcja jumpToState
  • Tryb ViewTransition downUp, w którym po dotknięciu ekranu odtwarzanie jest wznawiane do 100%, a po zwolnieniu palca odtwarzanie jest cofane do 0%.

Różne poprawki, w tym:

  • Rozwiązanie problemu w MotionLayout z przewijaniem w pionie (#173)
  • Poprawa wydajności zagnieżdżonego elementu MotionLayout (#189)
  • Szybkie przejście z użyciem NestedScrollView w MotionLayout (#189)
  • ConstraintSet gone in MotionLayout (#189)
  • Obsługa przejść downUp w MotionLayout (#190)
  • Poprawka w klasie ImageFilter podczas ponownego używania obiektów rysowalnych (#192)
  • Dodanie obsługi sprężyn w MotionLayout (#199)
  • Poprawa wydajności CircularFlow (#200)
  • Poprawki w przypadku ograniczeń pochodnych i zastępowania ograniczeń (#212)

Wersja 2.1.0-beta01

11 marca 2021 r.

Publikacja androidx.constraintlayout:constraintlayout:2.1.0-beta01

ConstraintLayout

Atrybuty android:layout_width i android:layout_height ponownie stały się obowiązkowe ze względu na problemy ze zgodnością.

MotionLayout

  • Programowe wstawianie i usuwanie funkcji onSwipe i onClick w przypadku przejść
  • Eksperymentalna obsługa przejść przez obracanie ekranu
  • argument duration w przypadku przejść
  • Lepsza obsługa atrybutów customAttributes, które są wartościami logicznymi lub odwołaniami

Funkcje pomocnicze

  • dodaliśmy możliwość animowania lub bezpośredniego przechodzenia do danego elementu karuzeli;
  • nowy pomocnik CircularFlow,

Więcej informacji o tej wersji znajdziesz tutaj oraz w informacjach o naprawionych błędach.

Wersja 2.1.0-alpha2

17 grudnia 2020 r.

Publikacja androidx.constraintlayout:constraintlayout:2.1.0-alpha2

Druga wersja alfa zawiera kilka nowych funkcji:

ConstraintLayout

  • Parametry android:layout_width i android:layout_height są teraz opcjonalne, a domyślnym działaniem jest wrap_content.
  • nowe atrybuty layout_constraintWidth i layout_constraintHeight do wyrażania ograniczeń wymiarów;
  • obsługuje ujemne marginesy w przypadku ograniczeń,
  • obsługuje ograniczenia od linii bazowej do góry i od linii bazowej do dołu;
  • obsługuje ograniczenia dotyczące podstawowej marży,
  • SharedValues umożliwiają wstrzykiwanie wartości zewnętrznych do ConstraintLayout

MotionLayout

  • Obsługa interpolatorów przekroczenia (przewidywanie, przekroczenie)
  • Rozszerzona obsługa MotionHelper
  • Dodano animowaną aktualizację ConstraintSet do MotionLayout updateStateAnimate(id,cset,duration);
  • Przejście widoku oparte na udostępnionej wartości
  • scheduleTransitonTo umożliwia umieszczenie w kolejce przejścia, które ma się rozpocząć po zakończeniu bieżącego przejścia.

Funkcje pomocnicze

  • Karuzela obsługuje teraz tryb nieskończony (zawijany)
  • ReactiveGuide : linia pomocnicza, która automatycznie zmienia położenie, gdy zmieni się wartość SharedValue.
  • MotionEffect : wstawia klatki kluczowe do widoków, do których się odwołuje, poruszających się w danym kierunku.
  • MotionLabel – widok do animowania tekstu w jednym wierszu

Więcej informacji o tej wersji znajdziesz tutaj.

Wersja 2.1.0-alpha1

19 listopada 2020 r.

Publikacja androidx.constraintlayout:constraintlayout:2.1.0-alpha1

Pierwsza wersja alfa wersji 2.1. Wprowadzono obsługę:

  • Narzędzie do tworzenia karuzeli, które umożliwia tworzenie niestandardowych widoków karuzeli.
  • Sceny MotionLayout obsługują elementy include i zastępowanie ograniczeń
  • MotionLayout zapewnia lepszą obsługę obracania (dane wejściowe i wyjściowe).
  • MotionLayout dodaje ViewTransitions, co umożliwia przejścia pojedynczego widoku w przypadku mutacji zestawów ograniczeń.

Dodatkowe informacje o tej wersji znajdziesz tutaj.

Wersja 2.0

ConstraintLayout 2.0 dodaje nowe funkcje układów (układy wirtualne itp.) i nową klasę upraszczającą animację widoków, MotionLayout.

Wersja 2.0.4

29 października 2020 r.

Publikacja androidx.constraintlayout:constraintlayout:2.0.4

Poprawki błędów

Ta poprawka usuwa potencjalny błąd NullPointerException, który może wystąpić podczas usuwania widoku podrzędnego w czasie działania. Zalecamy zaktualizowanie do tej wersji.

Listę zamkniętych zgłoszeń znajdziesz tutaj.

Wersja 2.0.3

27 października 2020 r.

Publikacja androidx.constraintlayout:constraintlayout:2.0.3

Poprawki błędów

W tej wersji rozwiązaliśmy kilka problemów. Zalecamy zaktualizowanie do tej wersji.

  • Obsługa wcięć w systemie Windows
  • Obsługa współczynnika wymiarów w niektórych sytuacjach
  • Awaria w przypadku niektórych układów RTL

Listę zamkniętych zgłoszeń znajdziesz tutaj.

Wersja 2.0.2

6 października 2020 r.

Publikacja androidx.constraintlayout:constraintlayout:2.0.2

Poprawki błędów

Ta wersja poprawia wydajność i rozwiązuje kilka problemów. Zalecamy zaktualizowanie do tej wersji.

  • W niektórych sytuacjach obsługa widoczności GONE w klasie ConstraintLayout była nieprawidłowa
  • W niektórych sytuacjach nieprawidłowo obsługiwano spakowane łańcuchy w ConstraintLayout
  • Poprawiony wyjątek dotyczący inflacji w przypadku interfejsu API 15 dla pomocnika układu wirtualnego Flow
  • Funkcja limitsBoundsTo w MotionLayout nie działała prawidłowo
  • w niektórych sytuacjach (przejścia łańcuchowe) funkcja przejścia na koniec nie działała w MotionLayout;

Listę zamkniętych zgłoszeń znajdziesz tutaj.

Wersja 2.0.1

25 sierpnia 2020 r.

Publikacja androidx.constraintlayout:constraintlayout:2.0.1

Jest to niewielka aktualizacja, która umożliwia korzystanie z MotionEditor w Android Studio.

Wersja 2.0.0

21 sierpnia 2020 roku

Publikacja androidx.constraintlayout:constraintlayout:2.0.0

Poprawki błędów

Listę zamkniętych zgłoszeń znajdziesz tutaj.

Najważniejsze poprawki:

  • Opóźnienia przejść MotionLayout i poprawki dotyczące TransitionListener
  • Poprawki dotyczące przepływu i bariery w ConstraintLayout

Wersja 2.0.0-rc1

29 lipca 2020 r.

Publikacja androidx.constraintlayout:constraintlayout:2.0.0-rc1

Poprawki błędów

Listę zamkniętych zgłoszeń znajdziesz tutaj.

Najważniejsze poprawki:

  • Poprawki przepływu
  • Poprawki RecyclerView (zalecamy aktualizację do wersji 1.2.0 alpha 5 lub nowszej)
  • Poprawki dotyczące MotionLayout TransitionListener
  • Poprawka wycieku pamięci w MotionLayout

Wersja 2.0.0-beta8

7 lipca 2020 r.

Publikacja androidx.constraintlayout:constraintlayout:2.0.0-beta8

Poprawki błędów

Listę zamkniętych zgłoszeń znajdziesz tutaj.

Najważniejsze poprawki:

  • Działanie obiektu zastępczego
  • Widoczność warstwy
  • Poprawki dotyczące przepływu i barier
  • Poprawki w przypadku TransitionListener

Wersja 2.0.0-beta7

12 czerwca 2020 r.

Publikacja androidx.constraintlayout:constraintlayout:2.0.0-beta7

Poprawki błędów

Listę zamkniętych zgłoszeń znajdziesz tutaj.

Najważniejsze poprawki:

  • Problemy z zagnieżdżonym widokiem przewijania w MotionLayout
  • Problemy z elementami nasłuchującymi przejścia w MotionLayout
  • Wyciek pamięci w MotionLayout
  • Problemy z elementem RecyclerView
  • Widoczność grupy
  • Problemy z dopełnieniem

Wersja 2.0.0-beta6

13 maja 2020 r.

Publikacja androidx.constraintlayout:constraintlayout:2.0.0-beta6

Poprawki błędów

Listę zamkniętych zgłoszeń znajdziesz tutaj. Ważne poprawki dotyczą obsługi widoczności grup i problemów z ograniczeniami pochodnymi w MotionLayout.

Wersja 2.0.0-beta5

7 maja 2020 roku

Publikacja androidx.constraintlayout:constraintlayout:2.0.0-beta5

Poprawki błędów

Listę zamkniętych problemów znajdziesz tutaj

Wersja 2.0.0-beta4

16 grudnia 2019 r.

Publikacja androidx.constraintlayout:constraintlayout:2.0.0-beta4

Nowe funkcje

MotionLayout

Nowe atrybuty w programie przejścia:

  • layoutDuringTransition : pozwala skonfigurować sposób, w jaki MotionLayout ma reagować na wywołania requestLayouts elementów podrzędnych podczas przejścia. Możliwe wartości to {ignoreRequest, honorRequest}
  • pathMotionArc : elementy poruszające się po ścieżce będą używać łuku. Możliwe wartości to {startVertical | startHorizontal | flip | none}.

Możesz teraz zdefiniować domyślne przejście, pomijając po prostu początkowe i końcowe ConstraintSet. Ta domyślna zmiana zostanie użyta, jeśli nie będzie można znaleźć innej istniejącej zmiany, która pasuje do bieżących stanów początkowego i końcowego.

Poprawki błędów

Listę zamkniętych problemów znajdziesz tutaj