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 randlosen Displays. In der Dokumentation zu Compose und Ansichten finden Sie Informationen dazu, wie Sie mit enableEdgeToEdge den modernen Edge-to-Edge-Modus verwenden.
Wenn Ihre App die randlose Darstellung manuell einrichten muss, können Sie die folgenden Schritte ausführen. Dies wird jedoch nicht empfohlen:
- Rufen Sie
WindowCompat.setDecorFitsSystemWindows(window, false)an. - Legen Sie die Systemleisten als transparent fest.
- Insets verarbeiten.
App im Vollbildmodus darstellen
Mit WindowCompat.setDecorFitsSystemWindows(window, false) können Sie Ihre App hinter den Systemleisten platzieren, wie im folgenden Codebeispiel 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 älter manuell erstellen, müssen Sie die Systemleisten in Ihrer App auch transparent machen.
Sie können die Datei themes.xml bearbeiten, um die Farbe der Status- und Navigationsleiste auf transparent festzulegen und die Farbe des Statusleistensymbols 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 Funktion setAppearanceLightNavigationBars() und übergeben Sie true, um die Vordergrundfarbe der Navigation in eine helle Farbe zu ändern, oder false, um die Standardfarbe wiederherzustellen.
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 Umgang mit Insets finden Sie in der Dokumentation zu Compose und Ansichten.