Répondre aux changements de visibilité de l'UI

Cette leçon explique comment enregistrer un écouteur afin que votre application puisse recevoir des notifications des changements de visibilité de l'UI du système. Cela est utile si vous souhaitez synchroniser d'autres parties de votre interface utilisateur avec l'affichage ou le masquage des barres système ;

Enregistrer un écouteur

Pour être informé des modifications de visibilité de l'UI du système, enregistrez un View.OnSystemUiVisibilityChangeListener à votre vue. Il s'agit généralement de la vue que vous utilisez pour contrôler la visibilité de la navigation.

Par exemple, vous pouvez ajouter ce code au fichier Méthode onCreate():

Kotlin

window.decorView.setOnSystemUiVisibilityChangeListener { visibility ->
    // Note that system bars will only be "visible" if none of the
    // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set.
    if (visibility and View.SYSTEM_UI_FLAG_FULLSCREEN == 0) {
        // TODO: The system bars are visible. Make any desired
        // adjustments to your UI, such as showing the action bar or
        // other navigational controls.
    } else {
        // TODO: The system bars are NOT visible. Make any desired
        // adjustments to your UI, such as hiding the action bar or
        // other navigational controls.
    }
}

Java

View decorView = getWindow().getDecorView();
decorView.setOnSystemUiVisibilityChangeListener
        (new View.OnSystemUiVisibilityChangeListener() {
    @Override
    public void onSystemUiVisibilityChange(int visibility) {
        // Note that system bars will only be "visible" if none of the
        // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set.
        if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
            // TODO: The system bars are visible. Make any desired
            // adjustments to your UI, such as showing the action bar or
            // other navigational controls.
        } else {
            // TODO: The system bars are NOT visible. Make any desired
            // adjustments to your UI, such as hiding the action bar or
            // other navigational controls.
        }
    }
});

Il est généralement recommandé de synchroniser l'interface utilisateur avec les modifications apportées à la barre système visibilité. Par exemple, vous pouvez utiliser cet écouteur pour masquer et afficher la barre d'action dans avec la barre d’état masquée et affichée.