Inizia a utilizzare FlexBox

Questa pagina descrive come implementare layout FlexBox di base.

Configura il progetto

  1. Aggiungi la libreria androidx.compose.foundation.layout al file lib.versions.toml del tuo progetto.

    [versions]
    compose = "1.11.0-alpha06"
    
    [libraries]
    androidx-compose-foundation-layout = { group = "androidx.compose.foundation", name = "foundation-layout", version.ref = "compose" }
    
  2. Aggiungi la dipendenza della libreria al file build.gradle.kts della tua app.

    dependencies {
        implementation(libs.androidx.compose.foundation.layout)
    }
    

Crea layout FlexBox di base

Esempio 1: FlexBox dispone due elementi Text allineati centralmente.

FlexBox(
    config = {
        direction = FlexDirection.Column
        alignItems = FlexAlignItems.Center
    }
) {
    Text(text = "Hello", fontSize = 48.sp)
    Text(text = "World!", fontSize = 48.sp)
}

Componenti componibili di testo Hello World impilati uno sopra l'altro in un'implementazione FlexBox di base.

Esempio 2: FlexBox dispone cinque elementi su due righe e li espande in modo non uniforme per riempire lo spazio disponibile su ogni riga. Tra gli elementi è presente uno spazio di 8.dp sia in verticale che in orizzontale.

FlexBox(
    config = {
        wrap = FlexWrap.Wrap
        gap(8.dp)
    }
) {
    RedRoundedBox()
    BlueRoundedBox()
    GreenRoundedBox(modifier = Modifier.width(350.dp).flex { grow = 1.0f })
    OrangeRoundedBox(modifier = Modifier.width(200.dp).flex { grow = 0.7f })
    PinkRoundedBox(modifier = Modifier.width(200.dp).flex { grow = 0.3f })
}

Due righe di elementi colorati, con tre elementi di dimensioni diverse distribuiti nella riga superiore e due elementi di dimensioni diverse nella riga inferiore.

Per scoprire di più sul comportamento di FlexBox, consulta Imposta il comportamento del contenitore e Imposta il comportamento degli elementi.