Siamo felici di annunciare che Jetpack WindowManager 1.5.0 è ora stabile.
Questa release si basa sulla solida base di adattabilità di WindowManager, semplificando ulteriormente la creazione di UI adattive e raffinate che hanno un aspetto ottimale su tutte le dimensioni dello schermo. Man mano che l'ecosistema Android continua a crescere, gli utenti interagiscono con le app su una gamma più ampia di dispositivi che mai: da smartphone e pieghevoli a tablet, display connessi, Chromebook e persino display dell'auto in modalità di parcheggio.
WindowManager 1.5 si concentra sulla fornitura di strumenti migliori per questo ambiente di dispositivi eterogeneo.
Novità di WindowManager 1.5
Questa release stabile introduce nuovi punti di interruzione per schermi molto grandi, migliora l'API per l'incorporamento delle attività e offre maggiore flessibilità per il calcolo delle metriche delle finestre.
Nuove classi di dimensioni della finestra: Grande ed Extra large
Il più grande aggiornamento della versione 1.5 è l'aggiunta di due nuove classi di dimensioni della finestra di larghezza: Grande ed Extra large.
Le classi di dimensioni della finestra sono il nostro insieme ufficiale e soggettivo di punti di interruzione del viewport che ti aiutano a progettare e sviluppare layout adattabili. Con la versione 1.5, estendiamo queste linee guida agli schermi che vanno oltre i tablet tipici.
Ecco i nuovi punti di interruzione della larghezza:
- Grande:per larghezze comprese tra 1200 dp e 1600 dp
- Molto grande:per larghezze ≥ 1600 dp
Le diverse classi di dimensioni delle finestre in base alla larghezza del display.
Perché sono importanti?
A partire da Android 16 QPR1 Beta 2, Android supporta i display connessi, consentendo agli utenti di collegare un display esterno al proprio dispositivo e trasformarlo in uno strumento simile a un computer con uno schermo di grandi dimensioni.
Smartphone connesso a un display esterno, con una sessione desktop sul display esterno.
Con questa nuova funzionalità disponibile, le indicazioni su come includere display più grandi sono fondamentali.
Su queste superfici molto grandi, la semplice scalabilità del layout espanso di un tablet non sempre garantisce la migliore esperienza utente. Ad esempio, un client di posta potrebbe mostrare comodamente due riquadri (una casella di posta e un messaggio) nella classe di dimensioni della finestra Espansa. Tuttavia, su un monitor desktop extra large, il client di posta potrebbe visualizzare elegantemente tre o anche quattro riquadri, ad esempio una casella di posta, un elenco di messaggi, i contenuti completi del messaggio e un riquadro di calendario/attività, tutto in una volta.
Fornendo punti di interruzione ufficiali per dimensioni di visualizzazione molto grandi, WindowManager 1.5 ti offre un segnale chiaro per introdurre layout progettati specificamente per un'esperienza desktop produttiva e ricca di informazioni.
Le classi di dimensioni della finestra possono essere calcolate utilizzando computeWindowSizeClass(), che è una funzione di estensione della libreria androidx.window.core.layout che estende il tipo Set<WindowSizeClass>.
Per includere le nuove classi di dimensioni della finestra nel tuo progetto, chiama la funzione dal set WindowSizeClass.BREAKPOINTS_V2 anziché da WindowSizeClass.BREAKPOINTS_V1:
val currentWindowMetrics = WindowMetricsCalculator.getOrCreate() .computeCurrentWindowMetrics(LocalContext.current) val sizeClass = WindowSizeClass.BREAKPOINTS_V2 .computeWindowSizeClass(currentWindowMetrics)
Poi applica il layout corretto quando hai la certezza che la tua app abbia almeno quello spazio:
if(sizeClass.isWidthAtLeastBreakpoint(
WindowSizeClass.WIDTH_DP_LARGE_LOWER_BOUND)){
...
// window is at least 1200 dp wide
}Librerie adattive
La libreria Compose Material 3 Adaptive ti aiuta a creare UI adattive che si adattano automaticamente in base alle configurazioni della finestra correnti, come le classi di dimensioni della finestra o le posture del dispositivo.
La buona notizia è che la libreria è già aggiornata con i nuovi punti di interruzione. A partire dalla versione 1.2 (ora in fase di Release Candidate), le direttive di scaffolding del riquadro predefinite supportano le classi di dimensioni della larghezza della finestra Large ed Extra-large.
Devi solo attivare la funzionalità dichiarando nel file di build Gradle che vuoi utilizzare i nuovi punti di interruzione:
currentWindowAdaptiveInfo( supportLargeAndXLargeWidth = true)
Miglioramenti aggiuntivi
- Incorporamento di attività: salvataggio e ripristino automatici. WindowManager ora può salvare e ripristinare automaticamente lo stato delle divisioni dell'incorporamento di attività. Ciò contribuisce a preservare il layout dell'utente durante la ricreazione del processo, garantendo un'esperienza più stabile e coerente. Gli sviluppatori non devono più salvare e ripristinare manualmente lo stato, ma possono semplicemente attivare il salvataggio automatico impostando la proprietà EmbeddingConfiguration#isAutoSaveEmbeddingState.
- Expanded WindowMetrics: ora puoi calcolare WindowMetrics da un contesto dell'applicazione, non solo da un contesto dell'attività. Ciò offre una maggiore flessibilità per accedere alle informazioni sulle finestre da diverse parti dell'app.
Come iniziare
Per iniziare a utilizzare le nuove classi di dimensioni Grande ed Extra large e altre funzionalità 1.5 nei tuoi progetti Android, aggiorna le dipendenze dell'app in build.gradle.kts all'ultima versione stabile:
dependencies {
implementation("androidx.window:window:1.5.0")
// or, if you're using the WindowManager testing library:
testImplementation("androidx.window:window-testing:1.5.0")
}WindowManager 1.5 è un altro passo avanti per la creazione di app completamente adattive che funzionano su tutti i fattori di forma Android. Consulta le note di rilascio ufficiali per un elenco completo delle modifiche e delle correzioni di bug.
Buona programmazione!
-
Novità sul prodottoSiamo felici di annunciare un traguardo importante per avvicinare il computing mobile e desktop su Android: il supporto dei display connessi ha raggiunto la disponibilità generale con la release Android 16 QPR3.
Francesco Romano • Lettura di 7 minuti -
Novità sul prodottoIl debug wireless su Android ora è più veloce, più affidabile e più facile da configurare che mai. Con ADB Wi-Fi 2.0, abbiamo introdotto un nuovo stack di server e una gestione di rete più intelligente per rispondere direttamente ai feedback degli sviluppatori in merito alle lacune di usabilità.
Steven Jenkins, Sherif Eid, Fabien Sanglard • Lettura di 1 minuto -
Novità sul prodottoQuesta è la release stabile finale per Android Studio Quail. Le nuove funzionalità di Android Studio ti consentono di creare app premium con l'AI in modo efficiente ed efficace.
Amman Asfaw • Lettura di 5 minuti
Ricevi gli ultimi approfondimenti sullo sviluppo per Android direttamente nella tua casella di posta ogni settimana.