Vous pouvez activer l'affichage bord à bord dans votre application en appelant
enableEdgeToEdge
Cela devrait suffire pour la plupart des applications. Ce guide explique comment activer
bord à bord si votre application doit le faire sans utiliser enableEdgeToEdge
.
Afficher votre application en plein écran
Utiliser WindowCompat.setDecorFitsSystemWindows(window,
false)
pour afficher votre application derrière les barres système, comme illustré dans le code suivant
Exemple:
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
Dans le cadre d'une mise en page bord à bord, votre application doit modifier les couleurs les barres système pour que le contenu en dessous soit visible. Après votre application effectue cette étape, le système gère toutes les protections visuelles de l'utilisateur en mode navigation par gestes et en mode bouton.
- Mode de navigation par gestes:le système applique l'adaptation dynamique des couleurs dont le contenu des barres système change de couleur en fonction du contenu derrière de l'IA générative. Dans l'exemple suivant, le handle de la barre de navigation est remplacé par un une couleur foncée lorsqu'elle est au-dessus d'une zone claire et une couleur claire lorsqu'elle est au-dessus le contenu sombre.
- Mode bouton:le système applique un filtre fond derrière les barres système (pour le niveau d'API 29 ou ultérieur) ou dans un système transparent bar (pour le niveau d'API 28 ou version antérieure).
![Image montrant des barres système translucides](https://developer.android.com/static/images/guide/navigation/e2e-translucent-scrim.png?authuser=9&hl=fr)
- Couleur du contenu de la barre d'état:détermine la couleur du contenu de la barre d'état, par exemple comme l’heure et les icônes.
![Image montrant la couleur du contenu de la barre d'état](https://developer.android.com/static/images/guide/navigation/e2e-status-color.png?authuser=9&hl=fr)
Vous pouvez modifier le fichier themes.xml
pour définir la couleur de la barre de navigation.
vous pouvez également définir la barre d'état sur transparente et la couleur du contenu de la barre d'état sur
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
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
setAppearanceLightNavigationBars()
, en transmettant true
pour remplacer la couleur de premier plan de la navigation par
une couleur claire ou false
pour rétablir 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);