Novità sul prodotto

Material 3 Adaptive 1.2.0 è stabile

Lettura di 2 minuti
Rob Orgiu
Developer Relations Engineer

Siamo felici di annunciare che Material 3 Adaptive 1.2.0 è ora stabile.

Questa release continua a basarsi sulle fondamenta delle versioni precedenti, estendendo 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 breakpoint grandi e molto grandi e introduce le nuove strategie di reflow e levitazione per ListDetailPaneScaffold e SupportingPaneScaffold

Nuove classi di dimensioni delle finestre: Grande ed Extra large

newwindow.png


WindowManager 1.5.0 ha introdotto due nuovi punti di interruzione per la classe di dimensioni della finestra di larghezza per supportare finestre ancora più grandi rispetto alla classe di dimensioni della finestra Espansa. I breakpoint Large (L) ed Extra large (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 breakpoint L e XL quando sono necessari.

Nuove strategie adattive: reflow e levitate

Disporre i riquadri dei contenuti e della visualizzazione in una finestra è un'attività complessa che deve tenere conto di molti fattori, a partire dalle dimensioni della finestra. Con la nuova libreria adattiva Material 3, due nuove tecnologie possono aiutarti a ottenere un layout adattivo con il minimo sforzo.

Con il reflow, 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 riposizionando il secondo riquadro sotto il primo quando la finestra è più alta. Questa tecnica si applica anche quando la finestra si riduce: i contenuti vengono ridistribuiti in basso.

material.jpg

Ridisposizione di un riquadro in base alle dimensioni della finestra

Sebbene il reflow sia un'opzione incredibile in molti casi, potrebbero esserci situazioni in cui i contenuti devono essere ancorati a un lato della finestra o sollevati sopra. La strategia di levitazione non solo aggancia i contenuti, ma ti consente anche di personalizzare funzionalità come la possibilità di trascinamento, ridimensionamento e persino la velatura dello sfondo.


 

material2.jpg

Spostamento 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 al riquadro elenco-dettagli e al riquadro di supporto scaffolds:

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 Material e il codice campione completo su GitHub.

Scritto da:

Continua a leggere