Premiers pas avec FlexBox

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

Configurer un projet

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

    [versions]
    compose = "1.11.0-beta01"
    
    [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 présente 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. Il existe un espace 8.dp, à la fois verticalement et horizontalement, entre les éléments.

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) })
}

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 des éléments.