Android Academy · Lektion

Column, Row og Box

Arrangér composables i almindelige layouts.

Lektion 1 af 413 trin

Column, Row og Box er en gratis Android Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Android Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Android Academy-kurset indeholder 4 lektioner i alt.

Placering af composables

Hvis du vil placere composables i forhold til hinanden, giver Compose dig tre grundlæggende layout-composables: Column, Row og Box.

Column: Lodret stak

Column stabler sine underordnede elementer lodret, fra top til bund.

Column {
    Text("First")
    Text("Second")
    Text("Third")
}

Row: Vandret stak

Row placerer sine underordnede elementer side om side, fra venstre mod højre.

Row {
    Text("Left")
    Text("Middle")
    Text("Right")
}

Box: Overlapning

Box stabler underordnede elementer oven på hinanden som lag. Senere underordnede elementer tegnes oven på de tidligere. Det er velegnet til mærkater, overlejringer og baggrunde.

Box {
    Image(
        painter = painterResource(R.drawable.photo),
        contentDescription = null
    )
    Text("Caption")
}

Underordnede elementer er indholdslambdaer

Hvert layout tager en afsluttende indholdslambda. Alle composables, du kalder indeni, bliver dets underordnede elementer. Der er ingen XML — underordnede elementer er bare funktionskald.

Indlejring af layouts

Layouts kan frit indlejres. Placér en Row i en Column for at opbygge en gitterlignende struktur eller en liste med rækker.

Column {
    Row {
        Text("A")
        Text("B")
    }
    Row {
        Text("C")
        Text("D")
    }
}

Column sammenlignet med LinearLayout

Hvis du har brugt XML, svarer Column til et lodret LinearLayout, og Row svarer til et vandret. Box svarer til et enkelt FrameLayout.

Standardstørrelse

Som standard er et layout kun så stort som sine underordnede elementer (wrap content). Du kan få det til at udfylde den tilgængelige plads med modifikatorer som Modifier.fillMaxSize(), hvilket gennemgås i næste lektion.

contentAlignment i Box

Box kan justere alle sine underordnede elementer med contentAlignment. Du kan for eksempel centrere dem alle.

Box(contentAlignment = Alignment.Center) {
    Text("Centered")
}

Vælg den rigtige

Vælg ud fra retningen: Column til lodret placering, Row til vandret placering og Box til overlapning eller centrering af ét underordnet element. De fleste skærmbilleder kombinerer alle tre.

Samling

Et lille profillayout, der bruger alle tre.

@Composable
fun Profile() {
    Column {
        Box(contentAlignment = Alignment.Center) {
            Image(
                painter = painterResource(R.drawable.avatar),
                contentDescription = null
            )
        }
        Row {
            Text("Posts ")
            Text("Followers")
        }
    }
}

Hurtigt tjek

Hvilket layout stabler sine underordnede elementer oven på hinanden, så de overlapper?

Opsummering

Tre grundlæggende layouts:

  • Column — lodret stak.
  • Row — vandret stak.
  • Box — overlappende lag; contentAlignment centrerer indholdet.

De kan frit indlejres, så du kan opbygge alle slags skærmbilleder.

Gratis at komme i gang

Lær Kotlin med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
36
Lektioner
152

Ofte stillede spørgsmål

Er lektionen “Column, Row og Box” gratis?

Ja — alle 3 lektioner i læringssporet Android Academy, inklusive “Column, Row og Box”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Android Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Column, Row og Box”?

Arrangér composables i almindelige layouts. Du øver dig i Android Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Android Academy?

Der kræves ingen tidligere erfaring. Android Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Column, Row og Box”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Android Academy-lektion?

Ja. Alle Android Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Column, Row og Box
  2. Modifier-systemet
  3. Justering og placering
  4. Lister med LazyColumn
← Tilbage til Android Academy