Utilizzare gli inserti in Visualizzazioni e Scrivi

Se la tua app contiene codice Compose e View, potresti dover specificare quali insets di sistema devono essere utilizzati e assicurarti che gli insets vengano inviati alle visualizzazioni secondarie.

Override degli inset predefiniti

Potresti dover ignorare gli inset predefiniti quando lo schermo contiene sia Views che Compose code nella stessa gerarchia. In questo caso, devi specificare quale deve utilizzare gli inset e quale deve ignorarli.

Ad esempio, se il layout più esterno è un layout View di Android, devi utilizzare gli inset nel sistema View e ignorarli per Compose. In alternativa, se il layout più esterno è un elemento componibile, devi utilizzare gli inset in Compose e aggiungere il padding agli elementi componibili AndroidView di conseguenza.

Per impostazione predefinita, ogni ComposeView consuma tutti gli inserti al livello di consumo WindowInsetsCompat. Per modificare questo comportamento predefinito, imposta AbstractComposeView.consumeWindowInsets su false.

Distribuzione degli inserti compatibile con le versioni precedenti per le visualizzazioni

Se la tua app contiene codice Views, potresti dover confermare che gli inset sono inviati alle visualizzazioni secondarie sui dispositivi che eseguono Android 10 (livello API 29) o versioni precedenti. Per ulteriori informazioni, consulta la guida alle visualizzazioni edge-to-edge.

Icone della barra di sistema

La chiamata enableEdgeToEdge garantisce l'aggiornamento dei colori delle icone della barra di sistema quando cambia il tema del dispositivo.

Quando vai da un bordo all'altro, potresti dover aggiornare manualmente i colori delle icone della barra di sistema in modo che contrastino con lo sfondo dell'app. Ad esempio, per creare icone della barra di stato chiare:

Kotlin

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

Java

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