Eine Displayaussparung ist ein Bereich auf einigen Geräten, der sich über die Displayfläche erstreckt. So ist ein randloser Bildschirm möglich, während gleichzeitig Platz für wichtige Sensoren auf der Vorderseite des Geräts bleibt.


Android unterstützt Displayaussparungen auf Geräten mit Android 9 (API-Ebene 28) und höher. Gerätehersteller können Displayausschnitte jedoch auch auf Geräten mit Android 8.1 oder niedriger unterstützen.
Auf dieser Seite wird beschrieben, wie Sie in Compose Unterstützung für Geräte mit Ausschnitten implementieren. Außerdem erfahren Sie, wie Sie mit dem Ausschnittsbereich arbeiten, also dem Rechteck von Rand zu Rand auf der Displayoberfläche, das den Ausschnitt enthält.
Standardfall
Bei Apps, die auf API-Level 34 oder niedriger ausgerichtet sind, oder bei Aktivitäten, die enableEdgeToEdge
nicht aufrufen, wird standardmäßig nicht in den Ausschnittsbereich gezeichnet, es sei denn, die App zeichnet in eine Systemleiste, die den Displayausschnitt enthält.
Apps, die auf API-Level 35 oder höher auf Geräten mit Android 15 oder höher ausgerichtet sind, oder Aktivitäten, die enableEdgeToEdge
aufrufen, werden in den Ausschnittsbereich gezeichnet.
Mit anderen Worten: LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT
, LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
und LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
werden als LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS
für nicht schwimmende Fenster in Apps interpretiert, die auf API-Level 35 oder höher auf Geräten mit Android 15 oder höher ausgerichtet sind.
Informationen zu Ausschnitten manuell verarbeiten
Sie müssen Informationen zum Ausschnitt so verarbeiten, dass wichtige Texte, Steuerelemente oder interaktive Elemente, die eine präzise Touch-Erkennung erfordern, nicht vom Ausschnitt verdeckt werden. Die Touch-Empfindlichkeit kann im Ausschnitt geringer sein. Verwenden Sie bei Ausschnitten keine hartcodierte Statusleiste, da dies zu überlappenden oder abgeschnittenen Inhalten führen kann. Gehen Sie stattdessen auf eine der folgenden Arten vor:
WindowInsets.displayCutout
,WindowInsets.safeContent
oderWindowInsets.safeDrawing
verwendenAuf das Objekt „Ausschnitt“
Path
mitLocalView.current.rootWindowInsets.displayCutout
zugreifen
Für Compose empfehlen wir, displayCutout
, safeContent
oder safeDrawing
zu verwenden, um Ausschnitte in Ihren Compose-Assets zu verarbeiten. So können Sie den Abstand zum Displayausschnitt bei Bedarf berücksichtigen oder ignorieren, wenn er nicht erforderlich ist.
Canvas(modifier = Modifier.fillMaxSize().windowInsetsPadding(WindowInsets.displayCutout)) { drawRect(Color.Red, style = Stroke(2.dp.toPx())) }
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Fenstereinzüge im Tool „Schreiben“
- Grafiken-Modifikatoren
- Absatzstil