Materiale di composizione 3

Crea UI di Jetpack Compose con i componenti di Material Design 3, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati e funzionalità di personalizzazione di Material You, come il colore dinamico, ed è progettato per essere coerente con il nuovo stile visivo e la UI di sistema di Android 12.
Aggiornamento più recente Release stabile Candidato per la release Versione beta Release alpha
20 marzo 2024 1.2.1 - - 1.3.0-alpha03

Struttura

Compose è una combinazione di 7 ID gruppo Maven all'interno di androidx. Ogni gruppo contiene un sottoinsieme specifico di funzionalità, ciascuna con il proprio set di note di rilascio.

Questa tabella illustra i gruppi e fornisce i link a ciascun insieme di note di rilascio.

RaggruppaDescrizione
compose.animationCreare animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente.
compose.compilerTrasforma le funzioni @Composable e abilita le ottimizzazioni con un plug-in di compilazione Kotlin.
compose.foundationScrivi applicazioni Jetpack Compose con componenti di base pronti all'uso ed estendi le basi per creare i componenti del tuo sistema di progettazione.
compose.materialCrea UI di Jetpack Compose con componenti Material Design pronti per l'uso. Si tratta del punto di accesso di livello superiore di Compose, progettato per fornire componenti corrispondenti a quelli descritti su www.material.io.
compose.material3Crea UI di Jetpack Compose con i componenti di Material Design 3, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati e funzionalità di personalizzazione di Material You, come il colore dinamico, ed è progettato per essere coerente con il nuovo stile visivo e la UI di sistema di Android 12.
compose.runtimeComponenti di base fondamentali del modello di programmazione e della gestione dello stato di Compose, nonché del runtime di base per il plug-in di Compose Compiler da utilizzare come target.
compose.uiComponenti fondamentali dell'interfaccia utente di composizione necessari per interagire con il dispositivo, inclusi layout, disegno e input.

Dichiarazione delle dipendenze

Per aggiungere una dipendenza su 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 artefatti necessari nel file build.gradle per l'app o il modulo:

Trendy

dependencies {
    implementation "androidx.compose.material3:material3:1.2.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.2.1"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.2.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.2.1")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Compose Material3 Adaptive Navigation Suite versione 1.0

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 alle API

  • Imposta il costruttore NavigationSuiteItemColors come pubblico. (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 adattive Material3 ai nuovi percorsi dei moduli. (Ibc421)
  • Esegui la migrazione per utilizzare la versione delle classi di dimensioni delle finestre in Gestione 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 alle API

  • Aggiorna il nome del pacchetto a suite di navigazione dalla suite di navigazione (I7eff7)
  • I componenti Material3 che mostrano un valore MutableInteractionSource nell'API sono stati aggiornati in modo da ora esporre un valore MutableInteractionSource con valore null che per impostazione predefinita è null. Non ci sono modifiche semantiche qui: passare un valore null significa che non vuoi istruire MutableInteractionSource, che verrà creato all'interno del componente, se necessario. La modifica a null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non stai utilizzando il MutableInteractionSource passato a questi componenti, si consiglia di passare il valore null. Ti consigliamo inoltre di apportare modifiche simili ai 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à

Correzioni di bug

  • È stato risolto un problema che riempiva l'intero schermo del componente di navigazione quando la superficie principale presentava 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 ulteriori opzioni di comportamento per la navigazione a ritroso per ThreePaneScaffoldNavigator. (I858aa)
  • Sono stati aggiunti contenuti facoltativi della destinazione 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à

  • Supporta la consapevolezza della cronologia nella navigazione scaffold 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à

  • Aggiunto supporto edge-to-edge nei impalcature dei riquadri (I1b462)

Modifiche alle API

  • Proprietà dei limiti della cerniera spostate in Posture in un elenco di informazioni sulla cerniera (I24f90)

Correzioni di bug

  • La correzione AnimatedPane non è stata ricomposta (c3f573d)

Versione 1.0.0-alpha03

13 dicembre 2023

androidx.compose.material3:material3-adaptive:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03 e androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03 vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • Modifica i ruoli dello scaffold in alias di ThreePaneScaffoldRole. (I65bd1)
  • Crea una classe base per i ruoli scaffold (I4784d)
  • Rimuovi il parametro non necessario dai contenuti di AnimatedPane (Ibc73b)
  • Rinomina collectWindowSizeAsState e restituisce invece 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 alle API

  • Suddividi le API di navigazione dalle API adattive scaffold. (Ic4045)
  • Rimuovi 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 delle condizioni adattive Material3:

API di direttiva scaffold per il riquadro adattivo Material3:

API scaffold per il riquadro adattivo Material3:

Compose Material3 versione 1.3

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 visive dirompenti

  • Aggiorna l'overlay dello stato di messa a fuoco impostandolo su 0,1f per garantire un contrasto di colore sufficiente. (I7ea77)
  • Piccole modifiche ai valori predefiniti dei colori di superficie e sfondo in lightColorScheme e darkColorScheme. (I9db52)

Nuove funzionalità

  • Parametri aggiunti per personalizzare ExposedDropdownMenu. In particolare, i menu ora hanno un parametro focusable (valore predefinito: true) che deve essere impostato su false quando si utilizzano campi di testo modificabili. (I4184c, b/323694447, b/278609042).

Modifiche alle API

  • Il flag ScaffoldSubcomposeInMeasureFix è stato rimosso. (Ie2a4b)
  • NavigationRailItemColors è ora contrassegnato come @Immutable. (If6112, b/327660613)
  • NavigationBarItemColors è ora contrassegnato come @Immutable. (I42a30, b/298064514).
  • Riordina i parametri nel componibile Traccia di scorrimento. (I9f315).
  • ExposedDropdownMenu è ora implementato utilizzando Popup. Il comportamento dovrebbe essere lo stesso, ad eccezione del fatto che i menu attivabili con campi di testo modificabili possono essere ignorati durante la digitazione sulla tastiera.

Correzioni di bug

  • I ruoli di base dei container Superficie e Superficie sono stati leggermente modificati, fornendo una maggiore tonalità nei temi chiari e scuri. (I677a5)
  • Sono stati aggiornati i colori del dispositivo di scorrimento e di ProgressIndicator per rispettare le nuove specifiche di contrasto per i contenuti non testuali. (I26807)
  • Aggiorna l'overlay dello stato di messa a fuoco impostandolo su 0,1f per garantire un contrasto di colore sufficiente. (I7ea77)
  • Piccole modifiche ai valori predefiniti dei colori di superficie e sfondo in lightColorScheme e darkColorScheme. (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 alle API

  • Rendo stabili gli stati del dispositivo di scorrimento. Stiamo di nuovo in cambio di un valore per State.onValueChangeFinished. Aggregazione di onValueChangeFinished in un rememberUpdatedState. (I82ab2, b/322269951).
  • I componenti di navigazione ora utilizzano i nuovi ruoli SurfaceContainer. DrawerDefaults ora fornisce attributi standardContainerColor e modalContainerColor distinti. DrawerDefaults.ModalDrawerElevation ora è 0.dp. (I7fbac)
  • Rimozione di @Stable dagli stati di Slider in quanto stiamo modificando state.onValueChangeFinished in var. (Ied34a, b/322269951).
  • La specifica dell'animazione ModalBottomSheet e StandardBottomSheet è ora un TweenSpec, aggiornata rispetto a un'animazione primaverile. Questo risolve il problema di un superamento visibile. I costruttori SheetState deprecati senza densità sono stati rimossi. (I7babc, b/285847707)

Correzioni di bug

  • SurfaceContainer varianti sono ora utilizzate dai componenti. I componenti che calcolano formalmente il colore con Surface e TonalElevation ora utilizzano i ruoli SurfaceContainer per impostazione predefinita, che non sono interessati dall'elevazione tonale. (b/304584161)
  • È stato corretto il bug per cui il colore del contenitore disattivato e deselezionato di ElevatedFilterChip era nero. (I400e6, b/322407043).
  • Correggi l'indicatore di avanzamento indeterminato quando l'avanzamento è pari a 0 (Id6582)
  • Risolto il problema con Slider e RangeSlider su layout RTL (Iab0e1)
  • Aggiunta di SliderRangeTolerance per il calcolo dell'intervallo del cursore poiché l'arrotondamento in virgola mobile può non essere preciso. (Ic918a, b/324934900).
  • Assicurati che l'DatePickerDialog mostri i suoi pulsanti durante la nidificazione di un DateRangePicker o quando si visualizza qualsiasi tipo di selettore della data su schermi piccoli con caratteri più grandi. (Ie4758, b/325107799, b/277768544)
  • Menu ora utilizza il ruolo SurfaceContainer per il colore del contenitore. MenuDefaults.TonalElevation ora è 0.dp. (I135b7)
  • TextField ora utilizza il ruolo SurfaceContainerHighest per il colore del contenitore. (I4dced)
  • I chip con livelli elevati ora sfruttano il ruolo SurfaceContainerLow (I7cd2f)
  • Il colore del contenitore DatePicker ora è SurfaceContainerHigh. DatePickerDefaults.TonalElevation ora è 0.dp. (Ida753)
  • Aggiorna il colore del contenitore Fogli in basso e trascina il colore dell'handle. (I72a0a).
  • Il colore del contenitore RichTooltip ora è SurfaceContainer. (Ia8b45).
  • Il colore del contenitore SearchBar ora è SurfaceContainerHighest. SearchBarDefaults.TonalElevation ora è 0.dp. (I88604)
  • Opzione Aggiornamenti disattivata e tracce/icone deselezionate per utilizzare il ruolo colore SurfaceContainerHighest. (I7687a)
  • Il colore del contenitore AlertDialog ora è SurfaceContainerHigh. (Ie0433)
  • Il colore del contenitore BottomAppBar ora è SurfaceContainer. Il colore TopAppBar onScroll ora è SurfaceContainer. (I41630)
  • Il colore del contenitore ElevatedCard ora è SurfaceContainerLow. Colore del contenitore di FilledCard: SurfaceContainerHighest. (I35141)
  • Il colore del contenitore ElevatedButton ora è SurfaceContainerLow. Gli attributi FilledIconButton deselezionati ora hanno il colore del contenitore SurfaceContainerHighest. (I792c9)
  • Aggiorna il ruolo del colore del contenitore TimePicker e del colore del quadrante orologio a SurfaceContainerHighest. (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à

  • Aggiorna Compose M3 ModalBottomSheet per supportare il Indietro predittivo su U+ (Iccf32, b/281967264, b/304850357)
  • Aggiornamento di Compose M3 SearchBar per supportare il Indietro predittivo su U+ (I657f8)
  • È stato aggiornato il dispositivo di scorrimento per migliorare l'accessibilità mediante l'aggiunta di un indicatore di intervallo e di interruzione. (I3058e).
  • Aggiornamento di ProgressIndicator aggiornato per migliorare l'accessibilità con l'aggiunta di un indicatore di intervallo e di interruzione. (I21451)
  • Aggiungendo un cursore predefinito per una descrizione comando avanzata, la nuova API dettagliata della descrizione comando ora consente di tracciare il cursore personalizzato per l'ancoraggio LayoutCoordinates. (Ifd42c)

Modifiche del comportamento

  • È stata eseguita la migrazione dei componenti del materiale per utilizzare le nuove API Ripple, in modo da non eseguire più query su RippleTheme.

Modifiche alle API

  • Il divertimento drawStopIndicator ora è pubblico. (I3f59f)
  • Contrassegna la funzione formatWithSkeleton di DatePicker come interna (Ic65dc)
  • DropdownMenu ora supporta colore, forma, elevazione e bordo personalizzati. (I8e981, b/289554448, b/301887035, b/283654243)
  • I componenti Material3 che mostrano un valore MutableInteractionSource nell'API sono stati aggiornati in modo da ora esporre un valore MutableInteractionSource con valore null che per impostazione predefinita è null. Non ci sono modifiche semantiche qui: passare un valore null significa che non vuoi istruire MutableInteractionSource, che verrà creato all'interno del componente, se necessario. La modifica a null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non stai utilizzando il MutableInteractionSource passato a questi componenti, si consiglia di passare il valore null. Ti consigliamo inoltre di apportare modifiche simili ai tuoi componenti. (I41abb, b/298048146)
  • Aggiunge RippleConfiguration e LocalRippleConfiguration per consentire la personalizzazione degli echi utilizzando valori fissi per componente / sottoalbero. Ad esempio, per cambiare il colore di un componente che non è sotto il tuo controllo o per disattivare un'eco per un componente. Nella maggior parte dei casi, devono essere utilizzati i valori predefiniti: queste API rappresentano un'alternativa per la personalizzazione di singoli componenti / sottoalbero limitati. Per modifiche più ampie e sistemi di progettazione personalizzati, dovresti invece creare la tua ondata utilizzando createRippleModifierNode. (I7b5d6, b/298048146).
  • Aggiunge una nuova API Ripple in material3, che sostituisce la versione deprecata rememberRipple. Viene inoltre aggiunto un valore CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare i componenti material3 all'utilizzo delle API rememberRipple / RippleTheme ritirate. Verrà rimosso nella prossima release stabile ed è destinato a essere un ausilio temporaneo alla migrazione solo nei casi in cui fornisci un RippleTheme personalizzato. (I34cbc, b/298048146).

Correzioni di bug

  • Rimossa la sottocomposizione all'interno di ModalBottomSheet per migliorare le prestazioni. Risolto il problema per cui ModalBottomSheet potrebbe arrestarsi in modo anomalo in scenari specifici in combinazione con LookaheadScope. (I2a198).
  • Rimossa la sottocomposizione all'interno di BottomSheetScaffold per migliorare le prestazioni. Risolto il problema per cui BottomSheetScaffold si arrestava in modo anomalo in scenari specifici in combinazione con LookaheadScope. (Ie6401)
  • L'allineamento del badge viene regolato per essere più vicino al centro dei contenuti dell'ancoraggio rispetto all'angolo in alto a destra. (I18a28).
  • Risolvi un problema di accessibilità relativo al DateRangePicker per cui il titolo testuale dell'anno precedente è stato trasmesso come utilizzabile dagli utenti dello screen reader, di Switch Access e di Voice Access. (I2ac55).
  • È stato corretto il bug relativo all'ordine dei parametri di 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

  • Ripristina di nuovo gli stati del dispositivo di scorrimento. Stiamo di nuovo in cambio di un valore per State.onValueChangeFinished. Aggregazione di onValueChangeFinished in un rememberUpdatedState. (Ie8fd0, b/322269951).
  • Rimozione di @Stable dagli stati di Slider in quanto stiamo modificando state.onValueChangeFinished in var. (I82ba1, b/322269951).
  • Correggi i NavigationBar colori personalizzati per copiare i valori predefiniti. (80a779, b/326894020)
  • Correggi la regressione in ExposedDropdownMenu per renderla di nuovo attivabile (3fcec1, b/323694447)
  • Risolvere il problema di memorizzazione nella cache del colore del pulsante (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 al miglioramento delle prestazioni. La soluzione alternativa è utilizzare TabRow con TabRowDefaults.PrimaryIndicator

Modifiche importanti dalla versione 1.1.0

Nuovi componenti di Material Design 3

Miglioramenti ai componenti esistenti di Material Design 3.

È stata promossa la versione stabile delle API sperimentali.

Miglioramenti delle prestazioni

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

  • È stato corretto il bug relativo all'ordine dei parametri di mediumTopAppBarColors. (Ibe64a).
  • È stato corretto un bug introdotto in 1.2.0-beta02 in CardDefaults.cardColors che non aggiornava contentColor in base al valore del parametro containerColor. (Iee041, b/319671246).
  • Risolto un bug in disabledContentColor introdotto in 1.2.0-beta02 e 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

  • Per impostazione predefinita, un bug in IconButtonColors assegnerà disabledContentColor a una versione alpha (0.38f) di LocalContentColor anziché all'elemento contentColor specificato dall'utente. La soluzione alternativa consiste nell'impostare esplicitamente disabledContentColor. Questo problema verrà risolto nella prossima release.

Modifiche alle API

  • È stata aggiunta la possibilità di abilitare i cursori della descrizione comando per le API Tooltip normali. (Ibf767)
  • SwipeToDismissState, rememberSwipeToDismiss e SwipeToDismissValue sono stati tutti rinominati per avere _SwipeToDismissBox_. (I68d6d).

Correzioni di bug

  • Corretto il valore di spaziatura interna finale di ListItem per allinearlo alle specifiche (Ibd68b, b/305342674).
  • Il colore dei contorni per la scheda con contorni ora è mappato correttamente a OutlineVariant. (I75480, b/310979715)
  • Il colore dinamico ora viene estratto dai ruoli colore definiti dal sistema. Questo migliora il contrasto per i contenuti accessibili e allinea più fedelmente il colore dinamico alle specifiche del materiale. (I1de96)
  • È stata corretta la gestione dell'indietro di ModalBottomSheet su Android T/13 e versioni successive quando android: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 alle API

  • Contrassegna TabIndicatorScope come sperimentale. (I45c88)
  • Rimozione delle API sperimentali deprecate per la descrizione comando. (I438cb)
  • Modifica i nuovi sovraccarichi di TabRow in modo che non vengano utilizzate sottocomposizioni. Questo si traduce in un modo diverso di creare gli indicatori TabRow con i modificatori personalizzati forniti. (Ife741)
  • Ritira le API DismissDirection e DismissValue. Questi valori sono stati uniti a SwipeToDismissValue, i cui valori indicano sia la posizione che la direzione di SwipeToDismissBox. DismissState.progress ora è contrassegnato come FloatRange tra 0.0 e 1.0. DismissState di contenuti modifici e costruttori deprecati sono stati rimossi. Il componente, lo stato e l'oggetto predefinito di SwipeToDismiss sono stati contrassegnati come sperimentali. (Ib54f2).

Correzioni di bug

  • L'indicatore predefinito per PullToRefresh ora è una punta di freccia aperta anziché un triangolo pieno. (I67be3)

Versione 1.2.0-alpha12

29 novembre 2023

androidx.compose.material3:material3-*:1.2.0-alpha12 viene rilasciato. La versione 1.2.0-alpha12 contiene questi commit.

Modifiche alle API

  • RangeSlider ora prende un intervallo Kotlin (ad es. 0f..1f) anziché una classe di valore FloatRange personalizzata. SnapFlingBehavior.kt ora utilizza anche un intervallo Kotlin. (I025cb)
  • Contrassegna le funzioni di fabbrica di 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 e PullToRefreshState, che insieme forniscono un'implementazione pull per aggiornare in Material3. (I16456, b/261760718)

Modifiche alle API

  • Contrassegna SwipeToDismissBox DismissDirection e DismissValue come sperimentali. (I517b0)
  • Rinomina SwipeToDismiss in SwipeToDismissBox. Rinomina background in backgroundContent e dismissContent in content lambda finale. (I7f4d3).
  • Rendi pubblico il costruttore di ChipElevation e SelectableChipElevation. (Ie0c48, b/308432421).
  • Aggiunta di ModalBottomSheetProperties in corso... Spostamento di securePolicy in ModalBottomSheetProperties in corso... Aggiunta di isFocusable e shouldDismissOnBackPress a ModalBottomSheetProperties in corso... Questi nuovi valori booleani aiutano a determinare in che modo il riquadro inferiore modale deve gestire gli eventi IME. (Iea56f, b/278216859).
  • Sono stati aggiornati gli stati RangeSlider e Slider per rimuovere initialOnValueChange, i prefissi iniziali e i file kdocs appropriati. (I57d30).
  • Depreca la classe ChipBorder e le chiamate di funzione associate. È consigliabile utilizzare direttamente BorderStroke. (I89cc2)
  • Le API della descrizione comando di base ora sono @ExperimentalFoundationApi. (I30b0b)
  • TabRow e ScrollableTabRow non sono più deprecati. Le nuove varianti principali e secondarie sono contrassegnate come sperimentali. (I0def6)
  • I chip di filtro e di input ora usano direttamente BorderStroke. (I07a8d)
  • SegmentedButton ora utilizza direttamente BorderStroke. (I89b9b)
  • La funzione generica AlertDialog è stata rinominata in BasicAlertDialog e ritira la funzione precedente. (Idbe52)
  • Rinomina le API di SwipeToDismiss in SwipeDismiss e promuovi le nuove API SwipeDismiss alla versione stabile. (I14cbe).
  • Aggiunta di tonalElevation e shadowElevation alle API della descrizione comando. Inoltre, è stato spostato di nuovo le API TooltipBox, PlainTooltip e RichTooltip alla versione sperimentale poiché sono state rilasciate accidentalmente come stabili. (If0f66, b/293939035).
  • Promuovi le API con chip sperimentali alla versione stabile. (Iea2c3).
  • È stata rimossa l'annotazione @ExperimentalMaterial3Api dalle schede cliccabili di Material3. (I88dbf)

Correzioni di bug

  • Risolto il problema per cui SwipeToDismiss si arrestava in modo anomalo in determinati scenari con layout Lookahead e Lazy nidificati. (Ica8d1, b/297226562).

Versione 1.2.0-alpha10

18 ottobre 2023

androidx.compose.material3:material3-*:1.2.0-alpha10 viene rilasciato. La versione 1.2.0-alpha10 contiene questi commit.

Modifiche alle API

  • Promozione di Badge e BadgedBox alla versione stabile. (I67f16, b/261565132)
  • Aggiunta di securePolicy come parametro a ModalBottomSheet, in modo che gli utenti possano definire il comportamento per WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262).
  • Sono stati aggiunti nuovi sovraccarichi di LinearProgressIndicator e CircularProgressIndicator che richiedono progress come lambda. Dovrebbero essere più efficaci rispetto alle versioni precedenti. (I824e6, b/295616656).
  • Rinomina StandardSizeClasses in AllSizeClasses. (I8cb07)
  • Combina le funzioni di calcolo delle classi di dimensioni delle finestre. (Iad935)

Correzioni di bug

  • Correggi un arresto anomalo DatePicker quando fai clic rapidamente sui pulsanti Freccia di navigazione quando il mese visualizzato è al limite dell'intervallo di anni consentito. (I46f36, b/290954897, b/297002119).
  • [Barra/barra 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 alle API

  • È stata eseguita la migrazione di ModalNavigationDrawer e DismissibleNavigationDrawer per l'utilizzo delle nuove API AnchoredDraggable. Il valore animateTo di DrawerState è stato sostituito dai metodi di apertura e chiusura e l'offset è ora esposto come valore in virgola mobile anziché come oggetto di stato. Puoi accedere all'offset direttamente tramite currentOffset. (I0a72c).
  • Sono state aggiunte funzioni non compatibili per la creazione diretta di DatePickerState e DateRangePickerState. Queste funzioni possono essere utilizzate in alternativa alle funzioni componibili rememberDatePickerState e rememberDateRangePickerState quando necessario. (I70326, b/291524052)
  • L'elemento TabRows fisso e scorrevole ora ha varianti primarie e secondarie. Questi vengono mappati correttamente al colore e al comportamento degli indicatori come definito in Material3.
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow ora espongono lo stato di scorrimento. (Iec8f5, b/260572337)
  • Aggiunta di un nuovo parametro sheetMaxWidth che gli sviluppatori possono impostare per specificare la larghezza massima consentita per il foglio. Dp.Non specificato può essere trasmesso per il parametro se si desidera un foglio che copre l'intera larghezza dello schermo. (Ifb7c9, b/266697696).
  • Aggiunta delle API PlainTooltipBox e RichTooltipBox come metodi ritirati. (I246fa)

Correzioni di bug

  • Correggi un arresto anomalo quando DatePicker viene inizializzato con una DatePickerFormatter con determinati scheletri di date che rimangono invariati quando vengono convertiti in pattern di date (ad esempio YY). (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.

Cambiamento che provoca un'interruzione del comportamento

  • ColorScheme ora è immutabile, rendendo meno efficienti gli aggiornamenti dei singoli colori, rendendo più efficiente l'uso più comune dei colori. Il ragionamento alla base di questa modifica è che la maggior parte delle app non prevede l'aggiornamento dei singoli colori come caso d'uso principale. Questo è ancora possibile, ma si ricomporrà più di prima, a sua volta diminuiremo in modo significativo la quantità di abbonamenti statali attraverso tutto il codice Material e influenzerà i costi di inizializzazione e runtime di casi d'uso più standard. (Ic447d, b/297212873).
  • L'elevazione tonale non si anima più in diversi stati di interazione per corrispondere alla specifica. (Icdd12)

Modifiche alle API

  • È stato aggiunto un nuovo BottomAppBar che utilizza come parametro BottomAppBarScrollBehavior per nasconderlo automaticamente quando si scorre i contenuti. È stato aggiunto anche FabPosition.EndOverlay, consentendo al FAB di sovrapporre la barra dell'app in basso nell'impalcatura anziché essere ancorata al di sopra. (Iecb47)
  • È stato aggiunto un componente Etichetta semplice, basato su BasicTooltipBox, che non si chiude quando tocchi al di fuori dei limiti dell'etichetta. (I821f9)

Correzioni di bug

  • È stato rimosso l'utilizzo di rememberSaveable per le descrizioni comando. (Icc131, b/299500338)
  • È stato introdotto un flag temporaneo per controllare se Scaffold deve misurare i figli durante la misurazione o il posizionamento. Per impostazione predefinita, viene utilizzata la misurazione. Se stai riscontrando problemi con il nuovo comportamento, segnala un problema. (I0b354)
  • È stato corretto l'assetto orizzontale in BottomSheet utilizzando la misurazione corretta per la larghezza dello schermo del dispositivo. (I1df0c, b/299058752).
  • È stato corretto un bug per cui ModalBottomSheet non chiamava onDismissedRequest quando lo chiudeva scorrendo verso il basso sul 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 di mirroring automatico è stato aggiunto in compose material 1.6.0-alpha05. Consulta le note di rilascio per i dettagli sulle icone di mirroring automatico.

Modifiche alle API

  • SliderState implementa DraggableState (I9b116)
  • Modifica la forma in modo che sia un parametro obbligatorio. Rinomina position in index nella funzione helper forma. (I34941)
  • Aggiorna DatePicker formatWithSkeleton in modo da includere una mappa utilizzata come cache per migliorare le prestazioni. (I3195f)
  • È stato aggiunto BasicTooltipBox a compose.foundation e aggiornato PlainTooltipBox e RichTooltipBox per l'utilizzo di TooltipBox con i nuovi componenti componibili PlainTooltip e RichTooltip. (I79e1d).

Correzioni di bug

  • dynamicLightColorScheme e dynamicDarkColorScheme ora restituiscono colori con crominanza più elevata per i ruoli di superficie e surfaceContainer. (I5e901).
  • Risolto il problema per cui alcuni componenti che utilizzano una sottocomposizione (ad esempio BottomSheetScaffold) all'interno di un'impalcatura all'interno di un LookaheadScope cercavano 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 di DropdownMenu, in modo che gli offset x dipendano esclusivamente dalla direzione del layout locale e gli offset y non verranno più invertiti quando il menu si trova nella parte inferiore dello schermo. (ICC74, b/294103942)
  • È stato corretto il calcolo di offset di DropdownMenu, in modo che gli offset x dipendano esclusivamente dalla direzione del layout locale e gli offset y non verranno 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 alle API

  • Aggiornamenti alla casella di controllo e ai colori TriStateCheckbox. L'elemento disabledUncheckedColor CheckboxDefaults.colors() ora influisce solo sul bordo della casella di controllo. I casi speciali che richiedono di impostare il colore della casella interna quando disattivato e deselezionato richiedono un'istanza di un CheckboxColors creata personalizzata 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 Sperimentale Segmented Button (Ifc8fb)
  • I divisori ora hanno un parametro per controllare l'orientamento in modo da supportare i divisori verticali. (I4c899, b/288438593).

Modifiche alle API

  • Stiamo spostando la dipendenza relativa alla densità al livello di componente. Questo vale per i seguenti componenti: SwipeToDismiss e componenti basati su Fogli. Utilizza il nuovo sovraccarico fornito dove la densità è un parametro. (I1846e).
  • Annotazioni aggiuntive per specificare gli input consentiti per i componibili (Ief234)
  • Aggiungi un parametro icona al pulsante segmentato, dividi la semantica in modo che i pulsanti segmentati possano essere selezionati per implementare la selezione singola e attivabili per implementare la selezione multipla, rispettivamente con SelectableSegmentedButtonRow e ToggelableSegmentedButtonRow. (I38740)
  • Divisore è stato rinominato in HorizontalDivider. Funzionalità VerticalDivider aggiunta. (I5975c)
  • Modifica l'utilizzo di ClosedFloatingPointRange per il peso più leggero FloatRange nelle API Material3 sperimentali per ridurre al minimo l'autoboxing. (I4aab5).
  • Aggiunto nuovo allineamento Inizio per FabPosition (Ib7aea, b/170592777)

Correzioni di bug

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 del comportamento

  • includeFontPadding ora è false per impostazione predefinita nella tipografia Material 3. Anche lo stile predefinito dell'altezza della riga è stato modificato in Trim.None e Alignment.Center e il campo lineHeight esplicito (in sp) è stato aggiunto ai TextStyle di Typography. Se vuoi personalizzare questi valori, consulta la documentazione relativa all'API e consulta il post del blog per una spiegazione approfondita di queste modifiche. (I6266f, Icabc3)

Nuove funzionalità

  • È stato aggiunto un sovraccarico per RangeSlider che è una versione stateful del componente. È stato creato un elemento RangeSliderState che contiene tutte le informazioni per il canale attivo corrente, le misurazioni dei componenti del RangeSlider e la logica di trascinamento e gesto. (I8c270)
  • La barra di ricerca ora supporta le ombre tramite il parametro shadowElevation appena aggiunto. (Ia5369, b/271040353)
  • Ora ColorScheme supporta nuovi SurfaceContainer ruoli.
  • Ora è possibile disattivare l'overlay in elevazione tonale della superficie con la composizione LocalTonalElevationEnabled locale. (Ic203c, b/277774590).

Modifiche alle API

  • Apri i costruttori dei colori dei componenti. (I8c4a6)
  • Aggiunta del parametro attivabile a entrambe le API della descrizione comando, in modo che gli sviluppatori possano utilizzare o meno gli eventi touch nella descrizione comando. Fai attenzione, perché questo potrebbe interrompere l'attraversamento automatico del focus sull'accessibilità. (Ie32d8).
  • Accessibilità ottimizzata per le prestazioni e le allocazioni della memoria. (Iede48).
  • Esponi DefaultSizeClasses e crea StandardSizeClasses per WindowSizeClasses (I91838)
  • modifica WindowWidth/HeightSizeClass in classi di valori in virgola mobile (Ie686e)

Correzioni di bug

  • Il parametro contentWindowInsets dell'impalcatura ora rispetta gli insiemi delle finestre consumate. Tieni presente che il comportamento della spaziatura interna dei contenuti in base ai parametri topBar e bottomBar rimane invariato quando vengono forniti questi parametri. (I08b73, b/264601542).
  • Correggi l'allineamento della barra dell'app in alto al centro per assicurarti che un titolo lungo non venga visualizzato sopra le icone delle azioni o di navigazione. (I4369f, b/236994621)
  • Le posizioni delle schede ora applicano una larghezza minima dei contenuti di 24, dp. In questo modo viene fornito un touch target accessibile per gli indicatori delle schede. (Id8861)
  • Le tavolozze dei colori dinamiche di dynamicLightColorScheme e dynamicDarkColorScheme ora supportano nuovi ruoli delle superfici. (I1252e).
  • Aggiornamento dell'allineamento delle notifiche del badge in modo che non sia possibile clip 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 alle API

  • Aggiungi parametro degli insiemi delle finestre a ModalBottomSheet.
    • Ora è possibile che lo scrim per ModalBottomSheet venga tracciato dietro la barra di stato con windowInsets impostato su zero
    • La funzionalità predefinita di ModalBottomSheet è stata aggiornata per non superare le barre di sistema, inclusa la navigazione
    • La gestione dei riquadri della barra di stato è fornita tramite l'handle di trascinamento in modalità edge-to-edge.
    • BottomSheetDefaults include i riquadri di finestre per BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/126548b/26548)
  • Depreca Indicator e aggiungi Primary/SecondaryIndicator in modo che corrisponda alle specifiche M3. PrimaryIndicator corrisponde alla larghezza dei contenuti della scheda, mentre SecondaryIndicator copre l'intera larghezza disponibile. SecondaryIndicator è equivalente all'ora deprecata Indicator e può essere una sostituzione diretta. (I27604)
  • È stata aggiunta un'opzione per passare in un ScrollState durante la creazione di un DropdownMenu o di un ExposedDropdownMenu per controllare lo stato di scorrimento verticale delle voci di menu visualizzate. (Ia0734, b/185304441)
  • È stato aggiunto un sovraccarico per Slider che è una versione stateful del componente. È stato creato un elemento SliderState che contiene tutte le informazioni per il canale attivo corrente, le misurazioni dei componenti del Slider e la logica di trascinamento e gesto. (I124a5).
  • Ridenominazione della proprietà semantica isContainer in isTraversalGroup (I121f6)
  • È stato aggiunto l'elemento TextStyle.merge(...) ottimizzato con l'elenco completo dei parametri. (Iad234, b/246961787).
  • Le interfacce pubbliche TooltipState, RichTooltipState e PlainTooltipState sono state realizzate. Aggiunti RichTooltipStateImpl e PlainTooltipStateImpl per gli stati predefiniti. Sono state aggiunte le funzioni remember*State per ottenere gli stati di implementazione. TooltipSync rimosso a favore di un TooltipDefault.GlobalMutatorMutex. (I7813d)
  • È stato aggiornato DatePickerColors per includere ulteriori opzioni di personalizzazione per i colori dei campi di selezione della data, navigazione e campi di immissione testo. (I1a685, b/274626815).
  • DatePickerState e DateRangePickerState sono ora interfacce pubbliche con implementazioni predefinite che possono essere recuperate da rememberDatePickerState e rememberDateRangePickerState. (I71c52).
  • È stato rimosso il campo dateValidator da DatePicker e DateRangePicker e è stata introdotta un'interfaccia SelectableDates che può essere impostata sullo stato per controllare quali date o anni sono selezionabili nell'interfaccia utente. (Ic2fc6)
  • TimePicker rimossa dall'API stabile; sono previste ulteriori modifiche nell'API di stato (I3f39a)
  • ModalBottomSheet spostato solo su Android. L'utilizzo di ModalBottomSheet non è consigliato per l'uso su computer e la sua funzionalità non è mantenuta attivamente. (Ib3778)

Correzioni di bug

  • È stato corretto l'azione di chiusura di AlertDialog che veniva visualizzata sotto l'azione di conferma quando le azioni erano sovrapposte per adattarsi alla larghezza della finestra di dialogo. Questa correzione allinea l'implementazione alla specifica di Material Design (I029de, b/235454277).
  • È stato corretto il bug in ListItem relativo all'utilizzo della spaziatura interna non corretta per gli elementi a tre righe. (I6e235).
  • Ora ModalBottomSheet può visualizzare la tastiera IME (Idc508, b/262140644, b/268380384, b/272483584)

Versione 1.2.0-alpha01

10 maggio 2023

androidx.compose.material3:material3:1.2.0-alpha01 e androidx.compose.material3:material3-window-size-class:1.2.0-alpha01 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 passaggio errato del modificatore a due componibili. (b/282761472)
  • La correzione TimePickerState restituisce ore errate quando viene inizializzata con 23 ore. (b/278242122)
  • Lo stato iniziale di attivazione/disattivazione per la convalida a mezzogiorno e minuti è stato corretto. (b/269768197, b/282790635)
  • Risolto il problema di state.hour che restituiva un valore errato per le 23.00. (b/282761472, b/278242122)

Versione 1.1.1

21 giu 2023

androidx.compose.material3:material3:1.1.1 e androidx.compose.material3:material3-window-size-class:1.1.1 vengono rilasciati. La versione 1.1.1 contiene questi commit.

Correzioni di bug

  • Aggiunge una chiamata per ModalBottomSheet senza il parametro windowInset per la compatibilità binaria. (Ib7959)
  • Aggiungi parametro degli insiemi delle finestre a ModalBottomSheet.
    • Ora è possibile che lo scrim per ModalBottomSheet venga tracciato dietro la barra di stato con windowInsets impostato su zero
    • La funzionalità predefinita di ModalBottomSheet è stata aggiornata per non superare le barre di sistema, inclusa la navigazione
    • La gestione dei riquadri della barra di stato è fornita tramite l'handle di trascinamento in modalità edge-to-edge.
    • BottomSheetDefaults include i riquadri di finestre per BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/126548b/26548)

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.

È stata promossa la versione stabile delle API sperimentali.

Leggi questo post del blog per maggiori dettagli.

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 alle API

  • TimePicker rimossa dall'API stabile; sono previste ulteriori modifiche nell'API di stato (I3f39a)
  • ModalBottomSheet spostato solo su Android. L'utilizzo di ModalBottomSheet non è consigliato per l'uso su computer e la sua funzionalità non è mantenuta attivamente. (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 alle API

  • Ora SheetState ha un parametro facoltativo skipHiddenState
  • Ora rememberStandardBottomSheetState ha un parametro facoltativo skipHiddenState
  • BottomSheetScaffold ora ha un ancoraggio nascosto definito, anche se è disattivato per impostazione predefinita.
  • La documentazione di SheetState.requireOffset è stata aggiornata
  • BottomSheetDefaults.MinimizedShape è stato rinominato come BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Correzioni di bug

  • Non cambiare il quadrante da ora a minuto quando è attiva l'esplorazione al tocco. (I717d0)
  • La semantica dell'handle di trascinamento ModalBottomSheet e BottomSheetScaffold è ora unita. (I05afb).
  • Il modificatore BottomSheetScaffold, i parametri containerColor e contentColor ora interessano solo i contenuti. (I992cb)
  • BottomSheetScaffold nestedScroll per i contenuti del foglio ora implementa le scorrimenti. (I992cb)

Versione 1.1.0-beta01

22 marzo 2023

androidx.compose.material3:material3:1.1.0-beta01 e androidx.compose.material3:material3-window-size-class:1.1.0-beta01 vengono rilasciati. La versione 1.1.0-beta01 contiene questi commit.

Modifiche alle API

  • Aggiungi il parametro del tipo di layout a TimePicker componibile. Consente di utilizzare layout diversi, a seconda della configurazione dello schermo (Ia0e16)
  • SearchBarDefaults è stato contrassegnato come sperimentale. (I65561)
  • Elevazione ombra aggiunta a BottomSheetScaffold (I94e0f)
  • 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 con valore null durante la creazione di un selettore della data. Ora puoi trasmettere titolo, titolo e showToggleMode = false null per visualizzare un selettore headless. (Id3f3a, b/266132421, b/267194809).

Correzioni di bug

  • Le barre di ricerca ora eliminano automaticamente lo stato attivo quando non sono attive. (I22a7c, b/261444487).
  • È stato aggiornato DateRangePicker per consentire la selezione di un intervallo con la stessa data di inizio e fine. (I16529, b/272882497)
  • I campi di testo ora posizionano correttamente gli elementi di testo quando le dimensioni dei caratteri sono inferiori a quanto previsto. Questo potrebbe comportare la modifica di alcuni pixel nelle app in base alle impostazioni dei caratteri e allo script. (I8b8d0)
  • Le azioni semantiche nel 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à

  • Aggiunto il supporto per BottomSheetScaffold e BottomSheetScaffoldState. (I063d4)

Modifiche alle API

  • È stata aggiunta una funzionalità a DatePickerState e a DateRangePickerState per consentire l'impostazione delle date dopo la creazione iniziale dello stato, nonché la reimpostazione delle selezioni impostando timestamp nulli. L'impostazione manuale delle date deve essere eseguita con cautela e la nuova funzione setSelection genererà un'eccezione nel caso in cui una data specificata non soddisfi la condizione preliminare (vedi la documentazione). (Ifa645, b/268609314, b/270427389).
  • Rinomina il campo SheetValue compresso in PartiallyExpanded per rappresentare in modo più accurato e flessibile il comportamento in questo stato. (Ia1491)
  • I nomi dei parametri ListItem sono stati aggiornati in _content anziché in _text. I getter predefiniti sono ora ReadOnlyComposables, laddove pertinenti. (I69a25)
  • Passa dalle API sperimentali alle API Surface interattive. (I90d59, b/261561812).

Correzioni di bug

  • Risolto il problema per cui lo stato HalfExpanded di ModalBottomSheet veniva calcolato in modo errato e il foglio sembrava essere mobile. (I45e84, b/268411386).
  • Aggiungi un controllo di confirmValueChange per limitare il tocco per ModalBottomSheet. (I2311a, b/270425759)
  • Sposta le azioni BottomSheet semantiche per trascinare l'handle. (I158ba).
  • Ora ModalBottomSheet comanda lo stato attivo all'avvio e gestisce il pulsante Indietro. (I4d2ab).
  • Ora viene gestito anche ModalBottomSheet onDismissRequest durante le scorrimenti 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 componibile Time Input che funzioni con rememberTimePickerState(), che segue la specifica M3 per l'input del tempo (Ia4fab)
  • È stata aggiunta un'API DateRangePicker Material 3 per selezionare 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 di personalizzare:
    • I colori del campo di immissione e del testo segnaposto in base allo stato attivo e allo stato di errore. Il parametro textColor è stato rinominato in unfocusedTextColor e placeholderColor è stato rinominato in unfocusedPlaceholderColor.
    • Il colore del contenitore per i campi di testo compilati in base allo stato di errore con il nuovo parametro errorContainerColor.
  • I colori dei campi di testo del menu a discesa esposti sono stati aggiornati con parametri per supportare la nuova API per prefisso e suffisso. (I9c8b4, b/254284181, b/264766350).

Modifiche alle API

  • Ripristino di alcune versioni dell'API Slider e rimozione degli sovraccarichi ridondanti di Slider coperti dalla nuova versione sperimentale di Slider con miniatura e tracciamento personalizzati. Promozione della stabilità di RangeSlider. (Ie8fbd).
  • defaultElevation rinominata in elevation 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)
  • Rimossa annotazione sperimentale dall'API scaffold. (Ibb51e, b/261565765, b/261436953).

Correzioni di bug

  • La forma predefinita di ModalBottomSheet ora è sempre SheetDefaults.ExpandedShape. (I0dfca)
  • Miglioramenti all'accessibilità per Material 3 DatePicker e DateRangePicker. (I5087e).
  • Correggere il bug per cui il vincolo di altezza massima viene propagato e potrebbe arrestarsi in modo anomalo. (I30d8c).
  • Rimosso i ruoli semantici dalle superfici cliccabili e selezionabili e i componenti aggiornati che li utilizzavano per impostare i ruoli utilizzando modificatore.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 il testo del prefisso e del suffisso (Ia8578, b/179884561)
  • È stata aggiunta una funzione TimePicker per mostrare un selettore di ora che segue la specifica di Material 3, utilizzata insieme a TimePickerState e al metodo di convenienza rememberTimePickerState (I71910)
  • L'inserimento della data è ora una modalità di visualizzazione a DatePicker. Aggiunto il supporto per il passaggio tra le modalità di selezione della data e di immissione della data. (Ieeff7)
  • API aggiunta per RichTextTooltips. (I58ef3)
  • Implementazione del riquadro inferiore modale per il Material 3, inclusi ModalBottomSheet e ModalBottomSheetDefaults. Introduce anche SheetState e rememberSheetState che possono essere utilizzati per i futuri componenti del foglio. (I0853a, b/244189383).

Modifiche alle API

  • Stabilizza l'API showSnackbar (I195c2, b/261424370)
  • Stabilizzare le API per il chip di assistenza e il chip di suggerimento (Ibb67b, b/261424370)
  • Promuove l'API ListItem, ListItemDefaults e ListItemColors alla versione non sperimentale (I7e7fa, b/261438882)
  • Promozione di SliderPositions, SliderDefaults.Thumb e SliderDefaults.Track alla versione stabile e aggiunta di API Slider e RangeSlider non sperimentali che contengono miniature e tracciamento personalizzati. Ritiro anche delle API Slider e RangeSlider precedenti. (Ie5ea6, b/261566890).
  • Rendi pubblica la risorsa Modifier.tooltipAnchor(), in modo che gli sviluppatori possano passarla all'ancoraggio per indicare che con la pressione prolungata dovrebbe essere visualizzata una descrizione comando. L'API PlainTooltipBox è stata aggiornata per non rendere più nullo TooltipState e ora ha un valore predefinito. (Ie2fb7).
  • ProgressIndicatorDefaults.circularTrackColor è stato contrassegnato come @Composable per coerenza. (Id29cc)
  • Getter della proprietà LocalMinimuTouchTargetEnforcement ripristinato, contrassegna la proprietà come deprecata e reindirizza a LocalMinimumInteractiveComponentEnforcement. (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à
  • Miniatura e traccia personalizzati aggiunti a RangeSlider.

Aggiornamenti delle dipendenze

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 scegliere una singola data tramite un'interfaccia utente di calendario. Questa API è ancora in fase di modifica. (I722b9)
  • Aggiunto il supporto per le descrizioni comando semplici tramite PlainTooltipBox. (I0cdfb)
  • Barra di ricerca (Iad128)
  • SwipeToDismiss (I458a8, b/242889540)

Modifiche alle API

  • Aggiunta nella proprietà semantica di IsContainer sulle piattaforme. Questa proprietà verrà utilizzata in una modifica successiva che determina l'ordine di attraversamento in base al significato semantico di elementi come le superfici. (I63379)
  • Contrassegna le API correlate al riquadro di navigazione a scomparsa come stabili. (Iab01e, b/261439597).
  • Sono stati aggiunti un parametro per il colore delle tracce per gli indicatori di avanzamento circolari e un parametro del limite del tratto per gli indicatori di avanzamento circolari e lineari. (Ie668c, b/216325962, b/222964817).
  • Altro tipo di restituzione nulla delle funzioni deprecate nascoste (Ibf7b0)
  • Aggiungi Modifier.minimumInteractiveComponentSize. Può essere utilizzato per prenotare una dimensione di almeno 48.dp per chiarire le interazioni di tocco nel caso in cui l'elemento misurasse un valore più piccolo. (I33f58, b/258495559)
  • È stata aggiunta l'API sperimentale per il componibile AlertDialog con un'area per i contenuti. (Iec4a2).

Correzioni di bug

  • L'avanzamento degli indicatori di avanzamento è ora limitato correttamente all'intervallo previsto. (I8a7eb, b/262262727).

Problema noto

  • Quando esegui l'aggiornamento da androidx.compose.foundation:1.4.0-alpha03 a androidx.compose.foundation:1.4.0-alpha04, potresti riscontrare un errore java.lang.NoSuchFieldError. Qui è dove in origine era stato segnalato il problema. Una correzione è stata inviata e sarà disponibile nel prossimo aggiornamento di Compose. Per risolvere il problema, aggiorna le librerie androidx.compose.material e androidx.compose.material3 all'ultima versione(1.1.0-alpha04) oppure esegui il downgrade di androidx.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 alle API

  • consumedWindowInsets() è stato rinominato in consumeWindowInsets() e withConsumedWindowInsets() in onConsumedWindowInsetsChanged() e i modificatori sono stati resi pubblici. (Ie44e1).
  • Aggiungi una nuova spaziatura interna dei contenuti predefinita per il pulsante di testo con icona da utilizzare. (I8f662)
  • Sono stati aggiunti i colori disattivati per la barra di navigazione e il binario. (Ia7892, b/258867034).
  • È stata aggiunta un'API Modifier per eseguire query sulle informazioni di scorrimento dei predecessori. (I2ba9d, b/203141462)
  • Utilizzato in Clickable per ritardare correttamente le interazioni con la pressione, quando i gesti potrebbero diventare eventi di scorrimento.
  • Risolto il problema di Clickables che non ritardava correttamente gli echi, se utilizzato all'interno di un Scrollable ViewGroup.
  • I cassetti e i fogli sono stati aggiornati per ritardare correttamente la pressione nel caso in cui i gesti possano diventare eventi di scorrimento.

Aggiornamenti delle dipendenze

  • Compose UI e Compose Material ora dipendono dal ciclo di vita 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 alle API

  • awaitFirstDown e waitForUpOrCancellation ora accettano un PointerEventPass per una maggiore flessibilità (corregge anche ExposedDropdownMenuBox che mostra un menu durante lo scorrimento).(I7579a, b/212091796)
  • Aggiunto il parametro minLines nei testi material3 e material3, TextField e OutlinedTextField che consente di impostare l'altezza minima del componente in termini di numero di righe (I4af1d)
  • Ritira la funzione TopAppBarDefaults smallTopAppBarColors in favore di una nuova funzione topAppBarColors da utilizzare durante la creazione di un TopAppBar. (Ie6cb9).
  • Parametro minLines aggiunto a BasicText e BasicTextField. Consente di impostare l'altezza minima di questi componenti componibili in termini di numero di righe (I24294, b/122476634)

Correzioni di bug

  • Ritaglia i contenuti di un elemento Material3 IconButton e IconToggleBotton alla forma a livello di stato del componente (ad esempio, forma circolare). (I9da8f).
  • Aggiorna le barre delle app superiori di Material3, Medium e Large, per applicare lo stesso colore di sfondo su tutta la superficie e per consentire l'impostazione che sostituisce i colori predefiniti con valori di colore trasparenti. (I67659, b/249688556, b/250838918)

Versione 1.1.0-alpha01

24 ottobre 2022

androidx.compose.material3:material3:1.1.0-alpha01 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha01 vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.

Correzioni di bug

  • Correzioni alla barra dell'app in alto quando il titolo viene applicato con uno stile di testo e un pennello. (If667e).

Versione 1.0

Versione 1.0.1

9 novembre 2022

androidx.compose.material3:material3:1.0.1 e androidx.compose.material3:material3-window-size-class:1.0.1 vengono rilasciati. La versione 1.0.1 contiene questi commit.

Correzioni di bug

  • Aggiorna le barre delle app superiori di Material3, Medium e Large, per applicare lo stesso colore di sfondo su tutta la superficie e per consentire l'impostazione che sostituisce i colori predefiniti con valori di colore trasparenti. (I67659, b/249688556, b/250838918)

Versione 1.0.0

24 ottobre 2022

androidx.compose.material3:material3:1.0.0 e androidx.compose.material3:material3-window-size-class:1.0.0 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 di Material Design 3 e colore dinamico di Material You

Componenti di Material Design 3

Classe di dimensione della finestra

  • material3-window-size-class è una nuova libreria che supporta le classi di dimensioni delle finestre, ovvero un insieme di punti di interruzione dell'area visibile comprensibili con cui progettare, sviluppare e testare i layout delle applicazioni ridimensionabili. Puoi utilizzare calculateWindowSizeClass per recuperare un'istanza di classe della dimensione della finestra, che puoi utilizzare per determinare come dovrebbe apparire la tua UI, ad esempio mostrare una barra di navigazione anziché la navigazione in basso per finestre di dimensioni maggiori. Per ulteriori informazioni e per l'utilizzo di esempio, consulta la documentazione di riferimento dell'API per WindowSizeClass.

  • Leggi questo post del blog per maggiori dettagli.

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 alle API

  • Parametro slot aggiunto per il supporto dell'API da testo a 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 alle API

  • ExposedDropdownMenuDefaults ora espone un valore di spaziatura interna per le voci di menu. (I34ee1)
  • Ora ExposedDropdownMenuBoxScope ha un modificatore Modifier.menuAnchor() che deve essere trasmesso al campo di testo per garantire un comportamento corretto dell'accessibilità. (I27fa3)
  • Aggiunta di due metodi di sovraccarico per l'API Slider corrente per consentire agli utenti di passare un pollice o una traccia per completare il cursore. (I21c00).

Correzioni di bug

  • Mappatura dei colori del tema scuro per On Error Container aggiornata al tono 90 (Ic5612)
  • Correzione per consentire l'impostazione di uno sfondo trasparente per le piccole barre delle app superiori di 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 alle API

  • Gli insiemi dei componenti predefiniti introdotti nei componenti m3 nella versione beta01 non tengono più conto degli insiemi IME.
  • Il componente Scaffold Material3 ora ha un parametro contentWindowInsets che consente di specificare la quantità di inserti da gestire per l'area dei contenuti. (Icf11a, b/243713323).
  • Depreca la funzione SmallTopAppBar sperimentale Material 3 e introduce una funzione TopAppBar equivalente. Esegui la migrazione del tuo utilizzo a quello nuovo. (I74404, b/226918634)
  • Aggiunge il controllo sui comportamenti di scorrimento e aggancio della barra delle app superiore. (I15c81)
  • Rimuove startIndent da Divisore e sposta il colore all'ultimo parametro. (If7be2).

Correzioni di bug

  • Fai in modo che le finestre di dialogo si identifichino per rispondere agli utenti 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 scoprire i temi, i componenti e gli altri componibili più recenti disponibili, consulta la panoramica di riferimento dell'API Compose Material 3.

Modifiche alle API

  • Aggiornamento della barra superiore dell'app di Material 3 per agganciarsi allo stato completamente compresso e esteso. È stata inoltre aggiornata la funzione di comportamento di TopAppBarDefaults in modo che sia componibile e fornisca valori predefiniti per lo stato della barra dell'app principale e le specifiche di animazione. (I642b3)
  • Firme dei componenti FAB aggiornate in modo che corrispondano all'API della superficie (I3afaa)
  • Aggiunti inserti Supporto integrato per barre delle app superiori, cassetti, barra di navigazione e guida. Questi componenti, se utilizzati separatamente o con impalcatura, gestiscono 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).
  • Sono state aggiornate le impostazioni predefinite dei componenti per ridurre la superficie API in modo da migliorare la flessibilità e le prestazioni in futuro. (I31820)
  • Parametri del chip e del riquadro a scomparsa di navigazione riordinati per mantenere la coerenza all'interno dell'API (I45d0b)
  • startIndent rimosso da Divisore e spostato il colore 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 che specifica una larghezza personalizzata in un riquadro di navigazione a scomparsa. (Ia7f10)

Modifiche alle API

  • Parametri della scheda Riordina e dell'icona principale per mantenere la coerenza all'interno dell'API (Ie2637)
  • BadgeDefaults contrassegnato come sperimentale. (I98ef3)
  • Rimuovi la funzione di navigazione a scomparsa deprecata. (I4f2db).
  • Riordina i parametri del dispositivo di scorrimento nel materiale 3 per mantenere la coerenza all'interno dell'API (I0aee7)
  • Riordina i parametri NavigationBar e NavigationRail per mantenere la coerenza all'interno dell'API (I51cda)
  • Riordina i parametri in Material 3 per mantenere la coerenza in tutta l'API. (If4ae1).
  • Riordina i parametri del dispositivo di scorrimento in Material 3 per mantenere la coerenza all'interno dell'API (I62673)
  • Parametro delle icone rinominato in azioni, coerentemente con la barra delle app superiore (Id75be)
  • Contrassegna Badge e BadgedBox come sperimentali perché l'allineamento ancorato è ancora in corso. (I1712e, b/236524516).
  • Modifica @ExperimentalMaterial3Api annotazioni sulle varianti del pulsante icona in @OptIn (I070b5)
  • Separato i contenuti di un riquadro di navigazione a scomparsa in un proprio componibile per supportare la specifica di una larghezza personalizzata. (Ia7f10)
  • Rimuove Divider da MenuDefaults e TabDefaults (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 in alto dalla barra stessa. (I65c00, b/205873416).

Modifiche alle API

  • Aggiornamenti alle API FilterChip e ElevatedFilterChip per rimuovere lo slot selectedIcon e promuovere il riutilizzo di leadingIcon per la visualizzazione dello stato selezionato. (Ie5dc2)
  • Aggiungi i ruoli di colore delle varianti di scrim e contorno. (Id6d54)
  • Correggi le convenzioni di denominazione per i valori predefiniti componibili. (I62b27)
  • Contrassegna ListItemDefaults e ListItemColors come sperimentali. (I1f3ec).
  • Modifiche all'API della barra delle app principale per riflettere meglio il significato delle relative proprietà dello stato. Inoltre, contrassegna l'API della barra delle app principale come sperimentale. (Ic0ad8)
  • I colori per la selezione del testo sono stati aggiunti a TextFieldColors per una migliore rilevabilità. (Iba1b8).
  • Aggiunta di ButtonDefault.ButtonWithIconContentPadding da utilizzare con pulsanti che contengono un'icona. (I2bf9c)
  • I campi di testo sono stati contrassegnati come sperimentali per consentire una maggiore flessibilità nelle future modifiche dell'API. (I127b5).
  • L'annotazione @ExperimentalMaterial3Api è stata rimossa dalla funzione Checkbox. (I5eefc)
  • L'annotazione @ExperimentalMaterial3Api è stata rimossa dalla funzione RadioButton. (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 dagli esempi di chip di input per evitare confusione per gli utenti nell'app Catalogo (I9846a).

Versione 1.0.0-alpha14

29 giugno 2022

androidx.compose.material3:material3:1.0.0-alpha14 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha14 vengono rilasciati. La versione 1.0.0-alpha14 contiene questi commit.

Nuove funzionalità

  • Aggiunta l'implementazione dell'elenco M3. Consulta la documentazione per l'utilizzo di esempio (Id7a20)

Modifiche alle API

  • Modifica il nome del parametro da valori a valore in RangeSlider (I3b79a)
  • Modifiche dell'API all'implementazione InputChip per supportare uno stato selezionabile secondo le specifiche di Material Design. Supporto aggiuntivo per i colori FilterChip per lo stato disattivato selezionato. (I55244, b/235792432)
  • Aggiungi FAB predefinito di BottomAppBar (Ida4c8)
  • ColorScheme.surfaceColorAtElevation aggiunto (Id41af)
  • Le interfacce nelle librerie di scrittura ora vengono create utilizzando i metodi di interfaccia predefinita di jdk8 (I5bcf1)
  • WindowWidthSizeClass e WindowHeightSizeClass ora implementano Comparable, in modo da poter essere confrontati utilizzando gli operatori (<, <=, >=, >) e altre API. (I747d0)

Correzioni di bug

  • Aggiorna il campione del badge per fornire una descrizione dei contenuti più significativa. (I10b9d)
  • Aggiunge l'opzione per utilizzare la dimensione del carattere di sistema al selettore di temi del catalogo di Material 3. (I10605)
  • Aggiunge un codice campione per il badge e gli indicatori di avanzamento indeterminato. (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 alle API

  • Supporta il mantenimento della posizione superiore della barra delle app 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 dispositivo di scorrimento principale 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à

  • Aggiunta di RangeSlider a Material 3 (I18e38)
  • Aggiunge il supporto di Material3 AssistChip e InputChip (I0d25a)
  • Aggiunge il supporto FilterChip e SuggestionChip di Material3 (I9fdf3)

Modifiche alle API

  • Rinominato TextFieldDefaults.BorderStroke componibile che disegna un tratto del bordo in OutlinedTextField in TextFieldDefaults.BorderBox. (I5f295).
  • Modifiche visive di Switch M3 (Iab30e)
  • Consente il passaggio dei colori ai pulsanti icona standard. (Ia2445)

Correzioni di bug

  • Aggiungi il controllo di lint a material3/Scaffold per assicurarti che venga utilizzata la spaziatura interna 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 supporta le classi di dimensioni delle finestre, ovvero un insieme di punti di interruzione dell'area visibile comprensibili con cui progettare, sviluppare e testare i layout delle applicazioni ridimensionabili. Puoi utilizzare calculateWindowSizeClass per recuperare un'istanza di classe della dimensione della finestra, che puoi utilizzare per determinare come dovrebbe apparire la tua UI, ad esempio mostrare una barra di navigazione anziché la navigazione in basso per finestre di dimensioni maggiori. Per ulteriori informazioni e per esempi di utilizzo, consulta la documentazione di riferimento dell'API per WindowSizeClass. Per ulteriori informazioni sulle definizioni delle classi di dimensioni delle finestre, consulta le indicazioni pubbliche sul supporto di diverse dimensioni dello schermo.

Modifiche alle API

  • Aggiunge l'elevazione FAB predefinita per BottomAppBar, rimuove lambda finale da BottomAppBar con FAB. (I92c47).
  • Aggiunge Material3 FilledIconButton, FilledTonalIconButton e OutlinedIconButton. (Ib2bda).
  • Aggiorna l'API Snackbar Material 3 per accettare i valori di colore per l'azione facoltativa e l'azione di chiusura. (Ibe4b4).
  • Il consumo parziale (posizione abbassata OR) è stato ritirato in PointerInputChange. Puoi utilizzare consume() per completare la modifica. Puoi utilizzare isConsumed per stabilire se qualcun altro ha già utilizzato la modifica.
  • Ora PointerInputChange::copy() crea sempre una copia superficiale. Significa che le copie di PointerInputChange verranno consumate una volta esaurita una delle copie. Se vuoi creare un elemento PointerInputChange non associato, utilizza invece il costruttore. (Ie6be4, b/225669674).
  • Modifiche all'API Cards per ricevere i colori del contenitore e dei contenuti tramite un'interfaccia CardColors e supportare lo stato disattivato per le schede cliccabili. (I927df)
  • Il parametro backgroundColor è stato rinominato containerColor nei campi di testo Material 3 per una maggiore coerenza con altri componenti. (I6fbd9).

Correzioni di bug

  • Aggiornamenti allo standard IconButton per allinearlo alle specifiche Material3 (I09eab)
  • Sposta l'altezza della barra superiore di material3. In questo modo, i contenuti vengono visualizzati sotto la barra dell'app in alto nella spaziatura interna. Se 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à

  • Aggiunta dell'API Material 3 Switch (I2c3ad)

Modifiche alle API

  • Aggiunto il supporto per i menu a discesa con campi di testo ("menu a discesa esposti" o "caselle combinate"). (I1b832)
  • È stato aggiunto il parametro di forma al sottosistema MaterialTheme e Shape. (I37426)
  • È stato aggiunto un parametro espanso a ExtendedFloatingActionButton per controllare se il FAB viene espanso o compresso, con animazioni tra uno stato e l'altro. Aggiunto sovraccarico di 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à

Modifiche alle API

  • Aggiungi un divisore predefinito per il menu (I01374)
  • Parametro colore surfaceTint aggiunto alla classe ColorScheme. (I2f558)

Correzioni di bug

  • Fissa il valore del pulsante Material3 per leggere il valore di stile di testo predefinito di 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 alle API

  • Aggiornamenti all'API Material 3 Surface che ripristina le funzioni sovraccaricate per le piattaforme cliccabili, oltre all'aggiunta di una funzione per supportare le piattaforme selezionabili e attivabili. (I4bf18)
  • LazyVerticalGrid e LazyHorizontalGrid sono ora stabili. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid e tutte le API correlate sono state spostate nel sottopacchetto .grid. Aggiorna le importazioni da androidx.compose.foundation.lazy ad androidx.compose.foundation.lazy.grid. (I2d446).
  • È stata annullata la modifica precedente relativa all'utilizzo esclusivo di una vista per WindowInsetsControllerCompat; è stata inoltre richiesta una finestra, necessaria per la gestione di alcuni flag delle finestre. Deprecato ViewCompat.getWindowInsetsController a favore di WindowCompat.getInsetsController per garantire che venga utilizzata la finestra corretta (ad esempio se la vista è in una finestra di dialogo). (I660ae, b/219572936)
  • È stata aggiunta una nuova API LazyVerticalGrid per definire le dimensioni dell'asse trasversale (I17723)

Correzioni di bug

  • Aggiornamenti all'API Card per seguire le modifiche dell'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 alle API

  • Viene aggiunto NavigationDrawerItem che rappresenta una singola destinazione all'interno dei cassetti (Ic396f, b/218286829)
  • PermanentNavigationDrawer e DismissibleNavigationDrawer sono state aggiunte come API sperimentali. Questi cassetti sono perfetti per i dispositivi con schermi di grandi dimensioni. (I5f8ab, b/218286829).
  • Aggiunge il supporto della barra delle app inferiore di Material 3 (Ic432a)
  • NavigationDrawer è stato rinominato in ModalNavigationDrawer (I1807d, b/218286829)
  • Sono stati aggiunti i token e la classe Slider di Material 3 (I1ccee)
  • Aggiunta dell'implementazione delle schede. Consulta la documentazione per un esempio di utilizzo (Ie0146)

Correzioni di bug

  • Risolto il problema per cui la navigazione lineare dello screen reader TalkBack selezionava un titolo della barra delle app superiore vuoto. (Id4690)
  • Elemento IconSize aggiunto alla raccolta FloatingActionButtonDefaults. (Ia71cf)
  • Correzione di bug per i pulsanti AlertDialog nascosti quando viene aggiunto un testo lungo con un LazyColumn. (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

Modifiche alle API

  • Funzione Surface deprecata che accetta un callback di YAML. Le piattaforme cliccabili devono essere create con un InteractionSource e un Modifier.clickable(). (I211c6).
  • Aggiunto il supporto dell'elevazione premendo e focalizzato per FAB. (Ibb584).
  • È stata modificata l'API Surface in modo da ricevere un InteractionSource che consente di controllarne l'aspetto in diversi stati. (Iafbc8).

Correzioni di bug

  • Sono stati aggiunti colori terziari mancanti nelle combinazioni di colori dinamici (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 alle API

  • È stato aggiunto NonRestartableComposable ai metodi che sono sovraccarichi di metodi esistenti senza logica complessa. In questo modo vengono ridotti i controlli di memorizzazione generati dal compilatore (uguale a) per tutti i parametri che vengono ripetuti nella funzione interna chiamata. (I90490)
  • Divisore Material 3 aggiunto. (Ica5fc).
  • Contrassegna la casella di controllo e RadioButton con un'annotazione API sperimentale. (Ie44bb)
  • Aggiunto il supporto per gli indicatori di avanzamento di Material 3. (Iff232, b/205023841).

Correzioni di bug

  • Aggiorna un colore del contenitore TextButton's disattivato affinché 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

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à

  • Aggiungi il supporto per casella di controllo e pulsante di opzione.
  • Aggiornato per essere compatibile con Kotlin 1.6.0

Modifiche alle API

  • Rimuovi il cassetto dall'impalcatura del Materiale 3. (I04f51)
  • Aggiunge il supporto di Checkbox di Material 3. (Id5542)
  • Aggiunge il supporto di RadioButton di Material 3. (I20334)

Correzioni di bug

  • Riduci il raggio dell'ondulazione di IconButton da 40 dp a 20 dp. (I68bbe, b/206674345)
  • Il percorso rapido della stringa di porta per Text viene modificato da compose.material (I30b03)
  • Risolto, ma il pulsante impostato come hardcoded era 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 di Material Design 3 e colore dinamico di Material You

Componenti di Material Design 3

Per ulteriori informazioni, consulta la sezione Material Design 3 e Material You nella guida ai temi dei materiali in Compose.