Einzüge in Ansichten und im Tool „Compose“ verwenden

Wenn Ihre App sowohl Compose- als auch View-Code enthält, müssen Sie möglicherweise explizit angeben, welche System-Insets jeweils verwendet werden sollen, und dafür sorgen, dass Insets an gleichgeordnete Ansichten gesendet werden.

Standard-Insets überschreiben

Möglicherweise müssen Sie Standard-Insets überschreiben, wenn Ihr Bildschirm sowohl Ansichten als auch Compose-Code in derselben Hierarchie enthält. In diesem Fall müssen Sie explizit angeben, welche Insets verwendet werden sollen und welche ignoriert werden sollen.

Wenn Ihr äußerstes Layout beispielsweise ein Android-View-Layout ist, sollten Sie die Insets im View-System verwenden und sie für Compose ignorieren. Wenn Ihr äußerstes Layout hingegen ein zusammensetzbares Element ist, sollten Sie die Insets in Compose verwenden und die zusammensetzbaren Elemente vom Typ AndroidView entsprechend auffüllen.

Standardmäßig verwendet jede ComposeView alle Insets auf der Verbrauchsebene WindowInsetsCompat. Wenn Sie dieses Standardverhalten ändern möchten, legen Sie AbstractComposeView.consumeWindowInsets auf false fest.

Abwärtskompatible Inset-Verteilung für Ansichten

Wenn Ihre App View-Code enthält, müssen Sie möglicherweise bestätigen, dass Insets auf Geräten mit Android 10 (API-Level 29) oder niedriger an gleichgeordnete Ansichten gesendet werden. Weitere Informationen finden Sie im Leitfaden für Ansichten im Edge-to-Edge-Modus.

Systemleistensymbole

Wenn Sie enableEdgeToEdge aufrufen, werden die Farben der Systemleistensymbole aktualisiert, wenn sich das Gerätethema ändert.

Im Edge-to-Edge-Modus müssen Sie möglicherweise die Farben der Systemleistensymbole manuell aktualisieren, damit sie sich vom Hintergrund Ihrer App abheben. So erstellen Sie beispielsweise helle Statusleistensymbole:

Kotlin

WindowCompat.getInsetsController(window, window.decorView)
    .isAppearanceLightStatusBars = false

Java

WindowCompat.getInsetsController(window, window.getDecorView())
    .setAppearanceLightStatusBars(false);