Navigationsleiste ausblenden
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
In dieser Lektion wird beschrieben, wie Sie die Navigationsleiste ausblenden,
Android 4.0 (API-Level 14)
Obwohl es in dieser Lektion darum geht,
Navigationsleiste verwenden, sollten Sie Ihre App so gestalten, dass die Statusleiste
aus, wie unter Statusleiste ausblenden beschrieben.
Navigations- und Statusleiste ausblenden, aber dennoch leicht zugänglich bleiben
kann der Inhalt den gesamten Anzeigebereich nutzen, wodurch ein immersiver
User Experience aus.
Abbildung 1: Navigationsleiste:
Navigationsleiste ausblenden
Sie können die Navigationsleiste mithilfe der
Flag SYSTEM_UI_FLAG_HIDE_NAVIGATION
. Dieses Snippet blendet sowohl
der Navigationsleiste und der Statusleiste:
Kotlin
window.decorView.apply {
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN
}
Java
View decorView = getWindow().getDecorView();
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
Beachten Sie Folgendes:
- Bei diesem Ansatz wird beim Berühren einer beliebigen Stelle auf dem Bildschirm die Navigationsleiste (und
Statusleiste) erscheint und bleibt sichtbar. Durch die Nutzerinteraktion werden die Flags
gelöscht werden.
- Sobald die Flags gelöscht sind, müssen sie von Ihrer App zurückgesetzt werden, wenn Sie
die Balken wieder ausblenden. Unter Auf Änderungen der Sichtbarkeit der Benutzeroberfläche reagieren finden Sie
Diskussion darüber, wie Sie Änderungen an der Sichtbarkeit der Benutzeroberfläche überwachen können, damit Ihre App
entsprechend reagieren.
- Es macht einen Unterschied, wo Sie die UI-Flags festlegen. Wenn Sie die Systemleisten im Menü
onCreate()
und drückt der Nutzer die Startbildschirmtaste, werden die Systemleisten
erscheinen. Wenn der Nutzer die Aktivität wieder öffnet, onCreate()
wird nicht angerufen, sodass die Systemleisten sichtbar bleiben. Wenn Sie möchten, dass Änderungen der System-UI
bleiben, während der Nutzer zu Ihrer Aktivität wechselt, und legen Sie UI-Flags in
onResume()
oder onWindowFocusChanged()
.
- Nur die Methode
setSystemUiVisibility()
wenn die Ansicht sichtbar ist, aus der Sie den Aufruf erstellen.
- Markierungen für das Verlassen der Ansicht
festgelegt mit
setSystemUiVisibility()
gelöscht werden.
Inhalte hinter der Navigationsleiste einblenden
Unter Android 4.1 und höher können Sie festlegen, dass die Inhalte Ihrer App hinter
der Navigationsleiste, sodass die Größe des Inhalts nicht geändert wird, wenn die Navigationsleiste ausgeblendet wird
Serien und TV-Sendungen. Verwenden Sie dazu
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
Möglicherweise müssen Sie auch
SYSTEM_UI_FLAG_LAYOUT_STABLE
, damit deine App
Layout zu ändern.
Wenn Sie diesen Ansatz verwenden, liegt es in Ihrer Verantwortung, sicherzustellen,
werden nicht durch Systemleisten verdeckt. Weitere Informationen
Diskussion zu diesem Thema finden Sie in der
Lektion zum Ausblenden der Statusleiste
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Hide the navigation bar\n\nThis lesson describes how to hide the navigation bar, which was introduced in\nAndroid 4.0 (API level 14).\n\nEven though this lesson focuses on hiding the\nnavigation bar, you should design your app to hide the status bar\nat the same time, as described in [Hiding the Status Bar](/training/system-ui/status).\nHiding the navigation and status bars (while still keeping them readily accessible)\nlets the content use the entire display space, thereby providing a more immersive\nuser experience.\n\n**Figure 1.** Navigation bar.\n\nHide the Navigation Bar\n-----------------------\n\nYou can hide the navigation bar using the\n[SYSTEM_UI_FLAG_HIDE_NAVIGATION](/reference/android/view/View#SYSTEM_UI_FLAG_HIDE_NAVIGATION) flag. This snippet hides both\nthe navigation bar and the status bar: \n\n### Kotlin\n\n```kotlin\nwindow.decorView.apply {\n // Hide both the navigation bar and the status bar.\n // SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as\n // a general rule, you should design your app to hide the status bar whenever you\n // hide the navigation bar.\n systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN\n}\n```\n\n### Java\n\n```java\nView decorView = getWindow().getDecorView();\n// Hide both the navigation bar and the status bar.\n// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as\n// a general rule, you should design your app to hide the status bar whenever you\n// hide the navigation bar.\nint uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION\n | View.SYSTEM_UI_FLAG_FULLSCREEN;\ndecorView.setSystemUiVisibility(uiOptions);\n```\n\nNote the following:\n\n- With this approach, touching anywhere on the screen causes the navigation bar (and status bar) to reappear and remain visible. The user interaction causes the flags to be be cleared.\n- Once the flags have been cleared, your app needs to reset them if you want to hide the bars again. See [Responding to UI Visibility Changes](/training/system-ui/visibility) for a discussion of how to listen for UI visibility changes so that your app can respond accordingly.\n- Where you set the UI flags makes a difference. If you hide the system bars in your activity's [onCreate()](/reference/android/app/Activity#onCreate(android.os.Bundle)) method and the user presses Home, the system bars will reappear. When the user reopens the activity, [onCreate()](/reference/android/app/Activity#onCreate(android.os.Bundle)) won't get called, so the system bars will remain visible. If you want system UI changes to persist as the user navigates in and out of your activity, set UI flags in [onResume()](/reference/android/app/Activity#onResume()) or [onWindowFocusChanged()](/reference/android/view/Window.Callback#onWindowFocusChanged(boolean)).\n- The method [setSystemUiVisibility()](/reference/android/view/View#setSystemUiVisibility(int)) only has an effect if the view you call it from is visible.\n- Navigating away from the view causes flags set with [setSystemUiVisibility()](/reference/android/view/View#setSystemUiVisibility(int)) to be cleared.\n\nMake Content Appear Behind the Navigation Bar\n---------------------------------------------\n\nOn Android 4.1 and higher, you can set your application's content to appear behind\nthe navigation bar, so that the content doesn't resize as the navigation bar hides and\nshows. To do this, use\n[SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION](/reference/android/view/View#SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION).\nYou may also need to use\n[SYSTEM_UI_FLAG_LAYOUT_STABLE](/reference/android/view/View#SYSTEM_UI_FLAG_LAYOUT_STABLE) to help your app maintain a\nstable layout.\n\nWhen you use this approach, it becomes your responsibility to ensure that critical parts\nof your app's UI don't end up getting covered by system bars. For more\ndiscussion of this topic, see the [Hiding the Status Bar](/training/system-ui/status#behind) lesson."]]