Comporre Material 3 Adaptive

  
Utilizza la libreria adattiva Material 3 per creare UI adattive che si adattano automaticamente in base alle configurazioni della finestra corrente, come le classi di dimensioni della finestra o le posture del dispositivo. La libreria fornisce sia implementazioni di impalcature predefinite sia i composable dei componenti di base necessari per creare esperienze personalizzate.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Alpha Release
2 luglio 2025 1.1.0 - - 1.2.0-alpha08

Dichiarazione di dipendenze

Per aggiungere una dipendenza da Compose, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti che ti servono nel file build.gradle per la tua app o il tuo modulo:

Groovy

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.2.0-alpha08")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08"
}

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa libreria. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Compose Material3 Adaptive versione 1.2

Versione 1.2.0-alpha08

2 luglio 2025

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha08 viene ritirata. La versione 1.2.0-alpha08 contiene questi commit.

Versione 1.2.0-alpha07

18 giugno 2025

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha07 viene ritirata. La versione 1.2.0-alpha07 contiene questi commit.

Modifiche alle API

  • Rendi la funzione currentWindowAdaptiveInfo() supporti le classi di dimensioni della larghezza della finestra grandi ed extra large e promuovi le funzioni calculatePosture() e currentWindowDpSize() alla versione stabile. (I92e97)

Versione 1.2.0-alpha06

20 maggio 2025

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha06 viene ritirata. La versione 1.2.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Le funzioni di calcolo della direttiva di scaffolding del riquadro predefinito ora supportano le classi di dimensioni della larghezza della finestra L e XL.

Modifiche alle API

  • Fai in modo che Modifier.paneExpansionDraggable fornisca la semantica di accessibilità predefinita e promuova le API pertinenti a stabili. (Idb818)
  • Supporto del trascinamento per ridimensionare i riquadri sollevati (Idadd3)
  • Supporto dei riquadri per i riquadri sollevati (I9b091)

Versione 1.2.0-alpha05

7 maggio 2025

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha05 viene ritirata. La versione 1.2.0-alpha05 contiene questi commit.

Nuove funzionalità

  • I layout adattabili Material3 ora supportano le strategie di adattamento Levitated che possono trasformare un riquadro in un popup mobile.

Modifiche alle API

  • Rendere le funzioni di ridimensionamento della finestra corrente multipiattaforma (Ie4172)
  • Introduzione dei movimenti dei riquadri per i riquadri sollevati (Ic9dc3)
  • Introduzione della strategia di levitazione per l'adattamento (I1ba7c)

Correzioni di bug

  • Correzione dell'utilizzo dell'ambito della coroutine negli esempi adattivi (7631016)

Versione 1.2.0-alpha04

23 aprile 2025

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha04 viene ritirata. La versione 1.2.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Le strategie di riformattazione sono ora disponibili con ListDetailPaneScaffold e SupportingPaneScaffold, che riformattano il riquadro associato in un'impostazione di layout a un solo riquadro.

Modifiche alle API

  • Aggiungi il titolare dello stato salvabile a PaneScaffoldScope (Id9299)
  • Introduzione della strategia di reflow per l'adattamento (I75c6a)

Correzioni di bug

  • È stato corretto il bug che impediva l'animazione dei riquadri nella prima transizione. (Ib0415)
  • Correzione del problema relativo alle altezze preferite non funzionanti. (I1913b)
  • Correzione del bug per cui la direttiva scaffold non viene aggiornata correttamente. (0403ab)

Versione 1.2.0-alpha03

9 aprile 2025

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha03 viene ritirata. La versione 1.2.0-alpha03 contiene questi commit.

Correzioni di bug

  • ​​Correzione della visualizzazione errata della maniglia di trascinamento nel layout a un solo riquadro. (806e443 )

Aggiornamenti delle dipendenze

  • Questa libreria ora ha come target il livello del linguaggio Kotlin 2.0 e richiede KGP 2.0.0 o versioni successive. (Idb6b5)

Versione 1.2.0-alpha02

26 marzo 2025

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha02 viene ritirata. La versione 1.2.0-alpha02 contiene questi commit.

Versione 1.2.0-alpha01

12 marzo 2025

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha01 viene ritirata. La versione 1.2.0-alpha01 contiene questi commit.

Modifiche alle API

  • Introduci il modificatore PaneScaffoldScope.preferredHeight per gli sviluppatori per fornire le altezze preferite del riquadro che verranno applicate con le nuove strategie di adattamento che introdurremo. (I957dd, b/220960090)
  • Rinomina i tipi ComponentOverride in Override e i tipi ComponentOverrideContext in OverrideScope. (Id973c)
  • Rinomina alcuni metodi di override dei componenti. (I222b3)

Compose Material3 Adaptive versione 1.1

Versione 1.1.0

12 marzo 2025

androidx.compose.material3.adaptive:adaptive-*:1.1.0 viene ritirata. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

Versione 1.1.0-rc01

26 febbraio 2025

androidx.compose.material3.adaptive:adaptive-*:1.1.0-rc01 viene ritirata. La versione 1.1.0-rc01 contiene questi commit.

Correzioni di bug

  • Disattiva la scalabilità del gesto Indietro predittivo per lo scaffold a tre riquadri (ab6fd0b)

Versione 1.1.0-beta02

12 febbraio 2025

androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta02 viene ritirata. La versione 1.1.0-beta02 contiene questi commit.

Modifiche alle API

  • È stato modificato il modo in cui isPredictiveBackInProgress viene impostato nelle funzioni di animazione MutableThreePaneScaffoldState per preservare la coerenza dello stato. (Idc97f)

Correzioni di bug

  • Il comportamento predefinito di NavigableListDetailPaneScaffold e NavigableSupportingPaneScaffold è stato modificato in PopUntilScaffoldValueChange per coerenza con il resto della libreria. (I873f0)
  • Imposta l'ordine di attraversamento corretto dell'accessibilità dei riquadri. (67d030)
  • Risolvi il problema per cui gli stati dei contenuti del riquadro non vengono salvati. (88b0ff)
  • Supporta azioni di accessibilità alternative al trascinamento. (28266d)
  • Annuncia la divisione corrente del riquadro dopo la modifica. (0c3a80)

Versione 1.1.0-beta01

29 gennaio 2025

androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta01 viene ritirata. La versione 1.1.0-beta01 contiene questi commit.

Modifiche alle API

  • Introduci le funzioni di fabbrica per creare ancore di espansione del riquadro di tipo offset dall'inizio e dalla fine, rispettivamente. (I2eb21)
  • Sigilla l'interfaccia PaneMotion e rimuovi i metodi di transizione predefiniti. (Ifc4c7)
  • Introduci le API per ottenere l'ancora corrente e animare un'ancora. (Icf95d)
  • Introduzione delle API di accessibilità per l'espansione del riquadro (Icc669)
  • Cambia il tipo di PaneScaffoldParentData.preferredWidth in DP. (Id98ee)

Versione 1.1.0-alpha09

15 gennaio 2025

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha09 viene ritirata. La versione 1.1.0-alpha09 contiene questi commit.

Modifiche alle API

  • Aggiungi e utilizza la nuova annotazione sperimentale ExperimentalMaterial3AdaptiveComponentOverrideApi. (Id45aa)
  • Nascondi ThreePaneScaffoldHorizontalOrder.toLtrOrder. (I6f8d2)
  • ThreePaneScaffoldPredictiveBackHandler è stato reso pubblico. (I1a995, b/370543873)
  • Aggiunta della proprietà isPredictiveBackInProgress a ThreePaneScaffoldState. (I1a995, b/370543873)
  • Crea un meccanismo di override per AnimatedPane per supportare le implementazioni di sideloading per diversi fattori di forma. (Id7622)

Correzioni di bug

  • È stato risolto il problema per cui la direzione di assestamento non ha ancore. (df8257d)

Versione 1.1.0-alpha08

12 dicembre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha08 viene ritirata. La versione 1.1.0-alpha08 contiene questi commit.

Modifiche alle API

  • Introduci la funzione currentWindowDpSize. (I99125, b/296300441)
  • Esporre PaneScaffoldParentData e ThreePaneScaffoldHorizontalOrder.toLtrOrder() (I2d6b7)
  • Rimuovi PaneScaffoldMotionScope e trasformalo in un campo in PaneScaffoldTransitionScope. Inoltre, rinominalo in PaneScaffoldMotionDataProvider e rimuovi l'accesso alla struttura dei dati sottostante di PaneMotionData. Fornisci invece metodi getter e di loop per accedere ai dati. (Id8884)
  • Crea un meccanismo di override per ThreePaneScaffold per supportare le implementazioni di sideloading per diversi fattori di forma. (I5280f)
  • Imposta lo stato di espansione del riquadro su null per impostazione predefinita (Ia65f8, b/376394520)

Versione 1.1.0-alpha07

13 novembre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07 viene ritirata. La versione 1.1.0-alpha07 contiene questi commit.

Modifiche alle API

  • Rimuovi l'implementazione del punto di trascinamento nella libreria adattiva e incoraggia le persone a utilizzare la versione M3. Allo stesso tempo, introduci un modificatore per fornire la possibilità di trascinare l'espansione del riquadro a un composable di gestione del trascinamento fornito. Nascondi anche DraggableState come dettaglio di implementazione, in modo da poterlo modificare in un secondo momento, se necessario. (Ib50cd)
  • Sposta il punto di ingresso della personalizzazione del movimento del riquadro dalle funzioni di scaffolding a AnimatedPane in base al feedback di UXR. (I10f72)
  • Introduzione del supporto per lo scorrimento rapido e delle specifiche di animazione personalizzate per l'espansione del riquadro. (Ie207d, b/362584341)

Correzioni di bug

  • Risolvi i problemi di cronologia predittiva in caso di annullamento. (36a3e0a), (b/369899645)

Versione 1.1.0-alpha06

30 ottobre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06 viene ritirata. La versione 1.1.0-alpha06 contiene questi commit.

Modifiche alle API

  • Aggiungi FloatRange a PaneScaffoldTransitionScope.motionProgress. (Iac0dd)
  • Modifica il tipo di parametri del navigatore in tipi generici negli scaffold navigabili. (I1da6e)

Versione 1.1.0-alpha05

16 ottobre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05 viene ritirata. La versione 1.1.0-alpha05 contiene questi commit.

Modifiche alle API

  • Introduci la classe delle specifiche di animazione per garantire un comportamento di movimento più coerente e una maggiore espandibilità futura. (I2d3cc)
  • Fornisci il tipo di movimento e rinomina currentXXXXX in PaneMotionData in originXXXX. (I7c61a)

Versione 1.1.0-alpha04

2 ottobre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04 viene ritirata. La versione 1.1.0-alpha04 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il supporto di Indietro predittivo a NavigableListDetailPaneScaffold e NavigableSupportingPaneScaffold. (I4dc21, b/359616816)

Modifiche alle API

  • Aggiunta di ThreePaneScaffoldState a ThreePaneScaffoldNavigator. I metodi di navigazione sono stati resi suspend per supportare la navigazione con animazione. Aggiunto seekBack per supportare gli stati di navigazione parziali (ad es. indietro predittivo). (I5a651, b/359616816)
  • È stato aggiunto MutableThreePaneScaffoldState per controllare la transizione tra i valori dello scaffold. Il ThreePaneScaffoldState esistente è stato reso di sola lettura. (Idb3c6)
  • Esporre le implementazioni del movimento del riquadro predefinito (I95a7b)
  • Abilita l'impostazione dell'ancoraggio iniziale dello stato di espansione del riquadro (Ie41b3, b/362350560)

Correzioni di bug

  • Imponi una dimensione minima del target di tocco di 48 x 48 dp del punto di trascinamento (7ce6635, b/366018217)
  • Ripristina la posizione ancorata dopo le modifiche alla configurazione (3c9fc6b, b/362353672)

Versione 1.1.0-alpha03

18 settembre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03 viene ritirata. La versione 1.1.0-alpha03 contiene questi commit.

Versione 1.1.0-alpha02

4 settembre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02 viene ritirata. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • La personalizzazione del movimento (I0bf9c), (I80e66) è supportata per consentire ai maker di modificare i movimenti predefiniti durante le modifiche dello stato dello scaffold adattivo. I creator possono scegliere tra una serie di transizioni di entrata e uscita predefinite o implementare transizioni personalizzate pure con le informazioni fornite tramite i nuovi ambiti di movimento.
  • Implementa l'animazione di dissolvenza dei punti di trascinamento per l'espansione del riquadro (46e3c69)
  • Rendere PaneExpansionState salvabile (61ff76f)

Modifiche alle API

  • Aggiungi API di espansione del riquadro mancanti agli scaffold (Ic5bc0)
  • ThreePaneScaffoldDestinationItem.content rinominato in contentKey. L'argomento del tipo predefinito rememberListDetailPaneScaffoldNavigator e rememberSupportingPaneScaffoldNavigator è stato modificato da Nothing a Any. (I58749)
  • Contrassegna ThreePaneScaffoldState come stabile (I64aec)
  • Rendi i parametri del punto di trascinamento con ambito (Ic0aa2)

Versione 1.1.0-alpha01

21 agosto 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01 viene ritirata. La versione 1.1.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Introduci il supporto per l'espansione del riquadro degli scaffold adattivi.

Modifiche alle API

  • Introduzione delle API di espansione del riquadro al pubblico (I301d6)
  • È stato introdotto ThreePaneScaffoldState per controllare le transizioni di valore nel riquadro di controllo. Sono stati aggiunti sovraccarichi di ListDetailPaneScaffold e SupportingPaneScaffold che accettano questo stato. (I5db3b)
  • Introduzione del tasto di espansione del riquadro e dell'interfaccia del fornitore di chiavi (Id621f)

Correzioni di bug

  • Correzione del calcolo errato della partizione quando è presente una cerniera esclusa. (9dfd483)

Compose Material3 Adaptive versione 1.0

Versione 1.0.0

4 settembre 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0 viene ritirata. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

Versione 1.0.0-rc01

21 agosto 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01 viene ritirata. La versione 1.0.0-rc01 contiene questi commit.

Correzioni di bug

  • Correzione del calcolo errato della partizione quando è presente una cerniera esclusa. (9dfd483)

Versione 1.0.0-beta04

26 giugno 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04 viene ritirata. La versione 1.0.0-beta04 contiene questi commit.

Correzioni di bug

  • Risolve il problema per cui, quando i limiti della cerniera vengono aggiornati, il layout non viene aggiornato di conseguenza. (71e9cf1)

Versione 1.0.0-beta03

12 giugno 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03 viene ritirata. La versione 1.0.0-beta03 contiene questi commit.

Correzioni di bug

  • Corregge gli arresti anomali causati da una risoluzione errata delle dipendenze in beta02.

Versione 1.0.0-beta02

29 maggio 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02 viene ritirata. La versione 1.0.0-beta02 contiene questi commit.

Versione 1.0.0-beta01

14 maggio 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01 viene ritirata. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha12

1° maggio 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12 viene ritirata. La versione 1.0.0-alpha12 contiene questi commit.

Modifiche alle API

  • Aggiungi informazioni su isFlat a HingeInfo (Ie0516, b/333784198)
  • Rendere le API adattive non sperimentali (I1d038)
  • Rendere le API di layout adattivo non sperimentali (Id23df)
  • BackNavigationBehavior è stato modificato da un'enumerazione a una classe di valori (Id8757)

Correzioni di bug

  • Modifica la frazione di transizione in una lambda (I6f5a9)
  • Risolvi il problema dello stato iniziale di SizeTracker (18326a9)
  • Includi l'elenco delle cerniere nel controllo di uguaglianza Posture (6687137)

Versione 1.0.0-alpha11

17 aprile 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11 viene ritirata. La versione 1.0.0-alpha11 contiene questi commit.

Modifiche alle API

  • Rendi sigillate le interfacce dell'ambito. (Iefa57)
  • Introduci AnimatedPaneScope. (I62d73, b/332750742)
  • Assicurati che AdaptStrategy sia sigillato e stabile. (Ia28b2)
  • Introduci un metodo di copia di PaneScaffoldDirective. (I9291f)
  • Contrassegna ThreePaneScaffoldScope come sperimentale. (I9d527)
  • Fornisci API di scaffolding facili da usare che supportano la navigazione. (I263f0, b/321010778)

Versione 1.0.0-alpha10

3 aprile 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10 viene ritirata. La versione 1.0.0-alpha10 contiene questi commit.

Modifiche alle API

  • Rendere la larghezza preferita predefinita adattabile e personalizzabile. (Ic3abc)
  • Rinomina le funzioni di calcolo delle direttive di scaffolding. (I10855)
  • Rimuovi i padding e gli inset dalle API di scaffolding. (I786f8)
  • Aggiungi metodi di memorizzazione del navigatore senza tipi generici. (I607c3)

Versione 1.0.0-alpha09

20 marzo 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09 viene ritirata. La versione 1.0.0-alpha09 contiene questi commit.

Modifiche alle API

  • Aggiungi i campi di transizione di stato a ThreePaneScaffoldScope. (I3d917)
  • Riordina i parametri dello scaffold. (I4dff5)
  • Fornisci il valore predefinito del parametro modificatore AnimatedPane. (I77dd7)

Correzioni di bug

  • Includi le dimensioni dello spazio vuoto nei movimenti del riquadro. (a3174ca)

Versione 1.0.0-alpha08

6 marzo 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08 viene ritirata. La versione 1.0.0-alpha08 contiene questi commit.

Nuove funzionalità

  • Implementa lo scorrimento ritardato quando si cambia riquadro. (I1a38e)

Modifiche alle API

  • È stata rimossa l'interfaccia ThreePaneScaffoldState. (I63f23)

Versione 1.0.0-alpha07

21 febbraio 2024