Assombrir les barres système (obsolète)

<ph type="x-smartling-placeholder">

Cette leçon explique comment réduire la luminosité des barres système (c'est-à-dire l'état et la navigation barres) sur Android 4.0 (niveau d'API 14) ou version ultérieure. Android ne propose pas de fonctionnalité intégrée de réduction de la luminosité les barres système des versions antérieures.

Lorsque vous utilisez cette approche, le contenu n'est pas redimensionné, mais les icônes des barres système s’éloignent visuellement. Dès que l'utilisateur appuie sur la barre d'état ou la zone de la barre de navigation de l'écran, les deux barres deviennent entièrement visibles. L'avantage est que les barres sont toujours présentes mais leurs détails sont obscurcis, et de créer une expérience immersive sans sacrifier l'accès facile aux bars.

Atténuer la luminosité des barres d'état et de navigation

Vous pouvez assombrir les barres d'état et de navigation à l'aide des boutons SYSTEM_UI_FLAG_LOW_PROFILE, comme suit:

Kotlin

// This example uses decor view, but you can use any visible view.
activity?.window?.decorView?.apply {
    systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE
}

Java

// This example uses decor view, but you can use any visible view.
View decorView = getActivity().getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE;
decorView.setSystemUiVisibility(uiOptions);

Dès que l'utilisateur appuie sur la barre d'état ou de navigation, l'indicateur est effacé. ce qui entraîne l'assombrissement des barres. Une fois l'indicateur effacé, votre application doit être réinitialisée pour atténuer de nouveau la luminosité.

La figure 1 présente une image de galerie dans laquelle la barre de navigation est grisée (notez que l'application Galerie masque complètement la barre d'état ; elle ne l'assombrit pas). Notez que la barre de navigation (à droite de l'image) comporte de légers points blancs représentant les commandes de navigation:

barres système

Figure 1 : Barres système grisées.

La figure 2 montre la même image de galerie, mais avec les barres système affichées:

barres système

Figure 2. Barres système visibles.

Afficher les barres d'état et de navigation

Si vous souhaitez effacer par programmation des indicateurs définis avec setSystemUiVisibility(), vous pouvez le faire comme suit:

Kotlin

activity?.window?.decorView?.apply {
    // Calling setSystemUiVisibility() with a value of 0 clears
    // all flags.
    systemUiVisibility = 0
}

Java

View decorView = getActivity().getWindow().getDecorView();
// Calling setSystemUiVisibility() with a value of 0 clears
// all flags.
decorView.setSystemUiVisibility(0);