Ograniczenie

Możesz elastycznie ustalić położenie widżetów i ich rozmiar dzięki względnemu rozmieszczaniu.

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

Artefakt Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
układ ograniczeń 2.1.4 - - 2.2.0-alfa13
limitlayout-compose 1,0.1 - - 1.1.0-alfa13
Corelayout-core 1.0.4 - - 1.1.0-alfa13

Deklarowanie zależności

Aby dodać zależność od ConstraintUkład, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.

W pliku build.gradle aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:

Odlotowy

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

Kotlin

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

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

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nowy numer

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

ConstraintLayout-compose i ConstraintLayout-Core 1.1,

Wersja 1.1.0-alfa13

4 października 2023 r.

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 zostały wydane bez zmian. Wersja 1.1.0-alpha13 zawiera te zatwierdzenia.

  • W tej wersji biblioteki androidx.constraintlayout mogą być zgodne z interfejsem ABI z najnowszymi wersjami Compose.

Wersja 1.1.0-alfa12

9 sierpnia 2023 r.

Opublikowano 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. Wersja 1.1.0-alpha12 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano LayoutScopeMarker do przenoszenia DSL. (If54ce)

Wersja 1.1.0-alfa11

26 lipca 2023 r.

Opublikowano 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. Wersja 1.1.0-alpha11 zawiera te zatwierdzenia.

Nowe funkcje

  • Możesz teraz podać InvalidationStrategy, aby optymalizować unieważnienia w MotionLayout. Jest to zazwyczaj przyczyną pogorszenia skuteczności. (Iada0c)
  • Możesz teraz używać właściwości animateChanges = true w przypadku użycia ConstraintLayout z wbudowanym DSL z modyfikatorem (Modifier.constrainAs). Za każdym razem, gdy zmiana ograniczeń nastąpi zmiana ograniczeń, DSL automatycznie przetworzy animację w tym nowym stanie.ConstraintLayout (I9abf1)
  • Włączono funkcję limitBoundsTo na urządzeniu OnSwipe. (I56522)

Zmiany w interfejsie API

  • Nazwa elementu TransitionScope.staggered została zmieniona na TransitionScope.maxStaggerDelay. (I0fd2d)

Poprawki błędów

  • Poprawiono niedziałający parametr dragScale z parametru OnSwipe. (8bef26)
  • Poprawiono działanie customColor w przeglądarce MotionScene z przezroczystymi kolorami. (81b2ac)
  • Poprawiono nieprawidłowe komunikaty funkcji OnSwipe po zatrzymaniu. Poprawiono też obliczanie prędkości początkowej dla touchUp. (Ia5f6f)
  • Zaktualizowano plik KDoc dla funkcji kompozycyjnych ConstraintLayout i Constraintset. (3bfe63)

Wersja 1.1.0-alfa10

24 maja 2023 r.

Opublikowano 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. Wersja 1.1.0-alpha10 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Interfejs MotionLayout API nie jest już eksperymentalny – reprezentuje początkowy zestaw stabilnego interfejsu API w MotionLayout. (I288f4)
  • Czcionka MotionLayoutState została usunięta. (Id3ac1).
  • Możesz teraz używać narzędzia DebugFlags do wizualnego debugowania: DebugFlags(showBounds = true). (Ic714b)
  • Zmieniono zmienną rozszerzenia Dp.asDimension na metodę Dp.asDimension(). (I2d6ef)
  • Przesunięcie w czasie jest teraz obsługiwane w DSL MotionLayout, zdefiniuj maksymalne opóźnienie za pomocą TransitionScope.staggered. Możesz też użyć wartości ConstrainScope.staggeredWeight (w obrębie MotionSceneScope), aby ustawić niestandardową kolejność rozłożoną w czasie. (I70275)
  • Wprowadzono dwie zmiany w pomocniku siatki: 1. paddingLeft i paddingRight odpowiednio na paddingStart i paddingEnd. 2. zaktualizuj format gridSpans i gridSkip do tablicy obiektów Span i Pomiń, aby nadać jej bardziej strukturę. (Idd1eb)

Wersja 1.1.0-alfa09

22 marca 2023 r.

Opublikowano androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09 i androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09. Wersja 1.1.0-alpha09 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Modifier.intermediateLayout nie wymaga teraz wyraźnych LookaheadScope. Blok pomiaru w funkcji intermediateLayout ma IntermediateMeasureScope jako odbiornik, który zapewnia wygodne CoroutineScope, LookaheadScope i MeasureScope.
  • Element LookaheadLayout został zastąpiony przez element LookaheadScope, który nie jest już szablonem. Dzięki temu zawartość elementu podrzędnego w elemencie LookaheadScope może być bezpośrednio kontrolowana przez kartę MeasurePolicy elementu nadrzędnego. (Ibe2e5)
  • Easing.Cubic() może teraz przyjmować zbyt wiele parametrów. (I2d826)

Wersja 1.1.0-alfa08

8 marca 2023 r.

Opublikowano androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08 i androidx.constraintlayout:constraintlayout-core:1.1.0-alpha08. Wersja 1.1.0-alpha08 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano testy eliminacji, aby zasugerować użycie właściwości Dimension.percent(1f) i LayoutReference.withChainParams() w przypadkach, w których typowe wzorce mogą prowadzić do nieprzewidywalnych zachowań. (I62eb0, I03060)

Zmiany w interfejsie API

  • Włącz flagi ReverseSpanDirection i SpansOrderFirst dla pomocnika siatki w sekcji tworzenia wiadomości.
    1. ReverseSpanDirection: odwróć specyfikację szerokości i wysokości rozpiętości/pominięcia.
    2. SpansOrderFirst: spany będą uwzględniać kolejność widżetów. (I6ad50)
  • Użyj funkcji Modifier.onStartEndBoundsChanged(...), aby uzyskać lokalne granice elementów kompozycyjnych w elemencie MotionLayout, na które nie ma wpływu animacja. Ta opcja jest przydatna przy wszystkich interakcjach z interfejsem, które wymagają informacji o układzie i mogą też aktywować animacje, np. DragAndDrop. (I6b5f9)
  • Włącz pomijanie i rozpiętości w pomocniku siatki w Compose (I917b6)

Poprawki błędów

  • Poprawiono właściwości translacji, które nie stosowały oczekiwanych wartości. (I961cd)

Wersja 1.1.0-alfa07

8 lutego 2023 r.

Opublikowano androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07 i androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07. Wersja 1.1.0-alpha07 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj nowe interfejsy API, aby włączyć pomocniczą tabelę w oknie tworzenia wiadomości za pomocą DSL (I1143b)

Poprawki błędów

  • Naprawiono błąd Wrap.Chain przepływu w przypadku danego parametru maxElement. (e1f2ed3)
  • Naprawiono brak aktualizacji elementu start ConstraintSet podczas zmiany przejścia na MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String). (17ffff1)
  • Naprawiono błąd ConstraintSet, który nie odzwierciedlał niektórych zmian podczas dziedziczenia ograniczeń za pomocą ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit).(740804b)

Wersja 1.1.0-alfa06

25 stycznia 2023 r.

Opublikowano androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06 i androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06. Wersja 1.1.0-alpha06 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj nowe interfejsy API, aby włączyć pomocnika siatki w tworzeniu wiadomości z reprezentacją JSON, która umożliwia umieszczanie elementów kompozycyjnych w siatce 2D. (I968ad)

Zmiany w interfejsie API

  • Do MotionLayout (I184a9) dodano obsługę trybów łuku w górę i w dół Arc.Above oraz trybów łuku niezależnego w Arc.Below kierunku
  • Teraz można ograniczyć kotwicę bazową do kotwic u góry/dołu i odwrotnie. (I54628)
  • Zmieniono nazwę MotionLayoutScope#motionProperties (wraz z pochodnymi) na MotionLayoutScope#customProperties. Należy to zachować spójność jak w przypadku konfigurowania właściwości niestandardowych. (Ib34c9)
  • Możesz teraz utworzyć wiele plików referencyjnych w ConstraintSet i MotionScene: val (box, text, button) = createRefsFor("box", "text","button"). Stosuj ograniczenia do wielu elementów za pomocą funkcji constrain(box, button, text). W interfejsie ConstrainScope możesz teraz intuicyjnie ustawiać stały wymiar za pomocą Dp.asDimension: width = 10.dp.asDimension. (I021ec, Ia0960)
  • Metody MotionScene() i Transition() są teraz funkcjami niekompozycyjnymi. Obiekty z tych funkcji (w tym ConstraintSet) powinny być teraz odpowiednio porównywalne ze sobą. Pliku animateChanges = true w ConstraintLayout można teraz używać tylko z jednym odwołaniem do ConstraintSet, o ile dowolna z jego właściwości zmieni się podczas zmiany kompozycji. (I7d22e)

Poprawki błędów

  • Rozwiązaliśmy problem polegający na tym, że element ConstraintLayout zawsze uruchamiał niepotrzebną dodatkową zmianę kompozycji po zmianie pomocników. (Id83ad, b/222093277)
  • Rozwiąż problemy z działaniem funkcji Wewnętrznych z zastosowaniem ConstraintLayout i MotionLayout. (I487ae, b/220527863)
  • Problem z brakiem możliwości ponownego pomiaru w przypadku zmiany treści. (Ibfe8a, b/219091179)

Wersja 1.1.0-alfa05

7 grudnia 2022 r.

Opublikowano androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05 i androidx.constraintlayout:constraintlayout-core:1.1.0-alpha05. Wersja 1.1.0-alpha05 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa niestandardowego KeyAttributes w DSL (b94e748)
  • Właściwości odchylenia powierzchni w obiekcie ConstrainScope (32625d0)
  • Obsługa parametrów niestandardowych w łańcuchach (72a2e9e)
  • Dodaj testy porównawcze makr MotionLayout w usłudze Compose (36f43bc)
  • Więcej informacji o zmianach wprowadzonych w poprzedniej wersji w interfejsie Compose znajdziesz na stronie wiki

Zmiany w interfejsie API

  • Odwróć parametry addConstraintSet i addTransition (152facc)

Poprawki błędów

  • Naprawianie łańcuchów poziomych (ed5f56e)

Wersja 1.1.0-alfa01

20 maja 2022 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01 została zwolniona.

Pamiętaj, że interfejs Motion Layout API ma charakter eksperymentalny i wymaga zaakceptowania.

Aby dowiedzieć się więcej, zobacz nowości w usłudze Compose w wersji 1.1.0-alpha01 na GitHubie.

Wersja 2.2

Wersja 2.2.0-alfa13

4 października 2023 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha13 została wydana bez zmian. Wersja 2.2.0-alfa13 zawiera te zatwierdzenia.

Wersja 2.2.0-alfa12

9 sierpnia 2023 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha12 została zwolniona. Wersja 2.2.0-alpha12 zawiera te zatwierdzenia.

Wersja 2.2.0-alfa11

26 lipca 2023 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha11 została zwolniona. Wersja 2.2.0-alpha11 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj metodę ustawiającą, aby umożliwić programistom automatyczne ustawianie wartości właściwości mInfiniteCarousel (I0a8ca)

Wersja 2.2.0-alfa10

24 maja 2023 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha10 została zwolniona. Wersja 2.2.0-alpha10 zawiera te zatwierdzenia.

Poprawki błędów

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

Wersja 2.2.0-alfa09

22 marca 2023 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha09 została zwolniona. Wersja 2.2.0-alpha09 zawiera te zatwierdzenia.

Wersja 2.2.0-alfa08

8 marca 2023 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha08 została zwolniona. Wersja 2.2.0-alpha08 zawiera te zatwierdzenia.

Wersja 2.2.0-alfa07

8 lutego 2023 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha07 została zwolniona. Wersja 2.2.0-alpha07 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiąż problem z brakującą treścią strony ConstraintLayout. (I82e25)

Wersja 2.2.0-alfa05

7 grudnia 2022 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha05 została zwolniona. Wersja 2.2.0-alpha05 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawianie wycieku w karuzeli widoków (eb67b82)

Wersja 2.2.0-alfa01

20 maja 2022 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.2.0-alpha01 została zwolniona.

Zawiera wersję przedpremierową nowego asystenta Grid.

Aby dowiedzieć się więcej, przeczytaj nowości w wersji 2.2.0-alpha01 na GitHubie.

ConstraintLayout-compose 1.0

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

Wersja 1.0.1

20 maja 2022 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.1 została zwolniona.

Pamiętaj, że interfejs Motion Layout API ma charakter eksperymentalny i wymaga zaakceptowania.

Aby dowiedzieć się więcej, przeczytaj o nowościach w usłudze Compose 1.0.1 na GitHubie.

Wersja 1.0.0

13 stycznia 2022 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0 została zwolniona.

Pamiętaj, że interfejs Motion Layout API jest w fazie eksperymentalnej i wymaga jego akceptacji.

Więcej informacji znajdziesz w artykule na GitHubie: Co nowego w wersji 1.0 (tworzenie).

Wersja 1.0.0-rc02

16 listopada 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02 została zwolniona.

Więcej informacji znajdziesz w artykule na GitHubie: Co nowego w wersji 1.0 (tworzenie).

Wersja 1.0.0-rc01

27 września 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01 została zwolniona.

Jest to druga wersja beta. Uznaje się, że funkcja jest już dostępna, a elementy ConstraintLayout i MotionLayout do tworzenia wiadomości.

Więcej informacji znajdziesz w artykule na GitHubie: Co nowego w wersji 1.0 (tworzenie).

Wersja 1.0.0-beta02

30 lipca 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02 została zwolniona.

Jest to druga wersja beta. Uznaje się, że funkcja jest już dostępna, a elementy ConstraintLayout i MotionLayout do tworzenia wiadomości.

Więcej informacji znajdziesz w artykule na GitHubie: Co nowego w wersji 1.0 (tworzenie).

Wersja 1.0.0-beta01

22 lipca 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01 została zwolniona.

Jest to pierwsza wersja beta. Uznaje się, że funkcja jest już dostępna, a elementy ConstraintLayout i MotionLayout do tworzenia wiadomości.

Więcej informacji znajdziesz w artykule na GitHubie: Co nowego w wersji 1.0 (tworzenie).

Wersja 1.0.0-alfa07

18 maja 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07 została zwolniona.

  • Zaktualizowano w celu zapewnienia zgodności z opcją tworzenia wiadomości w wersji 1.0.0-beta07.

Wersja 1.0.0-alfa06

4 maja 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha06 została zwolniona.

  • Optymalizacja tworzenia wiadomości: ograniczanie w tekście funkcji kompozycyjnej (nr 193)
  • Minimalizuj ponowne pomiary w oknie tworzenia wiadomości (nr 210)

Wersja 1.0.0-alfa05

15 marca 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha05 została zwolniona.

  • zawiera poprawkę mechanizmu optymalizacji (b/182657720),
  • dodaj parametr OptimizeLevel do możliwego do utworzenia elementu ConstraintUkład.

Wersja 1.0.0-alfa04

11 marca 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha04 została zwolniona.

Zaktualizuj, aby używać najnowszego silnika ograniczenia blocklayout-core

Wersja 1.0.0-alfa03

24 lutego 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha03 została zwolniona.

Aktualizacja wersji Jetpack Compose w wersji beta01

Wersja 1.0.0-alfa02

10 lutego 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02 została zwolniona.

Aktualizacja wersji Jetpack Compose w wersji alfa12

Wersja 1.0.0-alfa01

2 lutego 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01 została zwolniona.

Pierwsza wersja biblioteki udostępniająca wbudowane i zewnętrzne DSL do wyrażania ograniczeń.

Wersja 2.1

ConstraintLayout 2.1.0 zapewnia więcej funkcji w Motion Layouts i nowych elementach pomocniczych (karuzeli itp.)

Wersja 2.1.4

20 maja 2022 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.1.4 została zwolniona.

Aby dowiedzieć się więcej, przeczytaj nowości w 2.1.4 na GitHubie.

Wersja 2.1.3

13 stycznia 2022 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.1.3 została zwolniona.

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

Wersja 2.1.2

16 listopada 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.1.2 została zwolniona.

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

Wersja 2.1.1

27 września 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.1.1 została zwolniona.

Oto ostateczna wersja 2.1.1.

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

Wersja 2.1.0

30 lipca 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.1.0 została zwolniona.

Oto ostateczna wersja 2.1.0.

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

Wersja 2.1.0-rc01

22 lipca 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.1.0-rc01 została zwolniona.

Oto kandydat do wersji 2.1.0, który zawiera drobne ulepszenia i poprawki z ostatniej wersji beta. Więcej informacji znajdziesz w artykule na GitHubie Co nowego w 2.1.

Wersja 2.1.0-beta02

4 maja 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.1.0-beta02 została zwolniona.

Kilka nowych funkcji w Motion Layouts:

  • Ulepszenie OnSwipe obejmujące sprężynę (sztywność, tłumienie, masę itp.) i nieukończone
  • Funkcja JumpToState
  • Tryb przejścia w dół ViewPrzejście w dół, w którym przy dotknięciu odtwarza się do 100, a przy ponownym wracaniu do 0

Różne poprawki, a w szczególności:

  • Rozwiązywanie problemów z układem Motion Layouts ze przewijaniem pionowym (nr 173)
  • Ulepszenia wydajności w zagnieżdżonym układzie Motion Layout (nr 189)
  • Szybkie przejście z użyciem Nested ScrollView w Motion Layouts (nr 189)
  • Opcja ConstraintSet została wycofana z Motion Layout (nr 189)
  • Obsługa przejść w górę w dół w Motion Layouts (nr 190)
  • Poprawka w filtrze obrazów podczas ponownego używania elementów rysowanych (nr 192)
  • Dodano obsługę sprężyny w Motion Layouts (nr 199)
  • Poprawa wydajności w CircularFlow (nr 200)
  • Poprawki w ograniczeniach pochodnych / zastąpieniu ograniczeń (nr 212)

Wersja 2.1.0-beta01

11 marca 2021 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.1.0-beta01 została zwolniona.

Układ ograniczeń

Parametry android:layout_width i android:layout_height nie są już opcjonalne z powodu problemów ze zgodnością.

Motion Układ

  • Zautomatyzowana obsługa wstawiania i usuwania przejść onSwipe i onClick na przejściach
  • Eksperymentalna obsługa przejść przez obrót ekranu
  • argument czasu obsługi przejścia dla przejść
  • Lepsza obsługa atrybutów niestandardowych, które mają wartości logiczne lub odwołania.

Pomocnicy

  • dodano możliwość animowania lub przechodzenia bezpośrednio do danego elementu karuzeli;
  • nowy pomocnik CircularFlow

Dodatkowe informacje o tej wersji znajdziesz tutaj. Informacje o usuwaniu błędów znajdziesz tutaj.

Wersja 2.1.0-alfa2

Grudzień 17, 2020

Aplikacja androidx.constraintlayout:constraintlayout:2.1.0-alpha2 została zwolniona.

Druga wersja alfa wprowadza kilka nowych funkcji:

Układ ograniczeń

  • Parametry android:layout_width i android:layout_height są teraz opcjonalne, a ustawienie wrap_content jest domyślnym działaniem
  • nowe atrybuty layout_constraintWidth i layout_constraintHeight do określania ograniczeń wymiarów.
  • obsługuje marginesy ujemne na potrzeby ograniczeń
  • obsługuje ograniczenia związane z wartością bazową względem górnej i dolnej wartości
  • obsługuje ograniczenia marży bazowej
  • Wartość SharedValues pozwala na wstrzykiwanie wartości zewnętrznych do układu ograniczeń

Motion Układ

  • Obsługa interpolatorów nadmiernych (przewidywanie, zbyt długa przerwa)
  • Obsługa Enhanced MotionHelper
  • Dodano animowaną aktualizację ConstraintSet do MotionLayout updateStateAnimate(id,cset,duration);
  • Przejście z widoku na dane na podstawie wartości współdzielonej
  • calendarTransitonTo: umożliwia zablokowanie przejścia w stan realizacji po zakończeniu bieżącego przenoszenia.

Pomocnicy

  • Karuzela obsługuje teraz tryb nieskończonego (zawijania)
  • ReactiveGuide : wskazówka, która określa swoją pozycję automatycznie po zmianie wartości SharedValue
  • MotionEffect : umożliwia wstrzykiwanie klatek kluczowych do odniesieniach widoków, poruszających się w określonym kierunku.
  • MotionLabel – widok pozwalający na animowanie tekstu w jednym wierszu

Więcej informacji o tej wersji znajdziesz tutaj.

Wersja 2.1.0-alfa1

Listopad 19, 2020

Aplikacja androidx.constraintlayout:constraintlayout:2.1.0-alpha1 została zwolniona.

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

  • Asystent ruchu karuzeli do tworzenia niestandardowych widoków karuzeli
  • Sceny Motion Layouts obsługują zastępowanie uwzględniania i ograniczeń
  • MotionUkład zapewnia lepszą obsługę obracania (wejściowych i wyjściowych)
  • MotionLayouts dodaje przejścia ViewTransitions, co umożliwia mutację zestawów ograniczeń w jednym widoku

Dodatkowe informacje o tej wersji znajdziesz tutaj.

Wersja 2.0

ConstraintLayout 2.0 dodaje nowe funkcje układów (wirtualnych układów itp.) oraz nową klasę upraszczającą animacje widoków – MotionLayout.

Wersja 2.0.4

29 października 2020 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.0.4 została zwolniona.

Poprawki błędów

Niniejsza wersja rozwiązuje problem związany z potencjalnym niebezpieczeństwem niezależnym, który może wystąpić podczas usuwania widoku podrzędnego w czasie działania. Zalecamy zaktualizowanie go do tej wersji.

Listę zamkniętych problemów znajdziesz tutaj.

Wersja 2.0.3

27 października 2020 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.0.3 została zwolniona.

Poprawki błędów

Ta wersja rozwiązuje kilka problemów. Zalecamy zaktualizowanie go do tej wersji.

  • Obsługa wbudowań systemu Windows
  • Obsługa współczynnika wymiarów w niektórych sytuacjach
  • Awaria w niektórych układach od prawej do lewej

Listę zamkniętych problemów znajdziesz tutaj.

Wersja 2.0.2

6 października 2020 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.0.2 została zwolniona.

Poprawki błędów

Poprawia ona wydajność i rozwiązuje kilka problemów. Zalecamy zaktualizowanie go do tej wersji.

  • W niektórych sytuacjach obsługa widoczności GONE widoku w układzie ograniczeń była nieprawidłowa
  • W niektórych sytuacjach obsługa łańcuchów spakowanych w układzie ograniczeń była nieprawidłowa
  • Naprawiony wyjątek inflacji w API 15 dla asystenta układu wirtualnego Flow
  • OgraniczenieBoundsTo zostało naruszone w Motion Layouts
  • przejście do końca zostało w niektórych sytuacjach przerwane w układzie Motion Layouts (przejścia łańcuchowe)

Listę zamkniętych problemów znajdziesz tutaj.

Wersja 2.0.1

25 sierpnia 2020 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.0.1 została zwolniona.

To jest drobna aktualizacja umożliwiająca korzystanie z edytora Motion Editor w Android Studio.

Wersja 2.0.0

21 sierpnia 2020 roku

Aplikacja androidx.constraintlayout:constraintlayout:2.0.0 została zwolniona.

Poprawki błędów

Listę zamkniętych problemów znajdziesz tutaj.

Ważne poprawki:

  • Opóźnienia przejść w Motion Layouts i poprawki TransitionListener
  • Poprawki związane z Układem ograniczeń i korygowanie barier

Wersja 2.0.0-rc1

29 lipca 2020 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.0.0-rc1 została zwolniona.

Poprawki błędów

Listę zamkniętych problemów znajdziesz tutaj.

Ważne poprawki:

  • Poprawki przepływu
  • Poprawki RecyclerView (zalecamy aktualizację do wersji recyclerview 1.2.0 alfa 5 lub nowszej)
  • Poprawki MotionUkład TransitionListener
  • Naprawianie wycieku pamięci w funkcji Motion Layout

Wersja 2.0.0-beta8

7 lipca 2020 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.0.0-beta8 została zwolniona.

Poprawki błędów

Listę zamkniętych problemów znajdziesz tutaj.

Ważne poprawki:

  • Zachowanie obiektu zastępczego
  • Widoczność warstwy
  • Przepływ, usuwanie barier
  • Poprawki interfejsu TransitionListener

Wersja 2.0.0-beta7

12 czerwca 2020 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.0.0-beta7 została zwolniona.

Poprawki błędów

Listę zamkniętych problemów znajdziesz tutaj.

Ważne poprawki:

  • Problemy z zagnieżdżonym widokiem przewijania w Motion Layouts
  • Problemy z detektorem przejść w Motion Układ
  • Wyciek pamięci w układzie ruchomym
  • Problemy z RecyclerView
  • Widoczność grupy
  • Problemy z dopełnieniem

Wersja 2.0.0-beta6

13 maja 2020 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.0.0-beta6 została zwolniona.

Poprawki błędów

Listę zamkniętych problemów znajdziesz tutaj. Godne uwagi poprawki to problemy z obsługą widoczności grup i ograniczeniami pochodnymi w Motion Layouts.

Wersja 2.0.0-beta5

7 maja 2020 roku

Aplikacja androidx.constraintlayout:constraintlayout:2.0.0-beta5 została zwolniona.

Poprawki błędów

Listę zamkniętych problemów znajdziesz tutaj

Wersja 2.0.0-beta4

16 grudnia 2019 r.

Aplikacja androidx.constraintlayout:constraintlayout:2.0.0-beta4 została zwolniona.

Nowe funkcje

Układ ruchu

Nowe atrybuty w ramach przejścia:

  • układDuringTransition : umożliwia skonfigurowanie sposobu reagowania funkcji MotionLayouts na wywołania elementów requestLayouts dzieci podczas przejścia. Możliwe wartości to {ignoreRequest, honorRequest}
  • PathMotionArc : ścieżka przebyta przez poruszające się elementy będzie korzystała z łuku. Możliwe wartości: {startVertical | startHorizontal | flip | none }

Teraz można zdefiniować domyślne przejście, pomijając początkowe i końcowe zestawy ograniczeń. To domyślne przejście będzie używane, jeśli nie znajdziemy żadnego innego przejścia, które pasowałoby do bieżącego stanu rozpoczęcia/zakończenia.

Poprawki błędów

Listę zamkniętych problemów znajdziesz tutaj