<support-screens>

Syntax:
<supports-screens android:resizeable=["true"| "false"]
                  android:smallScreens=["true" | "false"]
                  android:normalScreens=["true" | "false"]
                  android:largeScreens=["true" | "false"]
                  android:xlargeScreens=["true" | "false"]
                  android:anyDensity=["true" | "false"]
                  android:requiresSmallestWidthDp="integer"
                  android:compatibleWidthLimitDp="integer"
                  android:largestWidthLimitDp="integer"/>
enthalten in:
<manifest>
description:

Hier können Sie die von Ihrer Anwendung unterstützten Bildschirmgrößen angeben und den Bildschirmkompatibilitätsmodus für Bildschirme aktivieren, die größer sind als die, die Ihre Anwendung unterstützt. Es ist wichtig, dass Sie dieses Element in Ihrer Anwendung immer verwenden, um die Bildschirmgrößen anzugeben, die von der Anwendung unterstützt werden.

Hinweis:Der Bildschirmkompatibilitätsmodus ist kein Modus, in dem Ihre App ausgeführt werden soll. Dies führt zu einer Verpixelung und Unkenntlichmachung der Benutzeroberfläche durch Zoomen. Damit Ihre Anwendung auf großen Bildschirmen richtig funktioniert, sollten Sie der Übersicht zur Bildschirmkompatibilität folgen und alternative Layouts für verschiedene Bildschirmgrößen bereitstellen.

Eine App „unterstützt“ eine bestimmte Bildschirmgröße, wenn sie so angepasst wird, dass sie den gesamten Bildschirm ausfüllt. Die normale vom System angewendete Größenanpassung funktioniert bei den meisten Anwendungen gut und Sie müssen keine zusätzlichen Schritte ausführen, damit Ihre Anwendung auch auf Bildschirmen funktioniert, die größer als die eines Mobiltelefons sind.

Es ist jedoch wichtig, die Benutzeroberfläche deiner App für verschiedene Bildschirmgrößen zu optimieren, indem du alternative Layoutressourcen bereitstellt. Sie können z. B. das Layout einer Aktivität auf einem Tablet im Vergleich zur Ausführung auf einem Mobilgerät ändern.

Wenn Ihre Anwendung jedoch bei der Anpassung an verschiedene Bildschirmgrößen nicht gut funktioniert, können Sie mithilfe der Attribute des Elements <supports-screens> steuern, ob die Anwendung nur für kleinere Bildschirme bereitgestellt wird oder ob die Benutzeroberfläche vergrößert bzw. gezoomt wird, um sie über den Bildschirmkompatibilitätsmodus des Systems an größere Bildschirme anzupassen.

Wenn Sie Ihr Design nicht für größere Bildschirmgrößen entwerfen und mit der normalen Größenanpassung nicht die gewünschten Ergebnisse erzielen, skaliert der Bildschirmkompatibilitätsmodus die Benutzeroberfläche, indem ein Bildschirm mit normaler Größe und mittlerer Dichte emuliert wird. Dann zoomt es so heran, dass es den gesamten Bildschirm ausfüllt. Beachten Sie, dass dies zu einer Verpixelung und Unkenntlichmachung Ihrer Benutzeroberfläche führt. Daher sollten Sie sie für große Bildschirme optimieren.

Hinweis: Mit Android 3.2 wurden neue Attribute eingeführt: android:requiresSmallestWidthDp, android:compatibleWidthLimitDp und android:largestWidthLimitDp. Wenn Sie Ihre App für Android 3.2 und höher entwickeln, verwenden Sie diese Attribute, um die Unterstützung für die Bildschirmgröße anstelle der Attribute zu deklarieren, die auf allgemeinen Bildschirmgrößen basieren.

Bildschirmkompatibilitätsmodus

Der Bildschirmkompatibilitätsmodus ist nur eine letzte Option für Apps, die nicht für die Nutzung größerer Bildschirmgrößen konzipiert sind. Dies ist kein Modus, in dem Ihre Anwendung ausgeführt werden soll, da er für die Nutzer beeinträchtigt werden kann. Je nach Geräteversion, auf der die App ausgeführt wird, gibt es zwei Versionen des Bildschirmkompatibilitätsmodus.

Auf den Android-Versionen 1.6 bis 3.1 führt das System Ihre Anwendung in einem Fenster mit einem Briefmarken aus. Dabei wird ein Bildschirm mit einer Auflösung von 320 x 480 dp und einem schwarzen Rahmen emuliert, der den verbleibenden Bereich des Bildschirms ausfüllt.

Unter Android 3.2 und höher zeichnet das System das Layout wie auf einem Bildschirm mit einer Auflösung von 320 x 480 dp und skaliert es dann so, dass es den Bildschirm ausfüllt. Dies führt häufig zu Artefakten wie Unkenntlichmachung oder Verpixelung in der Benutzeroberfläche.

Weitere Informationen zur richtigen Unterstützung verschiedener Bildschirmgrößen, damit Sie die Verwendung des Bildschirmkompatibilitätsmodus mit Ihrer App vermeiden können, finden Sie unter Bildschirmkompatibilität – Übersicht.

Attribute:
android:resizeable
Gibt an, ob die Größe der App an verschiedene Bildschirmgrößen angepasst werden kann. Dieses Attribut ist standardmäßig "true". Wenn "false" festgelegt ist, führt das System die Anwendung auf großen Bildschirmen im Bildschirmkompatibilitätsmodus aus.

Dieses Attribut wurde eingestellt. Sie wurde eingeführt, um Anwendungen bei der Umstellung von Android 1.5 auf 1.6 zu unterstützen, als erstmals die Unterstützung für mehrere Bildschirme eingeführt wurde. Nicht verwenden.

android:smallScreens
Gibt an, ob die Anwendung „kleine“ Formfaktoren für den Bildschirm unterstützt. Ein kleiner Bildschirm wird als ein Bildschirm mit einem kleineren Seitenverhältnis als ein „normaler“ Bildschirm oder ein herkömmlicher HVGA-Bildschirm definiert. Eine Anwendung, die kleine Bildschirme nicht unterstützt, ist für Geräte mit kleinen Bildschirmen von externen Diensten wie Google Play nicht verfügbar, da die Plattform wenig tun kann, um eine solche App auf einem kleineren Bildschirm laufen zu lassen. Dies ist standardmäßig "true".
android:normalScreens
Gibt an, ob eine Anwendung die „normalen“ Bildschirm-Formfaktoren unterstützt. Traditionell ist dies ein HVGA-Bildschirm mit mittlerer Dichte. WQVGA niedriger und WVGA mit hoher Dichte gelten jedoch ebenfalls als normal. Dieses Attribut ist standardmäßig "true".
android:largeScreens
Gibt an, ob die Anwendung Formfaktoren für große Bildschirme unterstützt. Ein großer Bildschirm wird als ein Bildschirm definiert, der deutlich größer ist als ein "normaler" Bildschirm eines Mobiltelefons. Die Anwendung kann sie daher mit besonderer Sorgfalt nutzen, wobei die Größe des Bildschirms möglicherweise vom System angepasst wird.

Der Standardwert dafür variiert je nach Version. Daher ist es besser, wenn Sie dieses Attribut explizit deklarieren. Hinweis: Wenn Sie "false" festlegen, wird in der Regel der Kompatibilitätsmodus für den Bildschirm aktiviert.

android:xlargeScreens
Gibt an, ob die Anwendung „extragroße“ Formfaktoren für den Bildschirm unterstützt. Ein extragroßer Bildschirm ist definiert als ein Bildschirm, der deutlich größer ist als ein „großer“ Bildschirm, z. B. ein Tablet oder ein noch größerer Bildschirm. Es kann besondere Sorgfalt für die Anwendung erfordern, um sie richtig nutzen zu können. Allerdings muss die Größe durch das System angepasst werden, um den Bildschirm auszufüllen.

Der Standardwert dafür variiert je nach Version. Daher ist es besser, wenn Sie dieses Attribut explizit deklarieren. Hinweis: Wenn Sie "false" festlegen, wird in der Regel der Kompatibilitätsmodus für den Bildschirm aktiviert.

Dieses Attribut wurde mit API-Level 9 eingeführt.

android:anyDensity
Gibt an, ob die Anwendung Ressourcen für jede Bildschirmdichte enthält.

Bei Anwendungen, die Android 1.6 (API-Level 4) und höher unterstützen, ist dies standardmäßig "true". Legen Sie ihn nicht auf "false" fest, es sei denn, Sie sind absolut sicher, dass dies für das Funktionieren Ihrer Anwendung erforderlich ist. Diese Funktion muss möglicherweise nur deaktiviert werden, wenn Ihre Anwendung Bitmaps direkt bearbeitet. Weitere Informationen finden Sie unter Bildschirmkompatibilität – Übersicht.

android:requiresSmallestWidthDp
Gibt den minimalen smallestWidth an, der für die App erforderlich ist. smallestWidth ist die kürzeste Dimension des Bildschirms in dp-Einheiten, die für die Benutzeroberfläche Ihrer App verfügbar sein müssen. Sie ist die kürzeste der verfügbaren Bildschirmgrößen.

Damit ein Gerät als mit Ihrer Anwendung kompatibel eingestuft wird, muss der smallestWidth des Geräts gleich oder größer als dieser Wert sein. Normalerweise ist der Wert, den Sie dafür angeben, die „kleinste Breite“, die Ihr Layout unterstützt, unabhängig von der aktuellen Ausrichtung des Bildschirms.

Beispielsweise hat ein typisches Display eines Mobiltelefons eine smallestWidth von 320 dp, ein 7"-Tablet hat einen smallestWidth von 600 dp und ein 10"-Tablet einen smallestWidth von 720 dp. Diese Werte sind in der Regel die smallestWidth, da sie die kürzeste Dimension des verfügbaren Platzes auf dem Bildschirm sind.

Bei der Größe, mit der Ihr Wert verglichen wird, werden Bildschirmdekorationen und die System-UI berücksichtigt. Wenn auf dem Gerät beispielsweise einige UI-Elemente dauerhaft auf dem Display angezeigt werden, gibt das System für die smallestWidth des Geräts einen Wert an, der kleiner als die tatsächliche Bildschirmgröße ist, da diese Bildschirmpixel für Ihre UI nicht verfügbar sind.

Wenn die Größe Ihrer Anwendung an kleinere Bildschirmgrößen korrekt angepasst wird, bis auf die "kleine" Größe oder eine Mindestbreite von 320 dp, müssen Sie dieses Attribut nicht verwenden. Andernfalls verwenden Sie einen Wert für dieses Attribut, der mit dem kleinsten Wert übereinstimmt, der von Ihrer Anwendung für den kleinsten Bildschirmqualifizierer (sw<N>dp) verwendet wird.

Achtung:Das Android-System berücksichtigt dieses Attribut nicht und wirkt sich daher nicht auf das Verhalten Ihrer App während der Laufzeit aus. Stattdessen wird sie verwendet, um die Filterung Ihrer App bei Diensten wie Google Play zu ermöglichen. Google Play unterstützt dieses Attribut zum Filtern unter Android 3.2 derzeit jedoch nicht. Verwenden Sie daher weiterhin die anderen Größenattribute, wenn Ihre App keine kleinen Bildschirme unterstützt.

Dieses Attribut wurde mit API-Level 13 eingeführt.

android:compatibleWidthLimitDp
Mit diesem Attribut können Sie den Bildschirmkompatibilitätsmodus als optionales Nutzerfeature aktivieren. Dazu geben Sie die maximale "kleinste Bildschirmbreite" an, für die Ihre Anwendung konzipiert ist. Wenn die kleinste Seite des verfügbaren Bildschirms eines Geräts größer als Ihr Wert ist, können Nutzer Ihre App zwar installieren, werden ihnen aber angeboten, sie im Bildschirmkompatibilitätsmodus auszuführen.

Der Bildschirmkompatibilitätsmodus ist standardmäßig deaktiviert und das Layout wird wie gewohnt an den Bildschirm angepasst. In der Systemleiste ist eine Schaltfläche verfügbar, mit der der Nutzer in den Kompatibilitätsmodus für den Bildschirm wechseln kann.

Wenn Ihre Anwendung mit allen Bildschirmgrößen kompatibel ist und die Größe des Layouts korrekt angepasst wird, müssen Sie dieses Attribut nicht verwenden.

Hinweis:Derzeit emuliert der Bildschirmkompatibilitätsmodus nur Bildschirme von Mobilgeräten mit einer Breite von 320 dp. Der Bildschirmkompatibilitätsmodus wird daher nicht angewendet, wenn Ihr Wert für android:compatibleWidthLimitDp größer als 320 ist.

Dieses Attribut wurde mit API-Level 13 eingeführt.

android:largestWidthLimitDp
Mit diesem Attribut können Sie die Aktivierung des Bildschirmkompatibilitätsmodus erzwingen, indem Sie die maximale "kleinste Bildschirmbreite" angeben, für die Ihre Anwendung konzipiert ist. Wenn die kleinste Seite des verfügbaren Bildschirms eines Geräts größer als Ihr Wert ist, wird die Anwendung im Bildschirmkompatibilitätsmodus ausgeführt, ohne dass der Nutzer ihn deaktivieren kann.

Wenn Ihre Anwendung mit allen Bildschirmgrößen kompatibel ist und die Größe des Layouts korrekt angepasst wird, müssen Sie dieses Attribut nicht verwenden. Andernfalls sollten Sie zuerst das Attribut android:compatibleWidthLimitDp verwenden. Verwenden Sie das Attribut android:largestWidthLimitDp nur dann, wenn die Funktion der App nicht mehr funktioniert, wenn sie an größere Bildschirme angepasst wird, und wenn der Bildschirmkompatibilitätsmodus die einzige Möglichkeit ist, um Ihre Anwendung zu verwenden.

Hinweis:Derzeit emuliert der Bildschirmkompatibilitätsmodus nur Bildschirme von Mobilgeräten mit einer Breite von 320 dp. Der Bildschirmkompatibilitätsmodus wird daher nicht angewendet, wenn Ihr Wert für android:largestWidthLimitDp größer als 320 ist.

Dieses Attribut wurde mit API-Level 13 eingeführt.

eingeführt in:
API-Level 4
Siehe auch: