Junior — Middle
Ինչպես կարելի է որոշել Jetpack Compose-ում անհատական օգտագործողի ինտերֆեյսի դասավորությունը?
sobes.tech AI
Պատասխան AI-ից
Jetpack Compose-ում օգտագործվում է Layout ֆունկցիան՝ օգտագործողի ինտերֆեյսի անհատական մակետ սահմանելու համար, որը թույլ է տալիս անկախ կառավարել երեխաների տարրերի տեղադրումը և չափը:
Անհատական կոմպոզիտորի ստեղծման օրինակ՝
@Composable
fun CustomLayout(
modifier: Modifier = Modifier,
content: @Composable () -> Unit
) {
Layout(
content = content,
modifier = modifier
) { measurables, constraints ->
// Երեխաների տարրերի չափում
val placeables = measurables.map { it.measure(constraints) }
// Կոնտեյների չափի որոշում
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
}
}
}
}
Այս օրինակով երեխաների տարրերը տեղադրվում են ուղղահայաց՝ մեկը մյուսի տակ: Այս մոտեցումը տալիս է լիակատար վերահսկողություն UI-ում տարրերի դասավորության վրա։