Componi materiale 3
androidx.compose.material3
(consulta la documentazione di riferimento dell'API per tutti i pacchetti di composizione)
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
13 novembre 2024 | 1.3.1 | - | - | 1.4.0-alpha04 |
Struttura
La composizione è una combinazione di sette ID gruppo Maven in androidx
. Ogni gruppo contiene un sottoinsieme mirato di funzionalità, ciascuna con il proprio insieme di note di rilascio.
Questa tabella illustra i gruppi e i link a ogni set di note di rilascio.
Gruppo | Descrizione |
---|---|
compose.animation | Creare animazioni nelle loro applicazioni Jetpack Compose per arricchire l'esperienza utente. |
compose.compiler | Trasforma le funzioni @Composable e abilita le ottimizzazioni con un plug-in del compilatore Kotlin. |
compose.foundation | Scrivi applicazioni Jetpack Compose con componenti di base pronti all'uso ed espandi la base per creare i componenti del tuo sistema di progettazione. |
compose.material | Crea interfacce utente Jetpack Compose con componenti Material Design pronti all'uso. Si tratta del punto di contatto di primo livello di Compose, progettato per fornire componenti corrispondenti a quelli descritti all'indirizzo www.material.io. |
compose.material3 | Crea interfacce utente Jetpack Compose con i componenti Material Design 3, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati e funzionalità di personalizzazione di Material You come i colori dinamici ed è progettato per essere coerente con il nuovo stile visivo e l'interfaccia utente di sistema di Android 12. |
compose.runtime | Componenti di base del modello di programmazione e della gestione dello stato di Compose, nonché del runtime di base per il plug-in del compilatore Compose come target. |
compose.ui | Componenti fondamentali dell'interfaccia utente di composizione necessari per interagire con il dispositivo, inclusi layout, disegno e input. |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza da Compose, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Groovy
dependencies { implementation "androidx.compose.material3:material3:1.3.1" implementation "androidx.compose.material3:material3-window-size-class:1.3.1" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.3.1") implementation("androidx.compose.material3:material3-window-size-class:1.3.1") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.
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
vengono 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 di tonalità
- 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
vengono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche all'API
- Rendere le API della suite di navigazione non sperimentali (If62af)
Correzioni di bug
- Utilizzare 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
vengono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche all'API
- Aggiungi
containerColor
econtentColor
aNavigationSuiteScaffoldDefaults
. (I64e3a, b/331993720) - Aggiunta della funzione
itemColors
aNavigationSuiteDefaults
. (Idf719, b/328480012) - Sigilla
NavigationSuiteScope
. (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
vengono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche all'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
vengono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Aggiornamenti delle dipendenze
- Aggiorna le dipendenze di Material3 adaptive ai nuovi percorsi del modulo. (Ibc421)
- Esegui la migrazione per utilizzare la versione di Window Manager delle classi di dimensioni delle finestre. (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
vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche all'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 per impostazione predefinita è null. Non sono presenti modifiche semantiche: se passi null, significa che non vuoi eseguire l'elevazione diMutableInteractionSource
, che verrà creato all'interno del componente, se necessario. La modifica in null consente ad alcuni componenti di non allocare mai unMutableInteractionSource
e ad altri di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizziMutableInteractionSource
che passi a questi componenti, ti consigliamo di passare 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
vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- Aggiungi un
NavigationSuiteType
"Nessuna" (If8cb1, b/313688598)
Correzioni di bug
- Correggi il 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 rilasciato. 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
vengono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Sono state aggiunte opzioni di comportamento aggiuntive per la navigazione a ritroso con
ThreePaneScaffoldNavigator
. (I858aa) - Sono stati aggiunti contenuti facoltativi delle destinazioni 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
vengono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
- Supporto della consapevolezza della cronologia nella navigazione nello scafo e nel calcolo del valore (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
vengono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto da bordo a bordo negli scheletri dei riquadri (I1b462)
Modifiche all'API
- Le proprietà dei limiti cerniera in Postura sono state spostate in un elenco di informazioni sulle cerniere (I24f90)
Correzioni di bug
- Correggi
AnimatedPane
non viene ricomposto (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
vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche all'API
- Modifica i ruoli dello schema in alias di
ThreePaneScaffoldRole
. (I65bd1) - Crea una classe di base per i ruoli di struttura (I4784d)
- Rimuovi il parametro non necessario dai contenuti di
AnimatedPane
(Ibc73b) - Rinomina
collectWindowSizeAsState
e restituisce i 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
vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche all'API
- Separa le API di navigazione dalle API di struttura adattiva. (Ic4045)
- Rimuovi il corso
GutterSize
. (I785b3)
Correzioni di bug
- I riquadri di correzione non vengono scambiati quando non viene utilizzato
AnimatedPane
(d88f181)
Versione 1.0.0-alpha01
15 novembre 2023
androidx.compose.material3:material3-adaptive:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
API di condizioni adattabili Material3:
API di direttive di struttura del riquadro adattabile Material3:
API di struttura del riquadro adattabile Material3:
- API di base per la struttura del riquadro
Compose Material3 versione 1.4
Versione 1.4.0-alpha04
13 novembre 2024
androidx.compose.material3:material3-*:1.4.0-alpha04
viene rilasciato. La versione 1.4.0-alpha04 contiene questi commit.
Modifiche al comportamento
- Ripristina le modifiche ai colori introdotte in aosp/3212478 per
iconButtonColors
,iconToggleButtonColors
,outlinedIconButtonColors
,outlinedIconToggleButtonColors
eoutlinedIconToggleButtonBorder
. Il comportamento ora ripristinato è stato spostato in un nuovo insieme di funzioni chiamatoiconButtonVibrantColors
e così via per mettere in evidenza i colori ad alto contrasto restituiti. (Iffd8d)
Nuove funzionalità
- Presenta il componente
VerticalDragHandle
(I6c770)
Modifiche all'API
- Rinomina
DismissibleModalWideNavigationRailDefaults
inModalWideNavigationRailDefaults
. (I8e877) - Aggiungi
NavigationBarComponentOverrides
. (I8a3f3) - Aggiungi
NavigationRailComponentOverride
. (I83e13) - Aggiungi
WideNavigationRailState
per gestire il collasso/l'espansione della barra laterale, consenti aModalWideNavigationRail
di essere ignorato ed eliminaDismissibleModalWideNavigationRail
. (I88568) - Aggiungi le dimensioni predefinite xSmall, medium, large e xLarge ai valori predefiniti del pulsante di attivazione/disattivazione. (Ie95d1)
- Aggiungi le dimensioni predefinite xSmall, medium, large e xLarge ai valori predefiniti dei pulsanti. (If8b6d)
Correzioni di bug
- Il colore dell'icona finale del chip di filtro è stato aggiornato da Principale a
OnSurfaceContainer
, in base alle specifiche. Tutti i colori del contorno del 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 rilasciato. La versione 1.4.0-alpha03 contiene questi commit.
Modifiche all'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.rememberPlainTooltipPositionProvider
erememberRichTooltipPositionProvider
sono stati ritirati. (Ie66e2) - Altri
ModalBottomSheetProperties
consentono di personalizzare i colori della barra di stato e della barra 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 immissione per i selettori della data: in modalità di immissione, il campo di testo della data sarà attivo per l'immissione immediata del testo. La modifica aggiunge un parametro
requestFocus
aDatePicker
eDateRangePicker
. Puoi impedire un'attenzione passandofalse
. (I12d09, b/286399710, b/340102743) - Memorizzazione nella cache dei valori predefiniti della forma nell'oggetto Forma. Impostare la forma predefinita
@Composable
per il pulsante di attivazione/disattivazione. Le forme vengono raggruppate in una forma predefinita perché le varianti rimandano allo stesso file di token. (Iaa014)
Correzioni di bug
- Ottimizza il comportamento di
contentPadding
di Scaffold per evitare di ricomporre sempre i contenuti del corpo quandocontentPadding
cambia. (I8c8e2, b/373904168) TextFieldLabelScope
progress
è stato rinominato inlabelMinimizedProgress
TextFieldLabelPosition
Default
è stato rinominato inAttached
. Gli elementi dell'interfaccia sono stati rimossi. (If75c6)- È stato risolto un problema con
DatePicker
in modalità di immissione in cui gli errori di convalida potevano causare la modifica dell'altezza del componente. (I2e229, b/280462363) - Fai in modo che il dispositivo di scorrimento 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 rilasciato. La versione 1.4.0-alpha02 contiene questi commit.
Modifiche all'API
- Aggiornamenti ai selettori della data per garantire un utilizzo coerente delle impostazioni internazionali in
DatePicker
eDateRangePicker
quando si imposta una lingua direttamente tramite unDatePickerState
o unDateRangePickerState
. Tieni presente che, quando imposti le lingue direttamente nello stato, devi assicurarti che i testi del titolo e del titolo principale siano localizzati di conseguenza, poiché il testo predefinito verrà comunque applicato in base alla lingua predefinita della piattaforma. (I37073, b/326490763, b/321657276) SheetState.isAnimationRunning
è ora visibile. (I9a3d7)DatePickerColors
ora ha la precedenza su eventuali colori in conflitto definiti negli stili di testo della tipografia del tema. Tieni inoltre presente che questo aggiornamento regola 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 di varianti di coloreSplitButton
. Le varianti verranno ottenute riutilizzando le varianti di pulsante fornite daSplitButtonDefaults
. (I44c36) ModalBottomSheet
ora ha il parametrosheetGestureEnabled
(I856cb, b/288211587)- I simboli
standardMotionScheme
eexpressiveMotionScheme
sono stati rinominati in standard ed espressivo. Entrambe le funzioni sono ora accessibili tramite l'oggetto companionMotionScheme
chiamandoMotionScheme.standard()
eMotionScheme.expressive()
. (Iceccf) - Aggiunta del parametro
maxWidth
alle descrizioni comando semplici e avanzate. Per impostazione predefinita, viene utilizzata la specifica di progettazione di 200 dp per le descrizioni comando semplici e di 320 dp per quelle avanzate. (I30ce9)
Correzioni di bug
DatePicker
eDateRangePicker
ora aggiornano correttamente il mese visualizzato quando vengono impostati tramitedisplayedMonthMillis
del relativo stato. (If9e47, b/333414302)- I contenuti di
ModalBottomSheet
ora vengono spostati dalla barra di stato. (I5114c, b/321877275, b/336962418, b/342093067) - [Foglio in basso] Ripristina la priorità del callback su
PRIORITY_DEFAULT
per consentire alla tastiera IME di chiudersi per prima. (I447fb) - Correggere gli arresti anomali in
DatePicker
eDateRangePicker
quando l'anno minimo selezionabile è impostato su un anno futuro. (I78656, b/319395747) - È stato risolto un problema relativo al 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 rilasciato. 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) - Il colore dell'etichetta attiva di
NavigationBarItem
eNavigationRailItem
passa daonSurface
asecondary
per migliorare l'usabilità, il contrasto dei colori e la coerenza all'interno del sistema (Ibc297). Per ripristinare il comportamento precedente, copia i colori predefiniti e cambiaselectedTextColor
inMaterialTheme.colorScheme.onSurface
. - I componenti di Material 3 ora utilizzano il nuovo
MotionScheme
per definire il movimento. (Ie0f93) - Modifiche al movimento dell'indicatore di avanzamento circolare indeterminato (I3c07e)
- Aggiorna
OutlinedIconButtonColors
eOutlinedIconToggleButtonColors
per migliorare il contrasto dei colori. (I2743d) - Colore del contenitore e dei contenuti aggiornato per
FilledIconToggleButtonColors
eFilledTonalIconToggleButtonColors
. (Ic5d0f) - Il colore del bordo di
OutlinedButton
è stato aggiornato daoutline
aoutlineVariant
. (057f00)
Modifiche all'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ù un'implementazione predefinita perisAnimating
(I6a593)- Sono stati aggiunti nuovi sovraccarichi di Material
TextField
eOutlinedTextField
che utilizzanoTextFieldState
. Sono state aggiunte API di caselle di decorazione compatibili conTextFieldDecorator
. (If13a1) - È stato aggiunto un parametro per controllare
labelPosition
del campo di testo. L'utilizzo dialwaysMinimize
consente al pattern dell'interfaccia utente di visualizzare contemporaneamente un'etichetta e un segnaposto in un campo di testo anche quando il campo non è attivo. (I1ef2c) - Sono stati aggiunti i materiali
SecureTextField
eOutlinedSecureTextField
per i campi di immissione della password. (I7e22d) - È stato aggiunto un ambito alle etichette dei campi di testo per eseguire query sull'avanzamento dell'animazione. (If5sec8)
- Aggiunge il supporto per
MotionEvent.CLASSIFICATION_DEEP_PRESS
alle descrizioni comando. (I62e6a) TimePickerState
diisAfternoon
ora è un valore dell'estensione anziché una variabile nell'interfaccia, rinominato inisPm
(I89a97)- Aggiornamento della classe di tipografia per supportare le scale di tipo sottolineato. (Ifa13c)
- È stata aggiunta l'API
ModalWideNavigationRail
e le APIModalExpandedNavigationRail
sono state rinominate inDismissibleModalWideNavigationRail
. (Ic9118) - È stato aggiornato
FloatingAppBarScrollBehavior
in modo da calcolare automaticamentescreenOffset
e non richiedere@Composable
. (Idf349) - Aggiornamenti all'API
LoadingIndicator
per correggere la denominazione dell'oggetto predefinito. È stata aggiunta una costanteLoadingIndicatorElevation
inPullToRefresh
. (I1d72b) - Aggiornamenti all'API
LoadingIndicator
per correggere la denominazione dell'oggetto predefinito. È stata aggiunta una costanteLoadingIndicatorElevation
inPullToRefresh
. (I1d72b) - Sono stati aggiunti i parametri
amplitude
ewaveSpeed
alle variazioni indeterminate diLinearWavyProgressIndicator
eCircularWavyProgressIndicator
. (I2a0c5) - Supporta la modifica della forma di un pulsante di attivazione/disattivazione dell'icona in base allo stato premuto o selezionato. (Ibc781)
- Aggiornamento della classe di tipografia per supportare le scale di tipo sottolineato. (Ifa13c)
SplitButton
Trasformazioni della forma in base allo stato predefinito / premuto. L'APIAnimatedTrailingButton
è stata rimossa perché l'APITrailingButton
può offrire le stesse personalizzazioni (I95066)- Aggiungi un modificatore per animare la visualizzazione e la scomparsa del pulsante flottante, ad esempio quando i contenuti scorrono. (I8338d)
- Aggiunta di forme e spaziatura del gruppo di pulsanti collegati a
ButtonGroupDefaults
da utilizzare in un Sample. (I68e30) - Il pulsante diviso aggiunge spaziatura orizzontale per il pulsante finale e consente il centratura ottica calcolata dalle differenze tra i bordi iniziale e finale (I122e2)
- È stato introdotto un nuovo materiale
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 dell'attenzione corretto ai Composable
Scaffold
secondari. L'ordine ètopBar
,bottomBar
, fab, contenuti, barra delle app. (I5936b) - È stato risolto un problema relativo a
DatePicker
eDateRangePicker
in cui, in determinati schemi di formattazione e in determinate impostazioni internazionali, alcuni elementi della 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 e testo) (Ib57f3)
ModalBottomSheet
ora è il primo nell'ordine di attraversamento semantico, seguito dalla scrim. (I436f9, b/358594665)- Correzione del problema per cui la barra delle app in basso non scompare completamente quando si scorre sotto la pillola di navigazione in modalità da bordo a bordo (I3ee21)
Compose Material3 versione 1.3
Versione 1.3.1
30 ottobre 2024
androidx.compose.material3:material3-*:1.3.1
viene rilasciato. La versione 1.3.1 contiene questi commit.
Correzioni di bug
DatePicker
eDateRangePicker
ora aggiornano correttamente il mese visualizzato quando vengono impostati tramitedisplayedMonthMillis
del relativo stato. (If9e47, b/333414302)- Correggere gli arresti anomali in
DatePicker
eDateRangePicker
quando l'anno minimo selezionabile è impostato su un anno futuro. (I78656, b/319395747) - È stato risolto un problema relativo al selettore della data per aggiornare l'interfaccia utente quando viene applicata un'istanza
SelectableDates
aggiornata. (Iad59a, b/290135807, b/339898760) - Ripristina la priorità del callback utilizzata dai riquadri inferiori su
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 rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
Funzionalità principali della versione 1.3.0
Nuovi componenti di Material Design 3
- Carosello
HorizontalMultiBrowseCarousel
eHorizontalUncontainedCarousel
Miglioramenti ai componenti esistenti di Material Design 3.
- [
ModalBottomSheet
] ora supporta il pulsante Indietro predittivo su U+ (Iccf32, b/281967264, b/304850357) - [
SearchBar
] ora supporta il gesto Indietro predittivo su U+ (I657f8) - Il riquadro di navigazione a scomparsa (
ModalDrawerSheet
eDismissibleDrawerSheet
) ora supporta il pulsante Indietro predittivo su U+ come opzione attivabile (Ie5b0b) DropdownMenu
ora supporta colore, forma, altezza e bordo personalizzati. (I8e981,b/289554448, b/301887035, b/283654243)- Il dispositivo di scorrimento è stato aggiornato per migliorare l'accessibilità aggiungendo un indicatore di interruzione e fermata. (I3058e)
- Aggiornamento del giorno
ProgressIndicator
per migliorare l'accessibilità aggiungendo un indicatore di fermata e di intervallo. (I21451) - È stato aggiunto un cursore predefinito per la descrizione comando avanzata, è supportato il cursore personalizzato da disegnare in base all'ancora
LayoutCoordinates
. (Ifd42c) Modifiche che provocano un errore - Nuove API pull-to-refresh:
- È stato semplificato
PullToRefreshState
per utilizzare valori frazionari anziché unità Dp. - Lo stato
isRefreshing
è controllato dall'utente anziché daPullToRefreshState
. - È stata separata la connessione di scorrimento nidificata da
PullToRefreshState
. Viene gestito dal nuovoPullToRefreshBox
oModifier.pullToRefresh
. - Questo aggiornamento comporta una modifica non compatibile con le API sperimentali precedenti. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Modifiche che comportano interruzioni visive
- È stato semplificato
- Aggiorna l'overlay dello stato di messa a fuoco in modo che sia pari a 0,1f per garantire un contrasto cromatico sufficiente. (I7ea77)
- Piccoli aggiustamenti ai colori predefiniti di superficie e sfondo in
lightColorScheme
edarkColorScheme
. (I9db52) - Colori del cursore e di
ProgressIndicator
aggiornati in base alle nuove specifiche relative al contrasto non di testo. (I26807) - Le varianti
SurfaceContainer
vengono ora utilizzate dai componenti. 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 di Surface sono stati leggermente modificati per fornire una maggiore saturazione nei temi chiaro e scuro. (I677a5)
- Le API sperimentali sono state promosse a stabili.
- Miglioramenti delle prestazioni
Versione 1.3.0-rc01
21 agosto 2024
androidx.compose.material3:material3-*:1.3.0-rc01
viene rilasciato. La versione 1.3.0-rc01 contiene questi commit.
Correzioni di bug
ModalBottomSheet
ora è il primo nell'ordine di attraversamento semantico, seguito dalla scrim. (I436f9, b/358594665)
Versione 1.3.0-beta05
24 luglio 2024
androidx.compose.material3:material3-*:1.3.0-beta05
viene rilasciato. La versione 1.3.0-beta05 contiene questi commit.
- Risolto il problema per cui i contenuti di
BottomSheet
risultano mancanti o tagliati su Android N e O (a10a2d) - Sono stati aumentati i limiti semantici del cursore in modo che
TalkBack
mostri correttamente gli indicatori di messa a fuoco intorno ai cursori. (0b5a1d)
Versione 1.3.0-beta04
26 giugno 2024
androidx.compose.material3:material3-*:1.3.0-beta04
viene rilasciato. 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 rilasciato. 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 rilasciato. La versione 1.3.0-beta02 contiene questi commit.
Modifiche all'API
Modifier.pullToRefreshIndicator
supporta l'elevazione, aggiorna le API Pull To Refresh in modo che l'opzione Abilitato sia un valore booleano anziché una funzione lambda. Supportare l'allineamento dei contenuti inPullToRefreshBox
(I75679)- Rendi
TooltipScope
un'interfaccia sigillata e crea un'implementazione interna da utilizzare inTooltipBox
e Label. (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 di stato e della barra di navigazione di
ModalBottomSheet
ora rispondono allo stato del tema scuro. (Ie1fe7, b/338342149) - È stata aggiunta la semantica di chiusura del foglio al scrim
ModalBottomSheet
. (0e61cb,b/328801864)
Contributo esterno
- Rendi disponibile
androidx.compose.material3.AlertDialog
dal set di origini comuni (Ia33f5) - Rendi
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 rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Modifiche all'API
- Utilizzo di
DpSize
al posto diCaretProperties
. Contatto rimosso:CaretProperties
. RinominaCaretScope
inTooltipScope
. (Id9a76) - L'API è stata aggiornata per ottenere link con temi Material nel testo. Nello specifico, sono stati rimossi i metodi dal
TextDefaults
per la costruzione diLinkAnnotations
a tema e l'analisi del codice HTML con link a tema. È stata invece aggiunta una classeTextLinkStyles
che consente di applicare uno stile ai link come parametro al composable di testo. (I31b93)
Versione 1.3.0-alpha06
1° maggio 2024
androidx.compose.material3:material3-*:1.3.0-alpha06
viene rilasciato. La versione 1.3.0-alpha06 contiene questi commit.
Modifiche che provocano un errore
Nuove API di aggiornamento tramite trazione:
- È stato semplificato
PullToRefreshState
per utilizzare valori frazionari anziché unità Dp. - Lo stato
isRefreshing
è controllato dall'utente anziché daPullToRefreshState
. - È stata separata la connessione di scorrimento nidificata da
PullToRefreshState
. Viene gestito dal nuovoPullToRefreshBox
oModifier.pullToRefresh
. - Questo aggiornamento comporta una modifica non compatibile con le API sperimentali precedenti. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)
- È stato semplificato
Modifiche all'API
RippleConfiguration#isEnabled
è stato rimosso eLocalRippleConfiguration
è stato impostato come non obbligatorio. Per disattivare un'eco, anziché fornire unRippleConfiguration
conisEnabled = false
, forniscinull
aLocalRippleConfiguration
. (I22725)ModalBottomSheet
disegna con maggiore precisione lo scrim sulla barra di stato quando è attivata la modalità da bordo a bordo. Ora i contenuti del riquadro in basso modale possono utilizzare gli inserti della finestra, consentendo di visualizzare i contenuti sopra la barra di navigazione. Il parametroModalBottomSheet
windowInsets
è stato rinominato incontentWindowInsets
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 nella 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 per lo stato premuto, oltre allo stile normale, al passaggio del mouse e allo stato attivo. I metodi
TextDefaults
hanno ciascuno un argomentopressedStyle
per supportarlo. (Ic473f, b/139312671)
Correzioni di bug
- Le ancore di trascinamento del riquadro di navigazione ora corrispondono alla larghezza di
drawerContent
. (Ibc72f, b/245355396) OutlinedTextField
Il padding superiore per l'etichetta ora tiene conto delle dimensioni dei caratteri di sistema. (Idc781)- Posizione del pacchetto corretto:
CalendarLocale
. (Ifa235) - [Indietro predittivo] Aggiornamento delle animazioni Indietro predittive per utilizzare 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 rilasciato. La versione 1.3.0-alpha05 contiene questi commit.
Nuove funzionalità
SearchBar
eDockedSearchBar
hanno nuovi sovraccarichi che accettano un parametro di campo di testo. In questo modo puoi applicare uno stile al campo di testo separatamente dal resto della barra di ricerca, nonché passare campi di testo personalizzati. Il campo di testo dell'implementazione attuale è stato reso disponibile comeSearchBarDefaults.InputField
. (I50c73, b/275074248, b/278773336, b/326627700)- Il parametro lambda
drawTick
è stato aggiunto all'API pubblica per personalizzare i tick, se necessario (I0c048)
Modifiche all'API
- I link di testo hanno ricevuto l'opzione di stile per lo stato premuto, oltre allo stile normale, al passaggio del mouse e allo stato attivo (I5f864, b/139312671)
- È stato aggiornato
CarouselItemInfo
per esporre un rettangolo della maschera in base al quale viene ritagliato l'elemento (I785d8) BasicTooltipState
è stato rimosso dall'API pubblica Material 3. La sua funzionalità viene combinata conTooltipState
finchéBasicTooltip
di Foundation non viene stabilizzato. (Icda29)- È stato aggiunto un oggetto
TextDefaults
contenente metodi per creare unLinkAnnotation
e analizzare una stringa con tag HTML che applicaMaterialTheme
ai link (I98532, b/139312671) ExposedDropdownMenuBoxScope
non consente più sottoclassi. I menu a discesa esposti ora hanno unMenuAnchorType
che deve essere passato amenuAnchor
per supportare meglio l'accessibilità. Questo valore deve essere utilizzato anziché passarefocusable
aExposedDropdownMenu
, 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. È stato aggiunto il sovraccaricoButtonDefaults.outlinedButtonBorder("enabled")
che prende lo stato attivo. (Ie650b, b/318461363) - È stato aggiunto un nuovo tipo
CarouselItemInfo
per aiutare i clienti a ottenere informazioni sulle dimensioni degli articoli. (I9070c) - Il costruttore
ColorScheme
senza contenitori di surface è stato ritirato. Esegui la migrazione al costruttore che include i contenitori di app di superficie. (I35c11) - [Con contorno]
TextFieldDefaults
ContainerBox
è stato rinominato inContainer
. (Ie8d3b)
Correzioni di bug
BottomSheetScaffold
non scorrerà più dal riquadro di scorrimento nidificato sesheetSwipeEnabled
è false. (I5e1c1, b/306464779)- Sono state rimosse 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 rilasciato. 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 Componi M3 (
ModalDrawerSheet
eDismissibleDrawerSheet
) per supportare il pulsante Indietro predittivo su U+ come opzione da attivare (Ie5b0b) - È stata aggiunta una nuova API in Icon per consentire il passaggio della tinta di colore come lambda per evitare la ricomposizione. (I5b5a2)
- Le API della barra delle app in alto ora supportano altezze personalizzate sia per le sezioni fisse che per quelle comprimibili. (Ib8b0c, b/323403446)
Modifiche all'API
- Le API della barra delle app in alto ora supportano altezze personalizzate sia per le sezioni fisse che per quelle comprimibili. È stato risolto un problema che causava la ricompozione troppo frequente delle barre delle app in alto con una sola riga durante lo scorrimento dei contenuti. È stato risolto un problema per cui i titoli di
MediumTopAppBar
venivano troncati 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 contrassegnati come stabili. (I5f000)- Sono state rimosse le API e gli enum
DismissDirection
eDismissValue
obsoleti. (I89ccd) - È stato aggiunto un tag sperimentale all'
CarouselState
oggetto complementare di Carosello. (I94154) - È stato ritirato
LocalMinimumInteractiveComponentEnforcement
e 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 rilasciato. La versione 1.3.0-alpha03 contiene questi commit.
Modifiche che comportano interruzioni visive
- Aggiorna l'overlay dello stato di messa a fuoco in modo che sia pari a 0,1f per garantire un contrasto cromatico sufficiente. (I7ea77)
- Piccoli aggiustamenti ai colori predefiniti di superficie e 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 utilizzano campi di testo modificabili. (I4184c, b/323694447, b/278609042)
Modifiche all'API
- L'indicatore
ScaffoldSubcomposeInMeasureFix
è stato rimosso. (Ie2a4b) NavigationRailItemColors
è ora contrassegnato come@Immutable
. (If6112, b/327660613)NavigationBarItemColors
è ora contrassegnato come@Immutable
. (I42a30, b/298064514)- Riordina i parametri nel composable Slider Track. (I9f315)
ExposedDropdownMenu
è ora implementato utilizzandoPopup
. Il comportamento dovrebbe essere lo stesso, tranne per il fatto che i menu attivabili con campi di testo modificabili potrebbero essere ignorati durante la digitazione sulla tastiera.
Correzioni di bug
- I ruoli di base di Surface e contenitore di Surface sono stati leggermente modificati per fornire una maggiore saturazione nei temi chiaro e scuro. (I677a5)
- Colori del cursore e di
ProgressIndicator
aggiornati in base alle nuove specifiche relative al contrasto non di testo. (I26807) - Aggiorna l'overlay dello stato di messa a fuoco in modo che sia pari a 0,1f per garantire un contrasto cromatico sufficiente. (I7ea77)
- Piccoli aggiustamenti ai colori predefiniti di superficie e sfondo in
lightColorScheme
edarkColorScheme
. (I9db52)
Versione 1.3.0-alpha02
6 marzo 2024
androidx.compose.material3:material3-*:1.3.0-alpha02
viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche all'API
- Rendere di nuovo stabili gli stati del cursore. Impostazione di
State.onValueChangeFinished
come val di nuovo. Inserimento dionValueChangeFinished
in unrememberUpdatedState
. (I82ab2, b/322269951) - I componenti di navigazione ora utilizzano i nuovi ruoli
SurfaceContainer
.DrawerDefaults
ora fornisce attributistandardContainerColor
emodalContainerColor
distinti.DrawerDefaults.ModalDrawerElevation
è diventato0.dp
. (I7fbac) - Stiamo rimuovendo
@Stable
dagli stati diSlider
perché stiamo cambiandostate.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 relativo a un overshoot visibile. I costruttoriSheetState
non più supportati senza densità sono stati rimossi. (I7babc, b/285847707)
Correzioni di bug
- Le varianti
SurfaceContainer
vengono ora utilizzate dai componenti. I componenti che calcolavano formalmente 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 il colore nero del contenitore disattivato e deselezionato di
ElevatedFilterChip
. (I400e6, b/322407043) - Correggere l'indicatore di avanzamento indeterminato quando l'avanzamento è 0 (Id6582)
- È stato risolto un problema con
Slider
eRangeSlider
nel layout RTL (Iab0e1) - Aggiunta di
SliderRangeTolerance
per il calcolo dell'intervallo del dispositivo di scorrimento, poiché il calcolo dei valori in virgola mobile può essere impreciso. (Ic918a, b/324934900) - Assicurati che
DatePickerDialog
mostri i suoi pulsanti quando nidifica unDateRangePicker
o quando mostra qualsiasi tipo di selettore della data su schermi piccoli con caratteri più grandi. (Ie4758, b/325107799, b/277768544) Menu
ora utilizza il ruoloSurfaceContainer
per il colore del contenitore.MenuDefaults.TonalElevation
è diventato0.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
è oraSurfaceContainerHigh
.DatePickerDefaults.TonalElevation
è diventato0.dp
. (Ida753) - Aggiorna il colore del contenitore dei fogli inferiori e il colore dell'area di trascinamento. (I72a0a)
- Il colore del contenitore
RichTooltip
è oraSurfaceContainer
. (Ia8b45) - Il colore del contenitore
SearchBar
è oraSurfaceContainerHighest
.SearchBarDefaults.TonalElevation
è diventato0.dp
. (I88604) - Aggiorna l'opzione per disattivare le icone/le tracce non selezionate e sfruttare il ruolo di colore
SurfaceContainerHighest
. (I7687a) - Il colore del contenitore
AlertDialog
è oraSurfaceContainerHigh
. (Ie0433) - Il colore del contenitore
BottomAppBar
è oraSurfaceContainer
. Il coloreTopAppBar
onScroll
è diventatoSurfaceContainer
. (I41630) - Il colore del contenitore
ElevatedCard
è oraSurfaceContainerLow
. Il colore del contenitore diFilledCard
èSurfaceContainerHighest
. (I35141) - Il colore del contenitore
ElevatedButton
è oraSurfaceContainerLow
. Quando non sono selezionati, i valoriFilledIconButton
ora hanno un colore del contenitoreSurfaceContainerHighest
. (I792c9) - Aggiorna il colore del contenitore
TimePicker
e il ruolo del colore del quadrante dell'orologio suSurfaceContainerHighest
. (I43b93)
Versione 1.3.0-alpha01
21 febbraio 2024
androidx.compose.material3:material3-*:1.3.0-alpha01
viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Nuove funzionalità
- Aggiornamento di Componi M3
ModalBottomSheet
per supportare il tasto Indietro predittivo su U+ (Iccf32, b/281967264, b/304850357) - Aggiornamento di Compose M3
SearchBar
per supportare il Gesto indietro predittivo su U+ (I657f8) - Il dispositivo di scorrimento è stato aggiornato per migliorare l'accessibilità aggiungendo un indicatore di interruzione e fermata. (I3058e)
- Aggiornamento del giorno
ProgressIndicator
per migliorare l'accessibilità aggiungendo un indicatore di fermata e di intervallo. (I21451) - L'aggiunta di un cursore predefinito per le descrizioni comando avanzate, la nuova API di descrizioni comando avanzate ora consente di disegnare un cursore personalizzato in base all'ancora
LayoutCoordinates
. (Ifd42c)
Modifiche al comportamento
- È stata eseguita la migrazione dei componenti Material per utilizzare le nuove API di ripple e non eseguono più query su
RippleTheme
.
Modifiche all'API
- La funzionalità
drawStopIndicator
è ora pubblica. (I3f59f) - Contrassegna la funzione
formatWithSkeleton
diDatePicker
come interna (Ic65dc) DropdownMenu
ora supporta colore, forma, altezza 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 unMutableInteractionSource
nullable che per impostazione predefinita ènull
. Non sono presenti modifiche semantiche: se passi null, significa che non vuoi eseguire l'elevazione diMutableInteractionSource
, che verrà creato all'interno del componente, se necessario. La modifica in null consente ad alcuni componenti di non allocare mai unMutableInteractionSource
e ad altri di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizziMutableInteractionSource
che passi a questi componenti, ti consigliamo di passare null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (I41abb, b/298048146) - Aggiunge
RippleConfiguration
eLocalRippleConfiguration
per consentire la personalizzazione delle increspature per componente / sottoalbero utilizzando valori fissi. Ad esempio, per modificare il colore di un componente che non controlli o per disattivare un'eco per un componente. Nella maggior parte dei casi, è consigliabile utilizzare i valori predefiniti: queste API sono una via di fuga per la personalizzazione di singoli componenti / sottoalberi limitati. Per modifiche più ampie e sistemi di design personalizzati, devi creare la tua ondata utilizzandocreateRippleModifierNode
. (I7b5d6, b/298048146) - Aggiunge la nuova API ripple in material3 che sostituisce
rememberRipple
obsoleto. Aggiunge anche unCompositionLocal
temporaneo,LocalUseFallbackRippleImplementation
, per ripristinare l'utilizzo delle APIrememberRipple
/RippleTheme
deprecate per i componenti material3. Questo parametro verrà rimosso nella prossima release stabile e ha lo scopo di essere solo un aiuto temporaneo per la migrazione nei casi in cui fornisci unRippleTheme
personalizzato. (I34cbc, b/298048146)
Correzioni di bug
- È stata rimossa la composizione secondaria all'interno di
ModalBottomSheet
per migliorare le prestazioni. È stato risolto un problema per cuiModalBottomSheet
poteva arrestarsi in modo anomalo in scenari specifici in combinazione conLookaheadScope
. (I2a198) - È stata rimossa la composizione secondaria all'interno di
BottomSheetScaffold
per migliorare le prestazioni. È stato 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 da avvicinarsi al centro dei contenuti dell'ancora rispetto all'angolo in alto a destra. (I18a28)
- Risolto un problema di accessibilità con
DateRangePicker
in cui il titolo del testo Mese-Anno veniva trasmesso come attivabile agli utenti di screen reader, Switch Access e Accesso vocale. (I2ac55) - Corretto il bug relativo all'ordine dei parametri
mediumTopAppBarColors
. (Ibe64a)
Versione 1.2
Versione 1.2.1
6 marzo 2024
androidx.compose.material3:material3-*:1.2.1
viene rilasciato. 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. Inserimento dionValueChangeFinished
in unrememberUpdatedState
. (Ie8fd0, b/322269951) - Stiamo rimuovendo
@Stable
dagli stati diSlider
perché stiamo cambiandostate.onValueChangeFinished
invar
. (I82ba1, b/322269951) - Correggi
NavigationBar
colori personalizzati da copiare dai colori predefiniti. (80a779, b/326894020) - Correggere la regressione in
ExposedDropdownMenu
per renderlo di nuovo selezionabile (3fcec1, b/323694447) - Correzione del problema di memorizzazione nella cache dei colori dei pulsanti (3e5bbcb/327371655)
Versione 1.2.0
7 febbraio 2024
androidx.compose.material3:material3-*:1.2.0
viene rilasciato. La versione 1.2.0 contiene questi commit.
Problema noto
- In
PrimaryTabRow
è stato introdotto un bug di rendering dell'interoperabilità di View-Compose nell'ambito di una modifica per il miglioramento delle prestazioni. La soluzione alternativa è utilizzareTabRow
conTabRowDefaults.PrimaryIndicator
Modifiche importanti dalla versione 1.1.0
Nuovi componenti di Material Design 3
- Trascina per aggiornare
- Pulsante segmentato
Miglioramenti ai componenti esistenti di Material Design 3.
- Barra dell'app in basso (allineamento RTL, a scomparsa automatica durante lo scorrimento)
- Aggiornamento visivo delle schede
- Badge (aggiornamento allineamento)
Le API sperimentali sono state promosse a versione stabile.
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 rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Corretto il bug relativo all'ordine dei parametri
mediumTopAppBarColors
. (Ibe64a) - È stato risolto un bug introdotto in
1.2.0-beta02
inCardDefaults.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 rilasciato. La versione 1.2.0-beta02 contiene questi commit.
Bug noto
- Un bug in
IconButtonColors
assegna per impostazione predefinitadisabledContentColor
a un valore alfa (0,38f) diLocalContentColor
anziché al valorecontentColor
specificato dall'utente. La soluzione alternativa consiste nell'impostare esplicitamentedisabledContentColor
. Questo problema verrà risolto nella prossima release.
Modifiche all'API
- È stata aggiunta la possibilità di attivare i cursori delle descrizioni comando per le API
Tooltip
semplici. (Ibf767) SwipeToDismissState
,rememberSwipeToDismiss
eSwipeToDismissValue
vengono rinominati in_SwipeToDismissBox_
. (I68d6d)
Correzioni di bug
- È stato corretto il valore di spaziatura finale
ListItem
in modo che sia in linea con le specifiche. (Ibd68b, b/305342674) - Il colore del contorno per la scheda con il contorno è ora mappato correttamente a
OutlineVariant
. (I75480, b/310979715) - Il colore dinamico ora viene recuperato dai ruoli di colore definiti dal sistema. In questo modo, il contrasto dei contenuti accessibili viene migliorato e il colore dinamico viene allineato più strettamente alle specifiche di Material. (I1de96)
- È stato corretto il trattamento del pulsante Indietro
ModalBottomSheet
su Android T/13 e versioni successive quandoandroid:enableOnBackInvokedCallback="true"
. (I728dc, b/306196110)
Versione 1.2.0-beta01
13 dicembre 2023
androidx.compose.material3:material3-*:1.2.0-beta01
viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.
Modifiche all'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. Il risultato è un modo diverso per creare gli indicatoriTabRow
con i modificatori personalizzati forniti. (Ife741) - Ritira le API
DismissDirection
eDismissValue
. Questi valori sono stati uniti inSwipeToDismissValue
, i cui valori indicano sia la posizione sia la direzione diSwipeToDismissBox
.DismissState.progress
ora è contrassegnato comeFloatRange
tra0.0
e1.0
.DismissState
Saver e Constructor deprecati sono stati rimossi. L'oggetto componente, stato e valori predefiniti diSwipeToDismiss
sono stati contrassegnati come sperimentali. (Ib54f2)
Correzioni di bug
- L'indicatore predefinito per
PullToRefresh
ora è una freccia aperta anziché un triangolo pieno. (I67be3)
Versione 1.2.0-alpha12
29 novembre 2023
androidx.compose.material3:material3-*:1.2.0-alpha12
viene rilasciato. La versione 1.2.0-alpha12 contiene questi commit.
Modifiche all'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 del modificatore come
@Stable
. (Ib109f)
Versione 1.2.0-alpha11
15 novembre 2023
androidx.compose.material3:material3-*:1.2.0-alpha11
viene rilasciato. La versione 1.2.0-alpha11 contiene questi commit.
Nuove funzionalità
- Implementa
PullToRefreshContainer
ePullToRefreshState
, che insieme forniscono un'implementazione di scorrimento verso il basso per aggiornare in Material3. (I16456, b/261760718)
Modifiche all'API
- Contrassegna
SwipeToDismissBox
DismissDirection
eDismissValue
come sperimentali. (I517b0) - Rinomina
SwipeToDismiss
inSwipeToDismissBox
. Rinominabackground
inbackgroundContent
edismissContent
in lambdacontent
finale. (I7f4d3) - Rendi pubblico il costruttore di
ChipElevation
eSelectableChipElevation
. (Ie0c48, b/308432421) - Aggiunta di
ModalBottomSheetProperties
. Spostamento disecurePolicy
inModalBottomSheetProperties
. Aggiunta diisFocusable
eshouldDismissOnBackPress
aModalBottomSheetProperties
. Questi nuovi valori booleani consentono di determinare in che modo il riquadro inferiore modale deve gestire gli eventi IME. (Iea56f, b/278216859) - Stati
RangeSlider
eSlider
aggiornati per rimuovereinitialOnValueChange
, i prefissi iniziali e i kdoc appropriati. (I57d30) - La classe
ChipBorder
e le relative chiamate di funzioni sono state ritirate. Ti consigliamo di utilizzare direttamenteBorderStroke
. (I89cc2) - Le API di descrizioni comando di base 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 di input ora utilizzano direttamente
BorderStroke
. (I07a8d) SegmentedButton
ora utilizza direttamenteBorderStroke
. (I89b9b)- La funzione generica
AlertDialog
è stata rinominata inBasicAlertDialog
e la funzione precedente è stata ritirata. (Idbe52) - Rinomina le API
SwipeToDismiss
inSwipeDismiss
e promuovi le nuove APISwipeDismiss
come stabili. (I14cbe) - Aggiunta di
tonalElevation
eshadowElevation
alle API di descrizione comando. Inoltre, le APITooltipBox
,PlainTooltip
eRichTooltip
sono state spostate di nuovo in stato sperimentale perché sono state rilasciate accidentalmente 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
- È stato risolto un problema per cui
SwipeToDismiss
si arrestava in modo anomalo in determinati scenari con layout di tipo Lookahead e Lazy nidificati. (Ica8d1, b/297226562)
Versione 1.2.0-alpha10
18 ottobre 2023
androidx.compose.material3:material3-*:1.2.0-alpha10
viene rilasciato. La versione 1.2.0-alpha10 contiene questi commit.
Modifiche all'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 accettanoprogress
come lambda. Dovrebbero avere un rendimento migliore rispetto alle versioni precedenti. (I824e6, b/295616656) - Rinomina
StandardSizeClasses
inAllSizeClasses
. (I8cb07) - Combina le funzioni di calcolo delle classi di dimensioni della finestra. (Iad935)
Correzioni di bug
- È stato corretto un arresto anomalo di
DatePicker
quando si fa clic rapidamente sui pulsanti delle frecce di navigazione quando il mese visualizzato è all'estremità dell'intervallo di anni consentito. (I46f36, b/290954897, b/297002119) - [Barra laterale di navigazione] Supporto del 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 rilasciato. La versione 1.2.0-alpha09 contiene questi commit.
Modifiche all'API
- È stata eseguita la migrazione di
ModalNavigationDrawer
eDismissibleNavigationDrawer
per utilizzare le nuove APIAnchoredDraggable
.DrawerState
dianimateTo
è stato sostituito dai metodi open e close e l'offset ora viene visualizzato come valore float anziché come oggetto dello stato. Puoi accedere all'offset direttamente tramitecurrentOffset
. (I0a72c) - Sono state aggiunte funzioni non componibili per creare direttamente
DatePickerState
eDateRangePickerState
. Queste funzioni possono essere utilizzate come alternativa alle funzioni ComposablerememberDatePickerState
erememberDateRangePickerState
, se necessario. (I70326, b/291524052) - Le schede
TabRows
fisse e scorrevoli ora hanno le varianti Principale e Secondaria. Questi valori corrispondono correttamente al comportamento del colore e dell'indicatore come definito in Material3. PrimaryScrollableTabRow
eSecondaryScrollableTabRow
ora mostrano lo stato di scorrimento. (Iec8f5, b/260572337)- Aggiunta di un nuovo parametro
sheetMaxWidth
che gli sviluppatori possono impostare per specificare una larghezza massima del foglio. Se vuoi un foglio che occupi l'intera larghezza dello schermo, puoi passare Dp.Unspecified come parametro. (Ifb7c9, b/266697696) - Aggiunta di nuovo delle API
PlainTooltipBox
eRichTooltipBox
come metodi deprecati. (I246fa)
Correzioni di bug
- È stato corretto un arresto anomalo quando
DatePicker
viene inizializzato con unDatePickerFormatter
che ha determinati schemi 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 rilasciato. La versione 1.2.0-alpha08 contiene questi commit.
Modifica che comporta un cambiamento nel comportamento
ColorScheme
ora è immutabile, il che rende meno efficienti i singoli aggiornamenti dei colori, ma rende più efficiente l'utilizzo più comune dei colori. Il motivo alla base di questa modifica è che la maggior parte delle app non ha l'aggiornamento dei singoli colori come caso d'uso principale. Questa operazione è ancora possibile, ma la ricomposizione avverrà più di prima. Di conseguenza, ridurremo in modo significativo la quantità di abbonamenti allo stato in tutto il codice di Material e influiremo sul costo di inizializzazione e di runtime di casi d'uso più standard. (Ic447d, b/297212873)- L'elevazione tonale non viene più animata in stati di interazione diversi per soddisfare le specifiche. (Icdd12)
Modifiche all'API
- È stato aggiunto un nuovo
BottomAppBar
che prende come parametro unBottomAppBarScrollBehavior
per nasconderlo automaticamente quando si scorre il contenuto. È stato aggiunto ancheFabPosition.EndOverlay
per consentire al FAB di sovrapporsi alla barra delle app in basso nello scafo anziché essere ancorato sopra. (Iecb47) - È stato aggiunto un semplice componente Etichetta basato su
BasicTooltipBox
che non viene chiuso quando si tocca all'esterno 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 Scaffold deve misurare i relativi elementi secondari durante la misurazione o il posizionamento. Per impostazione predefinita, la misurazione viene eseguita in misurazione. Se riscontri problemi con il nuovo comportamento, segnala un problema. (I0b354)
- È stato corretto il formato Orizzontale da bordo a bordo in
BottomSheet
utilizzando la misurazione corretta per la larghezza dello schermo del dispositivo. (I1df0c, b/299058752) - È stato risolto un bug per cui
ModalBottomSheet
non chiamavaonDismissedRequest
quando veniva chiuso scorrendo verso il basso nel foglio. (Idfdd8)
Versione 1.2.0-alpha07
6 settembre 2023
androidx.compose.material3:material3-*:1.2.0-alpha07
viene rilasciato. 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 sulle icone con mirroring automatico, consulta le note di rilascio.
Modifiche all'API
SliderState
implementaDraggableState
(I9b116)- Modifica la forma in modo che sia un parametro obbligatorio. Rinomina
position
inindex
nella funzione di assistenza della forma. (I34941) - Aggiorna
DatePicker
formatWithSkeleton
in modo da includere una mappa utilizzata come cache per i miglioramenti delle prestazioni. (I3195f) - È stato aggiunto
BasicTooltipBox
acompose.foundation
e sono stati aggiornatiPlainTooltipBox
eRichTooltipBox
per utilizzareTooltipBox
con i nuovi composabiliPlainTooltip
eRichTooltip
. (I79e1d)
Correzioni di bug
dynamicLightColorScheme
edynamicDarkColorScheme
ora restituiscono colori di crominanza più elevati per i ruoli di superficie esurfaceContainer
. (I5e901)- È stato risolto un problema per cui alcuni componenti che utilizzano la composizione secondaria (ad es.
BottomSheetScaffold
) all'interno di uno Scaffold all'interno di unLookaheadScope
tentavano di leggere le dimensioni troppo presto. (I297b4, I871f1, b/295536718)
Versione 1.2.0-alpha06
23 agosto 2023
androidx.compose.material3:material3-*:1.2.0-alpha06
viene rilasciato. 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 nella 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 nella parte inferiore dello schermo. (Ib87a2, b/294103942)
Versione 1.2.0-alpha05
9 agosto 2023
androidx.compose.material3:material3-*:1.2.0-alpha05
viene rilasciato. La versione 1.2.0-alpha05 contiene questi commit.
Modifiche all'API
- Aggiornamenti ai colori della casella di controllo e di
TriStateCheckbox
. OraCheckboxDefaults.colors()
disabledUncheckedColor
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 rilasciato. La versione 1.2.0-alpha04 contiene questi commit.
Nuove funzionalità
- API pulsante segmentato sperimentale (Ifc8fb)
- I separatori ora hanno un parametro per controllare l'orientamento in modo da supportare i separatori verticali. (I4c899, b/288438593)
Modifiche all'API
- Stiamo spostando la dipendenza dalla densità a livello di componente. Questo vale per i seguenti componenti:
SwipeToDismiss
e componenti basati su fogli. Utilizza la nuova sovraccarica fornita in cui la densità è un parametro. (I1846e) - Annotazioni aggiuntive per specificare gli input consentiti per i composabili (Ief234)
- Aggiungi un parametro di icona al pulsante segmentato, suddividi la semantica in modo che i pulsanti segmentati possano essere selezionabili per implementare la selezione singola e attivabili/disattivabili per implementare la selezione multipla, rispettivamente con
SelectableSegmentedButtonRow
eToggelableSegmentedButtonRow
. (I38740) - La scheda Divisore è stata rinominata in
HorizontalDivider
. È stata aggiunta la funzionalitàVerticalDivider
. (I5975c) - Cambia l'utilizzo di
ClosedFloatingPointRange
conFloatRange
più leggero nelle API Material3 sperimentali per ridurre al minimo l'autoboxing. (I4aab5) - È stato aggiunto un nuovo allineamento di inizio 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 rilasciato. 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 riga predefinito è 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à
- È stata aggiunta un'overload per
RangeSlider
, che è una versione con stato del componente. È stato creatoRangeSliderState
che contiene tutte le informazioni per il canale attivo corrente, le misurazioni dei componenti delRangeSliderState
e la logica di trascinamento e dei gesti.RangeSlider
(I8c270) - La barra di ricerca ora supporta le ombre tramite il parametro
shadowElevation
appena aggiunto. (Ia5369, b/271040353) ColorScheme
ora supporta i nuovi ruoliSurfaceContainer
.- Ora l'overlay di elevazione tonale della superficie può essere disattivato con la composizione locale
LocalTonalElevationEnabled
. (Ic203c, b/277774590)
Modifiche all'API
- Apri i costruttori dei colori dei componenti. (I8c4a6)
- Aggiunta del parametro focusable a entrambe le API di descrizione comando, in modo che gli sviluppatori possano decidere se la descrizione comando deve o meno consumare gli eventi touch. Tieni presente che questa operazione potrebbe interrompere il traversale automatico dell'attenzione per l'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 inserti della finestra consumati. Tieni presente che il comportamento del riempimento 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 di azione o l'icona di navigazione. (I4369f, b/236994621)
- Le posizioni delle schede ora richiedono una larghezza minima dei contenuti di 24 dp. In questo modo viene fornito un target di tocco accessibile per gli indicatori delle schede. (Id8861)
- Le tavolozze di colori dinamiche di
dynamicLightColorScheme
edynamicDarkColorScheme
ora supportano nuovi ruoli di visualizzazione. (I1252e) - Aggiornamento dell'allineamento della notifica del badge in modo che non venga tagliato in caso di collisione con il bisnonno. (Idf75a)
Versione 1.2.0-alpha02
24 maggio 2023
androidx.compose.material3:material3-*:1.2.0-alpha02
viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
Modifiche all'API
- Aggiungi il parametro rientranze finestra a
ModalBottomSheet
.- Ora lo scrim per
ModalBottomSheet
può essere disegnato dietro la barra di stato conwindowInsets
impostato su zero - Aggiornamento della funzionalità predefinita
ModalBottomSheet
per rimanere al di fuori delle barre di sistema, inclusa la navigazione - La gestione dell'inserimento della barra di stato è fornita dall'handle di trascinamento in modalità da bordo a bordo.
BottomSheetDefaults
include i riquadri delle finestre perBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Ora lo scrim per
- Ritirare
Indicator
e aggiungerePrimary
/SecondaryIndicator
in modo che corrispondano alle specifiche di M3.PrimaryIndicator
corrisponde alla larghezza dei contenuti della scheda, mentreSecondaryIndicator
occupa l'intera larghezza disponibile.SecondaryIndicator
è equivalente aIndicator
, ora deprecato, e può essere una sostituzione diretta. (I27604) - È stata aggiunta un'opzione per passare un
ScrollState
durante la creazione di unDropdownMenu
o unExposedDropdownMenu
per controllare lo stato di scorrimento verticale dei menu visualizzati. (Ia0734, b/185304441) - È stata aggiunta un'overload per
Slider
, che è una versione con stato del componente. È stato creatoSliderState
che contiene tutte le informazioni per il canale attivo corrente, le misurazioni dei componenti delSliderState
e la logica di trascinamento e dei gesti.Slider
(I124a5) - Ridenominazione della proprietà Semantics da
isContainer
aisTraversalGroup
(I121f6) - È stato aggiunto
TextStyle.merge(...)
ottimizzato con l'elenco completo dei parametri. (Iad234, b/246961787) - Sono state create interfacce pubbliche per
TooltipState
,RichTooltipState
ePlainTooltipState
. Sono stati aggiuntiRichTooltipStateImpl
ePlainTooltipStateImpl
per gli stati predefiniti. Sono state aggiunte le funzioniremember*State
per ottenere questi stati implementati.TooltipSync
è stato rimosso in favore di unTooltipDefault.GlobalMutatorMutex
. (I7813d) - È stato aggiornato il
DatePickerColors
per includere ulteriori opzioni di personalizzazione per i colori del divisore del selettore della data, della navigazione e dei campi di immissione di testo. (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 di stato (I3f39a)ModalBottomSheet
è passato solo ad Android. L'utilizzo diModalBottomSheet
non è consigliato per i computer e la funzionalità non è più mantenuta. (Ib3778)
Correzioni di bug
- È stato corretto l'errore relativo all'azione di chiusura
AlertDialog
che appariva sotto l'azione di conferma quando le azioni erano impilate una sopra l'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 spaziatura interna errata per gli elementi pubblicitari di tre righe. (I6e235) ModalBottomSheet
ora può mostrare 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
vengono 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
vengono rilasciati. La versione 1.1.2 contiene questi commit.
Correzioni di bug
- È stato corretto il modificatore passato erroneamente a due composabili. (b/282761472)
TimePickerState
corretto restituisce ore errate quando viene inizializzato con 23 ore. (b/278242122)- È stato corretto lo stato di attivazione/disattivazione iniziale per la convalida di mezzogiorno e dei minuti. (b/269768197, b/282790635)
- È stato corretto il valore errato restituito da
state.hour
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
vengono 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 rientranze finestra a
ModalBottomSheet
.- Ora lo scrim per
ModalBottomSheet
può essere disegnato dietro la barra di stato conwindowInsets
impostato su zero - Aggiornamento della funzionalità predefinita
ModalBottomSheet
per rimanere al di fuori delle barre di sistema, inclusa la navigazione - La gestione dell'inserimento della barra di stato è fornita dall'handle di trascinamento in modalità da bordo a bordo.
BottomSheetDefaults
include i riquadri delle finestre perBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Ora lo scrim 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
vengono rilasciati. La versione 1.1.0 contiene questi commit.
Funzionalità principali della versione 1.1.0
Nuovi componenti di Material Design 3
Miglioramenti ai componenti esistenti di Material Design 3.
Le API sperimentali sono state promosse a versione stabile.
Per maggiori dettagli, 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
vengono rilasciati. La versione 1.1.0-rc01 contiene questi commit.
Modifiche all'API
TimePicker
rimosso dall'API stabile, sono previste ulteriori modifiche nell'API di stato (I3f39a)ModalBottomSheet
è passato solo ad Android. L'utilizzo diModalBottomSheet
non è consigliato per i computer e la funzionalità non è più mantenuta. (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
vengono rilasciati. La versione 1.1.0-beta02 contiene questi commit.
Modifiche all'API
SheetState
ora ha il parametro facoltativoskipHiddenState
rememberStandardBottomSheetState
ora ha il parametro facoltativoskipHiddenState
BottomSheetScaffold
ora ha un'ancora nascosta definita, anche se è disattivata per impostazione predefinita- La documentazione di
SheetState.requireOffset
è stata aggiornata BottomSheetDefaults.MinimizedShape
è stato rinominatoBottomSheetDefaults.HiddenShape
(I839f4, b/273870234)
Correzioni di bug
- Non passare dall'ora ai minuti sul quadrante quando l'esplorazione tocco è attivata. (I717d0)
- La semantica dell'handle di trascinamento
ModalBottomSheet
eBottomSheetScaffold
è stata ora unita. (I05afb) - I parametri modificatore
BottomSheetScaffold
,containerColor
econtentColor
ora influiscono solo sui contenuti. (I992cb) BottomSheetScaffold nestedScroll
per i contenuti del foglio ora implementa i movimenti rapidi. (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
vengono rilasciati. La versione 1.1.0-beta01 contiene questi commit.
Modifiche all'API
- Aggiungi il parametro di tipo di layout al composable
TimePicker
. Consente di utilizzare diversi layout, a seconda della configurazione dello schermo (Ia0e16) SearchBarDefaults
è stato contrassegnato come sperimentale. (I65561)- È stata aggiunta l'elevazione ombra a
BottomSheetScaffold
(I94e0f) - È stato aggiunto il supporto per la visualizzazione dei selettori della data 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 un titolo, un'intestazione e
showToggleMode = false
null per visualizzare un selettore senza testa. (Id3f3a, b/266132421, b/267194809)
Correzioni di bug
- Ora le barre di ricerca vengono automaticamente deselezionate quando non sono attive. (I22a7c, b/261444487)
- È stato aggiornato il pulsante
DateRangePicker
per consentire la selezione di un intervallo con la stessa data per l'inizio e la fine. (I16529, b/272882497) - Ora i campi di testo posizionano correttamente gli elementi di testo quando le dimensioni dei caratteri sono più piccole del previsto. Ciò potrebbe comportare una variazione di alcuni pixel nelle app in base alle impostazioni dei caratteri 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
vengono rilasciati. La versione 1.1.0-alpha08 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto per
BottomSheetScaffold
eBottomSheetScaffoldState
. (I063d4)
Modifiche all'API
- È stata aggiunta funzionalità a
DatePickerState
eDateRangePickerState
per consentire l'impostazione delle date dopo la creazione iniziale dello stato, nonché il ripristino delle selezioni impostando timestamp null. L'impostazione manuale delle date deve essere effettuata con cautela e la nuova funzionesetSelection
genera un'eccezione nel caso in cui una data fornita non soddisfi un prerequisito (vedi la documentazione). (Ifa645, b/268609314, b/270427389) - Rinomina Collassato
SheetValue
inPartiallyExpanded
per rappresentare in modo più preciso e flessibile il comportamento in questo stato. (Ia1491) - I nomi dei parametri
ListItem
sono stati aggiornati in _content anziché _text. I getter predefiniti ora sonoReadOnlyComposables
, se pertinenti. (I69a25) - Rimuovere lo stato sperimentale dalle API Surface interattive. (I90d59, b/261561812)
Correzioni di bug
- Risolto un problema per cui lo stato
HalfExpanded
diModalBottomSheet
veniva calcolato in modo errato e il foglio sembrava essere in primo piano. (I45e84, b/268411386) - Aggiungi il segno di spunta
confirmValueChange
al tocco della schermata scrim perModalBottomSheet
. (I2311a, b/270425759) - Sposta le azioni semantiche
BottomSheet
nel punto di manipolazione. (I158ba) ModalBottomSheet
ora comanda lo stato attivo al momento dell'avvio e gestisce il pulsante Indietro. (I4d2ab)ModalBottomSheet onDismissRequest
viene ora gestito anche durante i movimenti di scorrimento 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
vengono rilasciati. La versione 1.1.0-alpha07 contiene questi commit.
Nuove funzionalità
- Aggiungi un composable di input di tempo che funzioni con
rememberTimePickerState()
e che segua le specifiche M3 per l'input di tempo (Ia4fab) - È stata aggiunta un'API Material 3
DateRangePicker
per la selezione di un intervallo di date. (I7a6c3, b/267194809) - È stato aggiunto il supporto della modalità di immissione 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 testo del campo di immissione e del segnaposto in base allo stato di attivazione e di errore. Il parametro
textColor
è stato rinominato inunfocusedTextColor
eplaceholderColor
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 testo del campo di immissione e del segnaposto in base allo stato di attivazione e di errore. Il parametro
- I colori dei campi di testo del menu a discesa esposti sono stati aggiornati con i parametri per supportare la nuova API di prefisso e suffisso. (I9c8b4, b/254284181, b/264766350)
Modifiche all'API
- Ripristino di alcune versioni dell'API Slider e rimozione di sovraccarichi Slider ridondanti coperti dal nuovo Slider sperimentale con cursore e traccia personalizzati. Promuovere
RangeSlider
come stabile. (Ie8fbd) defaultElevation
è stato rinominato inelevation
nelle funzioni di elevazione del chip. (I0f872)- Le seguenti API dei 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)- È stata 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 all'accessibilità per il materiale 3
DatePicker
eDateRangePicker
. (I5087e) - È stato corretto un bug per cui il vincolo di altezza massima viene propagato e potrebbe verificarsi un arresto anomalo. (I30d8c)
- Sono stati rimossi i ruoli semantici dalle aree cliccabili e selezionabili e sono stati aggiornati i 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
vengono rilasciati. La versione 1.1.0-alpha06 contiene questi commit.
Nuove funzionalità
- I campi di testo ora supportano i prefissi e i suffissi (Ia8578, b/179884561)
- È stata aggiunta una funzione
TimePicker
per mostrare un selettore dell'ora in base alle specifiche di Material 3, utilizzata in combinazione conTimePickerState
e il metodo di utilitàrememberTimePickerState
(I71910) - Un'input di data ora è una modalità di visualizzazione in
DatePicker
. È stato aggiunto il supporto per il passaggio tra la modalità di selezione della data e la modalità di inserimento della data. (Ieeff7) - È stata aggiunta l'API per
RichTextTooltips
. (I58ef3) - Implementazione del riquadro inferiore modale per Material 3, inclusi
ModalBottomSheet
eModalBottomSheetDefaults
. Vengono inoltre introdottiSheetState
erememberSheetState
, che possono essere utilizzati per i componenti dei fogli futuri. (I0853a, b/244189383)
Modifiche all'API
- Stabilizza l'API
showSnackbar
(I195c2, b/261424370) - Stabilizzare le API per i chip di assistenza e di suggerimento (Ibb67b, b/261424370)
- Promuove le API
ListItem
,ListItemDefaults
eListItemColors
a non sperimentali (I7e7fa, b/261438882) - Promozione di
SliderPositions
,SliderDefaults.Thumb
eSliderDefaults.Track
alla versione stabile e aggiunta di APISlider
eRangeSlider
non sperimentali che contengono miniature e tracce personalizzate. Inoltre, verranno ritirate le APISlider
eRangeSlider
precedenti. (Ie5ea6, b/261566890) - È stato reso pubblico
Modifier.tooltipAnchor()
, in modo che gli sviluppatori possano trasmetterlo all'ancora per indicare che deve essere visualizzata una descrizione comando con una pressione prolungata. L'APIPlainTooltipBox
è stata aggiornata in modo cheTooltipState
non sia più nullable e ora ha un valore predefinito. (Ie2fb7) ProgressIndicatorDefaults.circularTrackColor
è stato contrassegnato come@Composable
per coerenza. (Id29cc)- Ripristina il getter della proprietà
LocalMinimuTouchTargetEnforcement
, contrassegnalo come deprecato 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
vengono rilasciati. La versione 1.1.0-alpha05 contiene questi commit.
Nuove funzionalità
DatePickerDialog
e assistenza per l'accessibilità- Sono stati aggiunti miniatura e traccia personalizzati 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
vengono rilasciati. La versione 1.1.0-alpha04 contiene questi commit.
Nuove funzionalità
- API
DatePicker
iniziale per la scelta 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 all'API
- Aggiunta nella proprietà di semantica
IsContainer
su Surfaces. Questa proprietà verrà utilizzata in una modifica successiva che determina l'ordine di attraversamento in base al significato semantico di elementi come le piattaforme. (I63379) - Contrassegna le API correlate al riquadro di navigazione come stabili. (Iab01e, b/261439597)
- È stato aggiunto un parametro di colore del tracciato per gli indicatori di avanzamento circolari e un parametro di tratto finale per gli indicatori di avanzamento circolari e lineari. (Ie668c, b/216325962, b/222964817)
- Maggiore nullabilità del tipo di ritorno delle funzioni nascoste ritirate (Ibf7b0)
- Aggiungi
Modifier.minimumInteractiveComponentSize
. Può essere utilizzato per riservare dimensioni di almeno 48 dp per distinguere le interazioni tocco se l'elemento è più piccolo. (I33f58, b/258495559) - È stata aggiunta un'API sperimentale per il composable
AlertDialog
con uno slot per i contenuti. (Iec4a2)
Correzioni di bug
- L'avanzamento per gli 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 è dove è stato segnalato il problema per la prima volta. È stata inviata una correzione che sarà disponibile nel prossimo aggiornamento di Scrivi. 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
vengono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.
Modifiche all'API
- Abbiamo rinominato
consumedWindowInsets()
inconsumeWindowInsets()
ewithConsumedWindowInsets()
inonConsumedWindowInsetsChanged()
e abbiamo reso pubblici i modificatori. (Ie44e1) - Aggiungi un nuovo spazio interno predefinito per il pulsante di testo con icona da utilizzare. (I8f662)
- Sono stati aggiunti i colori disattivati per la barra di navigazione e la barra laterale. (Ia7892, b/258867034)
- È stata aggiunta un'API Modifier per eseguire query sulle informazioni di scorrimento degli antenati. (I2ba9d, b/203141462)
- Utilizzato in
Clickable
per ritardare correttamente le interazioni con i tasti, quando i gesti potrebbero diventare eventi di scorrimento. - È stato corretto il problema per cui
Clickables
non ritardava correttamente le increspature quando veniva utilizzato all'interno di unScrollable ViewGroup
. - È stato aggiornato il riquadro e i riquadri per posticipare 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
vengono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.
Modifiche all'API
awaitFirstDown
ewaitForUpOrCancellation
ora accettano unPointerEventPass
per una maggiore flessibilità (viene inoltre corretto il problema relativo alla visualizzazione di un menu durante lo scorrimento diExposedDropdownMenuBox
).(I7579a, b/212091796)- È stato aggiunto il parametro
minLines
in Material e Material3 Text,TextField
eOutlinedTextField
che consente di impostare l'altezza minima del componente in termini di numero di righe (I4af1d) - La funzione
TopAppBarDefaults smallTopAppBarColors
verrà ritirata a favore di una nuova funzionetopAppBarColors
che deve essere utilizzata per creare unTopAppBar
. (Ie6cb9) - È stato aggiunto il parametro
minLines
aBasicText
eBasicTextField
. Consente di impostare l'altezza minima di questi composabili in termini di numero di righe (I24294, b/122476634)
Correzioni di bug
- Ritaglia i contenuti di un Material3
IconButton
eIconToggleBotton
in base alla forma del livello di stato del componente (ad es. forma circolare). (I9da8f) - Aggiorna le barre delle app superiori di Material3 di medie e grandi dimensioni in modo da applicare lo stesso colore di sfondo all'intera superficie e da consentire l'impostazione dell'override dei 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
vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.
Correzioni di bug
- Corregge la barra delle app in alto quando il titolo viene applicato con un TextStyle 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
vengono rilasciati. La versione 1.0.1 contiene questi commit.
Correzioni di bug
- Aggiorna le barre delle app superiori di Material3 di medie e grandi dimensioni in modo da applicare lo stesso colore di sfondo all'intera superficie e da consentire l'impostazione dell'override dei 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
vengono 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 di Material Design 3
- Badge
- Barra delle app in basso
- Pulsanti
- FAB e FAB esteso
- Schede
- Casella di controllo
- Chip
- Dialoghi
- Separatore
- Menu a discesa
- Elenco
- Barra di navigazione
- Riquadro di navigazione a scomparsa
- Barra di navigazione
- Indicatore di avanzamento
- Pulsante di opzione
- Cursore
- Passa
- Schede
- Campi di testo
- Barra delle app superiore
- Icona
- Invia un messaggio.
- Superficie
- Layout
- Colore dei contenuti
Classe di dimensioni finestra
material3-window-size-class
è una nuova libreria che fornisce supporto per le classi di dimensioni della finestra: un insieme di breakpoint dell'area visibile in base alle preferenze per progettare, sviluppare e testare layout delle 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 mostrare una barra di navigazione anziché la navigazione in basso per dimensioni della finestra più grandi. Per ulteriori informazioni e esempi di utilizzo, consulta la documentazione di riferimento dell'API perWindowSizeClass
.Per maggiori dettagli, 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
vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.
Modifiche all'API
- È stato aggiunto il parametro slot per supportare l'API di trasferimento del testo al 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
vengono rilasciati. La versione 1.0.0-beta03 contiene questi commit.
Modifiche all'API
ExposedDropdownMenuDefaults
ora espone un valore di spaziatura per gli elementi del menu. (I34ee1)ExposedDropdownMenuBoxScope
ora ha un modificatoreModifier.menuAnchor()
che deve essere passato al campo di testo per un comportamento corretto di a11y. (I27fa3)- Aggiunta di due metodi sovraccaricati per l'attuale API Slider per consentire agli utenti di passare un cursore o un canale per compilare il cursore. (I21c00)
Correzioni di bug
- Mappatura dei colori del tema scuro aggiornata per il contenitore In caso di errore al tono 90 (Ic5612)
- Correzione per consentire l'impostazione di uno sfondo trasparente per le barre delle app piccole 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
vengono rilasciati. La versione 1.0.0-beta02 contiene questi commit.
Modifiche all'API
- Gli inserti dei componenti predefiniti introdotti nei componenti m3 nella versione beta01 non tengono più conto degli inserti dell'IME.
- Il componente Material3 Scaffold ora ha un parametro
contentWindowInsets
che consente di specificare la quantità di rientranze da gestire per lo slot dei contenuti. (Icf11a, b/243713323) - Ritirata la funzione sperimentale
SmallTopAppBar
di Material 3 e introdotta 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 e 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
vengono rilasciati. La versione 1.0.0-beta01 contiene questi commit.
Riferimento API
Per visualizzare gli ultimi temi, componenti e altri componenti composibili disponibili, consulta la Panoramica di riferimento dell'API Compose Material 3.
Modifiche all'API
- È stata aggiornata la barra delle app superiore Material 3 in modo che possa passare da uno stato completamente compresso a uno completamente esteso. Inoltre, è stata aggiornata la funzione di comportamento
TopAppBarDefaults
in modo che sia Composables e fornisca valori predefiniti per lo stato della barra delle app superiore e le specifiche di animazione. (I642b3) - Aggiornate le firme dei componenti FAB in modo che corrispondano all'API di Surface (I3afaa)
- È stato aggiunto il supporto integrato per le barre delle app, i riquadri, la barra di navigazione e la barra laterale incassate. Questi componenti, se utilizzati separatamente o con Scaffold, gestiranno automaticamente gli inserti per gli sviluppatori. Nota: questa modifica non aggiunge la gestione automatica delle icone della barra di stato e la trasparenza delle barre di stato e di navigazione. Continua a farlo manualmente per garantire la migliore esperienza edge-to-edge. (I7e4e6, b/183161866)
- Valori predefiniti dei componenti aggiornati per ridurre l'API per miglioramenti futuri di flessibilità e prestazioni. (I31820)
- Parametri del foglio del riquadro di navigazione e del chip riordinati per mantenere la coerenza all'interno dell'API (I45d0b)
- È stato rimosso
startIndent
da Divider 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
vengono rilasciati. La versione 1.0.0-alpha16 contiene questi commit.
Nuove funzionalità
- Supporto per la specifica di una larghezza personalizzata in un riquadro di navigazione a scomparsa. (Ia7f10)
Modifiche all'API
- Riordina i parametri della scheda e della scheda dell'icona principale per mantenere la coerenza all'interno dell'API (Ie2637)
BadgeDefaults
contrassegnata come sperimentale. (I98ef3)- Rimuovere 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 dispositivo di scorrimento in Material 3 per mantenere la coerenza all'interno dell'API (I62673)
- Il parametro delle icone è stato rinominato in azioni per essere coerente con la barra delle app in alto (Id75be)
- Contrassegnare
Badge
eBadgedBox
come sperimentali perché l'allineamento dell'ancora è ancora in fase di elaborazione. (I1712e, b/236524516) - Modificare le annotazioni
@ExperimentalMaterial3Api
sulle varianti dei pulsanti con icona in@OptIn
(I070b5) - I contenuti del riquadro di navigazione sono stati separati in un proprio composable 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
vengono 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 all'API
- Aggiornamenti alle API
FilterChip
eElevatedFilterChip
per rimuovere lo slotselectedIcon
e promuovere il riutilizzo dileadingIcon
per la visualizzazione di uno stato selezionato. (Ie5dc2) - Aggiungi i ruoli di colore della variante scrim e contorni. (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 relative 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 maggiore 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 modifiche future dell'API. (I127b5)
- L'annotazione
@ExperimentalMaterial3Api
è stata rimossa dalla funzioneCheckbox
. (I5eefc) - L'annotazione
@ExperimentalMaterial3Api
è stata rimossa dalla funzioneRadioButton
. (I17e2a) - È stata rimossa l'annotazione
@ExperimentalMaterial3Api
dalle schede non interattive. (I9bd49) - Aggiorna vari oggetti predefiniti dei componenti per includere colori, forme e così via (I96e11)
Correzioni di bug
- Sono state rimosse le icone finali non funzionanti dai sample di chip di input per evitare confusione negli utenti nell'app del 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
vengono rilasciati. La versione 1.0.0-alpha14 contiene questi commit.
Nuove funzionalità
- È stata aggiunta l'implementazione dell'elenco M3. Consulta la documentazione per un esempio di utilizzo (Id7a20)
Modifiche all'API
- Modifica il nome del parametro da values a value 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 il FAB predefinito
BottomAppBar
(Ida4c8) - È stato aggiunto
ColorScheme.surfaceColorAtElevation
(Id41af) - Le interfacce nelle librerie di composizione ora vengono create utilizzando i metodi di interfaccia predefiniti di JDK8 (I5bcf1)
WindowWidthSizeClass
eWindowHeightSizeClass
ora implementano Comparable, quindi possono essere confrontati utilizzando gli operatori (<, <=, >=, >) e altre API. (I747d0)
Correzioni di bug
- Aggiorna il Sample badge per fornire una descrizione dei contenuti più significativa. (I10b9d)
- Aggiunge l'opzione per utilizzare le dimensioni dei caratteri di sistema al selettore di temi del catalogo Material 3. (I10605)
- Aggiunge codice di esempio per badge e indicatori di avanzamento indefiniti. (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
vengono rilasciati. La versione 1.0.0-alpha13 contiene questi commit.
Modifiche all'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
vengono rilasciati. La versione 1.0.0-alpha12 contiene questi commit.
Correzioni di bug
- Ora il contenitore principale del cursore può avere una larghezza pari a 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
vengono rilasciati. La versione 1.0.0-alpha11 contiene questi commit.
Nuove funzionalità
RangeSlider
aggiunto al materiale 3 (I18e38)- Aggiunta del supporto per
AssistChip
eInputChip
di Material3 (I0d25a) - Aggiunge il supporto di
FilterChip
eSuggestionChip
di Material3 (I9fdf3)
Modifiche all'API
- Il composable
TextFieldDefaults.BorderStroke
che disegna un tratto del bordo inOutlinedTextField
è stato rinominato inTextFieldDefaults.BorderBox
. (I5f295) - Modifiche visive del passaggio a m3 (Iab30e)
- Consenti di passare i colori ai pulsanti con icone standard. (Ia2445)
Correzioni di bug
- Aggiungi il controllo lint a material3/Scaffold per assicurarti che venga utilizzata la spaziatura interna (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
vengono 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 della finestra: un insieme di breakpoint dell'area visibile in base alle opinioni che ti consentono di progettare, sviluppare e testare layout delle applicazioni ridimensionabili. Puoi utilizzarecalculateWindowSizeClass
per recuperare un'istanza della classe delle dimensioni della finestra, che puoi utilizzare per determinare l'aspetto dell'interfaccia utente, ad esempio mostrare una barra di navigazione anziché la navigazione in basso per dimensioni della finestra più grandi. Per ulteriori informazioni e esempi di utilizzo, consulta la documentazione di riferimento dell'API perWindowSizeClass
. Per ulteriori informazioni sulle definizioni delle classi di dimensioni della finestra, consulta le indicazioni pubbliche sul supporto di schermi di dimensioni diverse.
Modifiche all'API
- Aggiunge l'elevazione predefinita del FAB per
BottomAppBar
, rimuove lambda finale daBottomAppBar
con il FAB. (I92c47) - Aggiunge Materiale3
FilledIconButton
,FilledTonalIconButton
eOutlinedIconButton
. (Ib2bda) - Aggiorna l'API Snackbar di Material 3 in modo che accetti i valori di colore per le azioni facoltative action e dismiss-action. (Ibe4b4)
- Il consumo parziale (posizione OR verso il basso) è stato ritirato in
PointerInputChange
. Puoi utilizzareconsume()
per consumare 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 consumata una delle copie. Se vuoi creare unPointerInputChange
non vincolato, 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 cliccabili. (I927df) - Il parametro
backgroundColor
è stato rinominatocontainerColor
nei campi di testo del materiale 3 per una maggiore coerenza con gli altri componenti. (I6fbd9)
Correzioni di bug
- Aggiornamenti allo standard
IconButton
per allinearlo alle specifiche di Material3. (I09eab) - Sposta l'altezza della barra superiore di Material3 Scaffold nel padding passato ai contenuti, in modo che i contenuti vengano visualizzati sotto la barra delle app superiore. 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 rilasciato. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- È stata aggiunta l'API Material 3 Switch (I2c3ad)
Modifiche all'API
- È stato aggiunto il supporto per i menu a discesa con campi di testo (noti anche come "menu a discesa esposti" o "caselle combinate"). (I1b832)
- È stato aggiunto il parametro shape al sottosistema 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 il sovraccarico FAB esteso per i FAB estesi con testo finale per i FAB estesi senza icona. (Iba7f1)
Versione 1.0.0-alpha08
23 marzo 2022
androidx.compose.material3:material3:1.0.0-alpha08
viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto per i campi di testo Material 3. (I795cc, b/199377790)
Modifiche all'API
- Aggiungere un divisore predefinito per il menu (I01374)
- È stato aggiunto il parametro di colore
surfaceTint
alla classeColorScheme
. (I2f558)
Correzioni di bug
- Correggi il pulsante Material3 in modo che legga il valore predefinito dello stile del testo da MaterialTheme. (Ie62fc)
Versione 1.0.0-alpha07
9 marzo 2022
androidx.compose.material3:material3:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche all'API
- Aggiornamenti all'API Material 3 Surface che ripristinano le funzioni sovraccaricate per le piattaforme cliccabili, oltre ad aggiungere una funzione per supportare le piattaforme 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 a androidx.compose.foundation.lazy.grid. (I2d446)- È stata ripristinata la modifica precedente che si basava esclusivamente su una visualizzazione per
WindowInsetsControllerCompat
e di nuovo è richiesta una finestra, obbligatoria per la gestione di alcuni flag della finestra. È stata ritirata la funzionalitàViewCompat.getWindowInsetsController
in 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 delle assi trasversali (I17723)
Correzioni di bug
- Aggiornamenti all'API Card in seguito alle modifiche all'API Surface (I3c8b9)
Versione 1.0.0-alpha06
23 febbraio 2022
androidx.compose.material3:material3:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche all'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 per i dispositivi con schermi di grandi dimensioni. (I5f8ab, b/218286829)- Aggiunta del supporto della barra delle app in basso Material 3 (Ic432a)
NavigationDrawer
è stato rinominato inModalNavigationDrawer
(I1807d, b/218286829)- Sono stati aggiunti la classe e i token del cursore del materiale 3 (I1ccee).
- È stata aggiunta l'implementazione della scheda. Consulta la documentazione per un esempio di utilizzo (Ie0146)
Correzioni di bug
- È stato risolto un problema per cui la navigazione lineare dello screen reader
TalkBack
selezionava un titolo della barra delle app superiore vuoto. (Id4690) IconSize
è stato aggiunto 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 rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
Sono stati aggiunti i componenti di Material Design 3
- Menu a discesa
- Schede
Modifiche all'API
- Funzione
Surface
deprecata che accetta un callback onClick. Le aree cliccabili devono essere create con unInteractionSource
e unModifier.clickable()
. (I211c6) - È stato aggiunto il supporto dell'elevazione per i pulsanti flottanti premuti e attivi. (Ibb584)
- È stata modificata l'API
Surface
in modo da ricevere un InteractionSource che consente di controllarne l'aspetto in stati diversi. (Iafbc8)
Correzioni di bug
- Sono stati aggiunti i 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 rilasciato. La versione 1.0.0-alpha04 contiene questi commit.
Modifiche all'API
- È stato aggiunto
NonRestartableComposable
ai metodi che sono sovraccarichi di metodi esistenti senza logica complessa. In questo modo, vengono ridotti i controlli di memorizzazione (uguale) generati dal compilatore per tutti i parametri che vengono ripetuti nella funzione interna chiamata. (I90490) - È stato 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 di Material 3. (Iff232, b/205023841)
Correzioni di bug
- Aggiornare 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 rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
Correzioni di bug
- Aggiungi
LocalIndication
aMaterialTheme
del Materiale 3. (I7ce4e) - Correggere il raggio del raggio applicato per le 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 rilasciato. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- Aggiunta la funzionalità di casella di controllo e pulsante di opzione.
- Aggiornata per essere compatibile con Kotlin
1.6.0
Modifiche all'API
- Rimuovi il riquadro dall'apposita struttura di Material 3. (I04f51)
- Aggiunta del supporto per il materiale 3
Checkbox
. (Id5542) - Aggiunta del supporto per il materiale 3
RadioButton
. (I20334)
Correzioni di bug
- Riduci il raggio dell'ondulazione
IconButton
da 40 dp a 20 dp. (I68bbe, b/206674345) - Il percorso rapido della stringa porta per
Text
cambia dacompose.material
(I30b03) - Problema risolto, ma il pulsante hardcoded deve essere sempre attivo. (Iea832, b/205335456)
Versione 1.0.0-alpha01
27 ottobre 2021
androidx.compose.material3:material3:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Temi Material Design 3 e colore dinamico Material You
Componenti di Material Design 3
- Pulsanti
- FAB e FAB esteso
- Dialoghi
- Barra di navigazione
- Riquadro di navigazione a scomparsa
- Barra di navigazione
- Barra delle app superiore
- Badge
- Icona
- Invia un messaggio.
- Superficie
- Layout
- Colore dei contenuti
Per ulteriori informazioni, consulta la sezione Material Design 3 e Material You nella guida sui temi Material in Compose.