Если ваше приложение содержит код как Compose, так и View, вам может потребоваться явно указать, какие системные вставки каждое из них должно использовать, и обеспечить отправку вставок в родственные представления.
Переопределение вставок по умолчанию
Вам может потребоваться переопределить вставки по умолчанию, если на вашем экране есть код Views и Compose в одной иерархии. В этом случае вам нужно явно указать, какой из них должен использовать вставки, а какой — игнорировать.
Например, если ваш внешний макет — это макет Android View, вам следует использовать вставки в системе View и игнорировать их для Compose. В качестве альтернативы, если ваш внешний макет — компонуемый, вам следует использовать вставки в Compose и соответствующим образом заполнять компонуемые элементы AndroidView
.
По умолчанию каждый ComposeView
использует все вставки на уровне WindowInsetsCompat
. Чтобы изменить это поведение по умолчанию, установите для AbstractComposeView.consumeWindowInsets
значение false
.
Обратная совместимость вставной диспетчеризации для представлений
Если ваше приложение содержит код Views, вам может потребоваться подтвердить отправку вставок в родственные Views на устройствах под управлением Android 10 (уровень API 29) или ниже. Подробнее см. в руководстве по Views от Edge до Edge .
Значки системной панели
Вызов enableEdgeToEdge
обеспечивает обновление цветов значков системной панели при изменении темы устройства.
При использовании безрамочного режима вам может потребоваться вручную обновить цвета значков системной панели, чтобы они контрастировали с фоном вашего приложения. Например, чтобы создать светлые значки строки состояния:
Котлин
WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
Ява
WindowCompat.getInsetsController(window, window.getDecorView()) .setAppearanceLightStatusBars(false);