Junior — Middle
Hoe kan een individuele gebruikersinterface-indeling worden bepaald in Jetpack Compose?
sobes.tech AI
Antwoord van AI
In Jetpack Compose wordt de functie Layout gebruikt om een aangepaste lay-out van de gebruikersinterface te definiëren, waarmee je de plaatsing en grootte van de kindelementen onafhankelijk kunt beheren.
Voorbeeld van het maken van een aangepaste samensteller:
@Composable
fun CustomLayout(
modifier: Modifier = Modifier,
content: @Composable () -> Unit
) {
Layout(
content = content,
modifier = modifier
) { measurables, constraints ->
// Meet de kindelementen
val placeables = measurables.map { it.measure(constraints) }
// Bepaal de grootte van de container
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
}
}
}
}
In dit voorbeeld worden de kindelementen verticaal onder elkaar geplaatst. Deze aanpak geeft volledige controle over de plaatsing van elementen in de UI.