Comporre Material 3 Adaptive
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.
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 funzionicalculatePosture()
ecurrentWindowDpSize()
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
eSupportingPaneScaffold
, 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
inOverride
e i tipiComponentOverrideContext
inOverrideScope
. (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
ListDetailPaneScaffold
eSupportingPaneScaffold
ora supportano la funzionalità di espansione del riquadro: gli utenti possono trascinare per modificare la divisione predefinita del riquadro di un layout a due riquadri. Gli sviluppatori possono anche modificare la divisione del riquadro in fase di runtime modificando la proprietàPaneExpansionState
appena introdotta.- Il supporto predefinito per Indietro predittivo è ora disponibile con
NavigableListDetailPaneScaffold
eNavigableSupportingPaneScaffold
. Puoi anche utilizzareThreePaneScaffoldPredictiveBackHandler
per fornire il supporto per Indietro predittivo con le tue implementazioni di scaffold a tre riquadri. - Ora puoi personalizzare i movimenti dei riquadri durante il cambio di riquadro fornendo valori diversi per
EnterTransition
eExitTransition
aAnimatedPane
.
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 animazioneMutableThreePaneScaffoldState
per preservare la coerenza dello stato. (Idc97f)
Correzioni di bug
- Il comportamento predefinito di
NavigableListDetailPaneScaffold
eNavigableSupportingPaneScaffold
è stato modificato inPopUntilScaffoldValueChange
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
aThreePaneScaffoldState
. (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
eThreePaneScaffoldHorizontalOrder.toLtrOrder()
(I2d6b7) - Rimuovi
PaneScaffoldMotionScope
e trasformalo in un campo inPaneScaffoldTransitionScope
. Inoltre, rinominalo inPaneScaffoldMotionDataProvider
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
aPaneScaffoldTransitionScope.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
eNavigableSupportingPaneScaffold
. (I4dc21, b/359616816)
Modifiche alle API
- Aggiunta di
ThreePaneScaffoldState
aThreePaneScaffoldNavigator
. I metodi di navigazione sono stati resisuspend
per supportare la navigazione con animazione. AggiuntoseekBack
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. IlThreePaneScaffoldState
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 incontentKey
. L'argomento del tipo predefinitorememberListDetailPaneScaffoldNavigator
erememberSupportingPaneScaffoldNavigator
è stato modificato daNothing
aAny
. (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 diListDetailPaneScaffold
eSupportingPaneScaffold
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
- Funzioni componibili
currentWindowSize()
,collectFoldingFeaturesAsState()
ecurrentWindowAdaptiveInfo()
per ottenere le informazioni necessarie sulla finestra per adattare le app, come le dimensioni della finestra e le funzionalità di piegatura. ListDetailPaneScaffold
eSupportingPaneScaffold
per fornire due layout canonici Material3 che si adattano automaticamente in base alle diverse configurazioni delle finestre. Questi due schemi sono anche completamente personalizzabili per soddisfare le diverse esigenze dei maker.ThreePaneScaffoldNavigator
e le relative funzioni di memorizzazione,rememberListDetailPaneScaffoldNavigator()
erememberSupportingPaneScaffoldNavigator()
per fornire soluzioni di navigazione all'interno di un'impalcatura adattiva, che può mostrare più destinazioni di navigazione contemporaneamente, rispetto alla configurazione comune di una destinazione alla volta nel mondo non adattivo.- Animazioni Material3 predefinite e integrate quando si cambiano gli stati dello scaffold adattivo.
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
aHingeInfo
(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