L'appel de enableEdgeToEdge encapsule la logique nécessaire pour être véritablement
rétrocompatible. Il s'agit donc de la méthode recommandée pour configurer un
affichage bord à bord. Consultez la documentation Compose et Views
au lieu de ce guide pour découvrir la méthode moderne permettant de passer au bord à bord à l'aide de
enableEdgeToEdge.
Bien que cela ne soit pas recommandé, si votre application doit configurer manuellement un affichage bord à bord, procédez comme suit :
- Appelez
WindowCompat.setDecorFitsSystemWindows(window, false). - Définissez les barres système sur transparent.
- Gérez les encarts.
Mettre en page votre application en plein écran
Utilisez WindowCompat.setDecorFitsSystemWindows(window, false)
pour mettre en page votre application derrière les barres système, comme illustré dans l'exemple de code
suivant :
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) }
Java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WindowCompat.setDecorFitsSystemWindows(getWindow(), false); }
Modifier la couleur des barres système
Lorsque vous créez manuellement une mise en page bord à bord pour Android 14 et versions antérieures, votre application doit également rendre les barres système transparentes.
Vous pouvez modifier le fichier themes.xml pour définir la couleur de la barre d'état et de la barre de navigation sur transparent, et modifier la couleur de l'icône de la barre d'état.
<!-- values-v29/themes.xml -->
<style name="Theme.MyApp">
<item name="android:navigationBarColor">
@android:color/transparent
</item>
<!-- Optional: set to transparent if your app is drawing behind the status bar. -->
<item name="android:statusBarColor">
@android:color/transparent
</item>
<!-- Optional: set for a light status bar with dark content. -->
<item name="android:windowLightStatusBar">
true
</item>
</style>
Vous pouvez utiliser l'API WindowInsetsControllerCompat au lieu de theme.xml pour contrôler la couleur du contenu de la barre d'état. Pour ce faire, utilisez la
setAppearanceLightNavigationBars()
fonction, en transmettant true pour modifier la couleur de premier plan de la navigation en
une couleur claire ou false pour revenir à la couleur par défaut.
Kotlin
val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView) windowInsetsController?.isAppearanceLightNavigationBars = true
Java
WindowInsetsControllerCompat windowInsetsController = ViewCompat.getWindowInsetsController(getWindow().getDecorView()); if (windowInsetsController == null) { return; } windowInsetsController.setAppearanceLightNavigationBars(true);
Gérer les encarts
Enfin, votre application doit gérer les encarts afin que l'interface utilisateur critique évite les barres système et l'encoche. Consultez la documentation Compose et Views pour découvrir comment gérer les encarts.