Premiers pas avec FlexBox

Cette page explique comment implémenter des mises en page FlexBox de base.

Configurer un projet

  1. Ajoutez la androidx.compose.foundation.layout bibliothèque au fichier lib.versions.toml de votre projet.

    [versions]
    compose = "1.11.0-beta02"
    
    [libraries]
    androidx-compose-foundation-layout = { group = "androidx.compose.foundation", name = "foundation-layout", version.ref = "compose" }
    
  2. Ajoutez la dépendance de bibliothèque au fichier build.gradle.kts de votre application.

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

Créer des mises en page FlexBox de base

Exemple 1 : FlexBox dispose deux éléments Text alignés au centre.

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

Composables de texte "Hello World" empilés les uns sur les autres dans une implémentation FlexBox de base.

Exemple 2 : FlexBox répartit cinq éléments sur deux lignes et les développe de manière inégale pour remplir l'espace disponible sur chaque ligne. Un espace de 8.dp est présent entre les éléments, à la fois verticalement et horizontalement.

FlexBox(
    config = {
        wrap(FlexWrap.Wrap)
        gap(8.dp)
    }
) {
    // All boxes have an intrinsic width of 100.dp
    // Some grow to fill any remaining space on the row.
    RedRoundedBox()
    BlueRoundedBox()
    GreenRoundedBox(modifier = Modifier.flex { grow(1.0f) })
    OrangeRoundedBox(modifier = Modifier.flex { grow(1.0f) })
    PinkRoundedBox(modifier = Modifier.flex { grow(1.0f) })
}

Deux rangées d'éléments colorés, avec trois éléments de taille inégale répartis sur la rangée supérieure et deux éléments de taille inégale sur la rangée inférieure.

Pour en savoir plus sur le comportement de FlexBox, consultez Définir le comportement du conteneur et Définir le comportement de l'élément.