ConstraintLayout

Mit der relativen Positionierung können Sie Widgets flexibel positionieren und ihre Größe anpassen.

In dieser Tabelle werden alle Artefakte in der Gruppe androidx.constraintlayout aufgeführt.

Artefakt Stabile Release Releasekandidat Beta-Release Alpha-Release
constraintlayout 2.2.1 - - -
constraintlayout-compose 1.1.1 - - -
constraintlayout-core 1.1.1 - - -

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von ConstraintLayout hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

Cool

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")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.

Neues Problem melden

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

ConstraintLayout-Compose und ConstraintLayout-Core 1.1

Version 1.1.1

26. Februar 2025

androidx.constraintlayout:constraintlayout-compose:1.1.1, androidx.constraintlayout:constraintlayout-compose-android:1.1.1 und androidx.constraintlayout:constraintlayout-core:1.1.1 sind veröffentlicht. Version 1.1.1 enthält diese Commits.

Fehlerkorrekturen

  • Behebt einige Layoutprobleme, die in manchen Fällen dazu führen, dass Layouts nicht platziert werden. Dazu gehört beispielsweise das Ein- und Ausblenden der Sichtbarkeit. (I34e68, b/299134793)

Version 1.1.0

30. Oktober 2024

androidx.constraintlayout:constraintlayout-compose:1.1.0, androidx.constraintlayout:constraintlayout-compose-android:1.1.0 und androidx.constraintlayout:constraintlayout-core:1.1.0 sind veröffentlicht. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • Behebt die Interaktion mit SharedTransitionLayout (b/332898040).
  • Behebt Layoutprobleme im Zusammenhang mit der Messung aufgrund von Recomposition (b/219091179, Ibfe8a).

Version 1.1.0-rc01

16. Oktober 2024

androidx.constraintlayout:constraintlayout-compose:1.1.0-rc01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-rc01 und androidx.constraintlayout:constraintlayout-core:1.1.0-rc01 sind veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Version 1.1.0-beta01

4. September 2024

androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-beta01 und androidx.constraintlayout:constraintlayout-core:1.1.0-beta01 sind veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.

Version 1.1.0-alpha14

7. August 2024

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha14, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha14 und androidx.constraintlayout:constraintlayout-core:1.1.0-alpha14 sind veröffentlicht. Version 1.1.0-alpha14 enthält diese Commits.

API-Änderungen

  • Flags werden jetzt einzeln über das Companion-Objekt bereitgestellt und können mit dem or-Operator kombiniert werden. (I9df53)
  • Vereinfachte Helfer für createRow und createColumn Die createGrid-Parameternamen und die Dokumentation wurden zur besseren Verständlichkeit überarbeitet. (Iebc92)
  • Die animateChanges API in ConstraintLayout wurde vereinfacht, sodass nur ein AnimationSpec erforderlich ist, das nicht null ist. onIncomingConstraints in InvalidationStrategy ist jetzt eine reguläre Lambda-Funktion. fixedWidthRate wurde in shouldInvalidateOnFixedWith umbenannt. Das gilt auch für die Höhenvariante. (Ie59cd, b/332898040, b/336370035)
  • Die Quellen NestedScroll „Drag and Fling“ werden durch UserInput und SideEffect ersetzt, um der erweiterten Definition dieser Quellen Rechnung zu tragen, die jetzt Animationen („Side Effect“) sowie Mausrad und Tastatur („UserInput“) umfasst. (I40579)

Version 1.1.0-alpha13

4. Oktober 2023

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha13, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha13 und androidx.constraintlayout:constraintlayout-core:1.1.0-alpha13 werden ohne Änderungen veröffentlicht. Version 1.1.0-alpha13 enthält diese Commits.

  • Mit diesem Release sind androidx.constraintlayout-Bibliotheken ABI-kompatibel mit den neuesten Compose-Releases.

Version 1.1.0-alpha12

9. August 2023

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha12, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha12 und androidx.constraintlayout:constraintlayout-core:1.1.0-alpha12 sind veröffentlicht. Version 1.1.0-alpha12 enthält diese Commits.

API-Änderungen

  • LayoutScopeMarker wurde zur Transition DSL hinzugefügt. (If54ce)

Version 1.1.0-alpha11

26. Juli 2023

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha11, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha11 und androidx.constraintlayout:constraintlayout-core:1.1.0-alpha11 sind veröffentlicht. Version 1.1.0-alpha11 enthält diese Commits.

Neue Funktionen

  • Sie können jetzt einen InvalidationStrategy angeben, um Entwertungen in MotionLayout zu optimieren. Das ist in der Regel die Ursache für die verminderte Leistung. (Iada0c)
  • Sie können jetzt animateChanges = true verwenden, wenn Sie ConstraintLayout mit der Inline-Modifier-DSL (Modifier.constrainAs) verwenden. Bei einer Änderung der Constraints-DSL wird ConstraintLayout automatisch in den neuen Status animiert. (I9abf1)
  • Aktivierte Funktionen für limitBoundsTo auf OnSwipe (I56522)

API-Änderungen

  • TransitionScope.staggered wurde in TransitionScope.maxStaggerDelay umbenannt. (I0fd2d)

Fehlerkorrekturen

  • Der Parameter dragScale von OnSwipe funktioniert nicht mehr. (8bef26)
  • Ein Problem wurde behoben, durch das customColor in MotionScene bei transparenten Farben nicht richtig funktionierte. (81b2ac)
  • Es wurde ein Fehler behoben, durch den OnSwipe nicht richtig angekündigt wurde, wenn es angehalten wurde. Außerdem wurde die Berechnung der Anfangsgeschwindigkeit für touchUp korrigiert. (Ia5f6f)
  • Aktualisierte KDoc für die zusammensetzbare Funktion ConstraintLayout und Constraintset. (3bfe63)

Version 1.1.0-alpha10

24. Mai 2023

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha10, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha10 und androidx.constraintlayout:constraintlayout-core:1.1.0-alpha10 sind veröffentlicht. Version 1.1.0-alpha10 enthält diese Commits.

API-Änderungen

  • MotionLayout API ist nicht mehr experimentell. Dies ist die erste Gruppe stabiler APIs für MotionLayout. (I288f4)
  • MotionLayoutState wurde entfernt. (Id3ac1)
  • Sie können jetzt DebugFlags für das visuelle Debugging verwenden: DebugFlags(showBounds = true). (Ic714b)
  • Die Erweiterungsvariable Dp.asDimension wurde in eine Methode geändert: Dp.asDimension(). (I2d6ef)
  • Die Staffelung wird jetzt in der MotionLayout-DSL unterstützt. Sie können die maximale Verzögerung mit TransitionScope.staggered definieren. Außerdem können Sie ConstrainScope.staggeredWeight (innerhalb von MotionSceneScope) verwenden, um eine benutzerdefinierte Staffelung zu erhalten. (I70275)
  • Für den Raster-Assistenten wurden zwei Änderungen vorgenommen: 1. paddingLeft und paddingRight in paddingStart und paddingEnd geändert und 2. das Format von gridSpans und gridSkip in ein Array der Objekte „Span“ und „Skip“ geändert, um es strukturierter zu gestalten. (Idd1eb)

Version 1.1.0-alpha09

22. März 2023

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09 und androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09 sind veröffentlicht. Version 1.1.0-alpha09 enthält diese Commits.

API-Änderungen

  • Für Modifier.intermediateLayout ist jetzt kein explizites LookaheadScope mehr erforderlich. Der Messblock in intermediateLayout hat IntermediateMeasureScope als Empfänger, der die praktischen CoroutineScope, LookaheadScope und MeasureScope bereitstellt.
  • LookaheadLayout wurde durch LookaheadScope ersetzt, das kein Layout mehr ist. So können Eltern die Inhalte für Kinder in einem LookaheadScope direkt über ihr MeasurePolicy verwalten. (Ibe2e5)
  • Easing.Cubic() kann jetzt Overshoot-Parameter verwenden. (I2d826)

Version 1.1.0-alpha08

8. März 2023

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08 und androidx.constraintlayout:constraintlayout-core:1.1.0-alpha08 sind veröffentlicht. Version 1.1.0-alpha08 enthält diese Commits.

Neue Funktionen

  • Es wurden Lint-Prüfungen hinzugefügt, um die Verwendung von Dimension.percent(1f) und LayoutReference.withChainParams() in Fällen vorzuschlagen, in denen die typischen Muster zu unvorhersehbarem Verhalten führen können. (I62eb0, I03060)

API-Änderungen

  • Aktivieren Sie die Flags ReverseSpanDirection und SpansOrderFirst für die Rasterhilfe in Compose.
    1. ReverseSpanDirection: Die Breiten- und Höhenangabe für Spannen/Überspringen umkehren.
    2. SpansOrderFirst: Die Spannen würden die Reihenfolge der Widgets berücksichtigen. (I6ad50)
  • Mit Modifier.onStartEndBoundsChanged(...) können Sie lokale Grenzen von Composables in einem MotionLayout abrufen, die nicht von Animationen beeinflusst werden. Nützlich für alle UI-Interaktionen, die Layoutinformationen erfordern, die auch Animationen wie DragAndDrop auslösen können. (I6b5f9)
  • Überspringen und Spannen des Grid Helper in Compose aktivieren (I917b6)

Fehlerkorrekturen

  • Es wurde ein Fehler behoben, bei dem für Eigenschaften für die Übersetzung nicht die erwarteten Werte angewendet wurden. (I961cd)

Version 1.1.0-alpha07

8. Februar 2023

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07 und androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07 sind veröffentlicht. Version 1.1.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Neue APIs hinzugefügt, um den Grid Helper in Compose mit DSL zu aktivieren (I1143b)

Fehlerkorrekturen

  • Der Fehler wurde behoben, dass Wrap.Chain für Flow nicht richtig an den angegebenen maxElement-Parameter angepasst wurde. (e1f2ed3)
  • Das Problem, dass start ConstraintSet nicht aktualisiert wurde, wenn der Übergang über MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String) geändert wurde, wurde behoben. (17ffff1)
  • Das Problem wurde behoben, dass ConstraintSet einige Änderungen nicht widerspiegelte, wenn Einschränkungen über ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit) übernommen wurden.(740804b)

Version 1.1.0-alpha06

25. Januar 2023

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06 und androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06 sind veröffentlicht. Version 1.1.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Es wurden neue APIs hinzugefügt, um die Grid-Hilfe in Compose mit JSON-Darstellung zu aktivieren. So können Composables in einem 2D-Raster platziert werden. (