Usa inserciones en Views y Compose

Si tu app contiene código de Compose y de View, es posible que debas ser explícito sobre qué inserciones del sistema debe consumir cada uno y asegurarte de que las inserciones se envíen a vistas hermanas.

Cómo anular los rellenos predeterminados

Es posible que debas anular los inserciones predeterminadas cuando tu pantalla tenga código de View y Compose en la misma jerarquía. En este caso, debes ser explícito en cuál debe consumir los insertos y cuál debe ignorarlos.

Por ejemplo, si tu diseño más externo es un diseño de View de Android, debes consumir los inserciones en el sistema de View y, luego, ignorarlas para Compose. Como alternativa, si tu diseño más externo es un elemento componible, debes consumir los inserciones en Compose y rellenar los elementos componibles AndroidView según corresponda.

De forma predeterminada, cada ComposeView consume todos los inserciones en el nivel de consumo WindowInsetsCompat. Para cambiar este comportamiento predeterminado, establece ComposeView.consumeWindowInsets en false.

Envío de inserciones retrocompatibles para vistas

Si tu app contiene código de Views, es posible que debas confirmar que los rellenos se envíen a vistas hermanas en dispositivos que ejecutan Android 10 (nivel de API 29) o versiones anteriores. Consulta la guía de Views de borde a borde para obtener más información.

Íconos de la barra del sistema

Llamar a enableEdgeToEdge garantiza que los colores de los íconos de la barra del sistema se actualicen cuando cambie el tema del dispositivo.

Cuando cambias a pantalla completa, es posible que debas actualizar manualmente los colores del ícono de la barra del sistema para que contrasten con el fondo de tu app. Por ejemplo, para crear íconos de barra de estado claros, haz lo siguiente:

Kotlin

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

Java

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