ConstraintLayout

Elastycznie rozmieszczaj widżety za pomocą pozycjonowania względnego.

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.

Prześlij opinię

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 oddać głos na istniejący problem, 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.1androidx.constraintlayout:constraintlayout-core:1.1.1 są zwalniane. 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. Na przykład 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.0androidx.constraintlayout:constraintlayout-core:1.1.0 są zwalniane. 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 rekompozycją (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-rc01androidx.constraintlayout:constraintlayout-core:1.1.0-rc01 są zwalniane. 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-beta01androidx.constraintlayout:constraintlayout-core:1.1.0-beta01 są zwalniane. 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-alpha14androidx.constraintlayout:constraintlayout-core:1.1.0-alpha14 są zwalniane. Wersja 1.1.0-alpha14 zawiera te zmiany.

Zmiany w interfejsie API

  • Flagi są teraz udostępniane pojedynczo 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, aby zapewnić większą przejrzystość. (Iebc92)
  • Uproszczony interfejs API animateChangesConstraintLayout, aby wymagać tylko niepustego 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 NestedScrollDrag and FlingNestedScroll zostaną zastąpione ź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 interfejsu 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-alpha12androidx.constraintlayout:constraintlayout-core:1.1.0-alpha12 są zwalniane. Wersja 1.1.0-alpha12 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano LayoutScopeMarker do DSL przejścia. (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-alpha11androidx.constraintlayout:constraintlayout-core:1.1.0-alpha11 są zwalniane. Wersja 1.1.0-alpha11 zawiera te zmiany.

Nowe funkcje

  • Możesz teraz podać InvalidationStrategy, aby zoptymalizować unieważnianie w MotionLayout. Zwykle to właśnie one są przyczyną obniżonej skuteczności. (Iada0c)
  • Możesz teraz używać animateChanges = true podczas korzystania z ConstraintLayout z wbudowanym językiem DSL modyfikatora (Modifier.constrainAs). Za każdym razem, gdy zmienisz język DSL ograniczeń, ConstraintLayout automatycznie przejdzie do nowego stanu. (I9abf1)
  • Włączona funkcja dla limitBoundsTo w przypadku 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 z nieprawidłowym działaniem customColorMotionScene w przypadku przezroczystych kolorów. (81b2ac)
  • Naprawiliśmy błąd, który powodował, że funkcja OnSwipe nie była prawidłowo odczytywana po zatrzymaniu. Poprawiliśmy też obliczanie początkowej prędkości dla funkcji touchUp. (Ia5f6f)
  • Zaktualizowano dokumentację KDoc dla funkcji kompozycyjnej 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-alpha10androidx.constraintlayout:constraintlayout-core:1.1.0-alpha10 są zwalniane. 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)
  • Kontakt 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żesz 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: 1. 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.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09 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.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08androidx.constraintlayout:constraintlayout-core:1.1.0-alpha08 Wersja 1.1.0-alpha08 zawiera te zmiany.

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.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07 Wersja 1.1.0-alpha07 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodanie nowych interfejsów API, które umożliwiają włączenie narzędzia Grid Helper w Compose za pomocą DSL (I1143b)

Poprawki błędów

  • Rozwiązanie problemu z nieprawidłowym układem Wrap.Chain w przypadku przepływu w odniesieniu do danego parametru maxElement. (e1f2ed3)
  • Rozwiązaliśmy problem polegający na tym, że start ConstraintSet nie aktualizowało się po zmianie 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.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06 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 obsługi trybów łuku w górę i w dół Arc.Above oraz trybów łuku niezależnych od kierunku Arc.Below do MotionLayout (I184a9)
  • Możesz teraz ograniczyć kotwicę linii bazowej do kotwic u góry lub u dołu i odwrotnie. (I54628)
  • Zmieniono nazwę MotionLayoutScope#motionProperties (w tym pochodnych) na MotionLayoutScope#customProperties. Ma to na celu zachowanie spójności 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ą znaku 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()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 rekompozycji 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 rekomponowanie, 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.

Publikacja androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05androidx.constraintlayout:constraintlayout-core:1.1.0-alpha05 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)
  • Dodaj testy 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

  • Naprawianie poziomych łańcuchów (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ównoważna z 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 zmiany.

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 zmiany.

Poprawki błędów

  • Naprawiono wyciek 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 narzędzia 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).

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).

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ą, ponieważ zapewnia ConstraintLayoutMotionLayout w przypadku Compose.

Więcej informacji znajdziesz w artykule na GitHubie What's New in 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ą, ponieważ zapewnia ConstraintLayoutMotionLayout w przypadku Compose.

Więcej informacji znajdziesz w artykule na GitHubie What's New in 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ą, ponieważ zapewnia ConstraintLayoutMotionLayout w przypadku Compose.

Więcej informacji znajdziesz w artykule na GitHubie What's New in 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ą 1.0.0-beta07 biblioteki Compose.

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 Jetpack Compose beta01

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 bogatsze funkcje w MotionLayout i nowe komponenty pomocnicze (karuzela itp.).

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 do publikacji 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 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 czasu trwania w przypadku przejść
  • Lepsza obsługa atrybutów niestandardowych, 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

W tej drugiej wersji alfa dodaliśmy 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);
  • ViewTransition na podstawie wartości udostępnionej
  • 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 swoje położenie, gdy zmieni się wartość SharedValue.
  • MotionEffect : wstrzykuje 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ę:

  • Pomocnik ruchu karuzeli do tworzenia niestandardowych widoków karuzeli
  • Sceny MotionLayout obsługują elementy include i zastępowanie ograniczeń
  • MotionLayout zapewnia lepszą obsługę rotacji (danych wejściowych i wyjściowych)
  • MotionLayout dodaje ViewTransitions, co umożliwia przejścia między pojedynczymi widokami w przypadku mutacji zestawów ograniczeń.

Więcej informacji o tej wersji znajdziesz tutaj.

Wersja 2.0

Biblioteka ConstraintLayout 2.0 zawiera 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 wersja naprawia potencjalny błąd NullPointerException, który może wystąpić podczas usuwania widoku dziecka w czasie działania programu. Zalecamy zaktualizowanie do tej wersji.

Listę zamkniętych problemów 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 problemów 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 na interfejsie API 15 w przypadku pomocnika wirtualnego układu Flow
  • Funkcja limitsBoundsTo w klasie 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 problemów 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 edytora 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 problemów 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 problemów 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 problemów znajdziesz tutaj.

Najważniejsze poprawki:

  • Działanie obiektu zastępczego
  • Widoczność warstwy
  • Poprawki dotyczące przepływu i bariery
  • 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 problemów 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 wypeł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 problemów znajdziesz tutaj. Wśród ważnych poprawek warto wymienić obsługę widoczności grup i problemy 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 okresie przejściowym:

  • 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 zbiory ConstraintSet. To domyślne przejście zostanie użyte, jeśli nie będzie można znaleźć innego istniejącego przejścia, które pasuje do bieżących stanów początkowego i końcowego.

Poprawki błędów

Listę zamkniętych problemów znajdziesz tutaj