Jeśli Twoja aplikacja zawiera kod Compose i kod View, 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. najbardziej 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, możesz 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 WindowInsetsCompat
. Aby zmienić to domyślne działanie, ustaw wartość
AbstractComposeView.consumeWindowInsets
na false
.
Zgodne wstecznie wysyłanie wstawek w przypadku widoków
Jeśli Twoja 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 (API na poziomie 29) lub starszym. Więcej informacji znajdziesz w przewodniku po widokach od krawędzi do krawędzi.
Ikony na pasku systemowym
Wywołanie enableEdgeToEdge
zapewnia aktualizację kolorów ikon na pasku systemowym po zmianie motywu urządzenia.
Podczas przechodzenia od krawędzi do krawędzi może być konieczne ręczne zaktualizowanie kolorów ikon paska systemowego, 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);