<supports-screen>

:
<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"/>
contenute in:
<manifest>
description:

Consente di specificare le dimensioni degli schermi supportate dall'applicazione e di attivare la modalità di compatibilità dello schermo per schermi più grandi di quelli supportati dall'applicazione. È importante utilizzare sempre questo elemento nell'applicazione per specificare le dimensioni dello schermo supportate dall'applicazione.

Nota: la modalità Compatibilità schermo non è una modalità in cui vuoi eseguire l'applicazione. Causa pixelizzazione e sfocatura nell'interfaccia utente a causa dello zoom. Il modo corretto per far funzionare correttamente la tua applicazione su schermi di grandi dimensioni consiste nel seguire la panoramica della compatibilità dello schermo e fornire layout alternativi per schermi di dimensioni diverse.

Un'applicazione "supporta" una determinata dimensione dello schermo se viene ridimensionata correttamente per riempire l'intero schermo. Il ridimensionamento normale applicato dal sistema funziona bene per la maggior parte delle applicazioni e non devi fare altro per far funzionare l'applicazione su schermi più grandi di un dispositivo portatile.

Tuttavia, è spesso importante ottimizzare l'interfaccia utente dell'applicazione per le diverse dimensioni dello schermo fornendo risorse di layout alternative. Ad esempio, puoi modificare il layout di un'attività su tablet rispetto a quando si esegue su un dispositivo portatile.

Tuttavia, se l'applicazione non funziona bene quando viene ridimensionata per adattarsi a schermi di varie dimensioni, puoi utilizzare gli attributi dell'elemento <supports-screens> per stabilire se l'applicazione deve essere distribuita solo su schermi più piccoli o se l'interfaccia utente viene ingrandita, o "ingrandita", per adattarla a schermi più grandi utilizzando la modalità di compatibilità dello schermo del sistema.

Se non progetti per schermi di dimensioni maggiori e il ridimensionamento normale non genera i risultati appropriati, la modalità di compatibilità dello schermo scala la tua UI emulando uno schermo di dimensioni normali e una densità media. Quindi aumenta lo zoom in modo da riempire l'intero schermo. Tieni presente che ciò causa la pixelizzazione e la sfocatura dell'interfaccia utente, quindi è meglio ottimizzarla per gli schermi di grandi dimensioni.

Nota. Android 3.2 ha introdotto nuovi attributi: android:requiresSmallestWidthDp, android:compatibleWidthLimitDp e android:largestWidthLimitDp. Se stai sviluppando la tua applicazione per Android 3.2 e versioni successive, utilizza questi attributi per dichiarare il supporto delle dimensioni dello schermo anziché gli attributi basati su dimensioni dello schermo generalizzate.

Informazioni sulla modalità di compatibilità dello schermo

La modalità di compatibilità dello schermo è l'ultima risorsa per le app che non sono state progettate in modo adeguato per sfruttare schermi di dimensioni maggiori. Questa non è una modalità in cui vuoi che venga eseguita l'app, perché può offrire un'esperienza utente scadente. Esistono due versioni della modalità di compatibilità dello schermo in base alla versione del dispositivo su cui viene eseguita l'app.

Nelle versioni Android dalla 1.6 alla 3.1, il sistema esegue l'applicazione in una finestra denominata "francobollo". Emula uno schermo da 320 dp x 480 dp con un bordo nero che riempie l'area rimanente dello schermo.

Su Android 3.2 e versioni successive, il sistema traccia il layout esattamente come su uno schermo da 320 dp x 480 dp, quindi lo ridimensiona per riempire lo schermo. Questo spesso causa artefatti come sfocatura e pixelizzazione nell'interfaccia utente.

Per ulteriori informazioni su come supportare correttamente schermi di dimensioni diverse in modo da evitare di utilizzare la modalità di compatibilità dello schermo con la tua applicazione, consulta la panoramica sulla compatibilità dello schermo.

:
android:resizeable
Indica se l'applicazione è ridimensionabile per schermi di dimensioni diverse. Questo attributo è "true" per impostazione predefinita. Se è impostata su "false", il sistema esegue l'applicazione in modalità di compatibilità dello schermo su schermi di grandi dimensioni.

Questo attributo è obsoleto. È stata introdotta per facilitare la transizione delle applicazioni da Android 1.5 ad Android 1.6, quando è stato introdotto per la prima volta il supporto per più schermi. Non utilizzarlo.

android:smallScreens
Indica se l'applicazione supporta i fattori di forma a schermo "piccolo". Uno schermo di piccole dimensioni è definito come uno con proporzioni più piccole rispetto allo schermo "normale" o a uno schermo HVGA tradizionale. Un'applicazione che non supporta schermi di piccole dimensioni non è disponibile per i dispositivi con schermo piccolo di servizi esterni, come Google Play, perché la piattaforma non può fare molto per far funzionare un'applicazione di questo tipo su uno schermo più piccolo. Questo è "true" per impostazione predefinita.
android:normalScreens
Indica se un'applicazione supporta i fattori di forma dello schermo "normali". Tradizionalmente, si tratta di uno schermo HVGA a media densità, ma anche le caratteristiche WQVGA a bassa e WVGA ad alta densità sono considerate normali. Questo attributo è "true" per impostazione predefinita.
android:largeScreens
Indica se l'applicazione supporta i fattori di forma per schermi "grandi". Per schermo di grandi dimensioni si intende uno schermo molto più grande di quello di un telefono "normale". Di conseguenza, potrebbe richiedere un'attenzione speciale da parte dell'applicazione per farne un buon utilizzo, anche se potrebbe dipendere dal ridimensionamento da parte del sistema per riempire lo schermo.

Il valore predefinito varia a seconda della versione, quindi è meglio dichiarare esplicitamente questo attributo. Tieni presente che l'impostazione su "false" in genere consente la modalità di compatibilità dello schermo.

android:xlargeScreens
Indica se l'applicazione supporta i fattori di forma dello schermo "molto grandi". Per schermo molto grande si intende uno schermo molto più grande rispetto a uno schermo "grande", ad esempio un tablet o un dispositivo ancora più grande. Per un buon utilizzo, potrebbe richiedere un'attenzione particolare da parte dell'applicazione, anche se potrebbe dipendere dal ridimensionamento da parte del sistema per riempire lo schermo.

Il valore predefinito varia a seconda della versione, quindi è meglio dichiarare esplicitamente questo attributo. Tieni presente che l'impostazione su "false" in genere consente la modalità di compatibilità dello schermo.

Questo attributo è stato introdotto nel livello API 9.

android:anyDensity
Indica se l'applicazione include risorse per adattarsi a qualsiasi densità di schermo.

Per le applicazioni che supportano Android 1.6 (livello API 4) e versioni successive, questo valore è "true" per impostazione predefinita. Non impostarlo su "false" a meno che tu non sia assolutamente sicuro che sia necessario per il funzionamento dell'applicazione. Potrebbe essere necessario disattivare questa opzione solo se la tua app manipola direttamente le bitmap. Per ulteriori informazioni, consulta la Panoramica sulla compatibilità dello schermo.

android:requiresSmallestWidthDp
Specifica il valore minimo di smallestWidth richiesto per l'app. Il valore smallestWidth è la dimensione più corta dello spazio sullo schermo, in unità dp, che deve essere disponibile per l'UI dell'applicazione. ovvero la più breve tra le due dimensioni disponibili per lo schermo.

Affinché un dispositivo venga considerato compatibile con la tua applicazione, il suo valore smallestWidth deve essere uguale o superiore a questo valore. In genere, il valore che fornisci a questa metrica è la "larghezza minima" supportata dal layout, indipendentemente dall'orientamento corrente dello schermo.

Ad esempio, lo schermo di uno smartphone tipico ha una smallestWidth di 320 dp, un tablet da 7 pollici ha una smallestWidth di 600 dp e un tablet da 10 pollici ha una smallestWidth di 720 dp. Questi valori sono generalmente smallestWidth perché sono la dimensione più breve dello spazio disponibile sullo schermo.

Le dimensioni in base alle quali viene confrontato il valore prendono in considerazione le decorazioni dello schermo e l'interfaccia utente di sistema. Ad esempio, se il dispositivo ha alcuni elementi UI permanenti sul display, il sistema dichiara che il valore smallestWidth del dispositivo è inferiore alle dimensioni effettive dello schermo, in quanto si tratta di pixel dello schermo non disponibili per la tua UI.

Se l'applicazione viene ridimensionata correttamente per schermi di dimensioni ridotte, fino alle dimensioni"piccole" o a una larghezza minima di 320 dp, non è necessario utilizzare questo attributo. In caso contrario, utilizza per questo attributo un valore che corrisponda al valore minimo utilizzato dalla tua applicazione per il qualificatore di larghezza dello schermo minore (sw<N>dp).

Attenzione: il sistema Android non presta attenzione a questo attributo, quindi non influisce sul comportamento della tua applicazione in fase di runtime. Viene invece utilizzato per abilitare i filtri per la tua applicazione su servizi come Google Play. Tuttavia, al momento Google Play non supporta questo attributo per l'applicazione di filtri su Android 3.2, quindi continua a utilizzare gli altri attributi relativi alle dimensioni se la tua applicazione non supporta gli schermi piccoli.

Questo attributo è stato introdotto nel livello API 13.

android:compatibleWidthLimitDp
Questo attributo consente di attivare la modalità di compatibilità dello schermo come funzionalità facoltativa per l'utente specificando la "larghezza minima dello schermo" massima per cui è stata progettata l'applicazione. Se il lato più piccolo dello schermo disponibile di un dispositivo è superiore al tuo valore qui, gli utenti possono comunque installare la tua applicazione, ma avranno la possibilità di eseguirla in modalità di compatibilità dello schermo.

Per impostazione predefinita, la modalità di compatibilità dello schermo è disattivata e il layout viene ridimensionato per adattarsi al solito schermo. Nella barra di sistema è disponibile un pulsante che consente all'utente di attivare/disattivare la modalità di compatibilità dello schermo.

Se la tua applicazione è compatibile con tutte le dimensioni dello schermo e il suo layout viene ridimensionato correttamente, non è necessario utilizzare questo attributo.

Nota: al momento, la modalità di compatibilità dello schermo emula solo gli schermi dei telefoni con una larghezza di 320 dp, pertanto la modalità di compatibilità dello schermo non viene applicata se il valore di android:compatibleWidthLimitDp è maggiore di 320.

Questo attributo è stato introdotto nel livello API 13.

android:largestWidthLimitDp
Questo attributo consente di forzare l'attivazione della modalità di compatibilità dello schermo specificando la "larghezza minima dello schermo" massima per cui è stata progettata l'applicazione. Se il lato più piccolo dello schermo disponibile di un dispositivo è superiore al tuo valore qui, l'applicazione viene eseguita in modalità di compatibilità dello schermo, senza che l'utente possa disattivarla.

Se la tua applicazione è compatibile con tutte le dimensioni dello schermo e il suo layout viene ridimensionato correttamente, non è necessario utilizzare questo attributo. In caso contrario, ti consigliamo di utilizzare prima l'attributo android:compatibleWidthLimitDp. Utilizza l'attributo android:largestWidthLimitDp solo quando la tua applicazione non funziona correttamente quando viene ridimensionata per schermi più grandi e la modalità di compatibilità dello schermo è l'unico modo in cui l'applicazione può essere utilizzata.

Nota: al momento, la modalità di compatibilità dello schermo emula solo gli schermi dei telefoni con una larghezza di 320 dp, pertanto la modalità di compatibilità dello schermo non viene applicata se il valore di android:largestWidthLimitDp è maggiore di 320.

Questo attributo è stato introdotto nel livello API 13.

introdotto in:
Livello API 4
vedi anche: