Sie können das randlose Display in Ihrer App aktivieren, indem Sie
enableEdgeToEdge
Dies sollte für die meisten Apps ausreichen. In diesem Leitfaden wird beschrieben, wie Sie
Edge-to-Edge an, wenn Ihre App dies ohne enableEdgeToEdge
tun muss.
App im Vollbildmodus darstellen
WindowCompat.setDecorFitsSystemWindows(window,
false)
verwenden
Platzieren Sie Ihre App hinter den Systemleisten, wie im folgenden Code gezeigt:
Beispiel:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) }
Java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WindowCompat.setDecorFitsSystemWindows(getWindow(), false); }
Farbe der Systemleisten ändern
Wenn Sie in einem randlosen Layout arbeiten, muss Ihre App die Farben Systemleisten, um den darunterliegenden Inhalt sichtbar zu machen. Nach der Anwendung diesen Schritt ausführt, übernimmt das System den gesamten visuellen Schutz des Nutzers im Gesten- und Schaltflächenmodus.
- Bedienung über Gesten:Das System wendet die dynamische Farbanpassung in den bei dem sich die Inhalte der Systemleisten je nach Inhalt dahinter . Im folgenden Beispiel ändert sich der Ziehpunkt in der Navigationsleiste dunkle Farbe, wenn es über hellem Inhalt liegt, und eine helle Farbe, wenn es darüber liegt dunklen Inhalten.
- Schaltflächenmodus:Das System wendet eine durchscheinende Grot hinter den Systemleisten (für API-Level 29 oder höher) oder ein transparentes System bar (für API-Level 28 oder niedriger).
- Farbe des Inhalts der Statusleiste:Hiermit legen Sie die Farbe des Inhalts der Statusleiste fest, z. B. wie die Uhrzeit und Symbole.
Sie können die Datei themes.xml
bearbeiten, um die Farbe der Navigationsleiste festzulegen.
optional, um die Statusleiste transparent und die Farbe für den Inhalt der Statusleiste wie folgt festzulegen:
dunkel.
<!-- values-v29/themes.xml -->
<style name="Theme.MyApp">
<item name="android:navigationBarColor">
@android:color/transparent
</item>
<!-- Optional: set to transparent if your app is drawing behind the status bar. -->
<item name="android:statusBarColor">
@android:color/transparent
</item>
<!-- Optional: set for a light status bar with dark content. -->
<item name="android:windowLightStatusBar">
true
</item>
</style>
Sie können die
WindowInsetsController
-API
direkt senden, aber wir empfehlen dringend, die Support Library
WindowInsetsControllerCompat
wenn möglich. Sie können die WindowInsetsControllerCompat
API anstelle von
theme.xml
, um die Inhaltsfarbe der Statusleiste zu steuern. Verwenden Sie dazu die Methode
setAppearanceLightNavigationBars()
und übergeben Sie true
, um die Vordergrundfarbe der Navigation in
eine helle Farbe oder false
, um zur Standardfarbe zurückzukehren.
Kotlin
val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView) windowInsetsController?.isAppearanceLightNavigationBars = true
Java
WindowInsetsControllerCompat windowInsetsController = ViewCompat.getWindowInsetsController(getWindow().getDecorView()); if (windowInsetsController == null) { return; } windowInsetsController.setAppearanceLightNavigationBars(true);