Auf Änderungen der UI-Sichtbarkeit reagieren

In dieser Lektion wird beschrieben, wie Sie einen Hörer registrieren, damit Ihre App Benachrichtigungen erhält. Änderungen der Sichtbarkeit auf der System-UI. Dies ist nützlich, wenn Sie um andere Bereiche der Benutzeroberfläche durch das Ein-/Ausblenden von Systemleisten zu synchronisieren.

Listener registrieren

Registrieren Sie ein View.OnSystemUiVisibilityChangeListener hinzugefügt. Dies ist normalerweise die Ansicht, in der Sie die Sichtbarkeit der Navigation steuern.

Diesen Code können Sie beispielsweise dem onCreate()-Methode:

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.
        }
    }
});

Es empfiehlt sich, die Benutzeroberfläche bei Änderungen in der Systemleiste synchron zu halten. Sichtbarkeit. Mit diesem Listener können Sie beispielsweise die Aktionsleiste in die Statusleiste wird ein- und ausgeblendet.