Der Aufruf von enableEdgeToEdge kapselt die Logik, die für eine echte
Abwärtskompatibilität erforderlich ist, und ist daher die empfohlene Methode zum Einrichten eines
Edge-to-Edge-Displays. In der Compose- und Views-Dokumentation finden Sie Informationen zur modernen Methode, um ein Edge-to-Edge-Display zu erstellen
anstelle dieses Leitfadens
mitenableEdgeToEdge.
Wenn Sie das Edge-to-Edge-Display Ihrer App manuell einrichten müssen, können Sie die folgenden Schritte ausführen. Dies wird jedoch nicht empfohlen:
- Rufen Sie
WindowCompat.setDecorFitsSystemWindows(window, false)auf. - Legen Sie für die Systemleisten Transparenz fest.
- Verarbeiten Sie Insets.
App im Vollbildmodus layouten
Verwenden Sie WindowCompat.setDecorFitsSystemWindows(window, false)
, um Ihre App hinter den Systemleisten zu layouten, wie im folgenden Code
beispiel gezeigt:
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 ein Edge-to-Edge-Layout für Android 14 und ältere Versionen manuell erstellen, muss Ihre App die Systemleisten auch transparent machen.
Sie können die Datei themes.xml bearbeiten, um die Farbe der Status- und Navigationsleiste auf transparent zu setzen und die Farbe des Statussymbols zu ändern.
<!-- 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 WindowInsetsControllerCompat API anstelle von theme.xml verwenden, um die Farbe des Inhalts der Statusleiste zu steuern. Verwenden Sie dazu die
setAppearanceLightNavigationBars()
Funktion, übergeben Sie true, um die Vordergrundfarbe der Navigation in
eine helle Farbe zu ändern, 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);
Insets verarbeiten
Schließlich muss Ihre App Insets verarbeiten, damit wichtige UI-Elemente nicht von den Systemleisten und der Display-Aussparung verdeckt werden. Informationen zum Verarbeiten von Insets finden Sie in der Compose- und Views -Dokumentation.