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
Displays mit Edge-to-Edge-Darstellung. In der Compose- und Views-Dokumentation finden Sie Informationen zur modernen Methode, um enableEdgeToEdge zu verwenden.
Wenn Ihre App ein Display mit Edge-to-Edge-Darstellung manuell einrichten muss, 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 anordnen
Verwenden Sie WindowCompat.setDecorFitsSystemWindows(window, false)
, um Ihre App hinter den Systemleisten anzuordnen, 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 Navigations
leiste 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 dem Displayausschnitt verdeckt werden. Informationen zum Verarbeiten von Insets finden Sie in der Compose- und Views -Dokumentation.