Используйте вставки в представлениях и компоновке

Если ваше приложение содержит код Compose и View, вам может потребоваться четко указать, какие системные вставки должен использовать каждый из них, и гарантировать, что вставки отправляются в одноуровневые представления.

Переопределение вставок по умолчанию

Возможно, вам придется переопределить вставки по умолчанию, если на вашем экране код Views и Compose находится в одной и той же иерархии. В этом случае вам необходимо четко указать, какие вставки следует использовать, а какие следует игнорировать.

Например, если ваш самый внешний макет представляет собой макет Android View, вам следует использовать вставки в системе View и игнорировать их для Compose. В качестве альтернативы, если ваш внешний макет является составным, вам следует использовать вставки в Compose и соответствующим образом дополнять составные элементы AndroidView .

По умолчанию каждый ComposeView использует все вставки на уровне использования WindowInsetsCompat . Чтобы изменить это поведение по умолчанию, установите для ComposeView.consumeWindowInsets значение false .

Обратная совместимая диспетчеризация вставок для представлений

Если ваше приложение содержит код Views, вам может потребоваться подтвердить, что вставки отправляются в одноуровневые представления на устройствах под управлением Android 10 (уровень API 29) или ниже. Дополнительные сведения см. в руководстве по просмотрам от края до края .

Значки системной панели

Вызов enableEdgeToEdge обеспечивает обновление цветов значков системной панели при изменении темы устройства.

При переходе от края до края вам может потребоваться вручную обновить цвета значков системной панели, чтобы они контрастировали с фоном вашего приложения. Например, чтобы создать световые значки в строке состояния:

Котлин

WindowCompat.getInsetsController(window, window.decorView)
    .isAppearanceLightStatusBars = false

Ява

WindowCompat.getInsetsController(window, window.getDecorView())
    .setAppearanceLightStatusBars(false);