Compose Material 3
androidx.compose.material3
(Consulta la documentazione di riferimento dell'API per tutti i pacchetti Compose)
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Alpha Release |
---|---|---|---|---|
2 luglio 2025 | 1.3.2 | - | - | 1.4.0-alpha17 |
Struttura
Compose è una combinazione di sette ID gruppo Maven all'interno di androidx
. Ogni gruppo
contiene un sottoinsieme mirato di funzionalità, ognuna con il proprio insieme di note di rilascio.
Questa tabella spiega i gruppi e fornisce i link a ogni insieme di note di rilascio.
Gruppo | Descrizione |
---|---|
compose.animation | Creare animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente. |
compose.compiler | Trasforma le funzioni @Composable e attiva le ottimizzazioni con un plug-in del compilatore Kotlin. |
compose.foundation | Scrivi applicazioni Jetpack Compose con componenti di base pronti all'uso ed estendi le fondamenta per creare i tuoi elementi del sistema di progettazione. |
compose.material | Crea interfacce utente Jetpack Compose con componenti Material Design pronti all'uso. Si tratta del punto di ingresso di livello superiore di Compose, progettato per fornire componenti che corrispondono a quelli descritti all'indirizzo www.material.io. |
compose.material3 | Crea UI Jetpack Compose con i componenti Material Design 3, la prossima evoluzione di Material Design. Material 3 include componenti e temi aggiornati e funzionalità di personalizzazione Material You come il colore dinamico. È progettato per essere coerente con il nuovo stile visivo e l'interfaccia utente di sistema di Android 12. |
compose.runtime | Elementi costitutivi fondamentali del modello di programmazione e della gestione dello stato di Compose e runtime di base per il plug-in del compilatore Compose da utilizzare come target. |
compose.ui | Componenti fondamentali dell'interfaccia utente di Compose necessari per interagire con il dispositivo, inclusi layout, disegno e input. |
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:material3:1.3.2" implementation "androidx.compose.material3:material3-window-size-class:1.3.2" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.3.2") implementation("androidx.compose.material3:material3-window-size-class:1.3.2") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
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 Common versione 1.0
Versione 1.0.0-alpha01
17 aprile 2024
androidx.compose.material3:material3-common:1.0.0-alpha01
, androidx.compose.material3:material3-common-android:1.0.0-alpha01
e androidx.compose.material3:material3-common-desktop:1.0.0-alpha01
sono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Componenti senza tema che possono essere utilizzati per creare componenti Material Design:
- Tavolozza tonale
- Icona
- Dimensioni del touch target
Compose Material3 Adaptive Navigation Suite versione 1.0
Versione 1.0.0-alpha07
1° maggio 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07
e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07
sono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche alle API
- Rendere non sperimentali le API della suite di navigazione (If62af)
Correzioni di bug
- Consumare gli inserti per i contenuti per impostazione predefinita (50266df)
Versione 1.0.0-alpha06
17 aprile 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06
e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06
sono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche alle API
- Aggiungi
containerColor
econtentColor
aNavigationSuiteScaffoldDefaults
. (I64e3a, b/331993720) - Aggiunta della funzione
itemColors
aNavigationSuiteDefaults
. (Idf719, b/328480012) - Rendi
NavigationSuiteScope
sigillato. (Iefa57)
Versione 1.0.0-alpha05
6 marzo 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05
e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05
sono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche alle API
- Rendi pubblico il costruttore
NavigationSuiteItemColors
. (Ica83a, b/324886877)
Versione 1.0.0-alpha04
21 febbraio 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04
e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04
sono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Aggiornamenti delle dipendenze
- Aggiorna le dipendenze adattive di Material3 ai nuovi percorsi dei moduli. (Ibc421)
- Esegui la migrazione per utilizzare la versione di Window Manager delle classi di dimensioni della finestra. (I3794d)
Versione 1.0.0-alpha03
7 febbraio 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03
e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03
sono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche alle API
- Aggiorna il nome del pacchetto in navigationsuite da navigation-suite (I7eff7)
- I componenti Material3 che espongono un
MutableInteractionSource
nella loro API sono stati aggiornati in modo da esporre unMutableInteractionSource
nullable che ha come valore predefinito null. Non sono state apportate modifiche semantiche: il passaggio di null significa che non vuoi sollevareMutableInteractionSource
e verrà creato all'interno del componente, se necessario. Se viene impostato su null, alcuni componenti non allocano mai unMutableInteractionSource
, mentre altri creano un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizziMutableInteractionSource
che trasmetti a questi componenti, ti consigliamo di trasmettere null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (I41abb, b/298048146)
Versione 1.0.0-alpha02
13 dicembre 2023
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02
e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02
sono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- Aggiungi un
NavigationSuiteType
"Nessuno" (If8cb1, b/313688598)
Correzioni di bug
- Correzione del componente di navigazione che riempie l'intero schermo quando la superficie principale ha
modifier.fillMaxSize
. (c9cf250, b/312664933)
Versione 1.0.0-alpha01
15 novembre 2023
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01
viene ritirata. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Compose Material3 Adaptive versione 1.0
Versione 1.0.0-alpha06
7 febbraio 2024
androidx.compose.material3:material3-adaptive:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06
e androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06
sono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Sono state aggiunte ulteriori opzioni di comportamento per la navigazione indietro
ThreePaneScaffoldNavigator
. (I858aa) - Aggiunti contenuti della destinazione facoltativi alla cronologia di navigazione. (Ibd7e6)
Versione 1.0.0-alpha05
24 gennaio 2024
androidx.compose.material3:material3-adaptive:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05
e androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05
sono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
- Supporta la cronologia nella navigazione scaffold e nel calcolo dei valori (I71d46)
Versione 1.0.0-alpha04
10 gennaio 2024
androidx.compose.material3:material3-adaptive:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04
e androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04
sono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- Aggiunto il supporto da bordo a bordo negli scaffold dei riquadri (I1b462)
Modifiche alle API
- Proprietà dei limiti della cerniera spostate in Posture in un elenco di informazioni sulla cerniera (I24f90)
Correzioni di bug
- La correzione
AnimatedPane
non viene ricomposta (c3f573d)
Versione 1.0.0-alpha03
13 dicembre 2023
androidx.compose.material3:material3-adaptive:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03
e androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03
sono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche alle API
- Modifica i ruoli di scaffolding in alias di
ThreePaneScaffoldRole
. (I65bd1) - Crea una classe base per i ruoli di scaffolding (I4784d)
- Rimuovi il parametro non necessario dai contenuti di
AnimatedPane
(Ibc73b) - Rinomina
collectWindowSizeAsState
e restituisce invece valori non elaborati (I480f4)
Versione 1.0.0-alpha02
29 novembre 2023
androidx.compose.material3:material3-adaptive:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02
e androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02
sono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche alle API
- Dividi le API di navigazione dalle API di scaffolding adattivo. (Ic4045)
- Rimuovi il corso
GutterSize
. (I785b3)
Correzioni di bug
- I riquadri fissi non vengono cambiati quando non viene utilizzato
AnimatedPane
(d88f181)
Versione 1.0.0-alpha01
15 novembre 2023
androidx.compose.material3:material3-adaptive:1.0.0-alpha01
viene ritirata. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
API per le condizioni adattive di Material3:
API direttive per lo scaffold del riquadro adattivo Material3:
API per lo scaffold del riquadro adattivo Material3:
- API di base per lo scaffold del riquadro
Compose Material3 versione 1.4
Versione 1.4.0-alpha17
2 luglio 2025
androidx.compose.material3:material3-*:1.4.0-alpha17
viene ritirata. La versione 1.4.0-alpha17 contiene questi commit.
Nuove funzionalità
- Aggiorna l'animazione del gruppo di pulsanti in modo che venga animata al 75% dell'animazione quando viene fatto clic anziché premuto. (593942a, b/423596967)
Correzioni di bug
- Risolto un problema per cui, in alcuni casi, un elemento del carosello poteva superare le dimensioni dell'elemento grande durante i calcoli del layout, tagliando l'intero widget. (I1c3d7, b/397489534)
- È stato corretto il problema del salto oltre
beforeContentPadding
durante lo scorrimento dei caroselli con offset di inizio e fine turno sovrapposti. (c3d5f3a, b/420618979) - Aggiorna il comportamento attivato di
SwipeToDismiss
per osservare lo stato liquidato anziché quello attuale. Ripristina il comportamento esistente in cui il comportamento di ancoraggio viene disabilitato solo quando il componente si trova in uno stato chiuso. (3844e07, b/425006844) - Il menu popup di
ExposedDropdownMenu
ora può essere aperto tramite l'input da tastiera. Inoltre, il menu è ora raggiungibile tramite tastiera per la variante modificabile. (46ead03)
Versione 1.4.0-alpha16
18 giugno 2025
androidx.compose.material3:material3-*:1.4.0-alpha16
viene ritirata. La versione 1.4.0-alpha16 contiene questi commit.
Nuove funzionalità
- È stato aggiunto un componente carosello hero allineato al centro (I6f6d3).
Modifiche alle API
- Implementare la barra degli strumenti verticale per gli override XR (Ia1604)
- Aggiunte funzioni di scorrimento programmatico a
CarouselState
(I12f8e) - Aggiungi
ComponentOverride
perModalWideNavigationRail
(I4f440) - Aggiungi
ComponentOverride
perWideNavigationRail
(I6354f) - Crea
ComponentOverride
perHorizontalFloatingToolbar
(I51116) - Crea
ComponentOverride
perShortNavigationBar
(I30e24) - I riferimenti a
confirmValueChange
inSwipeToDismissBoxState
sono stati contrassegnati come deprecati. Gli utenti devono invece utilizzare il callback dell'APISwipeToDismissBox
onDismissed
. (Iee780) - Aggiunto il parametro userScrollEnabled ai componenti componibili Carousel. (I1d4d2)
- Ora è possibile osservare
currentItem
di Carosello daCarouselState
. (Ie87e9)
Correzioni di bug
- Risolto un problema per cui una forma arbitraria su un FAB passato a un
FloatingToolbar
non applicava correttamente la sua ombra. (Icdcc9, b/423336922) - Tutti i caroselli ora utilizzano il ruolo semantico Carosello per impostazione predefinita. (I7af12)
- È stato corretto il movimento errato del pollice quando lo stato del cursore veniva aggiornato tramite
LaunchedEffect
(Id9f31, b/302774166)
Versione 1.4.0-alpha15
20 maggio 2025
androidx.compose.material3:material3-*:1.4.0-alpha15
viene ritirata. La versione 1.4.0-alpha15 contiene questi commit.
Modifiche alle API
- Aggiunta
MotionTheme.LocalMotionScheme
, composizione locale. Ciò consente l'accesso allo schema di movimento del tema daCompositionLocalConsumerModifierNodes
, concurrentValueOf(MotionTheme.LocalMotionScheme)
. (I014b1) - Il costruttore
ColorScheme
senza ruoli di colore fisso è ora deprecato. Esegui la migrazione al costruttore che include ruoli fissi. (Iad0ee) - Il componente di testo M3 ora supporta
TextAutoSize
. (I7f524) - Aggiungi l'API per creare varianti di dimensioni del pulsante diviso e aggiungi esempi. (Ice30b)
Correzioni di bug
- Risolto un problema per cui
Snackbar
eFloatingActionButton
erano posizionati in modo errato quando era attivata la visualizzazione edge-to-edge. Scaffold ora applica correttamente i rientri orizzontali a questi componenti. (Ib7c30, b/244400727) - Correggi il movimento
BottomSheet
da completamente espanso a parzialmente espanso.BottomSheet
ora utilizza l'effetto rapido diMotionScheme
quando viene nascosto o compresso e l'effetto spaziale predefinito quando viene espanso. (Ifa46f, b/416063171) - Il costruttore
ColorScheme
senza ruoli di contenitore di superficie è stato contrassegnato come nascosto e non è più consigliato per l'uso. (Ia7237) - È stato rimosso un requisito
CircularWavyProgressIndicator
Size.minDimension > 0
, che in precedenza generava un'eccezione, per consentire una maggiore flessibilità. (Ic9418, b/377531195) - I link ipertestuali in
Text(AnnotatedString)
ora hanno lo stile Material per impostazione predefinita. (I78288, b/339843816) - Risolvi un problema per cui la funzione
toShape()
inRoundedPolygon
memorizza nella cache un percorso e causa un problema quando vengono effettuate più chiamatecreateOutline
con dimensioni diverse. (I4026d)
Versione 1.4.0-alpha14
7 maggio 2025
androidx.compose.material3:material3-*:1.4.0-alpha14
viene ritirata. La versione 1.4.0-alpha14 contiene questi commit.
Modifiche alle API
- È stato aggiunto un nuovo elemento componibile
AppBarColumn
che funziona allo stesso modo diAppBarRow
, ma per i contenuti disposti in una colonna. (Iaf6bd) - È stato aggiunto il numero massimo di elementi a
AppBarRow
, necessario per implementare correttamente la specifica del materiale per le barre delle app nella parte superiore dello schermo. (I92ce4) - È stato aggiunto un metodo in
TooltipScope
per ottenere l'layoutCoordinates
dell'ancora. Il metododrawCaret
viene ritirato perché gli sviluppatori possono utilizzare questo nuovo metodo per ottenere i limiti dell'ancoralayoutCoordinates
e creare una forma appropriata che contenga un cursore. (Ia2e12, b/329470609) - È stato aggiunto il supporto di
java.time
per i selettori di date: sono stati introdotti overload dirememberDatePickerState/rememberDateRangePickerState
che accettano oggetti java.time (ad es.LocalDate
iniziale,YearMonth
). Sono state aggiunte anche funzioni di estensione agli oggetti di stato per ottenere/impostare valori utilizzando tipi comeLocalDate
eYearMonth
. Richiede l'API 26+ o il desugaring. (I70f29, b/266202516, b/281859606) - Aggiungi il componente componibile
CenteredTrack
che consente di utilizzare un cursore con una traccia che inizia dal centro. (I5b1d6)
Correzioni di bug
- È stato migliorato il rendimento degli indicatori di avanzamento ondulati: i tipi lineari ora si caricano circa l'8,5% più velocemente con circa l'11% di allocazioni in meno, mentre i tipi circolari registrano un aumento della velocità di circa il 47% e una riduzione delle allocazioni di circa il 39%. (I595d8)
Versione 1.4.0-alpha13
23 aprile 2025
androidx.compose.material3:material3-*:1.4.0-alpha13
viene ritirata. La versione 1.4.0-alpha13 contiene questi commit.
Modifiche alle API
isAppearanceLightStatusBars
eisAppearanceLightNavigationBars
reintrodotti inModalBottomSheetProperties
come parametri solo per Android. (Id4bc0)- Aggiungi un
AppBarRow
componibile che gestisce l'overflow degli elementi che non rientrano nei suoi limiti. (I742bd) - Aggiorna le API
DatePicker
eDateRangePicker
per richiedere lo stato attivo quando passi a una modalità di inserimento della data. Abbiamo sostituito il parametro booleanorequestFocus
con un parametrofocusRequester
facoltativo che accetta unFocusRequester
. (I14b69) - Rimuovi il modificatore e l'origine dell'interazione dagli elementi selezionabili e attivabili/disattivabili predefiniti. Utilizzalo invece come dettaglio di implementazione. (I95ed6)
- È stato aggiornato
ButtonGroup
in modo che venga visualizzato un menu a discesa quando ci sono troppi pulsanti per essere visualizzati sullo schermo. (I7b88b)
Correzioni di bug
- Il foglio inferiore ora utilizza gli inset in alto quando è più piccolo dell'offset corrente. In questo modo, gli utenti possono fornire i margini interni superiori per il comportamento espanso.
BottomSheetDefaults.windowInsets
ora includeWindowInsets.safeDrawing.Top
. (I0ab67, b/321877275, b/336962418, b/342093067) - Sono state attivate le animazioni di entrata/uscita (dissolvenza/scorrimento) per le icone/gli avatar iniziali e le icone finali dei chip quando vengono aggiunti o rimossi. Ciò avvantaggia principalmente i chip selezionabili (filtro, input), ma si applica in generale. (I9af21)
- Correggi il comportamento del cursore RTL non funzionante causato da
LookaheadScope
. (Ieb152, b/408118041) - Correzione dell'arresto anomalo di Bottom
AppBar
relativo allo scorrimento con un'interfaccia utente di sistema nascosta. (Ic6140, b/405996228)
Versione 1.4.0-alpha12
9 aprile 2025
androidx.compose.material3:material3-*:1.4.0-alpha12
viene ritirata. La versione 1.4.0-alpha12 contiene questi commit.
Modifiche alle API
- Rimossi i parametri specifici per Android da
ModalBottomSheetProperties
(Iab97f, b/362539765) - Introduzione delle funzioni di overloading per le dimensioni predefinite del punto di trascinamento (I0ed0d)
- Aggiungi nuove funzioni
NavigationSuiteScaffold
eNavigationSuiteScaffoldLayout
per supportare nuovi tipi di layout e aggiungere il supporto per i contenuti di un'azione principale facoltativa. (Ib262a, b/353144478) - Deprecare
Modifier.weight
con il parametro di riempimento inButtonGroup
. Aggiunta di una versione senza riempimento. (Id32bb) - I componenti predefiniti Rinomina
xSmall-
exLarge-
IconButton sono impostati per indicareextra
. (Ib6e0f) - Aggiungi nuove funzioni
NavigationSuite
,NavigationSuiteItem
eNavigationSuiteColors
per supportare nuovi tipi di layout. (I203d6) - Aggiungi nuove funzioni
NavigationSuiteTypes
enavigationSuiteType
che includono queste scelte di layout (If68f9).
Correzioni di bug
- Ora
ColorScheme.contentColorFor
mappasurfaceDim
aonSurface
. (I8891a) - Implementazione di
DateInputTextField
aggiornata per risolvere un problema per cui il campo di input non rifletteva la data impostata a livello di programmazione. (I6c8d1, b/401143451) - È stato corretto l'ordine di selezione di TalkBack per la barra di navigazione e la barra di navigazione larga (I6cf6f, b/407048224).
Versione 1.4.0-alpha11
26 marzo 2025
androidx.compose.material3:material3-*:1.4.0-alpha11
viene ritirata. La versione 1.4.0-alpha11 contiene questi commit.
Modifiche alle API
- Aggiorna la capitalizzazione delle proprietà componibili negli oggetti predefiniti per il pulsante e il pulsante di attivazione/disattivazione. Aggiungi metodi in
ToggleButtonDefaults
eButtonDefaults
per il padding, le forme, le dimensioni delle icone, la spaziatura delle icone e lo stile del testo consigliati a seconda dell'altezza del contenitore. (Iea69e) - Sono state rimosse le funzioni e le costanti sperimentali ritirate da
FloatingToolbar
. (I8f339) - I componenti di elevazione ora condividono un'interfaccia comune e hanno costruttori e proprietà pubblici. (Ibb172)
- Aggiunta del modificatore
animateWidth
inButtonGroupScope
che dovrà essere utilizzato con gli elementi secondari del gruppo di pulsanti per animarli correttamente. (Ia3bb6)
Correzioni di bug
- È stato corretto il padding della barra degli strumenti mobile per garantire l'equilibrio visivo durante la chiusura e una maggiore flessibilità per i contenuti più grandi. (I06c00)
Versione 1.4.0-alpha10
12 marzo 2025
androidx.compose.material3:material3-*:1.4.0-alpha10
viene ritirata. La versione 1.4.0-alpha10 contiene questi commit.
Modifiche alle API
TabRowDefaults.tabIndicatorOffset
è stato deprecato a favore diTabIndicatorScope.tabIndicatorOffset
. (Ib36b3)- Correzione dell'errore di battitura per il riempimento dei contenuti di piccole dimensioni nei valori predefiniti dei pulsanti. (I19bfe)
TabRow
eScrollableTabRow
sono deprecati a favore delle varianti principale e secondaria di ciascuno. Le righe delle schede Principale e Secondaria sono più performanti e accurate rispetto alle specifiche. (I918e2)- Aggiunta di
rememberSliderState
erememberRangeSliderState
. (I8e384) - È stato aggiunto
shouldAutoSnap
aSliderState
per controllare il meccanismo di snapping automatico. La disattivazione può essere utile per le animazioni personalizzate. (I07745) - La larghezza minima della scheda della riga di schede scorrevole ora è un parametro. Le varianti di riga delle schede Principale e Secondaria non sono più sperimentali. (If6f15, b/226665301)
- È stato reso pubblico il corso
ExitAlwaysFloatingToolbarScrollBehavior
, consentendo la creazione senza composizione. (Ibf31c)
Versione 1.4.0-alpha09
26 febbraio 2025
androidx.compose.material3:material3-*:1.4.0-alpha09
viene ritirata. La versione 1.4.0-alpha09 contiene questi commit.
Modifiche alle API
- Rinomina i campi di impostazione di
DragHandle
nello stato predefinito; separa gli stati premuto e trascinato; rendi pubbliche le dimensioni predefinite. (I787b9) - Aggiornamenti all'API
TowRowsTopAppBar
. È stato rimosso il parametro lambdaexpanded
e sono stati aggiunti parametri separati per le altezze espansa e compressa. (Idd677, b/306697446, b/229134133, b/268068946)
Correzioni di bug
- Le barre delle app in basso ora rispettano il servizio di esplorazione tattile (ad es.
TalkBack
) e mantenerli visibili ogni volta che il servizio è attivo. (I4b34d)
Versione 1.4.0-alpha08
12 febbraio 2025
androidx.compose.material3:material3-*:1.4.0-alpha08
viene ritirata. La versione 1.4.0-alpha08 contiene questi commit.
Nuove funzionalità
È stata aggiunta un'API
TimePickerDialog
che può essere utilizzata perTimePicker
,TimeInput
o per avere una versione commutabile. (Id2d83)Nuove API della barra di ricerca:
- Le barre di ricerca compresse e le "visualizzazioni" di ricerca espanse ora sono composable separati.
SearchBar
rappresenta una barra di ricerca nello stato compresso.ExpandedFullScreenSearchBar
eExpandedDockedSearchBar
rappresentano la barra di ricerca nello stato espanso. Questi si aprono in una nuova finestra.SearchBarState
per controllare lo stato della barra di ricercaTopSearchBar
per aggiungere la gestione degli inset e il comportamento di scorrimento- Nuovo sovraccarico di
InputField
che utilizzaSearchBarState
(Ie0723, b/261496232, b/283311462, b/350916229, b/352872248)
Modifiche alle API
- Supporta la trasformazione della forma degli angoli dei pulsanti delle icone quando vengono premuti. (I21843)
- Le API per il decoratore/la casella di decorazione del campo di testo non sono più sperimentali. (I31d95)
- Sono stati aggiunti esempi e valori predefiniti per la variante collegata per
ButtonGroup
. (I5c8ce) - Imposta il parametro di stato come ultimo in
NavigationSuiteScaffold
eNavigationSuiteScaffoldLayout
. (I9cc7b)
Correzioni di bug
- Sono state aggiunte azioni di accessibilità personalizzate a
FloatingToolbars
, in modo che i servizi di accessibilità possano ora espandere o comprimere tutte le varianti diFloatingToolbar
. La versione con FAB lo applica al FAB, mentre la versione senza FAB lo applica ai contenuti principali. (I26420) - Il
FloatingToolbars
ora osserva il servizio di esplorazione tattile (ad es. TalkBack) e mantenere la barra degli strumenti espansa e visibile ogni volta che il servizio è attivo. (I02172) - È stato corretto un arresto anomalo negli indicatori di avanzamento e caricamento nel caso in cui venga passato un
Float.NaN
come avanzamento. (I4fa96, b/352364576)
Versione 1.4.0-alpha07
29 gennaio 2025
androidx.compose.material3:material3-*:1.4.0-alpha07
viene ritirata. La versione 1.4.0-alpha07 contiene questi commit.
Nuove funzionalità
- È stata aggiunta una maggiore flessibilità nella personalizzazione dell'aspetto delle caselle di controllo con una nuova API. Questa API fornisce parametri di tratto che consentono un maggiore controllo sul rendering del segno di spunta e del contorno della casella di controllo. (I65a88)
- È stata aggiunta l'API
TwoRowsTopAppBar
, un'alternativa più personalizzabile alle barre delle app medie e grandi per la creazione di barre delle app superiori a due righe. Gli sviluppatori ora hanno il controllo sui contenuti di titoli e sottotitoli sia nello stato compresso che in quello espanso, con altezze personalizzabili per ogni stato. (I0be3c, b/306697446, b/229134133, b/268068946)
Modifiche alle API
- È stata rinominata una variante sperimentale
BottomAppBar
inFlexibleBottomAppBar
, offrendo un maggiore controllo sulla disposizione e sull'altezza dei contenuti. (Iaa448) - Aggiorna la denominazione delle proprietà nell'oggetto predefinito Gruppo di pulsanti in modo che sia
CapitalCase
. Aggiorna il nome dianimateFraction
in modo che sia più preciso rispetto al comportamento che rappresenta. (I545cd) - Aggiunta di overload per i pulsanti comuni che consentono forme animate durante l'interazione con la pressione. Aggiunte forme dei pulsanti memorizzate nella cache. (I5ec20)
- Ora puoi controllare il modo in cui un
FloatingToolbar
con FAB reagisce allo scorrimento fornendo unFloatingToolbarScrollBehavior
. Per le barre degli strumenti posizionate lungo un bordo centrale (ad esempio in alto o in basso al centro), consigliamo di utilizzare un comportamento di scorrimento per nascondere l'intero componente durante lo scorrimento, in modo da ottenere un aspetto più pulito. In questo modo si evita anche che il FAB diventi decentrato, cosa che potrebbe accadere quando si utilizza il flagexpanded
per il collasso. (I33f67) - Aggiorna le API sperimentali
TopAppBar
per utilizzareAlignment.Horizontal
anziché unTopAppBarTitleAlignment
personalizzato quando imposta l'allineamento del titolo e del sottotitolo. (I70ca2) SliderState#onValueChange
è ora pubblico per dare maggiore controllo all'utente (I104eb)- Introduci
NavigationSuiteScaffoldState
per consentire l'animazione del componente di navigazione. Introduci anche gli overload diNavigationSuiteScaffold
eNavigationSuiteScaffoldLayout
che hanno un parametro di stato. (I6a8c9, b/328674235)
Correzioni di bug
- Sposta i corsi
IconButtonColors
eIconToggleButtonColors
daIconButtonDefaults.kt
aIconButton.kt
. (I3c233)
Contributo esterno
SliderState#isDragging
è ora pubblico. (I8458a)
Versione 1.4.0-alpha06
15 gennaio 2025
androidx.compose.material3:material3-*:1.4.0-alpha06
viene ritirata. La versione 1.4.0-alpha06 contiene questi commit.
Modifica del comportamento
- È stato aggiunto
displayCutout
al gruppo di rientri che i componenti Material prendono in considerazione per impostazione predefinita, per evitare che i contenuti si sovrappongano al ritaglio del display. Si tratta di una modifica del comportamento che influirà sul modo in cui i componenti compatibili con l'inset si comportano intorno a un'interruzione del display. Ciò include il valore predefinito del parametroWindowInsets
per i componenti Material 3 compatibili con gli inset e i valoriWindowInsets
forniti negli oggetti Defaults dei componenti sia per Material 2 che per Material 3. Se questa modifica causa un comportamento indesiderato, specifica manualmente il parametroWindowInsets
per ogni componente. (I43ee9, b/362508045)
Modifiche alle API
- Aggiornamenti all'API
TopAppBar
. Rinomina le barre delle app superiori medie e grandi con un sottotitolo in*FlexibleTopAppBar
. Unificazione delle variazioni di colore in un'unica funzioneTopAppBarDefault.topAppBarColors()
e aggiunta di un parametro di coloresubtitle
da applicare a un composable di sottotitoli codificati fornito (I41b65) - Rimuovi l'API
WideNavigationRailArrangement
a favore diArrangement.Vertical
(Id0341) - Aggiungi un nuovo
VerticalSlider @Composable
. (I2bfba) - Aggiungi una nuova traccia
@Composable
che consente di specificare angoli esterni e icone della traccia personalizzati. (I436a4) - Aggiorna le API della barra degli strumenti mobile per utilizzare l'oggetto
FloatingToolbarColors
anziché un singolo colore del contenitore. (I9a054) - Aggiungere e utilizzare una nuova annotazione sperimentale
ExperimentalMaterial3ComponentOverrideApi
(Ia1eaf) Modifier.indicatorLine
ora assume una forma per il campo di testo per gestire il ritaglio. (I8c5f3, b/380704151)- Rinomina le funzioni sperimentali
FloatingAppBar
inFloatingToolbar
(I1dbf8) - È stato aggiunto un nuovo
floatingToolbarVerticalNestedScroll
che può essere collegato a un contenitore scorrevole per aggiornare lo stato di espansione della barra degli strumenti mobile in base a un movimento di scorrimento che supera una soglia. (I6d65f) - Ti presentiamo una nuova API per creare una barra degli strumenti mobile con un pulsante di azione rapida (FAB) allegato. L'API offre opzioni di personalizzazione flessibili, che ti consentono di disporre la barra degli strumenti orizzontalmente o verticalmente e di posizionare il pulsante di azione rapida all'inizio o alla fine della barra degli strumenti. (I9e350)
Correzioni di bug
- Correzione di un problema di accessibilità della snackbar che causava l'annuncio della chiusura quando
TalkBack
è attivo. (/I9db53)
Contributo esterno
BasicTooltip
è stato reso comune in foundation eBasicTooltip/Tooltip
in Material 3. (Ifc2e6)
Versione 1.4.0-alpha05
12 dicembre 2024
androidx.compose.material3:material3-*:1.4.0-alpha05
viene ritirata. La versione 1.4.0-alpha05 contiene questi commit.
Modifiche alle API
- Sostituisci il tipo nel valore
WideNavigationRailState.current/target
per un'enumerazione per una migliore leggibilità (I2d6ab) SplitButton
modifica l'API Shape dalla classe di dati alla classe per la compatibilità binaria. (I53812)- È stata aggiunta un'API per le descrizioni comando con un parametro
onDismissRequest
che consente ai creator di decidere cosa succede quando un utente fa clic al di fuori della descrizione comando. È stata ritirata la vecchia API che non contiene questo nuovo parametro. (I99aef) - Modifica la denominazione di
opticalCentering
inhorizontalCenterOptically
. Rendere interno il modificatore. Sostituisci il parametro di padding con l'offset massimo di inizio e fine. (I0b904) - Modifica
WideNavigationRailState
in modo che abbia il valore corrente/target, rimuovi gli enum a favore del valore booleano. (Idfa29, b/356039090) - Aggiungi
NavigationBarItemComponentOverride
. (I3a06a)
Correzioni di bug
- Correggi i comportamenti della barra delle app superiore e inferiore in modo che cambino colore in modo affidabile quando i contenuti vengono scorri fino in fondo. (Idc4e8, b/293665988)
- Le funzioni di comportamento di scorrimento per le barre delle app superiore e inferiore ora restituiscono un comportamento memorizzato per migliorare le prestazioni nelle ricomposizioni. (I0fdbe, b/207957336)
- Il parametro modificatore viene ora applicato dopo i modificatori interni, come il comportamento e la semantica di trascinamento, anziché prima. Ciò influisce sull'ordine in cui vengono applicati i modificatori. (I8d83f)
- Il riquadro inferiore espanso rimane espanso quando le dimensioni cambiano. (I2870b, b/324934884)
- Instrada correttamente i flag della barra di stato e di navigazione per le proprietà delle finestre. (Ie674d, b/362539765)
- Sposta il parametro modificatore nella radice degli scaffold, come documentato. In questo modo, l'implementazione è in linea con M2. (I0235e, b/372311595)
Contributo esterno
- Funzione
DatePickerDialog
standardizzata. (I7dced)
Versione 1.4.0-alpha04
13 novembre 2024
androidx.compose.material3:material3-*:1.4.0-alpha04
viene ritirata. La versione 1.4.0-alpha04 contiene questi commit.
Modifiche al comportamento
- Ripristina le modifiche al colore introdotte in aosp/3212478 per
iconButtonColors
,iconToggleButtonColors
,outlinedIconButtonColors
,outlinedIconToggleButtonColors
eoutlinedIconToggleButtonBorder
. Il comportamento ora ripristinato è stato spostato in un nuovo insieme di funzioni chiamateiconButtonVibrantColors
e così via per enfatizzare i colori ad alto contrasto restituiti. (Iffd8d)
Nuove funzionalità
- Introduci il componente
VerticalDragHandle
(I6c770)
Modifiche alle API
- Rinomina
DismissibleModalWideNavigationRailDefaults
inModalWideNavigationRailDefaults
. (I8e877) - Aggiungi
NavigationBarComponentOverrides
. (I8a3f3) - Aggiungi
NavigationRailComponentOverride
. (I83e13) - Introduci
WideNavigationRailState
per gestire la compressione/espansione della barra, consenti la chiusura diModalWideNavigationRail
ed eliminaDismissibleModalWideNavigationRail
. (I88568) - Aggiungi i valori predefiniti per le dimensioni xSmall, media, large e xLarge ai valori predefiniti del pulsante di attivazione/disattivazione. (Ie95d1)
- Aggiungi i valori predefiniti per le dimensioni xSmall, media, large e xLarge ai valori predefiniti dei pulsanti. (If8b6d)
Correzioni di bug
- Il colore dell'icona finale del chip di filtro è stato aggiornato da Primario a
OnSurfaceContainer
, in base alle specifiche. Tutti i colori del contorno dei chip sono stati aggiornati da Contorno a Variante contorno, in base alle specifiche. (I68bd4)
Versione 1.4.0-alpha03
30 ottobre 2024
androidx.compose.material3:material3-*:1.4.0-alpha03
viene ritirata. La versione 1.4.0-alpha03 contiene questi commit.
Modifiche alle API
- Il costruttore
SheetState
con densità è stato ritirato a favore delle soglie di posizione e velocità. (Ifd16e) - È stato aggiunto
rememberTooltipPositionProvider
che contiene una logica di posizionamento aggiornata. DeprecatirememberPlainTooltipPositionProvider
erememberRichTooltipPositionProvider
. (Ie66e2) - Le
ModalBottomSheetProperties
aggiuntive consentono di personalizzare i colori della barra di stato e di navigazione. Per impostazione predefinita, questi aggiornamenti si basano sul colore dei contenuti anziché sullo stato del tema scuro del sistema. (Ib874e, b/362539765) - È stata migliorata l'esperienza di input per i selettori di date: in modalità di input, il campo di testo della data verrà selezionato per l'immissione immediata del testo. La modifica aggiunge un parametro
requestFocus
aDatePicker
eDateRangePicker
. Puoi impedire la messa a fuoco passandofalse
. (I12d09, b/286399710, b/340102743) - Memorizzazione nella cache delle impostazioni predefinite della forma nell'oggetto Forma. Impostazione delle forme predefinite
@Composable
per il pulsante di attivazione/disattivazione. Comprimendo le forme in una forma predefinita, poiché le varianti puntano allo stesso file di token. (Iaa014)
Correzioni di bug
- Ottimizza il comportamento di Scaffold
contentPadding
per evitare di ricomporre sempre i contenuti del corpo quandocontentPadding
cambia. (I8c8e2, b/373904168) TextFieldLabelScope
progress
rinominato inlabelMinimizedProgress
TextFieldLabelPosition
Default
rinominato inAttached
. I membri dell'interfaccia sono stati rimossi. (If75c6)- È stato risolto un problema con
DatePicker
in modalità di input in cui gli errori di convalida potevano causare la modifica dell'altezza del componente. (I2e229, b/280462363) - Fai in modo che il cursore del materiale cambi valore quando vengono premuti i tasti di controllo. (I1c442)
Versione 1.4.0-alpha02
16 ottobre 2024
androidx.compose.material3:material3-*:1.4.0-alpha02
viene ritirata. La versione 1.4.0-alpha02 contiene questi commit.
Modifiche alle API
- Aggiornamenti ai selettori di date per garantire un utilizzo coerente delle impostazioni internazionali in
DatePicker
eDateRangePicker
quando si imposta un'impostazione internazionale direttamente tramite unDatePickerState
o unDateRangePickerState
. Tieni presente che, quando imposti le impostazioni internazionali direttamente sullo stato, spetta a te assicurarti che i testi del titolo e dell'intestazione vengano localizzati di conseguenza, poiché il testo predefinito verrà comunque applicato in base alle impostazioni internazionali predefinite della piattaforma. (I37073, b/326490763, b/321657276) SheetState.isAnimationRunning
è ora esposto. (I9a3d7)DatePickerColors
ora hanno la precedenza su eventuali colori in conflitto definiti negli stili di testo della tipografia del tema. Tieni presente inoltre che questo aggiornamento modifica la posizione del parametrocolor
nelle funzioni del selettore della data e introduce un parametrocontentColor
per personalizzare i colori del testo dell'intestazione e del titolo. (I30d03, b/347031394)- Rinomina
SplitButton
inSplitButtonLayout
e rimuovi le API delle varianti di colore diSplitButton
. Le varianti verranno ottenute riutilizzando le varianti dei pulsanti fornite daSplitButtonDefaults
. (I44c36) ModalBottomSheet
ora ha il parametrosheetGestureEnabled
(I856cb, b/288211587)- È stato rinominato
standardMotionScheme
eexpressiveMotionScheme
in Standard ed Espressivo. Entrambe le funzioni sono ora accessibili tramite l'oggetto complementareMotionScheme
chiamandoMotionScheme.standard()
eMotionScheme.expressive()
. (Iceccf) - Aggiunta del parametro
maxWidth
alle descrizioni comando semplici e avanzate. Per impostazione predefinita, la specifica di progettazione è di 200 dp per le descrizioni comando semplici e di 320 dp per le descrizioni comando avanzate. (I30ce9)
Correzioni di bug
DatePicker
eDateRangePicker
ora aggiornano correttamente il mese visualizzato quando vengono impostati tramitedisplayedMonthMillis
dello stato. (If9e47, b/333414302)- I contenuti di
ModalBottomSheet
ora vengono spostati dalla barra di stato. (I5114c, b/321877275, b/336962418, b/342093067) - [Foglio inferiore] Modifica la priorità del callback in
PRIORITY_DEFAULT
per consentire alla tastiera IME di chiudersi per prima. (I447fb) - Correzione degli arresti anomali in
DatePicker
eDateRangePicker
quando l'anno minimo selezionabile è impostato su un anno futuro. (I78656, b/319395747) - È stato corretto un problema del selettore della data per aggiornare l'interfaccia utente quando viene applicata un'istanza
SelectableDates
aggiornata. (Iad59a, b/290135807, b/339898760)
Versione 1.4.0-alpha01
2 ottobre 2024
androidx.compose.material3:material3-*:1.4.0-alpha01
viene ritirata. La versione 1.4.0-alpha01 contiene questi commit.
Modifiche al comportamento
- La libreria non aggiunge più una dipendenza a
material-icons-core
, quindi se il tuo progetto si basava su questa dipendenza, dovrai aggiungerla esplicitamente nei filebuild.gradle[.kts]
. (I735ff, b/349894318) NavigationBarItem
eNavigationRailItem
cambiano il colore dell'etichetta attiva daonSurface
asecondary
per migliorare l'usabilità, il contrasto di colore e la coerenza all'interno del sistema (Ibc297). Per ripristinare il comportamento precedente, copia i colori predefiniti e modificaselectedTextColor
inMaterialTheme.colorScheme.onSurface
.- I componenti Material 3 ora utilizzano il nuovo
MotionScheme
per definire il loro movimento. (Ie0f93) - Modifiche al movimento dell'indicatore di avanzamento circolare indeterminato (I3c07e)
- Aggiorna
OutlinedIconButtonColors
eOutlinedIconToggleButtonColors
per un migliore contrasto cromatico. (I2743d) - Aggiornamento del colore del contenitore e dei contenuti per
FilledIconToggleButtonColors
eFilledTonalIconToggleButtonColors
. (Ic5d0f) - Colore del bordo di
OutlinedButton
aggiornato daoutline
aoutlineVariant
. (057f00)
Modifiche alle API
- È stato aggiunto un parametro
reverseLayout
facoltativo alla funzioneenterAlwaysScrollBehavior
diTopAppBar
per supportare meglio i contenuti impostati con unreverseLayout
. (I4e0e5) SegmentedButton
ora supporta l'argomentocontentPadding
. (I5ad91, b/358414376)PullToRefreshState
non ha più l'implementazione predefinita perisAnimating
(I6a593)- Sono stati aggiunti nuovi overload di Material
TextField
eOutlinedTextField
che utilizzanoTextFieldState
. Sono state aggiunte API per le caselle di decorazione compatibili conTextFieldDecorator
. (If13a1) - È stato aggiunto il parametro al
labelPosition
del campo di testo del controllo. L'utilizzo dialwaysMinimize
consente di visualizzare contemporaneamente un'etichetta e un segnaposto in un campo di testo anche quando il campo non è attivo. (I1ef2c) - Aggiunti Material
SecureTextField
eOutlinedSecureTextField
per i campi di inserimento della password. (I7e22d) - È stato aggiunto un ambito alle etichette dei campi di testo per eseguire query sullo stato di avanzamento dell'animazione. (If5ec8)
- Aggiunge il supporto per
MotionEvent.CLASSIFICATION_DEEP_PRESS
alle descrizioni comando. (I62e6a) TimePickerState
'sisAfternoon
ora è un'estensione anziché una variabile nell'interfaccia, rinominata inisPm
(I89a97)- Aggiornamento della classe di tipografia per supportare le scale di tipo enfatizzate. (Ifa13c)
- È stata aggiunta l'API
ModalWideNavigationRail
e le APIModalExpandedNavigationRail
sono state rinominate inDismissibleModalWideNavigationRail
. (Ic9118) FloatingAppBarScrollBehavior
aggiornato per calcolare automaticamentescreenOffset
e non richiedere un@Composable
. (Idf349)- Aggiornamenti all'API
LoadingIndicator
per correggere la denominazione nell'oggetto predefinito. È stata aggiunta una costanteLoadingIndicatorElevation
aPullToRefresh
. (I1d72b) - Aggiornamenti all'API
LoadingIndicator
per correggere la denominazione nell'oggetto predefinito. È stata aggiunta una costanteLoadingIndicatorElevation
aPullToRefresh
. (I1d72b) - Sono stati aggiunti i parametri
amplitude
ewaveSpeed
alle varianti indeterminate diLinearWavyProgressIndicator
eCircularWavyProgressIndicator
. (I2a0c5) - Supporta la modifica della forma di un pulsante di attivazione/disattivazione di un'icona in base al suo stato di pressione o selezione. (Ibc781)
- Aggiornamento della classe di tipografia per supportare le scale di tipo enfatizzate. (Ifa13c)
SplitButton
morphing delle forme in base allo stato predefinito / premuto. Rimossa l'APIAnimatedTrailingButton
perché l'APITrailingButton
può offrire le stesse personalizzazioni (I95066)- Aggiungi il modificatore per animare la visualizzazione e l'occultamento del pulsante di azione rapida, ad esempio quando i contenuti scorrono. (I8338d)
- Aggiunta di forme e spaziatura di gruppi di pulsanti collegati a
ButtonGroupDefaults
da utilizzare in un campione. (I68e30) - Il pulsante diviso aggiunge il padding orizzontale per il pulsante finale e attiva il centraggio ottico calcolato dalle differenze degli angoli iniziale e finale (I122e2).
- È stato introdotto un nuovo Material
MotionScheme
per consentire l'impostazione di uno schema per il movimento del componente. Lo schema viene impostato tramiteMaterialTheme
. (Id50c2)
Correzioni di bug
- Applica l'indice di attraversamento del focus corretto ai composable secondari
Scaffold
. L'ordine ètopBar
,bottomBar
, fab, content, snackbar. (I5936b) - È stato risolto un problema relativo a
DatePicker
eDateRangePicker
per cui, in alcune impostazioni internazionali e scheletri di formato, alcuni elementi di data (ad es. i nomi dei mesi) non iniziavano con una lettera maiuscola. (I1430f) - Integra i token dei componenti FAB e menu FAB (aggiornamenti visivi minori a spaziatura interna e testo) (Ib57f3)
ModalBottomSheet
ora è il primo nell'ordine di attraversamento semantico, seguito dalla semitrasparenza. (I436f9, b/358594665)- Correzione della barra delle app in basso che non scompare completamente quando scorri sotto la pillola di navigazione in modalità edge-to-edge (I3ee21)
Compose Material3 versione 1.3
Versione 1.3.2
9 aprile 2025
androidx.compose.material3:material3-*:1.3.2
viene ritirata. La versione 1.3.2 contiene questi commit.
Correzioni di bug
ListItem
corregge il calcolo dell'altezza intrinseca, riservando ora la quantità di spazio appropriata nel layout.- Rimuovi il padding in eccesso dell'etichetta
NavigationBarItem
, allineandola correttamente alle specifiche. - Corregge il layout
TabRow
in modalità RTL.
Versione 1.3.1
30 ottobre 2024
androidx.compose.material3:material3-*:1.3.1
viene ritirata. La versione 1.3.1 contiene questi commit.
Correzioni di bug
DatePicker
eDateRangePicker
ora aggiornano correttamente il mese visualizzato quando vengono impostati tramitedisplayedMonthMillis
dello stato. (If9e47, b/333414302)- Correzione degli arresti anomali in
DatePicker
eDateRangePicker
quando l'anno minimo selezionabile è impostato su un anno futuro. (I78656, b/319395747) - È stato corretto un problema del selettore della data per aggiornare l'interfaccia utente quando viene applicata un'istanza
SelectableDates
aggiornata. (Iad59a, b/290135807, b/339898760) - Modifica la priorità di callback utilizzata dai fogli inferiori in
PRIORITY_DEFAULT
per consentire alla tastiera IME di chiudersi per prima. (I447fb)
Versione 1.3.0
4 settembre 2024
androidx.compose.material3:material3-*:1.3.0
viene ritirata. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
Funzionalità principali della versione 1.3.0
Nuovi componenti Material Design 3
- Carosello
HorizontalMultiBrowseCarousel
eHorizontalUncontainedCarousel
Miglioramenti ai componenti Material Design 3 esistenti.
- [
ModalBottomSheet
] ora supporta la navigazione predittiva su U+ (Iccf32, b/281967264, b/304850357) - [
SearchBar
] ora supporta il gesto Indietro predittivo su U+ (I657f8) - Il riquadro di navigazione (
ModalDrawerSheet
eDismissibleDrawerSheet
) ora supporta la funzionalità Indietro predittivo su U+ come funzionalità attivabile (Ie5b0b) DropdownMenu
ora supporta colore, forma, elevazione e bordo personalizzati. (I8e981,b/289554448, b/301887035, b/283654243)- Il cursore è stato aggiornato per migliorare l'accessibilità aggiungendo un indicatore di intervallo e di arresto. (I3058e)
- Aggiornamento di
ProgressIndicator
per migliorare l'accessibilità aggiungendo un indicatore di interruzione e spazio. (I21451) - È stato aggiunto un cursore predefinito per la descrizione comando avanzata. È supportato il disegno di un cursore personalizzato dato l'ancora
LayoutCoordinates
. (Ifd42c) Modifiche che provocano un errore - Nuove API per il trascinamento per aggiornare:
PullToRefreshState
semplificato per utilizzare valori frazionari anziché unità Dp.- Lo stato di
isRefreshing
è controllato dall'utente anziché daPullToRefreshState
. - È stata separata la connessione di scorrimento nidificata da
PullToRefreshState
. Viene gestito dal nuovoPullToRefreshBox
oModifier.pullToRefresh
. - Questo aggiornamento è una modifica che causa interruzioni alle precedenti API sperimentali. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Modifiche visive che causano interruzioni
- Aggiorna l'overlay dello stato attivo a 0,1 f per garantire un contrasto cromatico sufficiente. (I7ea77)
- Piccoli aggiustamenti ai valori predefiniti del colore della superficie e dello sfondo in
lightColorScheme
edarkColorScheme
. (I9db52) - I colori del cursore e di
ProgressIndicator
sono stati aggiornati in base alle nuove specifiche di contrasto non testuale. (I26807) - Ora i componenti utilizzano le varianti
SurfaceContainer
. I componenti che calcolavano formalmente il colore conSurface
eTonalElevation
ora utilizzano per impostazione predefinita i ruoliSurfaceContainer
, che non sono interessati dall'elevazione tonale. (b/304584161) - I ruoli di base di Surface e contenitore Surface sono stati leggermente modificati, fornendo una tonalità più intensa nei temi chiaro e scuro. (I677a5)
- Promozione delle API sperimentali a stabili.
- Miglioramenti delle prestazioni
Versione 1.3.0-rc01
21 agosto 2024
androidx.compose.material3:material3-*:1.3.0-rc01
viene ritirata. La versione 1.3.0-rc01 contiene questi commit.
Correzioni di bug
ModalBottomSheet
ora è il primo nell'ordine di attraversamento semantico, seguito dalla semitrasparenza. (I436f9, b/358594665)
Versione 1.3.0-beta05
24 luglio 2024
androidx.compose.material3:material3-*:1.3.0-beta05
viene ritirata. La versione 1.3.0-beta05 contiene questi commit.
- Risolto il problema per cui i contenuti di
BottomSheet
sono mancanti o tagliati su Android N e O (a10a2d) - Aumento dei limiti semantici del cursore per consentire a
TalkBack
di mostrare correttamente gli indicatori di messa a fuoco intorno ai pollici. (0b5a1d)
Versione 1.3.0-beta04
26 giugno 2024
androidx.compose.material3:material3-*:1.3.0-beta04
viene ritirata. La versione 1.3.0-beta04 contiene questi commit.
Versione 1.3.0-beta03
12 giugno 2024
androidx.compose.material3:material3-*:1.3.0-beta03
viene ritirata. La versione 1.3.0-beta03 contiene questi commit.
Contributo esterno
- Rendi
androidx.compose.material3.DropdownMenu
disponibile dal set di origini comuni. (If62c0)
Versione 1.3.0-beta02
29 maggio 2024
androidx.compose.material3:material3-*:1.3.0-beta02
viene ritirata. La versione 1.3.0-beta02 contiene questi commit.
Modifiche alle API
Modifier.pullToRefreshIndicator
supporta l'elevazione, aggiorna le API Pull To Refresh in modo che l'abilitazione sia un valore booleano anziché una funzione lambda. Supporto dell'allineamento dei contenuti inPullToRefreshBox
(I75679)- Rendere
TooltipScope
un'interfaccia sigillata e creare un'implementazione interna da utilizzare inTooltipBox
ed Etichetta. (I3833e) - Sono stati aggiunti due nuovi modificatori a
CarouselItemScope
,maskClip
emaskBorder
, per aggiungere facilmente una forma e un bordo a qualsiasi elemento del carosello (Id67a1). TimePickerState
ora è un'interfaccia e consente di impostare l'ora (I88546)- API aggiornata per lo stile dei link:
TextLinkStyles
è stato spostato inTextStyle
eTextDefaults
è stato rimosso da Material. (I5477b)
Correzioni di bug
- Le icone della barra di stato e di navigazione di
ModalBottomSheet
ora rispondono allo stato del tema scuro. (Ie1fe7, b/338342149) - Aggiunta la semantica di chiusura del foglio allo scrim
ModalBottomSheet
. (0e61cb,b/328801864)
Contributo esterno
- Rendi
androidx.compose.material3.AlertDialog
disponibile dal set di origini comuni (Ia33f5) - Rendere
ModalBottomSheet
disponibile dal set di origini comuni (Id7cc7)
Versione 1.3.0-beta01
14 maggio 2024
androidx.compose.material3:material3-*:1.3.0-beta01
viene ritirata. La versione 1.3.0-beta01 contiene questi commit.
Modifiche alle API
- Utilizzo di
DpSize
anzichéCaretProperties
. Rimozione diCaretProperties
in corso. RinominaCaretScope
inTooltipScope
. (Id9a76) - È stata aggiornata l'API per ottenere link con tema Material nel testo. In particolare, sono stati rimossi i metodi da
TextDefaults
per costruireLinkAnnotations
a tema e analizzare l'HTML con link a tema. È stata invece aggiunta una classeTextLinkStyles
che consente di applicare uno stile ai link come parametro del composable Text. (I31b93)
Versione 1.3.0-alpha06
1° maggio 2024
androidx.compose.material3:material3-*:1.3.0-alpha06
viene ritirata. La versione 1.3.0-alpha06 contiene questi commit.
Modifiche che provocano un errore
Nuove API pull-to-refresh:
PullToRefreshState
semplificato per utilizzare valori frazionari anziché unità Dp.- Lo stato di
isRefreshing
è controllato dall'utente anziché daPullToRefreshState
. - È stata separata la connessione di scorrimento nidificata da
PullToRefreshState
. Viene gestito dal nuovoPullToRefreshBox
oModifier.pullToRefresh
. - Questo aggiornamento è una modifica che causa interruzioni alle precedenti API sperimentali. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)
Modifiche alle API
RippleConfiguration#isEnabled
è stato rimosso eLocalRippleConfiguration
è stato reso annullabile. Per disattivare un'increspatura, anziché fornire unRippleConfiguration
conisEnabled = false
, forniscinull
aLocalRippleConfiguration
. (I22725)ModalBottomSheet
disegna in modo più preciso la protezione sopra la barra di stato quando è attivata la modalità edge-to-edge. I contenuti del foglio modale inferiore ora possono utilizzare gli inset della finestra, consentendo la visualizzazione dei contenuti sopra la barra di navigazione. Il parametroModalBottomSheet
windowInsets
è stato rinominatocontentWindowInsets
per specificare dove verranno applicati gli inserti, che non sono più legati alla logica della finestra. Il tipocontentWindowInsets
è stato modificato in una funzione che restituisceWindowInsets
, per consentirne la risoluzione all'interno della nuova finestra. (I39630, b/274872542, b/300280229, b/290893168)PrimaryScrollableTabRow
eSecondaryScrollableTabRow
ora utilizzano il layout personalizzato anziché la composizione secondaria, il che dovrebbe migliorare il rendimento. (I991e0)- I link di testo hanno ricevuto l'opzione di stile dello stato premuto, oltre allo stile normale, al passaggio del mouse e alla messa a fuoco. I metodi
TextDefaults
hanno ricevuto un argomentopressedStyle
per supportare questa funzionalità. (Ic473f, b/139312671)
Correzioni di bug
- I punti di trascinamento del riquadro di navigazione ora corrispondono alla larghezza di
drawerContent
. (Ibc72f, b/245355396) - Il padding superiore dell'etichetta ora tiene conto delle dimensioni del carattere di sistema.
OutlinedTextField
(Idc781) - Posizione del pacchetto corretto di
CalendarLocale
. (Ifa235) - [Indietro predittivo] Aggiorna le animazioni di Indietro predittivo in modo che utilizzino la curva di interpolazione (0.1, 0.1, 0, 1) (I2591a)
Versione 1.3.0-alpha05
17 aprile 2024
androidx.compose.material3:material3-*:1.3.0-alpha05
viene ritirata. La versione 1.3.0-alpha05 contiene questi commit.
Nuove funzionalità
SearchBar
eDockedSearchBar
hanno nuovi overload che accettano un parametro di campo di testo. In questo modo è possibile applicare uno stile al campo di testo separatamente dal resto della barra di ricerca, nonché inserire campi di testo personalizzati. Il campo di testo dell'implementazione attuale è stato reso disponibile comeSearchBarDefaults.InputField
. (I50c73, b/275074248, b/278773336, b/326627700)- la lambda
drawTick
è stata aggiunta all'API pubblica per personalizzare i segni di graduazione, se necessario (I0c048)
Modifiche alle API
- I link di testo hanno ricevuto l'opzione di stile dello stato premuto, oltre allo stile normale, al passaggio del mouse e alla messa a fuoco (I5f864, b/139312671)
- Aggiornamento di
CarouselItemInfo
per esporre un rettangolo di maschera in base al quale l'elemento viene ritagliato (I785d8) - Rimossa
BasicTooltipState
dall'API pubblica Material 3. La sua funzionalità è combinata conTooltipState
finchéBasicTooltip
di Foundation non viene stabilizzato. (Icda29) - È stato aggiunto un oggetto
TextDefaults
che contiene metodi per creare unLinkAnnotation
e analizzare una stringa con tag HTML che applicanoMaterialTheme
ai link (I98532, b/139312671). ExposedDropdownMenuBoxScope
non consente più le sottoclassi. I menu a discesa esposti ora hanno unMenuAnchorType
che deve essere passato amenuAnchor
per supportare meglio l'accessibilità. Questo valore deve essere utilizzato al posto difocusable
perExposedDropdownMenu
, che ora è deprecato.menuAnchor
ha un nuovo parametro per controllare lo stato dienabled
. (I55ee6, b/257209915, b/308840226)- È stato corretto il colore del bordo di
OutlinedButton
quando è disattivato. Aggiunta di un overloadButtonDefaults.outlinedButtonBorder("enabled")
che accetta lo stato attivato. (Ie650b, b/318461363) - È stata aggiunta una nuova classe
CarouselItemInfo
per aiutare i clienti a ottenere informazioni sulle taglie degli articoli. (I9070c) - Il costruttore
ColorScheme
senza contenitori di superficie è ora deprecato. Esegui la migrazione al costruttore che include i contenitori di superficie. (I35c11) - [Con contorno]
TextFieldDefaults
ContainerBox
è stato rinominato inContainer
. (Ie8d3b)
Correzioni di bug
BottomSheetScaffold
non scorrerà più dallo scorrimento nidificato sesheetSwipeEnabled
è false. (I5e1c1, b/306464779)- Abbiamo rimosso alcune annotazioni di attivazione
ExperimentalMaterial3Api
inIconButtonSamples.kt
. (I111d1)
Versione 1.3.0-alpha04
3 aprile 2024
androidx.compose.material3:material3-*:1.3.0-alpha04
viene ritirata. La versione 1.3.0-alpha04 contiene questi commit.
Nuove funzionalità
- Sono state aggiunte due versioni sperimentali del carosello Material3:
HorizontalMultiBrowseCarousel
eHorizontalUncontainedCarousel
(I88d64) - Aggiornamento del riquadro di navigazione di Compose M3 (
ModalDrawerSheet
eDismissibleDrawerSheet
) per supportare la funzionalità Indietro predittivo su U+ come funzionalità attivabile (Ie5b0b) - È stata aggiunta una nuova API in Icon per consentire il passaggio della tinta del colore come lambda per evitare la ricomposizione. (I5b5a2)
- Le API della barra delle app superiore ora supportano altezze personalizzate sia per le sezioni fisse che per quelle comprimibili. (Ib8b0c, b/323403446)
Modifiche alle API
- Le API della barra delle app superiore ora supportano altezze personalizzate sia per le sezioni fisse che per quelle comprimibili. È stato risolto un problema che causava la ricomposizione eccessiva delle barre delle app nella parte superiore a una sola riga durante lo scorrimento dei contenuti. Risolto un problema per cui
MediumTopAppBar
troncava i titoli sui dispositivi con impostazioni di visualizzazione/carattere grandi. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676) SegmentedButton
e le API associate sono ora stabili (I8a158)SwipeToDismissBox
,SwipeToDismissBoxDefaults
,SwipeToDismissBoxState
eSwipeToDismissBoxValue
sono ora contrassegnate come stabili. (I5f000)- Sono stati rimossi gli enum e le API
DismissDirection
eDismissValue
obsoleti. (I89ccd) - È stato aggiunto un tag sperimentale all'oggetto complementare
CarouselState
di Carosello. (I94154) - È stato ritirato
LocalMinimumInteractiveComponentEnforcement
ed è stato introdottoLocalMinimumInteractiveComponentSize
per sostituirlo. (I7a7ac) - Il costruttore
SearchBarColors
è ora pubblico. (I769ca) - È stato aggiunto un parametro
gesturesEnabled
aSwipeToDismissBox
. (Idc59f, b/324170119) - Sono state rimosse le API dei campi di testo contrassegnate come deprecate e sperimentali. (I1305f)
Versione 1.3.0-alpha03
20 marzo 2024
androidx.compose.material3:material3-*:1.3.0-alpha03
viene ritirata. La versione 1.3.0-alpha03 contiene questi commit.
Modifiche visive che causano interruzioni
- Aggiorna l'overlay dello stato attivo a 0,1 f per garantire un contrasto cromatico sufficiente. (I7ea77)
- Piccoli aggiustamenti ai valori predefiniti del colore della superficie e dello sfondo in
lightColorScheme
edarkColorScheme
. (I9db52)
Nuove funzionalità
- Sono stati aggiunti parametri per personalizzare
ExposedDropdownMenu
. In particolare, i menu ora hanno un parametrofocusable
(valore predefinitotrue
) che deve essere impostato sufalse
quando si lavora con campi di testo modificabili. (I4184c, b/323694447, b/278609042)
Modifiche alle API
- Il flag
ScaffoldSubcomposeInMeasureFix
è stato rimosso. (Ie2a4b) NavigationRailItemColors
è ora contrassegnato come@Immutable
. (If6112, b/327660613)NavigationBarItemColors
è ora contrassegnato come@Immutable
. (I42a30, b/298064514)- Riordina i parametri nel componente componibile Slider Track. (I9f315)
ExposedDropdownMenu
è ora implementato utilizzandoPopup
. Il comportamento dovrebbe essere lo stesso, tranne per i menu selezionabili con campi di testo modificabili che potrebbero essere chiusi durante la digitazione sulla tastiera.
Correzioni di bug
- I ruoli di base di Surface e contenitore Surface sono stati leggermente modificati, fornendo una tonalità più intensa nei temi chiaro e scuro. (I677a5)
- I colori del cursore e di
ProgressIndicator
sono stati aggiornati in base alle nuove specifiche di contrasto non testuale. (I26807) - Aggiorna l'overlay dello stato attivo a 0,1 f per garantire un contrasto cromatico sufficiente. (I7ea77)
- Piccoli aggiustamenti ai valori predefiniti del colore della superficie e dello sfondo in
lightColorScheme
edarkColorScheme
. (I9db52)
Versione 1.3.0-alpha02
6 marzo 2024
androidx.compose.material3:material3-*:1.3.0-alpha02
viene ritirata. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche alle API
- Rendere di nuovo stabili gli stati del cursore. Impostazione di
State.onValueChangeFinished
come val di nuovo. Wrapping dionValueChangeFinished
in unrememberUpdatedState
. (I82ab2, b/322269951) - I componenti di navigazione ora utilizzano i nuovi ruoli
SurfaceContainer
.DrawerDefaults
ora fornisce attributistandardContainerColor
emodalContainerColor
distinti.DrawerDefaults.ModalDrawerElevation
è ora0.dp
. (I7fbac) - Rimozione di
@Stable
dagli stati diSlider
perché stiamo modificandostate.onValueChangeFinished
invar
. (Ied34a, b/322269951) - La specifica dell'animazione
ModalBottomSheet
eStandardBottomSheet
ora èTweenSpec
, aggiornata da un'animazione con effetto molla. In questo modo viene risolto un problema di overshoot visibile. I costruttoriSheetState
senza densità sono stati rimossi. (I7babc, b/285847707)
Correzioni di bug
- Ora i componenti utilizzano le varianti
SurfaceContainer
. I componenti che in precedenza calcolavano il colore con Surface eTonalElevation
ora utilizzano per impostazione predefinita i ruoliSurfaceContainer
, che non sono interessati dall'elevazione tonale. (b/304584161) - È stato corretto un bug che causava la visualizzazione in nero del colore del contenitore non selezionato e disattivato di
ElevatedFilterChip
. (I400e6, b/322407043) - Correzione dell'indicatore di avanzamento indeterminato quando l'avanzamento è 0 (Id6582)
- Risolto un problema con
Slider
eRangeSlider
nel layout RTL (Iab0e1) - Aggiunta di
SliderRangeTolerance
per il calcolo dell'intervallo del cursore, poiché l'arrotondamento dei numeri in virgola mobile può essere impreciso. (Ic918a, b/324934900) - Assicurati che
DatePickerDialog
mostri i pulsanti quando nidifichi unDateRangePicker
o quando visualizzi qualsiasi tipo di selettore di date su schermi piccoli con caratteri più grandi. (Ie4758, b/325107799, b/277768544) Menu
ora utilizza il ruoloSurfaceContainer
per il colore del contenitore.MenuDefaults.TonalElevation
è ora0.dp
. (I135b7)TextField
ora utilizza il ruoloSurfaceContainerHighest
per il colore del contenitore. (I4dced)- I chip elevati ora sfruttano il ruolo
SurfaceContainerLow
(I7cd2f) - Il colore del contenitore
DatePicker
ora èSurfaceContainerHigh
.DatePickerDefaults.TonalElevation
è ora0.dp
. (Ida753) - Aggiorna il colore del contenitore dei fogli inferiori e il colore della maniglia di trascinamento. (I72a0a)
- Il colore del contenitore
RichTooltip
ora èSurfaceContainer
. (Ia8b45) - Il colore del contenitore
SearchBar
ora èSurfaceContainerHighest
.SearchBarDefaults.TonalElevation
è ora0.dp
. (I88604) - L'opzione di aggiornamento è disattivata e le tracce/icone non selezionate sfruttano il ruolo del colore
SurfaceContainerHighest
. (I7687a) - Il colore del contenitore
AlertDialog
ora èSurfaceContainerHigh
. (Ie0433) - Il colore del contenitore
BottomAppBar
ora èSurfaceContainer
. Il coloreTopAppBar
onScroll
ora èSurfaceContainer
. (I41630) - Il colore del contenitore
ElevatedCard
ora èSurfaceContainerLow
.FilledCard
's container color ofSurfaceContainerHighest
. (I35141) - Il colore del contenitore
ElevatedButton
ora èSurfaceContainerLow
.FilledIconButton
ora hanno un colore del contenitoreSurfaceContainerHighest
quando non sono selezionati. (I792c9) - Aggiorna il colore del contenitore
TimePicker
e il ruolo del colore del quadrante dell'orologio aSurfaceContainerHighest
. (I43b93)
Versione 1.3.0-alpha01
21 febbraio 2024
androidx.compose.material3:material3-*:1.3.0-alpha01
viene ritirata. La versione 1.3.0-alpha01 contiene questi commit.
Nuove funzionalità
- Aggiorna Compose M3
ModalBottomSheet
per supportare la navigazione predittiva su U+ (Iccf32, b/281967264, b/304850357) - Aggiornamento di Compose M3
SearchBar
per supportare il gesto indietro predittivo su U+ (I657f8) - Il cursore è stato aggiornato per migliorare l'accessibilità aggiungendo un indicatore di intervallo e di arresto. (I3058e)
- Aggiornamento di
ProgressIndicator
per migliorare l'accessibilità aggiungendo un indicatore di interruzione e spazio. (I21451) - L'aggiunta di un cursore predefinito per la descrizione comando avanzata, la nuova API per la descrizione comando avanzata ora consente di disegnare un cursore personalizzato dato l'ancoraggio
LayoutCoordinates
. (Ifd42c)
Modifiche al comportamento
- I componenti Material sono stati migrati per utilizzare le nuove API ripple e non eseguono più query su
RippleTheme
.
Modifiche alle API
- Il divertente
drawStopIndicator
è ora pubblico. (I3f59f) - Contrassegna la funzione
formatWithSkeleton
diDatePicker
come interna (Ic65dc) DropdownMenu
ora supporta colore, forma, elevazione e bordo personalizzati. (I8e981, b/289554448, b/301887035, b/283654243)- I componenti Material3 che espongono un
MutableInteractionSource
nella loro API sono stati aggiornati in modo da esporre ora unMutableInteractionSource
nullable che ha come valore predefinitonull
. Non sono state apportate modifiche semantiche: il passaggio di null significa che non vuoi sollevareMutableInteractionSource
e verrà creato all'interno del componente, se necessario. Se viene impostato su null, alcuni componenti non allocano mai unMutableInteractionSource
, mentre altri creano un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizziMutableInteractionSource
che trasmetti a questi componenti, ti consigliamo di trasmettere null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (I41abb, b/298048146) - Aggiunge
RippleConfiguration
eLocalRippleConfiguration
per consentire la personalizzazione per componente / sottoalbero delle increspature utilizzando valori fissi. Ad esempio, per modificare il colore di un componente che non controlli o per disattivare un effetto increspatura per un componente. Nella maggior parte dei casi, è necessario utilizzare i valori predefiniti: queste API sono una scappatoia per la personalizzazione di singoli componenti / sottoalberi limitati. Per modifiche più ampie e sistemi di progettazione personalizzati, devi creare il tuo effetto increspatura utilizzandocreateRippleModifierNode
. (I7b5d6, b/298048146) - Aggiunge una nuova API ripple in Material3 che sostituisce
rememberRipple
deprecato. Aggiunge anche unCompositionLocal
temporaneo,LocalUseFallbackRippleImplementation
, per ripristinare l'utilizzo delle APIrememberRipple
/RippleTheme
deprecate per i componenti Material3. Questo elemento verrà rimosso nella prossima release stabile ed è inteso solo come ausilio temporaneo per la migrazione nei casi in cui fornisci unRippleTheme
personalizzato. (I34cbc, b/298048146)
Correzioni di bug
- Rimossa la composizione secondaria all'interno di
ModalBottomSheet
per migliorare le prestazioni. Risolto un problema per cuiModalBottomSheet
poteva arrestarsi in modo anomalo in scenari specifici in combinazione conLookaheadScope
. (I2a198) - Rimossa la composizione secondaria all'interno di
BottomSheetScaffold
per migliorare le prestazioni. Risolto un problema per cuiBottomSheetScaffold
si arrestava in modo anomalo in scenari specifici in combinazione conLookaheadScope
. (Ie6401) - L'allineamento del badge viene regolato in modo che sia più vicino al centro del contenuto di ancoraggio rispetto all'angolo in alto a destra. (I18a28)
- Risolto un problema di accessibilità con
DateRangePicker
in cui il titolo di testo Mese-Anno veniva comunicato come azionabile agli utenti di screen reader, Switch Access e Voice Access. (I2ac55) - Corretto il bug dell'ordine dei parametri
mediumTopAppBarColors
. (Ibe64a)
Versione 1.2
Versione 1.2.1
6 marzo 2024
androidx.compose.material3:material3-*:1.2.1
viene ritirata. La versione 1.2.1 contiene questi commit.
Correzioni di bug
- Rendi di nuovo stabili gli stati del cursore. Impostazione di
State.onValueChangeFinished
come val di nuovo. Wrapping dionValueChangeFinished
in unrememberUpdatedState
. (Ie8fd0, b/322269951) - Rimozione di
@Stable
dagli stati diSlider
perché stiamo modificandostate.onValueChangeFinished
invar
. (I82ba1, b/322269951) - Correggi
NavigationBar
colori personalizzati da copiare dai valori predefiniti. (80a779, b/326894020) - Correzione della regressione in
ExposedDropdownMenu
per renderlo nuovamente selezionabile (3fcec1, b/323694447) - Correzione del problema di memorizzazione nella cache del colore del pulsante Correggi (3e5bbcb/327371655)
Versione 1.2.0
7 febbraio 2024
androidx.compose.material3:material3-*:1.2.0
viene ritirata. La versione 1.2.0 contiene questi commit.
Problema noto
- In
PrimaryTabRow
è stato introdotto un bug di rendering dell'interoperabilità View-Compose nell'ambito di una modifica per il miglioramento del rendimento. La soluzione alternativa è utilizzareTabRow
conTabRowDefaults.PrimaryIndicator
Modifiche importanti dalla versione 1.1.0
Nuovi componenti Material Design 3
- Trascina per aggiornare
- Pulsante segmentato
Miglioramenti ai componenti Material Design 3 esistenti.
- Barra dell'app in basso (allineamento da destra a sinistra, nascondimento automatico durante lo scorrimento)
- Aggiornamento visivo delle schede
- Badge (aggiornamento dell'allineamento)
API sperimentali promosse a stabili.
Miglioramenti delle prestazioni
- Per ulteriori dettagli, consulta questo post del blog.
Versione 1.2.0-rc01
24 gennaio 2024
androidx.compose.material3:material3-*:1.2.0-rc01
viene ritirata. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Corretto il bug dell'ordine dei parametri
mediumTopAppBarColors
. (Ibe64a) - È stato corretto un bug introdotto nella versione
1.2.0-beta02
diCardDefaults.cardColors
che non aggiornavacontentColor
in base al valore del parametrocontainerColor
. (Iee041, b/319671246) - È stato corretto un bug in
disabledContentColor
introdotto in1.2.0-beta02
ed è stata aggiunta una piccola ottimizzazione. (I6dda1, b/318428829)
Versione 1.2.0-beta02
10 gennaio 2024
androidx.compose.material3:material3-*:1.2.0-beta02
viene ritirata. La versione 1.2.0-beta02 contiene questi commit.
Bug noto
- Un bug in
IconButtonColors
assegnerà per impostazione predefinitadisabledContentColor
a un alpha (0.38f) diLocalContentColor
anziché al valorecontentColor
specificato dall'utente. La soluzione alternativa consiste nell'impostare esplicitamentedisabledContentColor
. Questo problema verrà risolto nella prossima release.
Modifiche alle API
- Aggiunta della funzionalità per abilitare i simboli di inserimento della descrizione comando per le API Plain
Tooltip
. (Ibf767) SwipeToDismissState
,rememberSwipeToDismiss
eSwipeToDismissValue
sono stati rinominati in modo da avere_SwipeToDismissBox_
. (I68d6d)
Correzioni di bug
- È stato corretto il valore del padding finale
ListItem
in modo che sia in linea con le specifiche. (Ibd68b, b/305342674) - Il colore del contorno della scheda con contorno ora è mappato correttamente su
OutlineVariant
. (I75480, b/310979715) - Il colore dinamico ora viene estratto dai ruoli di colore definiti dal sistema. In questo modo, il contrasto dei contenuti accessibili viene migliorato e il colore dinamico viene allineato più fedelmente alle specifiche di Material. (I1de96)
- È stata corretta la gestione del pulsante Indietro
ModalBottomSheet
su Android T/13+ quandoandroid:enableOnBackInvokedCallback="true"
. (I728dc, b/306196110)
Versione 1.2.0-beta01
13 dicembre 2023
androidx.compose.material3:material3-*:1.2.0-beta01
viene ritirata. La versione 1.2.0-beta01 contiene questi commit.
Modifiche alle API
- Contrassegna
TabIndicatorScope
come sperimentale. (I45c88) - Rimozione delle API sperimentali obsolete per la descrizione comando. (I438cb)
- Modifica i nuovi sovraccarichi di
TabRow
in modo che non utilizzino le sottocomposizioni. Ciò comporta un modo diverso di creare gli indicatoriTabRow
con i modificatori personalizzati forniti. (Ife741) - Ritira le API
DismissDirection
eDismissValue
. Questi sono stati uniti aSwipeToDismissValue
, i cui valori indicano sia la posizione che la direzione diSwipeToDismissBox
.DismissState.progress
ora è contrassegnato comeFloatRange
tra0.0
e1.0
. Le funzionalità di risparmio e costruzione deprecate diDismissState
sono state rimosse. I componentiSwipeToDismiss
, state e defaults sono stati contrassegnati come sperimentali. (Ib54f2)
Correzioni di bug
- L'indicatore predefinito per
PullToRefresh
ora è una punta di freccia aperta anziché un triangolo pieno. (I67be3)
Versione 1.2.0-alpha12
29 novembre 2023
androidx.compose.material3:material3-*:1.2.0-alpha12
viene ritirata. La versione 1.2.0-alpha12 contiene questi commit.
Modifiche alle API
RangeSlider
ora accetta un intervallo Kotlin (ad es.0f..1f
) anziché una classe di valoriFloatRange
personalizzata.SnapFlingBehavior.kt
ora utilizza anche un intervallo Kotlin. (I025cb)- Contrassegna le funzioni di fabbrica dei modificatori come
@Stable
. (Ib109f)
Versione 1.2.0-alpha11
15 novembre 2023
androidx.compose.material3:material3-*:1.2.0-alpha11
viene ritirata. La versione 1.2.0-alpha11 contiene questi commit.
Nuove funzionalità
- Implementa
PullToRefreshContainer
ePullToRefreshState
, che insieme forniscono un'implementazione di pull to refresh in Material3. (I16456, b/261760718)
Modifiche alle API
- Contrassegna
SwipeToDismissBox
DismissDirection
eDismissValue
come sperimentali. (I517b0) - Rinomina
SwipeToDismiss
inSwipeToDismissBox
. Rinominabackground
inbackgroundContent
edismissContent
in lambdacontent
finale. (I7f4d3) - Rendi pubblico il costruttore per
ChipElevation
eSelectableChipElevation
. (Ie0c48, b/308432421) - Aggiunta di
ModalBottomSheetProperties
in corso. Spostamento disecurePolicy
inModalBottomSheetProperties
in corso. Aggiunta diisFocusable
eshouldDismissOnBackPress
aModalBottomSheetProperties
. Questi nuovi valori booleani aiutano a determinare come il foglio modale inferiore deve gestire gli eventi IME. (Iea56f, b/278216859) - Sono stati aggiornati gli stati
RangeSlider
eSlider
per rimuovereinitialOnValueChange
, i prefissi iniziali e i kdoc appropriati. (I57d30) - Ritiro della classe
ChipBorder
e delle relative chiamate di funzioni, consigliando invece l'utilizzo diretto diBorderStroke
. (I89cc2) - Le API Foundation Tooltip ora sono
@ExperimentalFoundationApi
. (I30b0b) TabRow
eScrollableTabRow
non sono più ritirati. Le nuove varianti principale e secondaria sono contrassegnate come sperimentali. (I0def6)- I chip di filtro e input ora utilizzano direttamente
BorderStroke
. (I07a8d) SegmentedButton
ora utilizzaBorderStroke
direttamente. (I89b9b)- È stata rinominata la funzione generica
AlertDialog
inBasicAlertDialog
ed è stata ritirata la funzione precedente. (Idbe52) - Rinomina le API
SwipeToDismiss
inSwipeDismiss
e promuovi le nuove APISwipeDismiss
alla versione stabile. (I14cbe) - Aggiunta di
tonalElevation
eshadowElevation
alle API dei suggerimenti. Inoltre, le APITooltipBox
,PlainTooltip
eRichTooltip
sono state riportate alla fase sperimentale, in quanto sono state rilasciate per errore come stabili. (If0f66, b/293939035) - Promuovere le API chip sperimentali a stabili. (Iea2c3)
- È stata rimossa l'annotazione
@ExperimentalMaterial3Api
dalle schede cliccabili Material3. (I88dbf)
Correzioni di bug
- Risolto un problema per cui
SwipeToDismiss
si arrestava in modo anomalo in determinati scenari con layout Lookahead e Lazy nidificati. (Ica8d1, b/297226562)
Versione 1.2.0-alpha10
18 ottobre 2023
androidx.compose.material3:material3-*:1.2.0-alpha10
viene ritirata. La versione 1.2.0-alpha10 contiene questi commit.
Modifiche alle API
- Promozione di
Badge
eBadgedBox
alla versione stabile. (I67f16, b/261565132) - Aggiunta di
securePolicy
come parametro aModalBottomSheet
, in modo che gli utenti possano definire il comportamento perWindowManager.LayoutParams.FLAG_SECURE
. (Icdac8, b/296250262) - Sono stati aggiunti nuovi sovraccarichi di
LinearProgressIndicator
eCircularProgressIndicator
che prendonoprogress
come lambda. Queste dovrebbero essere più performanti delle versioni precedenti. (I824e6, b/295616656) - Rinomina
StandardSizeClasses
inAllSizeClasses
. (I8cb07) - Combina le funzioni di calcolo delle classi di dimensioni della finestra. (Iad935)
Correzioni di bug
- Correzione di un arresto anomalo di
DatePicker
quando si fa clic rapidamente sui pulsanti freccia di navigazione quando il mese visualizzato si trova al limite dell'intervallo di anni consentito. (I46f36, b/290954897, b/297002119) - [Barra di navigazione] Supporta il colore trasparente per l'indicatore. (Ie0a9b, b/267289987)
Versione 1.2.0-alpha09
4 ottobre 2023
androidx.compose.material3:material3-*:1.2.0-alpha09
viene ritirata. La versione 1.2.0-alpha09 contiene questi commit.
Modifiche alle API
- È stata eseguita la migrazione di
ModalNavigationDrawer
eDismissibleNavigationDrawer
per utilizzare le nuove APIAnchoredDraggable
.animateTo
diDrawerState
è stato sostituito dai metodi open e close e l'offset ora viene esposto come float anziché come oggetto di stato. Puoi accedere all'offset direttamente tramitecurrentOffset
. (I0a72c) - Sono state aggiunte funzioni non componibili per creare direttamente un
DatePickerState
e unDateRangePickerState
. Queste funzioni possono essere utilizzate come alternativa alle funzioni componibilirememberDatePickerState
erememberDateRangePickerState
, se necessario. (I70326, b/291524052) - Le varianti Fissa e Scorrevole
TabRows
ora hanno varianti principali e secondarie. Questi corrispondono correttamente al comportamento del colore e dell'indicatore definito in Material3. PrimaryScrollableTabRow
eSecondaryScrollableTabRow
ora espongono lo stato di scorrimento. (Iec8f5, b/260572337)- Aggiunta di un nuovo parametro
sheetMaxWidth
che gli sviluppatori possono impostare per specificare una larghezza massima che il foglio occuperà. Dp.Unspecified può essere passato per il parametro se si desidera un foglio che si estenda per l'intera larghezza dello schermo. (Ifb7c9, b/266697696) - Aggiunta delle API
PlainTooltipBox
eRichTooltipBox
come metodi ritirati. (I246fa)
Correzioni di bug
- È stato risolto un arresto anomalo quando
DatePicker
viene inizializzato con unDatePickerFormatter
che presenta determinati scheletri di date che rimangono invariati quando vengono convertiti in pattern di date (ad esempio AA). (I01f29)
Versione 1.2.0-alpha08
20 settembre 2023
androidx.compose.material3:material3-*:1.2.0-alpha08
viene ritirata. La versione 1.2.0-alpha08 contiene questi commit.
Modifica che provoca un errore nel comportamento
ColorScheme
ora è immutabile, il che rende meno efficienti gli aggiornamenti dei singoli colori, ma rende più efficiente l'utilizzo più comune dei colori. Il motivo di questa modifica è che la maggior parte delle app non ha l'aggiornamento dei singoli colori come caso d'uso principale. È ancora possibile, ma la ricomposizione sarà maggiore rispetto a prima, il che ridurrà significativamente il numero di abbonamenti allo stato in tutto il codice Material e influirà sul costo di inizializzazione e runtime di casi d'uso più standard. (Ic447d, b/297212873)- L'elevazione tonale non viene più animata in diversi stati di interazione per corrispondere alle specifiche. (Icdd12)
Modifiche alle API
- È stato aggiunto un nuovo
BottomAppBar
che accetta come parametro unBottomAppBarScrollBehavior
per nasconderlo automaticamente quando i contenuti vengono scorri. È stato aggiunto ancheFabPosition.EndOverlay
che consente al pulsante di azione rapida di sovrapporsi alla barra delle app inferiore nello scaffold anziché essere ancorato sopra. (Iecb47) - È stato aggiunto un semplice componente Etichetta basato su
BasicTooltipBox
che non viene chiuso quando si tocca al di fuori dei limiti dell'etichetta. (I821f9)
Correzioni di bug
- È stato rimosso l'utilizzo di
rememberSaveable
per le descrizioni comando. (Icc131, b/299500338) - È stato introdotto un flag temporaneo per controllare se lo scaffolding deve misurare i suoi elementi secondari durante la misurazione o il posizionamento. Per impostazione predefinita, la misurazione viene effettuata in unità di misura. Se riscontri problemi con il nuovo comportamento, segnala un problema. (I0b354)
- Bordo orizzontale fisso da bordo a bordo in
BottomSheet
utilizzando la misurazione corretta per la larghezza dello schermo del dispositivo. (I1df0c, b/299058752) - È stato corretto un bug per cui
ModalBottomSheet
non chiamavaonDismissedRequest
quando veniva chiuso scorrendo verso il basso sul foglio. (Idfdd8)
Versione 1.2.0-alpha07
6 settembre 2023
androidx.compose.material3:material3-*:1.2.0-alpha07
viene ritirata. La versione 1.2.0-alpha07 contiene questi commit.
Nuove funzionalità
- Il supporto delle icone con mirroring automatico è stato aggiunto in
compose material 1.6.0-alpha05
. Per maggiori dettagli, consulta le note di rilascio.
Modifiche alle API
SliderState
implementaDraggableState
(I9b116)- Modifica la forma in modo che sia un parametro obbligatorio. Rinomina
position
inindex
nella funzione helper della forma. (I34941) - Aggiorna
DatePicker
formatWithSkeleton
per includere una mappa utilizzata come cache per migliorare il rendimento. (I3195f) - È stato aggiunto
BasicTooltipBox
acompose.foundation
e sono stati aggiornatiPlainTooltipBox
eRichTooltipBox
per utilizzareTooltipBox
con i nuovi composablePlainTooltip
eRichTooltip
. (I79e1d)
Correzioni di bug
dynamicLightColorScheme
edynamicDarkColorScheme
ora restituiscono colori con una croma più elevata per i ruoli di superficie esurfaceContainer
. (I5e901)- È stato risolto un problema per cui alcuni componenti che utilizzano Subcomposition (ad es.
BottomSheetScaffold
) all'interno di uno Scaffold all'interno di unLookaheadScope
tentavano di leggere le proprie dimensioni troppo presto. (I297b4, I871f1, b/295536718)
Versione 1.2.0-alpha06
23 agosto 2023
androidx.compose.material3:material3-*:1.2.0-alpha06
viene ritirata. La versione 1.2.0-alpha06 contiene questi commit.
Correzioni di bug
- È stato corretto il calcolo di
offset
diDropdownMenu
in modo che gli offset x dipendano esclusivamente dalla direzione del layout locale e gli offset y non vengano più invertiti quando il menu si trova vicino alla parte inferiore dello schermo. (Iccc74, b/294103942) - È stato corretto il calcolo di
offset
diDropdownMenu
in modo che gli offset x dipendano esclusivamente dalla direzione del layout locale e gli offset y non vengano più invertiti quando il menu si trova vicino alla parte inferiore dello schermo. (Ib87a2, b/294103942)
Versione 1.2.0-alpha05
9 agosto 2023
androidx.compose.material3:material3-*:1.2.0-alpha05
viene ritirata. La versione 1.2.0-alpha05 contiene questi commit.
Modifiche alle API
- Aggiornamenti dei colori della casella di controllo e di
TriStateCheckbox
.CheckboxDefaults.colors()
disabledUncheckedColor
ora influisce solo sul bordo della casella di controllo. I casi speciali che richiedono di impostare il colore della casella interna quando è disattivata e deselezionata richiedono un'istanza diCheckboxColors
creata in modo personalizzato con i valori di colore desiderati. (I77d17, b/291943198)
Versione 1.2.0-alpha04
26 luglio 2023
androidx.compose.material3:material3-*:1.2.0-alpha04
viene ritirata. La versione 1.2.0-alpha04 contiene questi commit.
Nuove funzionalità
- API Segmented Button sperimentale (Ifc8fb)
- Ora i divisori hanno un parametro per controllare l'orientamento e supportare i divisori verticali. (I4c899, b/288438593)
Modifiche alle API
- Stiamo spostando la dipendenza dalla densità a livello di componente. Questo vale per i seguenti componenti:
SwipeToDismiss
e componenti basati su Fogli. Utilizza il nuovo sovraccarico fornito in cui la densità è un parametro. (I1846e) - Annotazioni aggiuntive per specificare gli input consentiti per i componenti componibili (Ief234)
- Aggiungi un parametro icona al pulsante segmentato, dividi la semantica in modo che i pulsanti segmentati possano essere selezionabili per implementare la selezione singola e attivabili/disattivabili per implementare la selezione multipla, con
SelectableSegmentedButtonRow
eToggelableSegmentedButtonRow
rispettivamente. (I38740) - Il divisore è stato rinominato in
HorizontalDivider
. Aggiunta la funzionalitàVerticalDivider
. (I5975c) - Modifica l'utilizzo di
ClosedFloatingPointRange
perFloatRange
più leggero nelle API Material3 sperimentali per ridurre al minimo l'autoboxing. (I4aab5) - Aggiunto un nuovo allineamento iniziale per
FabPosition
(Ib7aea, b/170592777)
Correzioni di bug
ModalBottomSheet
rispetta la direzione del layout locale. (Ib4f44, b/285628622)
Versione 1.2.0-alpha03
21 giu 2023
androidx.compose.material3:material3-*:1.2.0-alpha03
viene ritirata. La versione 1.2.0-alpha03 contiene questi commit.
Modifiche al comportamento
includeFontPadding
ora èfalse
per impostazione predefinita nella tipografia Material 3. Anche lo stile dell'altezza della linea predefinita è stato modificato inTrim.None
eAlignment.Center
e sono stati aggiuntilineHeight
espliciti (in sp) aiTextStyle
diTypography
. Consulta la documentazione dell'API se vuoi personalizzare questi valori e leggi il post del blog per una spiegazione dettagliata di queste modifiche. (I6266f, Icabc3)
Nuove funzionalità
- È stato aggiunto un overload per
RangeSlider
che è una versione con stato del componente. CreatoRangeSliderState
che contiene tutte le informazioni per la traccia attiva corrente, le misurazioni dei componenti delRangeSlider
e la logica di trascinamento e gesti. (I8c270) - Ora la barra di ricerca supporta le ombreggiature tramite il parametro
shadowElevation
appena aggiunto. (Ia5369, b/271040353) ColorScheme
ora supporta i nuoviSurfaceContainer
ruoli.- Ora la sovrapposizione dell'elevazione tonale della superficie può essere disattivata con la composizione locale
LocalTonalElevationEnabled
. (Ic203c, b/277774590)
Modifiche alle API
- Apri i costruttori dei colori dei componenti. (I8c4a6)
- Aggiunta del parametro focusable a entrambe le API tooltip, in modo che gli sviluppatori possano fare in modo che il tooltip utilizzi o meno gli eventi tocco. Tieni presente che questa operazione potrebbe interrompere l'attraversamento automatico della messa a fuoco dell'accessibilità. (Ie32d8)
- Accessibilità ottimizzata per le prestazioni e le allocazioni di memoria. (Iede48)
- Esporre
DefaultSizeClasses
e creareStandardSizeClasses
perWindowSizeClasses
(I91838) - modifica
WindowWidth/HeightSizeClass
in classi di valori float (Ie686e)
Correzioni di bug
- Il parametro
contentWindowInsets
di Scaffold ora rispetta gli inset della finestra consumati. Tieni presente che il comportamento del padding dei contenuti in base atopBar
ebottomBar
rimane invariato quando vengono forniti questi parametri. (I08b73, b/264601542) - Correggi l'allineamento della barra delle app in alto al centro per assicurarti che un titolo lungo non venga visualizzato sopra le icone delle azioni o l'icona di navigazione. (I4369f, b/236994621)
- Le posizioni delle schede ora impongono una larghezza minima dei contenuti di 24 dp. In questo modo viene fornito un target tocco accessibile per gli indicatori delle schede. (Id8861)
- Le tavolozze di colori dinamiche di
dynamicLightColorScheme
edynamicDarkColorScheme
ora supportano nuovi ruoli di superficie. (I1252e) - Aggiornamento dell'allineamento della notifica del badge in modo che non venga troncata quando si scontra con il bisnonno. (Idf75a)
Versione 1.2.0-alpha02
24 maggio 2023
androidx.compose.material3:material3-*:1.2.0-alpha02
viene ritirata. La versione 1.2.0-alpha02 contiene questi commit.
Modifiche alle API
- Aggiungi il parametro degli inserti della finestra a
ModalBottomSheet
.- Ora la sfumatura per
ModalBottomSheet
può essere disegnata dietro la barra di stato conwindowInsets
impostato su zero - Funzionalità
ModalBottomSheet
predefinita aggiornata per rimanere al di fuori delle barre di sistema, inclusa la navigazione - La gestione dell'inset della barra di stato viene fornita dalla maniglia di trascinamento in modalità edge-to-edge.
BottomSheetDefaults
include i riquadri delle finestre perBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Ora la sfumatura per
- Ritira
Indicator
e aggiungiPrimary
/SecondaryIndicator
in modo che corrispondano alle specifiche di M3.PrimaryIndicator
corrisponde alla larghezza dei contenuti della scheda, mentreSecondaryIndicator
copre l'intera larghezza disponibile.SecondaryIndicator
è equivalente alla proprietàIndicator
, ora ritirata, e può sostituirla direttamente. (I27604) - È stata aggiunta un'opzione per passare un
ScrollState
durante la creazione di unDropdownMenu
o di unExposedDropdownMenu
per controllare lo stato di scorrimento verticale delle voci di menu visualizzate. (Ia0734, b/185304441) - È stato aggiunto un overload per
Slider
che è una versione con stato del componente. CreatoSliderState
che contiene tutte le informazioni per la traccia attiva corrente, le misurazioni dei componenti delSlider
e la logica di trascinamento e gesti. (I124a5) - Ridenominazione della proprietà Semantica
isContainer
inisTraversalGroup
(I121f6) - È stato aggiunto
TextStyle.merge(...)
ottimizzato con l'elenco completo dei parametri. (Iad234, b/246961787) - Sono state create interfacce pubbliche
TooltipState
,RichTooltipState
ePlainTooltipState
. Sono stati aggiuntiRichTooltipStateImpl
ePlainTooltipStateImpl
per gli stati predefiniti. Sono state aggiunte funzioniremember*State
per ottenere questi stati implementati.TooltipSync
rimosso a favore diTooltipDefault.GlobalMutatorMutex
. (I7813d) - È stato aggiornato il
DatePickerColors
per includere opzioni di personalizzazione aggiuntive per il divisore, la navigazione e i colori dei campi di input di testo del selettore della data. (I1a685, b/274626815) DatePickerState
eDateRangePickerState
sono ora interfacce pubbliche con implementazioni predefinite che possono essere recuperate darememberDatePickerState
erememberDateRangePickerState
. (I71c52)- È stato rimosso
dateValidator
daDatePicker
eDateRangePicker
ed è stata introdotta un'interfacciaSelectableDates
che può essere impostata sullo stato per controllare quali date o anni sono selezionabili nell'interfaccia utente. (Ic2fc6) TimePicker
rimosso dall'API stabile, sono previste ulteriori modifiche nell'API State (I3f39a)ModalBottomSheet
spostato solo su Android.ModalBottomSheet
non è consigliato per l'utilizzo su computer e la funzionalità non è più mantenuta in modo attivo. (Ib3778)
Correzioni di bug
- È stata corretta l'
AlertDialog
azione di chiusura in modo che venga visualizzata sotto l'azione di conferma quando le azioni sono impilate l'una sull'altra per adattarsi alla larghezza della finestra di dialogo. Questa correzione allinea l'implementazione alle specifiche di Material Design. (I029de, b/235454277) - È stato corretto un bug in
ListItem
che utilizzava un padding errato per gli elementi pubblicitari di tre righe. (I6e235) ModalBottomSheet
ora può visualizzare la tastiera IME (Idc508, b/262140644, b/268380384, b/272483584)
Versione 1.2.0-alpha01
10 maggio 2023
androidx.compose.material3:material3:1.2.0-alpha01
e androidx.compose.material3:material3-window-size-class:1.2.0-alpha01
sono stati rilasciati. La versione 1.2.0-alpha01 contiene questi commit.
Versione 1.1
Versione 1.1.2
20 settembre 2023
androidx.compose.material3:material3:1.1.2
e androidx.compose.material3:material3-window-size-class:1.1.2
sono stati rilasciati. La versione 1.1.2 contiene questi commit.
Correzioni di bug
- È stato corretto il modificatore passato in modo errato a due composable. (b/282761472)
- Fixed
TimePickerState
restituisce ore errate se inizializzato con 23 ore. (b/278242122) - Stato iniziale fisso dell'opzione di attivazione/disattivazione per la convalida di mezzogiorno e dei minuti. (b/269768197, b/282790635)
- È stato corretto il problema per cui
state.hour
restituiva un valore errato per le 23:00. (b/282761472, b/278242122)
Versione 1.1.1
21 giu 2023
androidx.compose.material3:material3:1.1.1
e androidx.compose.material3:material3-window-size-class:1.1.1
sono stati rilasciati. La versione 1.1.1 contiene questi commit.
Correzioni di bug
- Aggiunge la chiamata per
ModalBottomSheet
senza il parametrowindowInset
per la compatibilità binaria. (Ib7959) - Aggiungi il parametro degli inserti della finestra a
ModalBottomSheet
.- Ora la sfumatura per
ModalBottomSheet
può essere disegnata dietro la barra di stato conwindowInsets
impostato su zero - Funzionalità
ModalBottomSheet
predefinita aggiornata per rimanere al di fuori delle barre di sistema, inclusa la navigazione - La gestione dell'inset della barra di stato viene fornita dalla maniglia di trascinamento in modalità edge-to-edge.
BottomSheetDefaults
include i riquadri delle finestre perBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Ora la sfumatura per
Versione 1.1.0
10 maggio 2023
androidx.compose.material3:material3:1.1.0
e androidx.compose.material3:material3-window-size-class:1.1.0
sono stati rilasciati. La versione 1.1.0 contiene questi commit.
Funzionalità principali della versione 1.1.0
Nuovi componenti Material Design 3
Miglioramenti ai componenti Material Design 3 esistenti.
API sperimentali promosse a stabili.
Per saperne di più, consulta questo post del blog.
Versione 1.1.0-rc01
19 aprile 2023
androidx.compose.material3:material3:1.1.0-rc01
e androidx.compose.material3:material3-window-size-class:1.1.0-rc01
sono stati rilasciati. La versione 1.1.0-rc01 contiene questi commit.
Modifiche alle API
TimePicker
rimosso dall'API stabile, sono previste ulteriori modifiche nell'API State (I3f39a)ModalBottomSheet
spostato solo su Android.ModalBottomSheet
non è consigliato per l'utilizzo su computer e la funzionalità non è più mantenuta in modo attivo. (Ib3778)
Versione 1.1.0-beta02
5 aprile 2023
androidx.compose.material3:material3:1.1.0-beta02
e androidx.compose.material3:material3-window-size-class:1.1.0-beta02
sono stati rilasciati. La versione 1.1.0-beta02 contiene questi commit.
Modifiche alle API
- Ora
SheetState
dispone del parametro facoltativoskipHiddenState
- Ora
rememberStandardBottomSheetState
dispone del parametro facoltativoskipHiddenState
- Ora
BottomSheetScaffold
ha un ancoraggio nascosto definito, anche se è disattivato per impostazione predefinita - La documentazione
SheetState.requireOffset
è stata aggiornata BottomSheetDefaults.MinimizedShape
è stato rinominatoBottomSheetDefaults.HiddenShape
(I839f4, b/273870234)
Correzioni di bug
- Non passare dal quadrante delle ore a quello dei minuti quando l'esplorazione tramite tocco è attiva. (I717d0)
- Le semantiche dei punti di trascinamento
ModalBottomSheet
eBottomSheetScaffold
sono ora unite. (I05afb) - I parametri
BottomSheetScaffold
,containerColor
econtentColor
ora influiscono solo sui contenuti. (I992cb) BottomSheetScaffold nestedScroll
per i contenuti del foglio ora implementa gli scorrimenti. (I992cb)
Versione 1.1.0-beta01
22 marzo 2023
androidx.compose.material3:material3:1.1.0-beta01
e androidx.compose.material3:material3-window-size-class:1.1.0-beta01
sono stati rilasciati. La versione 1.1.0-beta01 contiene questi commit.
Modifiche alle API
- Aggiungi il parametro del tipo di layout al composable
TimePicker
. Consente di utilizzare layout diversi, a seconda della configurazione dello schermo (Ia0e16). SearchBarDefaults
è stato contrassegnato come sperimentale. (I65561)- Aggiunta elevazione ombra a
BottomSheetScaffold
(I94e0f) - È stato aggiunto il supporto per la visualizzazione dei selettori di date senza la parte dell'intestazione. Modifiche all'API per consentire il passaggio di un titolo nullo durante la creazione di un selettore della data. Ora puoi passare il titolo, l'intestazione e
showToggleMode = false
nulli per visualizzare un selettore headless. (Id3f3a, b/266132421, b/267194809)
Correzioni di bug
- Ora le barre di ricerca perdono automaticamente lo stato attivo quando vengono disattivate. (I22a7c, b/261444487)
- È stato aggiornato il
DateRangePicker
per consentire la selezione di un intervallo con la stessa data di inizio e di fine. (I16529, b/272882497) - I campi di testo ora posizionano correttamente gli elementi di testo quando la dimensione del carattere è inferiore al previsto. Ciò potrebbe comportare una modifica di alcuni pixel nelle app in base alle impostazioni del carattere e allo script. (I8b8d0)
- Le azioni semantiche del riquadro inferiore ora hanno etichette. (I277b0)
Versione 1.1.0-alpha08
8 marzo 2023
androidx.compose.material3:material3:1.1.0-alpha08
e androidx.compose.material3:material3-window-size-class:1.1.0-alpha08
sono stati rilasciati. La versione 1.1.0-alpha08 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto per
BottomSheetScaffold
eBottomSheetScaffoldState
. (I063d4)
Modifiche alle API
- È stata aggiunta la funzionalità a
DatePickerState
eDateRangePickerState
per consentire l'impostazione delle date dopo la creazione iniziale dello stato, nonché il ripristino delle selezioni impostando timestamp nulli. L'impostazione manuale delle date deve essere eseguita con cautela e la nuova funzionesetSelection
genererà un'eccezione nel caso in cui una data fornita non soddisfi una precondizione (vedi documentazione). (Ifa645, b/268609314, b/270427389) - Rinomina Collapsed
SheetValue
inPartiallyExpanded
per rappresentare in modo più preciso e flessibile il comportamento in questo stato. (Ia1491) - I nomi dei parametri
ListItem
sono stati aggiornati a _content anziché _text. I getter predefiniti ora sonoReadOnlyComposables
, se pertinente. (I69a25) - Rendere disponibili le API interattive di Surface in versione non sperimentale. (I90d59, b/261561812)
Correzioni di bug
- Risolto un problema per cui lo stato di
ModalBottomSheet
diHalfExpanded
veniva calcolato in modo errato e il foglio sembrava fluttuare. (I45e84, b/268411386) - Aggiungi il controllo
confirmValueChange
al tocco dello scrim perModalBottomSheet
. (I2311a, b/270425759) - Sposta le azioni semantiche
BottomSheet
sul punto di manipolazione di trascinamento. (I158ba) ModalBottomSheet
ora comanda la messa a fuoco all'avvio e gestisce il pulsante Indietro. (I4d2ab)ModalBottomSheet onDismissRequest
ora viene gestito anche durante gli scorrimenti rapidi nidificati. (I655c5, b/268433166)
Versione 1.1.0-alpha07
22 febbraio 2023
androidx.compose.material3:material3:1.1.0-alpha07
e androidx.compose.material3:material3-window-size-class:1.1.0-alpha07
sono stati rilasciati. La versione 1.1.0-alpha07 contiene questi commit.
Nuove funzionalità
- Aggiungi un elemento componibile di input dell'ora che funziona con
rememberTimePickerState()
, segue le specifiche M3 per l'input dell'ora (Ia4fab) - È stata aggiunta un'API Material 3
DateRangePicker
per selezionare un intervallo di date. (I7a6c3, b/267194809) - È stato aggiunto il supporto di una modalità di input Material 3 per la selezione degli intervalli di date tramite l'API
DateRangePicker
. (Ifdbc4) - I colori dei campi di testo ora consentono la personalizzazione:
- I colori del campo di input e del testo segnaposto in base allo stato di messa a fuoco ed errore. Il parametro
textColor
è stato rinominato inunfocusedTextColor
eplaceholderColor
è stato rinominato inunfocusedPlaceholderColor
. - Il colore del contenitore per i campi di testo compilati in base allo stato di errore con il nuovo parametro
errorContainerColor
.
- I colori del campo di input e del testo segnaposto in base allo stato di messa a fuoco ed errore. Il parametro
- I colori del campo di testo del menu a discesa esposto sono stati aggiornati con parametri per supportare la nuova API per prefissi e suffissi. (I9c8b4, b/254284181, b/264766350)
Modifiche alle API
- Ripristino di alcune versioni dell'API Slider e rimozione degli overload ridondanti di Slider coperti dal nuovo Slider sperimentale con cursore e traccia personalizzati. Promuovere
RangeSlider
per renderlo stabile. (Ie8fbd) - Rinominate
defaultElevation
inelevation
nelle funzioni di elevazione del chip. (I0f872) - Le seguenti API per i campi di testo Material 3 non sono più sperimentali:
TextField
,OutlinedTextField
,textFieldWithLabelPadding
,textFieldWithoutLabelPadding
,outlinedTextFieldPadding
. (Ieb5c0, b/261561819) TimePickers
is24Hour
utilizza l'impostazione di sistema (I18856)- Rimossa l'annotazione sperimentale dalle API di scaffolding. (Ibb51e, b/261565765, b/261436953)
Correzioni di bug
- La forma predefinita di
ModalBottomSheet
è ora sempreSheetDefaults.ExpandedShape
. (I0dfca) - Miglioramenti dell'accessibilità per Material 3
DatePicker
eDateRangePicker
. (I5087e) - È stato corretto un bug per cui il vincolo di altezza massima viene propagato e potrebbe causare un arresto anomalo. (I30d8c)
- Rimozione dei ruoli semantici dalle superfici selezionabili e su cui è possibile fare clic, aggiornamento dei componenti che li utilizzavano per impostare i ruoli utilizzando modifier.semantics (I793d9)
Versione 1.1.0-alpha06
8 febbraio 2023
androidx.compose.material3:material3:1.1.0-alpha06
e androidx.compose.material3:material3-window-size-class:1.1.0-alpha06
sono stati rilasciati. La versione 1.1.0-alpha06 contiene questi commit.
Nuove funzionalità
- I campi di testo ora supportano il testo del prefisso e del suffisso (Ia8578, b/179884561)
- È stata aggiunta una funzione
TimePicker
per mostrare un selettore dell'ora in conformità alla specifica Material 3, utilizzata insieme aTimePickerState
e al metodo di convenienzarememberTimePickerState
(I71910). - L'inserimento di una data ora è una modalità di visualizzazione in
DatePicker
. È stato aggiunto il supporto per passare dalla modalità di selezione della data alla modalità di inserimento della data. (Ieeff7) - È stata aggiunta l'API per
RichTextTooltips
. (I58ef3) - Implementazione del foglio inferiore modale per Material 3, inclusi
ModalBottomSheet
eModalBottomSheetDefaults
. Introduce ancheSheetState
erememberSheetState
, che possono essere utilizzati per i futuri componenti del foglio. (I0853a, b/244189383)
Modifiche alle API
- Stabilizzazione dell'API
showSnackbar
(I195c2, b/261424370) - Stabilizzazione delle API per il chip di assistenza e il chip di suggerimento (Ibb67b, b/261424370)
- Promuove le API
ListItem
,ListItemDefaults
eListItemColors
a non sperimentali (I7e7fa, b/261438882) - Promozione di
SliderPositions
,SliderDefaults.Thumb
eSliderDefaults.Track
a versioni stabili e aggiunta delle APISlider
eRangeSlider
non sperimentali che contengono miniature e tracce personalizzate. Inoltre, verranno ritirate le APISlider
eRangeSlider
precedenti. (Ie5ea6, b/261566890) - Reso pubblico
Modifier.tooltipAnchor()
, in modo che gli sviluppatori possano passarlo all'ancora per indicare che deve essere visualizzata una descrizione comando con la pressione prolungata. L'APIPlainTooltipBox
è stata aggiornata in modo cheTooltipState
non sia più annullabile e ora abbia un valore predefinito. (Ie2fb7) ProgressIndicatorDefaults.circularTrackColor
è stato contrassegnato come@Composable
per coerenza. (Id29cc)- Ripristina il getter della proprietà
LocalMinimuTouchTargetEnforcement
, contrassegnalo come ritirato e reindirizza aLocalMinimumInteractiveComponentEnforcement
. (I60dd5)
Versione 1.1.0-alpha05
26 gennaio 2023
androidx.compose.material3:material3:1.1.0-alpha05
e androidx.compose.material3:material3-window-size-class:1.1.0-alpha05
sono stati rilasciati. La versione 1.1.0-alpha05 contiene questi commit.
Nuove funzionalità
DatePickerDialog
e supporto per l'accessibilità- Aggiunta di miniatura e traccia personalizzate a
RangeSlider
.
Aggiornamenti delle dipendenze
Compose UI
eCompose Material
ora dipendono da Lifecycle 2.6.0.
Versione 1.1.0-alpha04
11 gennaio 2023
androidx.compose.material3:material3:1.1.0-alpha04
e androidx.compose.material3:material3-window-size-class:1.1.0-alpha04
sono stati rilasciati. La versione 1.1.0-alpha04 contiene questi commit.
Nuove funzionalità
- API
DatePicker
iniziale per la selezione di una singola data tramite un'interfaccia utente del calendario. Questa API è ancora in fase di modifica. (I722b9) - È stato aggiunto il supporto per le descrizioni comando semplici tramite
PlainTooltipBox
. (I0cdfb) - Barra di ricerca (Iad128)
SwipeToDismiss
(I458a8, b/242889540)
Modifiche alle API
- Aggiunta della proprietà semantica
IsContainer
sulle piattaforme. Questa proprietà verrà utilizzata in una modifica successiva che determina l'ordine di attraversamento in base al significato semantico di elementi come le superfici. (I63379) - Contrassegna le API correlate al riquadro di navigazione come stabili. (Iab01e, b/261439597)
- È stato aggiunto un parametro per il colore della traccia per gli indicatori di avanzamento circolari e un parametro per la chiusura del tratto per gli indicatori di avanzamento circolari e lineari. (Ie668c, b/216325962, b/222964817)
- Maggiore annullabilità del tipo restituito delle funzioni ritirate e nascoste (Ibf7b0)
- Aggiungi
Modifier.minimumInteractiveComponentSize
. Può essere utilizzato per riservare almeno 48 dp di dimensione per disambiguare le interazioni touch se l'elemento dovesse misurare meno. (I33f58, b/258495559) - Aggiunta di un'API sperimentale per il composable
AlertDialog
che ha uno slot di contenuti. (Iec4a2)
Correzioni di bug
- L'avanzamento degli indicatori di avanzamento è ora correttamente limitato all'intervallo previsto. (I8a7eb, b/262262727)
Problema noto
- Quando esegui l'aggiornamento da
androidx.compose.foundation:1.4.0-alpha03
aandroidx.compose.foundation:1.4.0-alpha04
, potresti riscontrare un errorejava.lang.NoSuchFieldError
. Qui è stato segnalato il problema originariamente. È stata inviata una correzione, che sarà disponibile nel prossimo aggiornamento di Compose. Come soluzione alternativa, aggiorna le librerieandroidx.compose.material
eandroidx.compose.material3
all'ultima versione(1.1.0-alpha04) o esegui il downgrade diandroidx.compose.foundation
alla versione 1.4.0-alpha03.
Versione 1.1.0-alpha03
7 dicembre 2022
androidx.compose.material3:material3:1.1.0-alpha03
e androidx.compose.material3:material3-window-size-class:1.1.0-alpha03
sono stati rilasciati. La versione 1.1.0-alpha03 contiene questi commit.
Modifiche alle API
- È stato rinominato
consumedWindowInsets()
inconsumeWindowInsets()
ewithConsumedWindowInsets()
inonConsumedWindowInsetsChanged()
e sono stati resi pubblici i modificatori. (Ie44e1) - Aggiungi un nuovo padding predefinito dei contenuti per il pulsante di testo con l'icona da utilizzare. (I8f662)
- Sono stati aggiunti i colori disattivati per la barra di navigazione e la rotaia. (Ia7892, b/258867034)
- È stata aggiunta un'API Modifier per eseguire query sulle informazioni di scorrimento degli elementi principali. (I2ba9d, b/203141462)
- Utilizzato in
Clickable
per ritardare correttamente le interazioni di pressione, quando i gesti potrebbero diventare eventi di scorrimento. - È stato corretto il problema per cui
Clickables
non ritardava correttamente gli effetti ripple quando veniva utilizzato all'interno di unScrollable ViewGroup
. - Aggiornamento di riquadri e fogli per ritardare correttamente le pressioni nel caso in cui i gesti possano diventare eventi di scorrimento.
Aggiornamenti delle dipendenze
Compose UI
eCompose Material
ora dipendono da Lifecycle 2.5.1. (I05ab0, b/258038814)
Versione 1.1.0-alpha02
9 novembre 2022
androidx.compose.material3:material3:1.1.0-alpha02
e androidx.compose.material3:material3-window-size-class:1.1.0-alpha02
sono stati rilasciati. La versione 1.1.0-alpha02 contiene questi commit.
Modifiche alle API
awaitFirstDown
ewaitForUpOrCancellation
ora accettano unPointerEventPass
per una maggiore flessibilità (corregge ancheExposedDropdownMenuBox
che mostra un menu durante lo scorrimento).(I7579a, b/212091796)- È stato aggiunto il parametro
minLines
a Text,TextField
eOutlinedTextField
di Material e Material3, che consente di impostare l'altezza minima del componente in termini di numero di righe (I4af1d). - Ritira la funzione
TopAppBarDefaults smallTopAppBarColors
a favore di una nuova funzionetopAppBarColors
da utilizzare durante la creazione di unTopAppBar
. (Ie6cb9) - È stato aggiunto il parametro
minLines
aBasicText
eBasicTextField
. Consente di impostare l'altezza minima di questi composable in termini di numero di righe (I24294, b/122476634)
Correzioni di bug
- Ritaglia i contenuti di un
IconButton
e di unIconToggleBotton
Material3 in base alla forma del livello di stato del componente (ad es. forma circolare). (I9da8f) - Aggiorna le barre delle app superiori medie e grandi di Material3 per applicare lo stesso colore di sfondo su tutta la superficie e per consentire di sostituire i colori predefiniti con valori di colore trasparenti. (I67659, b/249688556, b/250838918)
Versione 1.1.0-alpha01
24 ottobre 2022
androidx.compose.material3:material3:1.1.0-alpha01
e androidx.compose.material3:material3-window-size-class:1.1.0-alpha01
sono stati rilasciati. La versione 1.1.0-alpha01 contiene questi commit.
Correzioni di bug
- Correzioni alla barra delle app superiore quando il titolo viene applicato con uno stile di testo e un pennello. (If667e)
Versione 1.0
Versione 1.0.1
9 novembre 2022
androidx.compose.material3:material3:1.0.1
e androidx.compose.material3:material3-window-size-class:1.0.1
sono stati rilasciati. La versione 1.0.1 contiene questi commit.
Correzioni di bug
- Aggiorna le barre delle app superiori medie e grandi di Material3 per applicare lo stesso colore di sfondo su tutta la superficie e per consentire di sostituire i colori predefiniti con valori di colore trasparenti. (I67659, b/249688556, b/250838918)
Versione 1.0.0
24 ottobre 2022
androidx.compose.material3:material3:1.0.0
e androidx.compose.material3:material3-window-size-class:1.0.0
sono stati rilasciati. La versione 1.0.0 contiene questi commit.
Funzionalità principali della versione 1.0.0
Questa è la prima release stabile di Compose Material 3.
Temi Material Design 3 e colore dinamico Material You
Componenti Material Design 3
- Badge
- Barra dell'app in basso
- Pulsanti
- FAB e FAB esteso
- Schede
- Casella di controllo
- Patatine
- Finestre di dialogo
- Divisore
- Menu a discesa
- Elenco
- Barra di navigazione
- Riquadro di navigazione a scomparsa
- Barra di navigazione
- Indicatore di avanzamento
- Pulsante di opzione
- Cursore
- Cambia
- Schede
- Campi di testo
- Barra delle app superiore
- Icona
- Testo
- Surface
- Layout
- Colore dei contenuti
Classe di dimensioni dello schermo
material3-window-size-class
è una nuova libreria che fornisce supporto per le classi di dimensioni delle finestre: un insieme di punti di interruzione dell'area visibile per progettare, sviluppare e testare layout di applicazioni ridimensionabili. Puoi utilizzarecalculateWindowSizeClass
per recuperare un'istanza della classe di dimensioni della finestra, che puoi utilizzare per determinare l'aspetto dell'interfaccia utente, ad esempio mostrando una barra di navigazione anziché la navigazione in basso per le dimensioni della finestra più grandi. Per ulteriori informazioni e un esempio di utilizzo, consulta la documentazione di riferimento dell'API perWindowSizeClass
.Per saperne di più, consulta questo post del blog.
Versione 1.0.0-rc01
5 ottobre 2022
androidx.compose.material3:material3:1.0.0-rc01
e androidx.compose.material3:material3-window-size-class:1.0.0-rc01
sono stati rilasciati. La versione 1.0.0-rc01 contiene questi commit.
Modifiche alle API
- Aggiunto il parametro slot per supportare l'API del campo di testo (Iaac0d, b/227146125)
Versione 1.0.0-beta03
21 settembre 2022
androidx.compose.material3:material3:1.0.0-beta03
e androidx.compose.material3:material3-window-size-class:1.0.0-beta03
sono stati rilasciati. La versione 1.0.0-beta03 contiene questi commit.
Modifiche alle API
ExposedDropdownMenuDefaults
ora espone un valore di spaziatura interna per le voci di menu. (I34ee1)ExposedDropdownMenuBoxScope
ora ha un modificatoreModifier.menuAnchor()
che deve essere passato al campo di testo per un comportamento di accessibilità corretto. (I27fa3)- Aggiunta di due metodi di overload per l'API Slider corrente per consentire agli utenti di passare un cursore o una traccia per popolare il cursore. (I21c00)
Correzioni di bug
- Mappatura dei colori del tema scuro aggiornata per On Error Container al tono 90 (Ic5612)
- Correzione per consentire l'impostazione di uno sfondo trasparente per le piccole barre delle app superiori Material 3. (I645e2, b/245575782)
Versione 1.0.0-beta02
7 settembre 2022
androidx.compose.material3:material3:1.0.0-beta02
e androidx.compose.material3:material3-window-size-class:1.0.0-beta02
sono stati rilasciati. La versione 1.0.0-beta02 contiene questi commit.
Modifiche alle API
- I componenti predefiniti in beta01 non tengono più conto degli inset IME.
- Il componente Material3 Scaffold ora ha un parametro
contentWindowInsets
, che consente di specificare la quantità di rientri da gestire per lo slot dei contenuti. (Icf11a, b/243713323) - Ritira la funzione sperimentale Material 3
SmallTopAppBar
e introduce una funzioneTopAppBar
equivalente. Esegui la migrazione del tuo utilizzo al nuovo. (I74404, b/226918634) - Aggiunge il controllo sui comportamenti di scorrimento e aggancio della barra delle app superiore. (I15c81)
- Rimuove startIndent da Divider, sposta il colore nell'ultimo parametro. (If7be2)
Correzioni di bug
- Fai in modo che le finestre di dialogo si identifichino per gli utenti di TalkBack annunciando la parola Finestra di dialogo quando vengono visualizzate. (I857ef)
Versione 1.0.0-beta01
24 agosto 2022
androidx.compose.material3:material3:1.0.0-beta01
e androidx.compose.material3:material3-window-size-class:1.0.0-beta01
sono stati rilasciati. La versione 1.0.0-beta01 contiene questi commit.
Riferimento API
Per visualizzare i temi, i componenti e gli altri composable più recenti disponibili, consulta la panoramica del riferimento API di Compose Material 3.
Modifiche alle API
- È stata aggiornata la barra delle app superiore Material 3 in modo che si chiuda completamente o si estenda completamente. Inoltre, è stata aggiornata la funzione di comportamento
TopAppBarDefaults
in modo che sia componibile e fornisca valori predefiniti per lo stato della barra delle app superiore e la specifica dell'animazione. (I642b3) - Firme del componente FAB aggiornate in modo che corrispondano all'API di superficie (I3afaa)
- Aggiunto il supporto integrato per le barre delle app nella parte superiore, i riquadri estraibili, la barra di navigazione e la barra laterale. Questi componenti, se utilizzati separatamente o con Scaffold, gestiranno automaticamente gli inset per gli sviluppatori. Nota: questa modifica non aggiunge la gestione automatica delle icone della barra di stato e della trasparenza delle barre di stato e di navigazione. Continua a farlo manualmente per garantire la migliore esperienza da bordo a bordo. (I7e4e6, b/183161866)
- I valori predefiniti dei componenti aggiornati riducono la superficie API per una maggiore flessibilità e miglioramenti delle prestazioni futuri. (I31820)
- Riorganizzazione dei parametri del chip e del foglio del riquadro di navigazione per mantenere la coerenza all'interno dell'API (I45d0b)
- È stato rimosso
startIndent
dal divisore e il colore è stato spostato come ultimo parametro.(If7be2)
Versione 1.0.0-alpha16
10 agosto 2022
androidx.compose.material3:material3:1.0.0-alpha16
e androidx.compose.material3:material3-window-size-class:1.0.0-alpha16
sono stati rilasciati. La versione 1.0.0-alpha16 contiene questi commit.
Nuove funzionalità
- Supporta la specifica di una larghezza personalizzata in un riquadro di navigazione. (Ia7f10)
Modifiche alle API
- Riordina i parametri delle schede Scheda e Icona iniziale per mantenere la coerenza all'interno dell'API (Ie2637)
BadgeDefaults
contrassegnato come sperimentale. (I98ef3)- Rimuovi la funzione del riquadro di navigazione a scomparsa ritirata. (I4f2db)
- Riordina i parametri del cursore in Material 3 per mantenere la coerenza all'interno dell'API (I0aee7)
- Riordina i parametri
NavigationBar
eNavigationRail
per mantenere la coerenza all'interno dell'API (I51cda) - Riordina i parametri in Material 3 per mantenere la coerenza nell'API. (If4ae1)
- Riordina i parametri del cursore in Material 3 per mantenere la coerenza all'interno dell'API (I62673)
- Il parametro delle icone è stato rinominato in azioni per coerenza con la barra delle app superiore (Id75be).
- Contrassegna
Badge
eBadgedBox
come sperimentali perché l'allineamento dell'ancora è ancora in fase di definizione. (I1712e, b/236524516) - Modifica le annotazioni
@ExperimentalMaterial3Api
nelle varianti del pulsante dell'icona in@OptIn
(I070b5) - Il contenuto di un riquadro di navigazione è stato separato nel proprio elemento componibile per supportare la specifica di una larghezza personalizzata. (Ia7f10)
- Rimuove
Divider
daMenuDefaults
eTabDefaults
(I4e33c)
Versione 1.0.0-alpha15
27 luglio 2022
androidx.compose.material3:material3:1.0.0-alpha15
e androidx.compose.material3:material3-window-size-class:1.0.0-alpha15
sono stati rilasciati. La versione 1.0.0-alpha15 contiene questi commit.
Nuove funzionalità
- Consenti di trascinare la barra delle app superiore dalla barra stessa. (I65c00, b/205873416)
Modifiche alle API
- Aggiornamenti delle API
FilterChip
eElevatedFilterChip
per rimuovere lo slotselectedIcon
e promuovere il riutilizzo dileadingIcon
per visualizzare uno stato selezionato. (Ie5dc2) - Aggiungi ruoli di colore per le varianti di contorno e velatura. (Id6d54)
- Correggi le convenzioni di denominazione per i valori predefiniti componibili. (I62b27)
- Contrassegna
ListItemDefaults
eListItemColors
come sperimentali. (I1f3ec) - Modifiche all'API della barra delle app superiore per riflettere meglio il significato delle proprietà di stato. Inoltre, contrassegna l'API della barra delle app superiore come sperimentale. (Ic0ad8)
- I colori di selezione del testo sono stati aggiunti a
TextFieldColors
per una migliore visibilità. (Iba1b8) - Aggiunta di
ButtonDefault.ButtonWithIconContentPadding
da utilizzare con i pulsanti che contengono un'icona. (I2bf9c) - I campi di testo sono stati contrassegnati come sperimentali per consentire una maggiore flessibilità nelle future modifiche all'API. (I127b5)
- È stata rimossa l'annotazione
@ExperimentalMaterial3Api
dalla funzioneCheckbox
. (I5eefc) - È stata rimossa l'annotazione
@ExperimentalMaterial3Api
dalla funzioneRadioButton
. (I17e2a) - Rimossa l'annotazione
@ExperimentalMaterial3Api
dalle schede non interattive. (I9bd49) - Aggiorna vari oggetti predefiniti dei componenti in modo da includere colori, forme e così via. (I96e11)
Correzioni di bug
- Sono state rimosse le icone finali non funzionanti dagli esempi di chip di input per evitare confusione per gli utenti nell'app catalogo. (I9846a)
Versione 1.0.0-alpha14
29 giugno 2022
androidx.compose.material3:material3:1.0.0-alpha14
e androidx.compose.material3:material3-window-size-class:1.0.0-alpha14
sono stati rilasciati. La versione 1.0.0-alpha14 contiene questi commit.
Nuove funzionalità
- È stata aggiunta l'implementazione dell'elenco M3. Per un esempio di utilizzo, consulta la documentazione (Id7a20).
Modifiche alle API
- Modifica il nome del parametro da valori a valore in
RangeSlider
(I3b79a) - Modifiche all'API all'implementazione di
InputChip
per supportare uno stato selezionabile in base alle specifiche di Material Design. Supporto aggiuntivo per i coloriFilterChip
per lo stato disattivato selezionato. (I55244, b/235792432) - Aggiungi FAB predefinito
BottomAppBar
(Ida4c8) - È stato aggiunto
ColorScheme.surfaceColorAtElevation
(Id41af) - Le interfacce nelle librerie Compose ora sono create utilizzando i metodi di interfaccia predefiniti di jdk8 (I5bcf1)
WindowWidthSizeClass
eWindowHeightSizeClass
ora implementano Comparable, quindi possono essere confrontati utilizzando operatori (<, <=, >=, >) e altre API. (I747d0)
Correzioni di bug
- Aggiorna l'esempio di badge per fornire una descrizione dei contenuti più significativa. (I10b9d)
- Aggiunge l'opzione per utilizzare le dimensioni del carattere di sistema nel selettore di temi del catalogo Material 3. (I10605)
- Aggiunge codice di esempio per badge e indicatori di avanzamento indeterminati. (I8fbe0)
Versione 1.0.0-alpha13
1 giugno 2022
androidx.compose.material3:material3:1.0.0-alpha13
e androidx.compose.material3:material3-window-size-class:1.0.0-alpha13
sono stati rilasciati. La versione 1.0.0-alpha13 contiene questi commit.
Modifiche alle API
- Supporta il mantenimento della posizione della barra delle app superiore in caso di modifica della configurazione. (I10459, b/216160958)
Versione 1.0.0-alpha12
18 maggio 2022
androidx.compose.material3:material3:1.0.0-alpha12
e androidx.compose.material3:material3-window-size-class:1.0.0-alpha12
sono stati rilasciati. La versione 1.0.0-alpha12 contiene questi commit.
Correzioni di bug
- Ora il contenitore principale del cursore può avere larghezza 0. (b/231707291)
Versione 1.0.0-alpha11
11 maggio 2022
androidx.compose.material3:material3:1.0.0-alpha11
e androidx.compose.material3:material3-window-size-class:1.0.0-alpha11
sono stati rilasciati. La versione 1.0.0-alpha11 contiene questi commit.
Nuove funzionalità
- Aggiunta di
RangeSlider
a Material 3 (I18e38) - Aggiunge il supporto di Material3
AssistChip
eInputChip
(I0d25a) - Aggiunge il supporto di Material3
FilterChip
eSuggestionChip
(I9fdf3)
Modifiche alle API
- Rinomina il composable
TextFieldDefaults.BorderStroke
che disegna un tratto del bordo inOutlinedTextField
inTextFieldDefaults.BorderBox
. (I5f295) - Modifiche visive di Switch m3 (Iab30e)
- Consente di passare i colori ai pulsanti delle icone standard. (Ia2445)
Correzioni di bug
- Aggiungi il controllo lint a material3/Scaffold per assicurarti che venga utilizzato il padding interno (I72293, b/226951418)
Versione 1.0.0-alpha10
20 aprile 2022
androidx.compose.material3:material3:1.0.0-alpha10
e androidx.compose.material3:material3-window-size-class:1.0.0-alpha10
sono stati rilasciati. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
material3-window-size-class
è una nuova libreria che fornisce supporto per le classi di dimensioni delle finestre: un insieme di punti di interruzione dell'area visibile per progettare, sviluppare e testare layout di applicazioni ridimensionabili. Puoi utilizzarecalculateWindowSizeClass
per recuperare un'istanza della classe di dimensioni della finestra, che puoi utilizzare per determinare l'aspetto dell'interfaccia utente, ad esempio mostrando una barra di navigazione anziché la navigazione in basso per le dimensioni della finestra più grandi. Per ulteriori informazioni e un esempio di utilizzo, consulta la documentazione di riferimento dell'API perWindowSizeClass
. Per ulteriori informazioni sulle definizioni delle classi di dimensioni delle finestre, consulta le linee guida pubbliche sul supporto di diverse dimensioni dello schermo.
Modifiche alle API
- Aggiunge l'elevazione FAB predefinita per
BottomAppBar
, rimuove il lambda finale daBottomAppBar
con FAB. (I92c47) - Aggiunge
FilledIconButton
,FilledTonalIconButton
eOutlinedIconButton
di Material3. (Ib2bda) - Aggiorna l'API Material 3 Snackbar per accettare i valori di colore per l'azione facoltativa e l'azione di chiusura. (Ibe4b4)
- Il consumo parziale (in basso O posizione) è stato ritirato in
PointerInputChange
. Puoi utilizzareconsume()
per utilizzare completamente la modifica. Puoi utilizzareisConsumed
per determinare se qualcun altro ha già utilizzato la modifica. PointerInputChange::copy()
ora crea sempre una copia superficiale. Ciò significa che le copie diPointerInputChange
verranno consumate una volta che una delle copie sarà stata consumata. Se vuoi creare unPointerInputChange
non associato, utilizza il costruttore. (Ie6be4, b/225669674)- Modifiche all'API Cards per ricevere i colori del contenitore e dei contenuti tramite un'interfaccia
CardColors
e per supportare uno stato disattivato per le schede su cui è possibile fare clic. (I927df) - Il parametro
backgroundColor
è stato rinominatocontainerColor
nei campi di testo Material 3 per una maggiore coerenza con gli altri componenti. (I6fbd9)
Correzioni di bug
- Aggiornamenti allo standard
IconButton
per allinearlo alla specifica Material3. (I09eab) - Sposta l'altezza della barra superiore di Scaffold di Material3 nel padding passato ai contenuti, consentendo il rendering dei contenuti sotto la barra superiore dell'app. Se i
PaddingValues
vengono ignorati, i contenuti potrebbero essere oscurati dalla barra superiore. (I83cbc, b/217776202)
Versione 1.0.0-alpha09
6 aprile 2022
androidx.compose.material3:material3:1.0.0-alpha09
viene ritirata. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- Aggiunta dell'API Material 3 Switch (I2c3ad)
Modifiche alle API
- È stato aggiunto il supporto per i menu a discesa con campi di testo (ovvero "menu a discesa esposti" o "caselle combinate"). (I1b832)
- Aggiunto il parametro shape ai sottosistemi MaterialTheme e Shape. (I37426)
- È stato aggiunto un parametro espanso a
ExtendedFloatingActionButton
per controllare se il FAB è espanso o compresso, con animazioni tra ogni stato. È stato aggiunto l'overflow del pulsante di azione rapida esteso per i pulsanti di azione rapida estesi con testo finale per i pulsanti di azione rapida estesi senza icona. (Iba7f1)
Versione 1.0.0-alpha08
23 marzo 2022
androidx.compose.material3:material3:1.0.0-alpha08
viene ritirata. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
- Aggiunto il supporto per i campi di testo Material 3. (I795cc, b/199377790)
Modifiche alle API
- Aggiungi divisore predefinito per il menu (I01374)
- Aggiunto il parametro di colore
surfaceTint
alla classeColorScheme
. (I2f558)
Correzioni di bug
- Correzione del pulsante Material3 per leggere il valore dello stile di testo predefinito da MaterialTheme. (Ie62fc)
Versione 1.0.0-alpha07
9 marzo 2022
androidx.compose.material3:material3:1.0.0-alpha07
viene ritirata. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche alle API
- Aggiornamenti all'API Surface di Material 3 che ripristina le funzioni sovraccariche per le superfici selezionabili, oltre ad aggiungere una funzione per supportare le superfici selezionabili e attivabili/disattivabili. (I4bf18)
LazyVerticalGrid
eLazyHorizontalGrid
ora sono stabili. (I307c0)LazyVerticalGrid/LazyHorizontalGrid
e tutte le API correlate sono state spostate nel sottopacchetto .grid. Aggiorna le importazioni da androidx.compose.foundation.lazy ad androidx.compose.foundation.lazy.grid. (I2d446)- È stato ripristinato il precedente cambiamento di affidarsi esclusivamente a una View per
WindowInsetsControllerCompat
ed è nuovamente necessario un Window, che è necessario per gestire alcuni flag della finestra.ViewCompat.getWindowInsetsController
è stato ritirato a favore diWindowCompat.getInsetsController
per garantire che venga utilizzata la finestra corretta (ad esempio se la visualizzazione si trova in una finestra di dialogo). (I660ae, b/219572936) - È stata aggiunta una nuova API
LazyVerticalGrid
per definire le dimensioni dell'asse trasversale (I17723)
Correzioni di bug
- Aggiornamenti all'API Card per seguire le modifiche all'API Surface (I3c8b9)
Versione 1.0.0-alpha06
23 febbraio 2022
androidx.compose.material3:material3:1.0.0-alpha06
viene ritirata. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche alle API
- Viene aggiunto
NavigationDrawerItem
, che rappresenta una singola destinazione all'interno dei riquadri (Ic396f, b/218286829) PermanentNavigationDrawer
eDismissibleNavigationDrawer
sono state aggiunte come API sperimentali. Questi sono i riquadri adatti ai dispositivi con schermi di grandi dimensioni. (I5f8ab, b/218286829)- Aggiunge il supporto della barra delle app inferiore Material 3 (Ic432a)
NavigationDrawer
è stato rinominato inModalNavigationDrawer
(I1807d, b/218286829)- Aggiunta della classe e dei token dello slider Material 3 (I1ccee)
- È stata aggiunta l'implementazione delle schede. Per un esempio di utilizzo, consulta la documentazione (Ie0146).
Correzioni di bug
- È stato risolto un problema per cui la navigazione lineare dello screen reader
TalkBack
selezionava un titolo vuoto della barra delle app superiore. (Id4690) - Aggiunta di
IconSize
aFloatingActionButtonDefaults
. (Ia71cf) - Correzione di bug per i pulsanti
AlertDialog
nascosti quando viene aggiunto un testo lungo con unLazyColumn
. (Ib2cc9, b/216663029)
Versione 1.0.0-alpha05
9 febbraio 2022
androidx.compose.material3:material3:1.0.0-alpha05
viene ritirata. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
Sono stati aggiunti componenti Material Design 3
- Menu a discesa
- Schede
Modifiche alle API
- Funzione
Surface
ritirata che accetta un callback onClick. Le superfici cliccabili devono essere create con unInteractionSource
e unModifier.clickable()
. (I211c6) - Aggiunto il supporto dell'elevazione premuta e attiva per il FAB. (Ibb584)
- È stata modificata l'API
Surface
per ricevere un InteractionSource che consente di controllare il suo aspetto in stati diversi. (Iafbc8)
Correzioni di bug
- Aggiunti colori terziari mancanti nelle combinazioni di colori dinamiche (I456c4, b/214588434)
Versione 1.0.0-alpha04
26 gennaio 2022
androidx.compose.material3:material3:1.0.0-alpha04
viene ritirata. La versione 1.0.0-alpha04 contiene questi commit.
Modifiche alle API
- Aggiunta di
NonRestartableComposable
ai metodi che sono sovraccarichi di metodi esistenti senza logica complessa. In questo modo, si riducono i controlli di memorizzazione (equals) generati dal compilatore per tutti i parametri ripetuti nella funzione interna chiamata. (I90490) - Aggiunto il divisore Materiale 3. (Ica5fc)
- Contrassegna la casella di controllo e il pulsante di opzione con un'annotazione API sperimentale. (Ie44bb)
- È stato aggiunto il supporto per gli indicatori di avanzamento Material 3. (Iff232, b/205023841)
Correzioni di bug
- Aggiorna il colore di un contenitore
TextButton's
disattivato in modo che sia trasparente (I6b248, b/213339737)
Versione 1.0.0-alpha03
12 gennaio 2022
androidx.compose.material3:material3:1.0.0-alpha03
viene ritirata. La versione 1.0.0-alpha03 contiene questi commit.
Correzioni di bug
- Aggiungi
LocalIndication
aMaterialTheme
di Material 3. (I7ce4e) - Correggi il raggio dell'angolo applicato alle caselle di controllo (I38b03, b/175198975, b/202309440)
Aggiornamenti delle dipendenze
- Ora dipende da Kotlin
1.6.10
.
Versione 1.0.0-alpha02
1° dicembre 2021
androidx.compose.material3:material3:1.0.0-alpha02
viene ritirata. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- Aggiungi il supporto per le caselle di controllo e i pulsanti di opzione.
- Aggiornato per essere compatibile con Kotlin
1.6.0
Modifiche alle API
- Rimuovi il riquadro dallo scaffold di Material 3. (I04f51)
- Aggiunge il supporto di Material 3
Checkbox
. (Id5542) - Aggiunge il supporto di Material 3
RadioButton
. (I20334)
Correzioni di bug
- Riduzione del raggio dell'effetto increspatura di
IconButton
da 40 dp a 20 dp. (I68bbe, b/206674345) - Percorso rapido della stringa della porta per
Text
modificato dacompose.material
(I30b03) - È stato corretto il pulsante hardcoded in modo che sia sempre attivo. (Iea832, b/205335456)
Versione 1.0.0-alpha01
27 ottobre 2021
androidx.compose.material3:material3:1.0.0-alpha01
viene ritirata. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Temi Material Design 3 e colore dinamico Material You
Componenti Material Design 3
- Pulsanti
- FAB e FAB esteso
- Finestre di dialogo
- Barra di navigazione
- Riquadro di navigazione a scomparsa
- Barra di navigazione
- Barra delle app superiore
- Badge
- Icona
- Testo
- Surface
- Layout
- Colore dei contenuti
Per saperne di più, consulta la sezione Material Design 3 e Material You nella guida ai temi di Material in Compose.