Używanie wstawionych obrazów w widokach i w edytorze wiadomości

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);