Zoeken…


Invoering

ConstraintLayout is een ViewGroup waarmee u widgets op een flexibele manier kunt positioneren en ViewGroup . Het is compatibel met Android 2.3 (API level 9) en hoger.

Hiermee kunt u grote en complexe lay-outs maken met een platte weergavehiërarchie. Het is vergelijkbaar met RelativeLayout in RelativeLayout dat alle weergaven zijn ingedeeld volgens relaties tussen broer en zus en de bovenliggende lay-out, maar het is flexibeler dan RelativeLayout en gemakkelijker te gebruiken met de Layout Editor van Android Studio.

Syntaxis

  • ConstraintLayout

    • public void addView (View child, int index, ViewGroup.LayoutParams params)

    • public ConstraintLayout.LayoutParams genererenLayoutParams (AttributeSet attrs)

    • openbare nietig op onViewAdded (weergave bekijken)

    • publieke nietig op ViewRemoved (View view)

    • public void removeView (View view)

    • openbaarheidsverzoekLayout ()

    • beschermde booleaanse controleLayoutParams (ViewGroup.LayoutParams params)

    • beschermde ConstraintLayout.LayoutParams genererenDefaultLayoutParams ()

    • beveiligde ViewGroup.LayoutParams genererenLayoutParams (ViewGroup.LayoutParams params)

    • beschermde nietig op Lay-out (boolean gewijzigd, int links, int boven, int rechts, int onder)

    • beschermde ongeldige waarde op Measure (int widthMeasureSpec, int heightMeasureSpec)

  • ConstraintLayout.LayoutParams

    • public void solveLayoutDirection (int layoutDirection)

    • openbare nietigheid valideren ()

    • beschermde ongeldige setBaseAttributes (TypedArray a, int widthAttr, int heightAttr)

parameters

Parameter Details
kind De View die aan de lay-out moet worden toegevoegd
inhoudsopgave De index van de View in de lay-outhiërarchie
params De LayoutParams van de View
attrs De AttributeSet die de LayoutParams definieert
visie De View die is toegevoegd of verwijderd
veranderd Geeft aan of deze View grootte of positie heeft gewijzigd
links De linkerpositie ten opzichte van de bovenliggende View
top De bovenste positie ten opzichte van de bovenliggende View
Rechtsaf De juiste positie ten opzichte van de bovenliggende View
bodem De onderste positie ten opzichte van de bovenliggende View
widthMeasureSpec De vereisten voor horizontale ruimte opgelegd door de bovenliggende View
heightMeasureSpec De verticale ruimtevereisten opgelegd door de bovenliggende View
layoutDirection -
een -
widthAttr -
heightAttr -

Opmerkingen

Op Google IO 2016 kondigde Google een nieuwe Android-lay-out aan met de naam ConstraintLayout.
Let op, want deze lay-out is momenteel een bètaversie .

Meer informatie over beperkingslay-out:

https://codelabs.developers.google.com/codelabs/constraint-layout/index.html

ConstraintLayout toevoegen aan uw project

Om met ConstraintLayout te werken, hebt u Android Studio versie 2.2 of nieuwer nodig en ten minste versie 32 (of hoger) van Android Support Repository.

  1. Voeg de Constraint Layout-bibliotheek toe als afhankelijkheid in uw build.gradle bestand:
dependencies {
   compile 'com.android.support.constraint:constraint-layout:1.0.2'
}
  1. Synchroniseer project

Om een nieuwe beperkingslay-out aan uw project toe te voegen:

  1. Klik met de rechtermuisknop op de lay -outmap van uw module en klik vervolgens op New > XML > Layout XML.
  2. Voer een naam in voor de lay-out en voer "android.support.constraint.ConstraintLayout" voor de root-tag.
  3. Klik op Voltooien .

Anders voegt u gewoon een lay-outbestand toe:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</android.support.constraint.ConstraintLayout>

Chains

Sinds ConstraintLayout alpha 9 zijn ketens beschikbaar. Een keten is een reeks aanzichten binnen een ConstraintLayout die op een bidirectionele manier onderling zijn verbonden, dat wil zeggen A verbonden met B met een beperking en B verbonden met A met een andere beperking.

Voorbeeld:

<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- this view is linked to the bottomTextView --> 
    <TextView
        android:id="@+id/topTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"
        app:layout_constraintBottom_toTopOf="@+id/bottomTextView"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_chainPacked="true"/>

    <!-- this view is linked to the topTextView at the same time --> 
    <TextView
        android:id="@+id/bottomTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Bottom\nMkay"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/topTextView"/>

</android.support.constraint.ConstraintLayout>

In dit voorbeeld zijn de twee aanzichten onder elkaar geplaatst en zijn beide verticaal gecentreerd. U kunt de verticale positie van deze aanzichten wijzigen door de voorspanning van de ketting aan te passen. Voeg de volgende code toe aan het eerste element van een keten:

app:layout_constraintVertical_bias="0.2"

In een verticale keten is het eerste element een bovenste weergave en in een horizontale keten de meest linkse weergave. Het eerste element definieert het gedrag van de hele keten.

Kettingen zijn een nieuwe functie en worden regelmatig bijgewerkt. Hier is een officiële Android-documentatie over kettingen.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow