Junior — Middle
Jetpack Compose'da shaxsiy foydalanuvchi interfeysini qanday aniqlash mumkin?
sobes.tech AI
AIdan javob
Jetpack Compose-da foydalanuvchi interfeysining shaxsiylashtirilgan maketini belgilash uchun Layout funksiyasi ishlatiladi, bu esa bolalar elementlarning joylashuvi va o'lchamini mustaqil boshqarishga imkon beradi.
Maxsus kompozitor yaratish misoli:
@Composable
fun CustomLayout(
modifier: Modifier = Modifier,
content: @Composable () -> Unit
) {
Layout(
content = content,
modifier = modifier
) { measurables, constraints ->
// Bolalar elementlarini o'lchash
val placeables = measurables.map { it.measure(constraints) }
// Konteyner o'lchamini belgilash
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
}
}
}
}
Ushbu misolda, bolalar elementlar vertikal ravishda bir-birining ostiga joylashtiriladi. Bu yondashuv UI-da elementlarning joylashishini to'liq nazorat qilish imkonini beradi.