Jeśli Twoja aplikacja zawiera kod Compose i kod widoku, może być konieczne wyraźne określenie, które wstawki systemowe powinny być używane w każdym z nich, oraz zapewnienie, że wstawki są wysyłane do widoków równorzędnych.
Zastępowanie domyślnych wcięć
Może być konieczne zastąpienie domyślnych wcięć, gdy ekran zawiera zarówno widoki, jak i kod Compose w tej samej hierarchii. W takim przypadku musisz wyraźnie określić, który element ma korzystać z wcięć, a który ma je ignorować.
Jeśli np. zewnętrzny układ to układ widoku Androida, musisz wykorzystać wstawki w systemie widoku i zignorować je w Compose.
Jeśli najbardziej zewnętrzny układ jest komponentem, należy użyć wstawek w Compose i odpowiednio dodać do komponentów AndroidView dopełnienie.
Domyślnie każdy element ComposeView zużywa wszystkie wstawki na poziomie zużycia WindowInsetsCompat. Aby zmienić to domyślne działanie, ustaw wartość
AbstractComposeView.consumeWindowInsets
na false.
Wsteczna zgodność wysyłania wstawek w przypadku widoków
Jeśli aplikacja zawiera kod widoków, może być konieczne potwierdzenie, że wstawki są wysyłane do widoków równorzędnych na urządzeniach z Androidem 10 (poziom API 29) lub starszym. Więcej informacji znajdziesz w przewodniku po widokach od krawędzi do krawędzi.
Ikony na pasku systemu
Wywołanie enableEdgeToEdge zapewnia aktualizację kolorów ikon paska systemowego po zmianie motywu urządzenia.
Podczas przechodzenia od krawędzi do krawędzi może być konieczne ręczne zaktualizowanie kolorów ikon paska systemu, 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);