In dieser Lektion wird beschrieben, wie Sie die Systemleisten (d. h. den Status und die Navigation Balken) unter Android 4.0 (API-Level 14) und höher. In Android gibt es keine integrierte Möglichkeit, Systemleisten bei früheren Versionen.
Bei diesem Ansatz ändert sich die Größe des Inhalts nicht, aber die Symbole in den Systemleisten wenn das Design wieder sichtbar ist. Sobald die nutzende Person entweder die Statusleiste oder den Navigationsleistenbereich werden beide Balken vollständig sichtbar. Der Vorteil dieser sind die Balken noch vorhanden, aber ihre Details sind verdeckt. So wird ein immersives Erlebnis geschaffen, ohne auf einfachen Zugriff auf die Leisten verzichten zu müssen.
Status- und Navigationsleisten dimmen
Sie können die Status- und Navigationsleisten mit der
SYSTEM_UI_FLAG_LOW_PROFILE
so:
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);
Sobald der Nutzer die Status- oder Navigationsleiste berührt, wird die Kennzeichnung gelöscht. Dadurch wurden die Balken ungewollt. Nachdem das Flag gelöscht wurde, muss die App zurückgesetzt werden wenn du die Balken wieder dimmen möchtest.
Abbildung 1 zeigt ein Galeriebild, bei dem die Navigationsleiste abgeblendet ist. Beachten Sie, dass die App "Gallery" blendet die Statusleiste vollständig aus. wird er nicht abgedunkelt). Beachten Sie, dass die Navigationsleiste (rechte Seite des Bilds) weist schwache weiße Punkte auf, die die Navigationsbedienelemente darstellen:
Abbildung 2 zeigt dasselbe Galeriebild, jedoch mit angezeigten Systemleisten:
Anzeigen der Status- und Navigationsleisten
Wenn Sie Flags programmatisch löschen möchten, die mit
setSystemUiVisibility()
, du schaffst das
wie folgt:
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);