Vous pouvez activer l'affichage de bord à bord dans votre application en appelant enableEdgeToEdge
.
Cela devrait suffire pour la plupart des applications. Ce guide explique comment activer le mode bord à bord si votre application doit le faire sans utiliser enableEdgeToEdge
.
Disposer votre application en plein écran
Utilisez WindowCompat.setDecorFitsSystemWindows(window,
false)
pour disposer votre application derrière les barres système, comme indiqué 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 votre application fonctionne dans une mise en page bord à bord, elle doit modifier les couleurs des barres système pour que le contenu en dessous soit visible. Une fois que votre application a effectué cette étape, le système gère toute la protection visuelle de l'interface utilisateur en mode navigation par gestes et en mode bouton.
- Mode Navigation par gestes : le système applique une adaptation dynamique des couleurs, dans laquelle le contenu des barres système change de couleur en fonction du contenu situé derrière elles. Dans l'exemple suivant, le repère de la barre de navigation devient foncé lorsqu'il se trouve au-dessus d'un contenu clair et clair lorsqu'il se trouve au-dessus d'un contenu foncé.
- Mode bouton : le système applique un scrim translucide derrière les barres système (pour le niveau d'API 29 ou ultérieur) ou une barre système transparente (pour le niveau d'API 28 ou antérieur).

- Couleur du contenu de la barre d'état : contrôle la couleur du contenu de la barre d'état, comme l'heure et les icônes.

Vous pouvez modifier le fichier themes.xml
pour définir la couleur de la barre de navigation et, éventuellement, définir la barre d'état comme transparente et la couleur du contenu de la barre d'état comme sombre.
<!-- 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 directement l'API WindowInsetsController
, mais nous vous recommandons vivement d'utiliser la bibliothèque Support WindowInsetsControllerCompat
dans la mesure du possible. 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 fonction setAppearanceLightNavigationBars()
en transmettant true
pour modifier la couleur du 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);