Si votre application contient à la fois du code Compose et du code View, vous devrez peut-être indiquer explicitement les encarts système que chacun doit consommer et vous assurer que les encarts sont distribués aux vues frères.
Remplacer les encarts par défaut
Vous devrez peut-être remplacer les encarts par défaut lorsque votre écran comporte à la fois des vues et du code Compose dans la même hiérarchie. Dans ce cas, vous devez indiquer explicitement lequel doit consommer les encarts et lequel doit les ignorer.
Par exemple, si votre mise en page la plus externe est une mise en page Android View, vous devez consommer les encarts dans le système View et les ignorer pour Compose.
Si votre mise en page la plus externe est un composable, vous devez consommer les encarts dans Compose et ajouter la marge intérieure aux composables AndroidView
en conséquence.
Par défaut, chaque ComposeView
consomme tous les encarts au niveau de consommation WindowInsetsCompat
. Pour modifier ce comportement par défaut, définissez AbstractComposeView.consumeWindowInsets
sur false
.
Distribution d'encarts rétrocompatible pour les vues
Si votre application contient du code Views, vous devrez peut-être confirmer que les encarts sont distribués aux vues frères sur les appareils exécutant Android 10 (niveau d'API 29) ou version antérieure. Pour en savoir plus, consultez le guide sur les vues bord à bord.
Icônes de la barre système
L'appel de enableEdgeToEdge
garantit que les couleurs des icônes de la barre système sont mises à jour lorsque le thème de l'appareil change.
Lorsque vous passez au mode bord à bord, vous devrez peut-être mettre à jour manuellement les couleurs des icônes de la barre système pour qu'elles contrastent avec l'arrière-plan de votre application. Par exemple, pour créer des icônes claires dans la barre d'état :
Kotlin
WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
Java
WindowCompat.getInsetsController(window, window.getDecorView()) .setAppearanceLightStatusBars(false);