Wenn Ihre App sowohl Code für Compose als auch für Ansichten enthält, müssen Sie möglicherweise angeben, welche System-Einblendungen jeweils verwendet werden sollen, und dafür sorgen, dass Einblendungen an übergeordnete Ansichten gesendet werden.
Standard-Inset überschreiben
Möglicherweise müssen Sie die Standard-Einzüge überschreiben, wenn sich auf Ihrem Bildschirm sowohl Ansichten als auch Compose-Code in derselben Hierarchie befinden. In diesem Fall müssen Sie angeben, welche der beiden Seiten die Einleger verwenden und welche sie ignorieren soll.
Wenn Ihr äußerstes Layout beispielsweise ein Android-View-Layout ist, sollten Sie die Einzüge im View-System verwenden und für Compose ignorieren.
Wenn Ihr äußerstes Layout ein Composeable ist, sollten Sie die Einzüge in Compose verwenden und die AndroidView
-Composeables entsprechend ausrichten.
Standardmäßig werden von jedem ComposeView
alle Inset-Assets auf der Verbrauchsebene WindowInsetsCompat
verbraucht. Wenn Sie dieses Standardverhalten ändern möchten, setzen Sie ComposeView.consumeWindowInsets
auf false
.
Abwärtskompatible Einbettungsübermittlung für Ansichten
Wenn Ihre App Views-Code enthält, müssen Sie möglicherweise prüfen, ob Einblendungen auf Geräten mit Android 10 (API-Level 29) oder niedriger an übergeordnete Ansichten gesendet werden. Weitere Informationen finden Sie im Leitfaden für Vollbildansichten.
Symbole in der Systemleiste
Wenn Sie enableEdgeToEdge
aufrufen, werden die Farben der Symbole in der Systemleiste aktualisiert, wenn sich das Gerätedesign ändert.
Wenn Sie die App von Rand zu Rand anzeigen lassen, müssen Sie die Farben der Symbole der Systemleiste möglicherweise manuell aktualisieren, damit sie einen Kontrast zum Hintergrund Ihrer App bilden. So erstellen Sie beispielsweise helle Symbole für die Statusleiste:
Kotlin
WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
Java
WindowCompat.getInsetsController(window, window.getDecorView()) .setAppearanceLightStatusBars(false);