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

Jeśli Twoja aplikacja zawiera kod zarówno dla widoku Compose, jak i View, może być konieczne określenie, które wstawione elementy systemu powinien używać każdy z nich, oraz upewnienie się, że są 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żyć wstawek w systemie View i zignorować je w Compose. Jeśli natomiast zewnętrzny układ jest składanym elementem, musisz użyć w Compose wbudowanych elementów i odpowiednio wypełnić 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ść ComposeView.consumeWindowInsets na false.

Zgodność wsteczna w przypadku wysył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 po widokach 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);