Jeśli Twoja aplikacja zawiera kod zarówno dla widoku Compose, jak i View, musisz wyraźnie określić, które wstawione elementy systemu powinien on używać, oraz zadbać o to, aby były one wysyłane do widoków nadrzędnych.
Zastępowanie domyślnych wstawek
Jeśli na ekranie znajdują się zarówno widoki, jak i kod Compose w ramach tej samej hierarchii, może być konieczne zastąpienie domyślnych wstawek. W takim przypadku musisz wyraźnie określić, która z nich powinna używać wstawek, a która powinna je ignorować.
Jeśli na przykład najszerszy układ jest układem Android View, powinieneś używać wstawek w systemie View i ignorować je w Compose.
Jeśli natomiast zewnętrzny układ jest składanym elementem, musisz użyć w Compose wbudowanych elementów i odpowiednio uzupełnić składane elementy AndroidView
.
Domyślnie każdy element ComposeView
zużywa wszystkie wstawione elementy na poziomie zużycia WindowInsetsCompat
. Aby zmienić to domyślne działanie, ustaw wartość AbstractComposeView.consumeWindowInsets
na false
.
Zgodność wsteczna w przypadku przesyłania wstawionych treści w widokach
Jeśli Twoja aplikacja zawiera kod Views, konieczne może być potwierdzenie, że wstawki są wysyłane do podrzędnych widoków na urządzeniach z Androidem 10 (poziom interfejsu API 29) lub starszym. Więcej informacji znajdziesz w przewodniku dotyczącym widoków od krawędzi do krawędzi.
Ikony na pasku systemu
Wywołanie enableEdgeToEdge
zapewnia aktualizację kolorów ikon na pasku systemu po zmianie motywu urządzenia.
Podczas przekształcania aplikacji na tryb pełnoekranowy może być konieczne ręczne zaktualizowanie kolorów ikony na pasku systemowym, aby kontrastowały z tłem aplikacji. Aby na przykład utworzyć jasne ikony paska stanu:
Kotlin
WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
Java
WindowCompat.getInsetsController(window, window.getDecorView()) .setAppearanceLightStatusBars(false);