Le app per Android vengono eseguite su dispositivi di tutti i tipi: smartphone, tablet, dispositivi pieghevoli, Chromebook, auto, TV e persino XR. Per adattarsi a questo ambiente diversificato, la tua app deve supportare tutti i fattori di forma e le dimensioni dei display dei dispositivi.
Android 16 (livello API 36) consente alle app di adattarsi a fattori di forma e dimensioni dello schermo diversi ignorando le limitazioni delle app per orientamento dello schermo, proporzioni e ridimensionamento. Le sostituzioni si applicano ai dispositivi con larghezza minima >= 600dp che definisce quanto segue:
- Tablet
- Display interni di dispositivi pieghevoli con schermi di grandi dimensioni
- Finestre delle app (su tutti i fattori di forma)
Le app che hanno come target il livello API 36 sono ridimensionabili e possono passare alla modalità multi-finestra (equivalente a resizeableActivity="true"
) se la larghezza minima del display è >= 600 dp.

Android 16 applica un modello coerente di design delle app adattabili che ottimizza l'esperienza utente rispettando le preferenze dell'utente per l'orientamento del dispositivo, il formato e le dimensioni del display.
Modifiche
I seguenti attributi e API manifest vengono ignorati per le app destinate ad Android 16 (livello API 36) su schermi di grandi dimensioni:
Attributo o API | Valori ignorati |
---|---|
screenOrientation |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
resizeableActivity |
tutti |
minAspectRatio |
tutti |
maxAspectRatio |
tutti |
setRequestedOrientation() getRequestedOrientation() |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
Eccezioni
Le eccezioni alle modifiche di Android 16 includono:
Display più piccoli di sw600dp (la maggior parte degli smartphone, dei dispositivi con cerniera e dei display esterni dei dispositivi pieghevoli con schermo grande)
Giochi, in base al flag
android:appCategory
Pubblica il tuo gioco utilizzando Android App Bundle e la funzionalità di firma dell'app di Google Play, in modo da consentire a Google Play di gestire il flag e fornire automaticamente i vantaggi degli app bundle. Consulta anche la panoramica del file manifest dell'app.
L'utente attiva il comportamento predefinito dell'app nelle impostazioni delle proporzioni
Disattiva
Per disattivare il comportamento del livello API 36, dichiara la proprietà manifestPROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY
.
Per disattivare un'attività specifica, imposta la proprietà nell'elemento <activity>
:
<activity ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</activity>
Per disattivare la funzionalità per l'intera app, imposta la proprietà nell'elemento <application>
:
<application ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</application>
Test
Per verificare se la tua app è interessata dalle modifiche di Android 16, utilizza gli emulatori della serie Pixel Tablet e Pixel Fold in Android Studio e imposta targetSdkPreview = "Baklava"
nel file del modulo build.gradle
della tua app.
In alternativa, utilizza il framework di compatibilità delle app sui tuoi dispositivi di test attivando il flag UNIVERSAL_RESIZABLE_BY_DEFAULT (vedi Strumenti del framework di compatibilità).
Puoi automatizzare i test con il framework di test Espresso e le API di test di Jetpack compose.
Problemi comuni
Le app che limitano l'orientamento del dispositivo, le proporzioni o la possibilità di ridimensionare le app potrebbero avere problemi di visualizzazione su Android 16, ad esempio layout sovrapposti.
Per offrire un'esperienza utente ottimale su smartphone, dispositivi pieghevoli, tablet, Chromebook, display dell'auto o XR, crea un'app adattabile e reattiva:
Evita componenti dell'interfaccia utente allungati: i layout progettati per gli schermi degli smartphone standard in formato verticale probabilmente non supporteranno altri rapporti di aspetto. Ad esempio, gli elementi dell'interfaccia utente che riempiono l'intera larghezza del display verranno visualizzati in formato orizzontale. Aggiungi una larghezza massima ai componenti per evitare che si allunghino.
Attiva lo scorrimento dei layout:se i layout non scorrono, gli utenti potrebbero non essere in grado di accedere a pulsanti o altri elementi dell'interfaccia utente che non sono visibili sullo schermo in orientamento orizzontale. Consenti ai layout delle app di scorrere per assicurarti che tutti i contenuti siano accessibili indipendentemente dall'altezza del display.
Assicurati la compatibilità della fotocamera in modalità Ritratto e Orizzontale: le anteprime del mirino della fotocamera che presuppongono un formato e un'inclinazione specifici rispetto al sensore della fotocamera possono comportare anteprime allungate o capovolte su display non conformi. Assicurati che i mirini ruotino correttamente con le variazioni di orientamento. Consenti ai mirini di adattarsi alle proporzioni dell'interfaccia utente diverse da quelle del sensore.
Conserva lo stato durante le modifiche delle dimensioni della finestra:la rimozione delle limitazioni di orientamento e proporzioni può comportare frequenti modifiche delle dimensioni della finestra dell'app in base al modo in cui gli utenti preferiscono utilizzare un'app, ad esempio ruotando, chiudendo o aprendo un dispositivo o modificando le dimensioni di un'app in modalità multi-finestra o desktop. Le modifiche alla configurazione, ad esempio le modifiche all'orientamento e il ridimensionamento della finestra, causano la ricreazione delle attività (per impostazione predefinita). Per garantire un'esperienza utente ottimale, mantieni lo stato dell'app durante le modifiche di configurazione in modo che l'app conservi i dati (ad esempio gli input dei moduli) e gli utenti possano mantenere il contesto.
Utilizza le classi di dimensioni della finestra:supporta diverse dimensioni della finestra e proporzioni senza personalizzazioni specifiche per il dispositivo. Supponiamo che le dimensioni delle finestre varino di frequente. Utilizza le classi di dimensioni della finestra per caratterizzare le dimensioni della finestra, quindi applica un layout adattivo appropriato.
Crea layout adattabili:all'interno delle classi di dimensioni della finestra, i layout adattabili si adattano alle variazioni delle dimensioni del display per creare sempre una presentazione ottimale dell'app.
Spostamenti
Android 16 (2025): il supporto di tutti gli orientamenti e i rapporti di aspetto e per il ridimensionamento delle app è l'esperienza di base per i dispositivi con schermi grandi (larghezza dello schermo più piccola >= 600 dp) per le app che hanno come target il livello API 36. Tuttavia, gli sviluppatori possono disattivare questa funzionalità.
Rilascio di Android nel 2026: il supporto di tutti gli orientamenti e i rapporti larghezza/altezza e la possibilità di ridimensionare le app costituiranno l'esperienza di base per i dispositivi con schermi di grandi dimensioni (larghezza dello schermo minima >= 600 dp) per le app che hanno come target il livello API 37. Gli sviluppatori non avranno la possibilità di disattivare questa funzionalità.
Livello API target | Dispositivi applicabili | Disattivazione dello sviluppatore consentita |
---|---|---|
36 (Android 16) | Dispositivi con schermo grande (larghezza dello schermo minima >= 600 dp) | Sì |
37 (prevista) | Dispositivi con schermo grande (larghezza dello schermo minima >= 600 dp) | No |
Le scadenze per scegliere come target livelli API specifici sono specifiche per l'app store. Google Play richiederà alle app di avere come target il livello API 36 a partire da agosto 2026 e il livello API 37 a partire da agosto 2027.
Risorse aggiuntive
- Modifiche al comportamento: app che hanno come target Android 16 o versioni successive
- Creare app adattive
- Cosa fare e cosa non fare con le campagne adattabili