Junior — Middle
Hogyan lehet meghatározni az egyedi felhasználói felület elrendezését a Jetpack Compose-ban?
sobes.tech MI
Válasz az MI-től
A Jetpack Compose-ban az egyéni felhasználói felület elrendezésének meghatározásához a Layout függvényt használják, amely lehetővé teszi a gyermekelemek elhelyezésének és méretének önálló kezelését.
Egyéni komponens létrehozásának példája:
@Composable
fun CustomLayout(
modifier: Modifier = Modifier,
content: @Composable () -> Unit
) {
Layout(
content = content,
modifier = modifier
) { measurables, constraints ->
// Gyermekelemek mérés
val placeables = measurables.map { it.measure(constraints) }
// A konténer méretének meghatározása
val width = placeables.maxOfOrNull { it.width } ?: constraints.minWidth
val height = placeables.sumOf { it.height }
layout(width, height) {
var yPosition = 0
placeables.forEach { placeable ->
placeable.placeRelative(x = 0, y = yPosition)
yPosition += placeable.height
}
}
}
}
Ebben a példában a gyermekelemek függőlegesen egymás alatt helyezkednek el. Ez a megközelítés teljes kontrollt biztosít az UI elemeinek elrendezése felett.