Siamo felici di annunciare che Material 3 Adaptive 1.2.0 è ora stabile.
Questa release continua a basarsi sulle fondamenta delle versioni precedenti, espandendo il supporto a più punti di interruzione per le classi di dimensioni della finestra e a nuove strategie per posizionare automaticamente i riquadri di visualizzazione.
Novità di Material 3 Adaptive 1.2.0
Questa release stabile si basa sul supporto di WindowManager 1.5.0 per i punti di interruzione di dimensioni grandi e molto grandi e introduce le nuove strategie di ridisposizione e levitazione per ListDetailPaneScaffold e SupportingPaneScaffold.
Nuove classi di dimensioni della finestra: grandi e molto grandi
WindowManager 1.5.0 ha introdotto due nuovi punti di interruzione per la classe di dimensioni della finestra in larghezza per supportare finestre ancora più grandi della classe di dimensioni della finestra espansa. I punti di interruzione grandi (L) e molto grandi (XL) possono essere abilitati aggiungendo il seguente parametro alla chiamata currentWindowAdaptiveInfo() nel codebase:
currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)
Questo flag consente alla libreria di restituire anche i punti di interruzione L e XL quando sono necessari.
Nuove strategie adattive: ridisposizione e levitazione
Disporre i contenuti e i riquadri di visualizzazione in una finestra è un'attività complessa che deve tenere conto di molti fattori, a partire dalle dimensioni della finestra. Con la nuova libreria Material 3 Adaptive, due nuove tecnologie possono aiutarti a ottenere un layout adattivo con il minimo sforzo.
Con la ridisposizione, i riquadri vengono riorganizzati quando le dimensioni o le proporzioni della finestra cambiano, posizionando un secondo riquadro a lato del primo quando la finestra è abbastanza larga o ridisponendo il secondo riquadro sotto il primo quando la finestra è più alta. Questa tecnica si applica anche quando la finestra diventa più piccola: i contenuti vengono ridisposti nella parte inferiore.
Ridisposizione di un riquadro in base alle dimensioni della finestra
Sebbene la ridisposizione sia un'opzione incredibile in molti casi, potrebbero esserci situazioni in cui i contenuti potrebbero dover essere ancorati a un lato della finestra o levitare sopra di essa. La strategia di levitazione non solo ancora i contenuti, ma ti consente anche di personalizzare funzionalità come la possibilità di trascinamento, il ridimensionamento e persino la schermata di sfondo.
Levitazione di un riquadro dal lato al centro in base alle proporzioni
Le strategie di flusso e levitazione possono essere dichiarate all'interno del costruttore Navigator utilizzando il parametro adaptStrategies ed entrambe le strategie possono essere applicate ai scaffolds di riquadri di dettaglio e di supporto:
val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>( adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies( detailPaneAdaptStrategy = AdaptStrategy.Reflow( reflowUnder = ListDetailPaneScaffoldRole.List ), extraPaneAdaptStrategy = AdaptStrategy.Levitate( alignment = Alignment.Center ) ) )
Per scoprire di più su come sfruttare queste nuove strategie adattive, consulta il sito web di Material e il codice campione completo su GitHub.
-
Novità sui prodottiSu Google Play, ci impegniamo a offrire la migliore esperienza possibile agli utenti, garantendo al contempo che gli sviluppatori dispongano degli strumenti e dell'adattabilità necessari per avere successo.
Paul Feng • Lettura di 3 minuti -
Novità sui prodottiL'anno scorso abbiamo introdotto la verifica dello sviluppatore Android per rafforzare la sicurezza dell'ecosistema e impedire agli utenti malintenzionati di nascondersi dietro l'anonimato per rilasciare app dannose.
Matthew Forsythe • Lettura di 2 minuti -
Novità sui prodottiDalle sovrapposizioni aumentate agli ambienti completamente immersivi, l'ecosistema Android XR si sta espandendo rapidamente e Samsung Galaxy XR è già disponibile.
Stevan Silva, Vinny DaSilva • Lettura di 3 minuti
Ricevi settimanalmente nella tua casella di posta gli ultimi approfondimenti sullo sviluppo di Android.