Junior — Middle
Jetpack Compose'ta bireysel kullanıcı arayüzü düzeni nasıl belirlenir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Jetpack Compose'ta, kullanıcı arayüzü için özel bir düzen tanımlamak amacıyla Layout fonksiyonu kullanılır ve bu fonksiyon, çocuk öğelerin yerleştirilmesi ve boyutunun bağımsız olarak kontrol edilmesine olanak tanır.
Özel bir düzenleyici oluşturma örneği:
@Composable
fun CustomLayout(
modifier: Modifier = Modifier,
content: @Composable () -> Unit
) {
Layout(
content = content,
modifier = modifier
) { measurables, constraints ->
// Çocuk öğeleri ölçüyoruz
val placeables = measurables.map { it.measure(constraints) }
// Kapsayıcı boyutunu belirliyoruz
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
}
}
}
}
Bu örnekte, çocuk öğeler dikey olarak alt alta yerleştirilir. Bu yaklaşım, UI'daki öğelerin konumlandırılması üzerinde tam kontrol sağlar.