Column, Row og Box
Arrangér composables i almindelige layouts.
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;contentAlignmentcentrerer indholdet.
De kan frit indlejres, så du kan opbygge alle slags skærmbilleder.
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
- Column, Row og Box
- Modifier-systemet
- Justering og placering
- Lister med LazyColumn