Notizie sui prodotti

Material 3 Adaptive 1.2.0 è stabile

2 minuti di lettura
Rob Orgiu
Ingegnere per le relazioni con gli sviluppatori

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 delle finestre 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 delle finestre: grandi e molto grandi

newwindow.png


WindowManager 1.5.0 ha introdotto due nuovi punti di interruzione per la classe di dimensioni delle finestre di larghezza per supportare finestre ancora più grandi rispetto alla classe di dimensioni delle finestre espanse. 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 ogni volta che 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.

material.jpg

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 levitati 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.


 

material2.jpg

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 dei 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.

Scritto da:

Continua a leggere