Compose Material 3

Crea UI Jetpack Compose con i componenti Material Design 3, la prossima evoluzione di Material Design. Material 3 include componenti e temi aggiornati e funzionalità di personalizzazione Material You come il colore dinamico. È progettato per essere coerente con il nuovo stile visivo e l'interfaccia utente di sistema di Android 12.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Alpha Release
2 luglio 2025 1.3.2 - - 1.4.0-alpha17

Struttura

Compose è una combinazione di sette ID gruppo Maven all'interno di androidx. Ogni gruppo contiene un sottoinsieme mirato di funzionalità, ognuna con il proprio insieme di note di rilascio.

Questa tabella spiega i gruppi e fornisce i link a ogni insieme di note di rilascio.

GruppoDescrizione
compose.animationCreare animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente.
compose.compilerTrasforma le funzioni @Composable e attiva le ottimizzazioni con un plug-in del compilatore Kotlin.
compose.foundationScrivi applicazioni Jetpack Compose con componenti di base pronti all'uso ed estendi le fondamenta per creare i tuoi elementi del sistema di progettazione.
compose.materialCrea interfacce utente Jetpack Compose con componenti Material Design pronti all'uso. Si tratta del punto di ingresso di livello superiore di Compose, progettato per fornire componenti che corrispondono a quelli descritti all'indirizzo www.material.io.
compose.material3Crea UI Jetpack Compose con i componenti Material Design 3, la prossima evoluzione di Material Design. Material 3 include componenti e temi aggiornati e funzionalità di personalizzazione Material You come il colore dinamico. È progettato per essere coerente con il nuovo stile visivo e l'interfaccia utente di sistema di Android 12.
compose.runtimeElementi costitutivi fondamentali del modello di programmazione e della gestione dello stato di Compose e runtime di base per il plug-in del compilatore Compose da utilizzare come target.
compose.uiComponenti fondamentali dell'interfaccia utente di Compose necessari per interagire con il dispositivo, inclusi layout, disegno e input.

Dichiarazione di dipendenze

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

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

Groovy

dependencies {
    implementation "androidx.compose.material3:material3:1.3.2"
    implementation "androidx.compose.material3:material3-window-size-class:1.3.2"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.3.2")
    implementation("androidx.compose.material3:material3-window-size-class:1.3.2")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

Feedback

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

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Compose Material3 Common versione 1.0

Versione 1.0.0-alpha01

17 aprile 2024

androidx.compose.material3:material3-common:1.0.0-alpha01, androidx.compose.material3:material3-common-android:1.0.0-alpha01 e androidx.compose.material3:material3-common-desktop:1.0.0-alpha01 sono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

Componenti senza tema che possono essere utilizzati per creare componenti Material Design:

Compose Material3 Adaptive Navigation Suite versione 1.0

Versione 1.0.0-alpha07

1° maggio 2024

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07 e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07 sono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.

Modifiche alle API

  • Rendere non sperimentali le API della suite di navigazione (If62af)

Correzioni di bug

  • Consumare gli inserti per i contenuti per impostazione predefinita (50266df)

Versione 1.0.0-alpha06

17 aprile 2024

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06 e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06 sono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.

Modifiche alle API

  • Aggiungi containerColor e contentColor a NavigationSuiteScaffoldDefaults. (I64e3a, b/331993720)
  • Aggiunta della funzione itemColors a NavigationSuiteDefaults. (Idf719, b/328480012)
  • Rendi NavigationSuiteScope sigillato. (Iefa57)

Versione 1.0.0-alpha05

6 marzo 2024

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05 e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05 sono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche alle API

Versione 1.0.0-alpha04

21 febbraio 2024

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04 e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04 sono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.

Aggiornamenti delle dipendenze

  • Aggiorna le dipendenze adattive di Material3 ai nuovi percorsi dei moduli. (Ibc421)
  • Esegui la migrazione per utilizzare la versione di Window Manager delle classi di dimensioni della finestra. (I3794d)

Versione 1.0.0-alpha03

7 febbraio 2024

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

Modifiche alle API

  • Aggiorna il nome del pacchetto in navigationsuite da navigation-suite (I7eff7)
  • I componenti Material3 che espongono un MutableInteractionSource nella loro API sono stati aggiornati in modo da esporre un MutableInteractionSource nullable che ha come valore predefinito null. Non sono state apportate modifiche semantiche: il passaggio di null significa che non vuoi sollevare MutableInteractionSource e verrà creato all'interno del componente, se necessario. Se viene impostato su null, alcuni componenti non allocano mai un MutableInteractionSource, mentre altri creano un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi MutableInteractionSource che trasmetti a questi componenti, ti consigliamo di trasmettere null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (I41abb, b/298048146)

Versione 1.0.0-alpha02

13 dicembre 2023

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02 e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02 sono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.

Nuove funzionalità

Correzioni di bug

  • Correzione del componente di navigazione che riempie l'intero schermo quando la superficie principale ha modifier.fillMaxSize. (c9cf250, b/312664933)

Versione 1.0.0-alpha01

15 novembre 2023

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01 viene ritirata. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

Compose Material3 Adaptive versione 1.0

Versione 1.0.0-alpha06

7 febbraio 2024

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

Nuove funzionalità

  • Sono state aggiunte ulteriori opzioni di comportamento per la navigazione indietro ThreePaneScaffoldNavigator. (I858aa)
  • Aggiunti contenuti della destinazione facoltativi alla cronologia di navigazione. (Ibd7e6)

Versione 1.0.0-alpha05

24 gennaio 2024

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

Nuove funzionalità

  • Supporta la cronologia nella navigazione scaffold e nel calcolo dei valori (I71d46)

Versione 1.0.0-alpha04

10 gennaio 2024

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

Nuove funzionalità

  • Aggiunto il supporto da bordo a bordo negli scaffold dei riquadri (I1b462)

Modifiche alle API

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

Correzioni di bug

  • La correzione AnimatedPane non viene ricomposta (c3f573d)

Versione 1.0.0-alpha03

13 dicembre 2023

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

Modifiche alle API

  • Modifica i ruoli di scaffolding in alias di ThreePaneScaffoldRole. (I65bd1)
  • Crea una classe base per i ruoli di scaffolding (I4784d)
  • Rimuovi il parametro non necessario dai contenuti di AnimatedPane (Ibc73b)
  • Rinomina collectWindowSizeAsState e restituisce invece valori non elaborati (I480f4)

Versione 1.0.0-alpha02

29 novembre 2023

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

Modifiche alle API

  • Dividi le API di navigazione dalle API di scaffolding adattivo. (Ic4045)
  • Rimuovi il corso GutterSize. (I785b3)

Correzioni di bug

  • I riquadri fissi non vengono cambiati quando non viene utilizzato AnimatedPane (d88f181)

Versione 1.0.0-alpha01

15 novembre 2023

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

Nuove funzionalità

API per le condizioni adattive di Material3:

API direttive per lo scaffold del riquadro adattivo Material3:

API per lo scaffold del riquadro adattivo Material3:

Compose Material3 versione 1.4

Versione 1.4.0-alpha17

2 luglio 2025

androidx.compose.material3:material3-*:1.4.0-alpha17 viene ritirata. La versione 1.4.0-alpha17 contiene questi commit.

Nuove funzionalità

  • Aggiorna l'animazione del gruppo di pulsanti in modo che venga animata al 75% dell'animazione quando viene fatto clic anziché premuto. (593942a, b/423596967)

Correzioni di bug

  • Risolto un problema per cui, in alcuni casi, un elemento del carosello poteva superare le dimensioni dell'elemento grande durante i calcoli del layout, tagliando l'intero widget. (I1c3d7, b/397489534)
  • È stato corretto il problema del salto oltre beforeContentPadding durante lo scorrimento dei caroselli con offset di inizio e fine turno sovrapposti. (c3d5f3a, b/420618979)
  • Aggiorna il comportamento attivato di SwipeToDismiss per osservare lo stato liquidato anziché quello attuale. Ripristina il comportamento esistente in cui il comportamento di ancoraggio viene disabilitato solo quando il componente si trova in uno stato chiuso. (3844e07, b/425006844)
  • Il menu popup di ExposedDropdownMenu ora può essere aperto tramite l'input da tastiera. Inoltre, il menu è ora raggiungibile tramite tastiera per la variante modificabile. (46ead03)

Versione 1.4.0-alpha16

18 giugno 2025

androidx.compose.material3:material3-*:1.4.0-alpha16 viene ritirata. La versione 1.4.0-alpha16 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto un componente carosello hero allineato al centro (I6f6d3).

Modifiche alle API

  • Implementare la barra degli strumenti verticale per gli override XR (Ia1604)
  • Aggiunte funzioni di scorrimento programmatico a CarouselState (I12f8e)
  • Aggiungi ComponentOverride per ModalWideNavigationRail (I4f440)
  • Aggiungi ComponentOverride per WideNavigationRail (I6354f)
  • Crea ComponentOverride per HorizontalFloatingToolbar (I51116)
  • Crea ComponentOverride per ShortNavigationBar (I30e24)
  • I riferimenti a confirmValueChange in SwipeToDismissBoxState sono stati contrassegnati come deprecati. Gli utenti devono invece utilizzare il callback dell'API SwipeToDismissBox onDismissed. (Iee780)
  • Aggiunto il parametro userScrollEnabled ai componenti componibili Carousel. (I1d4d2)
  • Ora è possibile osservare currentItem di Carosello da CarouselState. (Ie87e9)

Correzioni di bug

  • Risolto un problema per cui una forma arbitraria su un FAB passato a un FloatingToolbar non applicava correttamente la sua ombra. (Icdcc9, b/423336922)
  • Tutti i caroselli ora utilizzano il ruolo semantico Carosello per impostazione predefinita. (I7af12)
  • È stato corretto il movimento errato del pollice quando lo stato del cursore veniva aggiornato tramite LaunchedEffect (Id9f31, b/302774166)

Versione 1.4.0-alpha15

20 maggio 2025

androidx.compose.material3:material3-*:1.4.0-alpha15 viene ritirata. La versione 1.4.0-alpha15 contiene questi commit.

Modifiche alle API

  • Aggiunta MotionTheme.LocalMotionScheme, composizione locale. Ciò consente l'accesso allo schema di movimento del tema da CompositionLocalConsumerModifierNodes, con currentValueOf(MotionTheme.LocalMotionScheme). (I014b1)
  • Il costruttore ColorScheme senza ruoli di colore fisso è ora deprecato. Esegui la migrazione al costruttore che include ruoli fissi. (Iad0ee)
  • Il componente di testo M3 ora supporta TextAutoSize. (I7f524)
  • Aggiungi l'API per creare varianti di dimensioni del pulsante diviso e aggiungi esempi. (Ice30b)

Correzioni di bug

  • Risolto un problema per cui Snackbar e FloatingActionButton erano posizionati in modo errato quando era attivata la visualizzazione edge-to-edge. Scaffold ora applica correttamente i rientri orizzontali a questi componenti. (Ib7c30, b/244400727)
  • Correggi il movimento BottomSheet da completamente espanso a parzialmente espanso. BottomSheet ora utilizza l'effetto rapido di MotionScheme quando viene nascosto o compresso e l'effetto spaziale predefinito quando viene espanso. (Ifa46f, b/416063171)
  • Il costruttore ColorScheme senza ruoli di contenitore di superficie è stato contrassegnato come nascosto e non è più consigliato per l'uso. (Ia7237)
  • È stato rimosso un requisito CircularWavyProgressIndicator Size.minDimension > 0, che in precedenza generava un'eccezione, per consentire una maggiore flessibilità. (Ic9418, b/377531195)
  • I link ipertestuali in Text(AnnotatedString) ora hanno lo stile Material per impostazione predefinita. (I78288, b/339843816)
  • Risolvi un problema per cui la funzione toShape() in RoundedPolygon memorizza nella cache un percorso e causa un problema quando vengono effettuate più chiamate createOutline con dimensioni diverse. (I4026d)

Versione 1.4.0-alpha14

7 maggio 2025

androidx.compose.material3:material3-*:1.4.0-alpha14 viene ritirata. La versione 1.4.0-alpha14 contiene questi commit.

Modifiche alle API

  • È stato aggiunto un nuovo elemento componibile AppBarColumn che funziona allo stesso modo di AppBarRow, ma per i contenuti disposti in una colonna. (Iaf6bd)
  • È stato aggiunto il numero massimo di elementi a AppBarRow, necessario per implementare correttamente la specifica del materiale per le barre delle app nella parte superiore dello schermo. (I92ce4)
  • È stato aggiunto un metodo in TooltipScope per ottenere l'layoutCoordinates dell'ancora. Il metodo drawCaret viene ritirato perché gli sviluppatori possono utilizzare questo nuovo metodo per ottenere i limiti dell'ancora layoutCoordinates e creare una forma appropriata che contenga un cursore. (Ia2e12, b/329470609)
  • È stato aggiunto il supporto di java.time per i selettori di date: sono stati introdotti overload di rememberDatePickerState/rememberDateRangePickerState che accettano oggetti java.time (ad es. LocalDate iniziale, YearMonth). Sono state aggiunte anche funzioni di estensione agli oggetti di stato per ottenere/impostare valori utilizzando tipi come LocalDate e YearMonth. Richiede l'API 26+ o il desugaring. (I70f29, b/266202516, b/281859606)
  • Aggiungi il componente componibile CenteredTrack che consente di utilizzare un cursore con una traccia che inizia dal centro. (I5b1d6)

Correzioni di bug

  • È stato migliorato il rendimento degli indicatori di avanzamento ondulati: i tipi lineari ora si caricano circa l'8,5% più velocemente con circa l'11% di allocazioni in meno, mentre i tipi circolari registrano un aumento della velocità di circa il 47% e una riduzione delle allocazioni di circa il 39%. (I595d8)

Versione 1.4.0-alpha13

23 aprile 2025

androidx.compose.material3:material3-*:1.4.0-alpha13 viene ritirata. La versione 1.4.0-alpha13 contiene questi commit.

Modifiche alle API

  • isAppearanceLightStatusBars e isAppearanceLightNavigationBars reintrodotti in ModalBottomSheetProperties come parametri solo per Android. (Id4bc0)
  • Aggiungi un AppBarRow componibile che gestisce l'overflow degli elementi che non rientrano nei suoi limiti. (I742bd)
  • Aggiorna le API DatePicker e DateRangePicker per richiedere lo stato attivo quando passi a una modalità di inserimento della data. Abbiamo sostituito il parametro booleano requestFocus con un parametro focusRequester facoltativo che accetta un FocusRequester. (I14b69)
  • Rimuovi il modificatore e l'origine dell'interazione dagli elementi selezionabili e attivabili/disattivabili predefiniti. Utilizzalo invece come dettaglio di implementazione. (I95ed6)
  • È stato aggiornato ButtonGroup in modo che venga visualizzato un menu a discesa quando ci sono troppi pulsanti per essere visualizzati sullo schermo. (I7b88b)

Correzioni di bug

  • Il foglio inferiore ora utilizza gli inset in alto quando è più piccolo dell'offset corrente. In questo modo, gli utenti possono fornire i margini interni superiori per il comportamento espanso. BottomSheetDefaults.windowInsets ora include WindowInsets.safeDrawing.Top. (I0ab67, b/321877275, b/336962418, b/342093067)
  • Sono state attivate le animazioni di entrata/uscita (dissolvenza/scorrimento) per le icone/gli avatar iniziali e le icone finali dei chip quando vengono aggiunti o rimossi. Ciò avvantaggia principalmente i chip selezionabili (filtro, input), ma si applica in generale. (I9af21)
  • Correggi il comportamento del cursore RTL non funzionante causato da LookaheadScope. (Ieb152, b/408118041)
  • Correzione dell'arresto anomalo di Bottom AppBar relativo allo scorrimento con un'interfaccia utente di sistema nascosta. (Ic6140, b/405996228)

Versione 1.4.0-alpha12

9 aprile 2025

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

Modifiche alle API

  • Rimossi i parametri specifici per Android da ModalBottomSheetProperties (Iab97f, b/362539765)
  • Introduzione delle funzioni di overloading per le dimensioni predefinite del punto di trascinamento (I0ed0d)
  • Aggiungi nuove funzioni NavigationSuiteScaffold e NavigationSuiteScaffoldLayout per supportare nuovi tipi di layout e aggiungere il supporto per i contenuti di un'azione principale facoltativa. (Ib262a, b/353144478)
  • Deprecare Modifier.weight con il parametro di riempimento in ButtonGroup. Aggiunta di una versione senza riempimento. (Id32bb)
  • I componenti predefiniti Rinomina xSmall- e xLarge- IconButton sono impostati per indicare extra. (Ib6e0f)
  • Aggiungi nuove funzioni NavigationSuite, NavigationSuiteItem e NavigationSuiteColors per supportare nuovi tipi di layout. (I203d6)
  • Aggiungi nuove funzioni NavigationSuiteTypes e navigationSuiteType che includono queste scelte di layout (If68f9).

Correzioni di bug

  • Ora ColorScheme.contentColorFor mappa surfaceDim a onSurface. (I8891a)
  • Implementazione di DateInputTextField aggiornata per risolvere un problema per cui il campo di input non rifletteva la data impostata a livello di programmazione. (I6c8d1, b/401143451)
  • È stato corretto l'ordine di selezione di TalkBack per la barra di navigazione e la barra di navigazione larga (I6cf6f, b/407048224).

Versione 1.4.0-alpha11

26 marzo 2025

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

Modifiche alle API

  • Aggiorna la capitalizzazione delle proprietà componibili negli oggetti predefiniti per il pulsante e il pulsante di attivazione/disattivazione. Aggiungi metodi in ToggleButtonDefaults e ButtonDefaults per il padding, le forme, le dimensioni delle icone, la spaziatura delle icone e lo stile del testo consigliati a seconda dell'altezza del contenitore. (Iea69e)
  • Sono state rimosse le funzioni e le costanti sperimentali ritirate da FloatingToolbar. (I8f339)
  • I componenti di elevazione ora condividono un'interfaccia comune e hanno costruttori e proprietà pubblici. (Ibb172)
  • Aggiunta del modificatore animateWidth in ButtonGroupScope che dovrà essere utilizzato con gli elementi secondari del gruppo di pulsanti per animarli correttamente. (Ia3bb6)

Correzioni di bug

  • È stato corretto il padding della barra degli strumenti mobile per garantire l'equilibrio visivo durante la chiusura e una maggiore flessibilità per i contenuti più grandi. (I06c00)

Versione 1.4.0-alpha10

12 marzo 2025

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

Modifiche alle API

  • TabRowDefaults.tabIndicatorOffset è stato deprecato a favore di TabIndicatorScope.tabIndicatorOffset. (Ib36b3)
  • Correzione dell'errore di battitura per il riempimento dei contenuti di piccole dimensioni nei valori predefiniti dei pulsanti. (I19bfe)
  • TabRow e ScrollableTabRow sono deprecati a favore delle varianti principale e secondaria di ciascuno. Le righe delle schede Principale e Secondaria sono più performanti e accurate rispetto alle specifiche. (I918e2)
  • Aggiunta di rememberSliderState e rememberRangeSliderState. (I8e384)
  • È stato aggiunto shouldAutoSnap a SliderState per controllare il meccanismo di snapping automatico. La disattivazione può essere utile per le animazioni personalizzate. (I07745)
  • La larghezza minima della scheda della riga di schede scorrevole ora è un parametro. Le varianti di riga delle schede Principale e Secondaria non sono più sperimentali. (If6f15, b/226665301)
  • È stato reso pubblico il corso ExitAlwaysFloatingToolbarScrollBehavior, consentendo la creazione senza composizione. (Ibf31c)

Versione 1.4.0-alpha09

26 febbraio 2025

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

Modifiche alle API

  • Rinomina i campi di impostazione di DragHandle nello stato predefinito; separa gli stati premuto e trascinato; rendi pubbliche le dimensioni predefinite. (I787b9)
  • Aggiornamenti all'API TowRowsTopAppBar. È stato rimosso il parametro lambda expanded e sono stati aggiunti parametri separati per le altezze espansa e compressa. (Idd677, b/306697446, b/229134133, b/268068946)

Correzioni di bug

  • Le barre delle app in basso ora rispettano il servizio di esplorazione tattile (ad es. TalkBack) e mantenerli visibili ogni volta che il servizio è attivo. (I4b34d)

Versione 1.4.0-alpha08

12 febbraio 2025

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

Nuove funzionalità

  • È stata aggiunta un'API TimePickerDialog che può essere utilizzata per TimePicker, TimeInput o per avere una versione commutabile. (Id2d83)

  • Nuove API della barra di ricerca:

    • Le barre di ricerca compresse e le "visualizzazioni" di ricerca espanse ora sono composable separati.
    • SearchBar rappresenta una barra di ricerca nello stato compresso.
    • ExpandedFullScreenSearchBar e ExpandedDockedSearchBar rappresentano la barra di ricerca nello stato espanso. Questi si aprono in una nuova finestra.
    • SearchBarState per controllare lo stato della barra di ricerca
    • TopSearchBar per aggiungere la gestione degli inset e il comportamento di scorrimento
    • Nuovo sovraccarico di InputField che utilizza SearchBarState (Ie0723, b/261496232, b/283311462, b/350916229, b/352872248)

Modifiche alle API

  • Supporta la trasformazione della forma degli angoli dei pulsanti delle icone quando vengono premuti. (I21843)
  • Le API per il decoratore/la casella di decorazione del campo di testo non sono più sperimentali. (I31d95)
  • Sono stati aggiunti esempi e valori predefiniti per la variante collegata per ButtonGroup. (I5c8ce)
  • Imposta il parametro di stato come ultimo in NavigationSuiteScaffold e NavigationSuiteScaffoldLayout. (I9cc7b)

Correzioni di bug

  • Sono state aggiunte azioni di accessibilità personalizzate a FloatingToolbars, in modo che i servizi di accessibilità possano ora espandere o comprimere tutte le varianti di FloatingToolbar. La versione con FAB lo applica al FAB, mentre la versione senza FAB lo applica ai contenuti principali. (I26420)
  • Il FloatingToolbars ora osserva il servizio di esplorazione tattile (ad es. TalkBack) e mantenere la barra degli strumenti espansa e visibile ogni volta che il servizio è attivo. (I02172)
  • È stato corretto un arresto anomalo negli indicatori di avanzamento e caricamento nel caso in cui venga passato un Float.NaN come avanzamento. (I4fa96, b/352364576)

Versione 1.4.0-alpha07

29 gennaio 2025

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

Nuove funzionalità

  • È stata aggiunta una maggiore flessibilità nella personalizzazione dell'aspetto delle caselle di controllo con una nuova API. Questa API fornisce parametri di tratto che consentono un maggiore controllo sul rendering del segno di spunta e del contorno della casella di controllo. (I65a88)
  • È stata aggiunta l'API TwoRowsTopAppBar, un'alternativa più personalizzabile alle barre delle app medie e grandi per la creazione di barre delle app superiori a due righe. Gli sviluppatori ora hanno il controllo sui contenuti di titoli e sottotitoli sia nello stato compresso che in quello espanso, con altezze personalizzabili per ogni stato. (I0be3c, b/306697446, b/229134133, b/268068946)

Modifiche alle API

  • È stata rinominata una variante sperimentale BottomAppBar in FlexibleBottomAppBar, offrendo un maggiore controllo sulla disposizione e sull'altezza dei contenuti. (Iaa448)
  • Aggiorna la denominazione delle proprietà nell'oggetto predefinito Gruppo di pulsanti in modo che sia CapitalCase. Aggiorna il nome di animateFraction in modo che sia più preciso rispetto al comportamento che rappresenta. (I545cd)
  • Aggiunta di overload per i pulsanti comuni che consentono forme animate durante l'interazione con la pressione. Aggiunte forme dei pulsanti memorizzate nella cache. (I5ec20)
  • Ora puoi controllare il modo in cui un FloatingToolbar con FAB reagisce allo scorrimento fornendo un FloatingToolbarScrollBehavior. Per le barre degli strumenti posizionate lungo un bordo centrale (ad esempio in alto o in basso al centro), consigliamo di utilizzare un comportamento di scorrimento per nascondere l'intero componente durante lo scorrimento, in modo da ottenere un aspetto più pulito. In questo modo si evita anche che il FAB diventi decentrato, cosa che potrebbe accadere quando si utilizza il flag expanded per il collasso. (I33f67)
  • Aggiorna le API sperimentali TopAppBar per utilizzare Alignment.Horizontal anziché un TopAppBarTitleAlignment personalizzato quando imposta l'allineamento del titolo e del sottotitolo. (I70ca2)
  • SliderState#onValueChange è ora pubblico per dare maggiore controllo all'utente (I104eb)
  • Introduci NavigationSuiteScaffoldState per consentire l'animazione del componente di navigazione. Introduci anche gli overload di NavigationSuiteScaffold e NavigationSuiteScaffoldLayout che hanno un parametro di stato. (I6a8c9, b/328674235)

Correzioni di bug

  • Sposta i corsi IconButtonColors e IconToggleButtonColors da IconButtonDefaults.kt a IconButton.kt. (I3c233)

Contributo esterno

  • SliderState#isDragging è ora pubblico. (I8458a)

Versione 1.4.0-alpha06

15 gennaio 2025

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

Modifica del comportamento

  • È stato aggiunto displayCutout al gruppo di rientri che i componenti Material prendono in considerazione per impostazione predefinita, per evitare che i contenuti si sovrappongano al ritaglio del display. Si tratta di una modifica del comportamento che influirà sul modo in cui i componenti compatibili con l'inset si comportano intorno a un'interruzione del display. Ciò include il valore predefinito del parametro WindowInsets per i componenti Material 3 compatibili con gli inset e i valori WindowInsets forniti negli oggetti Defaults dei componenti sia per Material 2 che per Material 3. Se questa modifica causa un comportamento indesiderato, specifica manualmente il parametro WindowInsets per ogni componente. (I43ee9, b/362508045)

Modifiche alle API

  • Aggiornamenti all'API TopAppBar. Rinomina le barre delle app superiori medie e grandi con un sottotitolo in *FlexibleTopAppBar. Unificazione delle variazioni di colore in un'unica funzione TopAppBarDefault.topAppBarColors() e aggiunta di un parametro di colore subtitle da applicare a un composable di sottotitoli codificati fornito (I41b65)
  • Rimuovi l'API WideNavigationRailArrangement a favore di Arrangement.Vertical (Id0341)
  • Aggiungi un nuovo VerticalSlider @Composable. (I2bfba)
  • Aggiungi una nuova traccia @Composable che consente di specificare angoli esterni e icone della traccia personalizzati. (I436a4)
  • Aggiorna le API della barra degli strumenti mobile per utilizzare l'oggetto FloatingToolbarColors anziché un singolo colore del contenitore. (I9a054)
  • Aggiungere e utilizzare una nuova annotazione sperimentale ExperimentalMaterial3ComponentOverrideApi (Ia1eaf)
  • Modifier.indicatorLine ora assume una forma per il campo di testo per gestire il ritaglio. (I8c5f3, b/380704151)
  • Rinomina le funzioni sperimentali FloatingAppBar in FloatingToolbar (I1dbf8)
  • È stato aggiunto un nuovo floatingToolbarVerticalNestedScroll che può essere collegato a un contenitore scorrevole per aggiornare lo stato di espansione della barra degli strumenti mobile in base a un movimento di scorrimento che supera una soglia. (I6d65f)
  • Ti presentiamo una nuova API per creare una barra degli strumenti mobile con un pulsante di azione rapida (FAB) allegato. L'API offre opzioni di personalizzazione flessibili, che ti consentono di disporre la barra degli strumenti orizzontalmente o verticalmente e di posizionare il pulsante di azione rapida all'inizio o alla fine della barra degli strumenti. (I9e350)

Correzioni di bug

  • Correzione di un problema di accessibilità della snackbar che causava l'annuncio della chiusura quando TalkBack è attivo. (/I9db53)

Contributo esterno

  • BasicTooltip è stato reso comune in foundation e BasicTooltip/Tooltip in Material 3. (Ifc2e6)

Versione 1.4.0-alpha05

12 dicembre 2024

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

Modifiche alle API

  • Sostituisci il tipo nel valore WideNavigationRailState.current/target per un'enumerazione per una migliore leggibilità (I2d6ab)
  • SplitButton modifica l'API Shape dalla classe di dati alla classe per la compatibilità binaria. (I53812)
  • È stata aggiunta un'API per le descrizioni comando con un parametro onDismissRequest che consente ai creator di decidere cosa succede quando un utente fa clic al di fuori della descrizione comando. È stata ritirata la vecchia API che non contiene questo nuovo parametro. (I99aef)
  • Modifica la denominazione di opticalCentering in horizontalCenterOptically. Rendere interno il modificatore. Sostituisci il parametro di padding con l'offset massimo di inizio e fine. (I0b904)
  • Modifica WideNavigationRailState in modo che abbia il valore corrente/target, rimuovi gli enum a favore del valore booleano. (Idfa29, b/356039090)
  • Aggiungi NavigationBarItemComponentOverride. (I3a06a)

Correzioni di bug

  • Correggi i comportamenti della barra delle app superiore e inferiore in modo che cambino colore in modo affidabile quando i contenuti vengono scorri fino in fondo. (Idc4e8, b/293665988)
  • Le funzioni di comportamento di scorrimento per le barre delle app superiore e inferiore ora restituiscono un comportamento memorizzato per migliorare le prestazioni nelle ricomposizioni. (I0fdbe, b/207957336)
  • Il parametro modificatore viene ora applicato dopo i modificatori interni, come il comportamento e la semantica di trascinamento, anziché prima. Ciò influisce sull'ordine in cui vengono applicati i modificatori. (I8d83f)
  • Il riquadro inferiore espanso rimane espanso quando le dimensioni cambiano. (I2870b, b/324934884)
  • Instrada correttamente i flag della barra di stato e di navigazione per le proprietà delle finestre. (Ie674d, b/362539765)
  • Sposta il parametro modificatore nella radice degli scaffold, come documentato. In questo modo, l'implementazione è in linea con M2. (I0235e, b/372311595)

Contributo esterno

  • Funzione DatePickerDialog standardizzata. (I7dced)

Versione 1.4.0-alpha04

13 novembre 2024

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

Modifiche al comportamento

  • Ripristina le modifiche al colore introdotte in aosp/3212478 per iconButtonColors, iconToggleButtonColors, outlinedIconButtonColors, outlinedIconToggleButtonColors e outlinedIconToggleButtonBorder. Il comportamento ora ripristinato è stato spostato in un nuovo insieme di funzioni chiamate iconButtonVibrantColors e così via per enfatizzare i colori ad alto contrasto restituiti. (Iffd8d)

Nuove funzionalità

  • Introduci il componente VerticalDragHandle (I6c770)

Modifiche alle API

  • Rinomina DismissibleModalWideNavigationRailDefaults in ModalWideNavigationRailDefaults. (I8e877)
  • Aggiungi NavigationBarComponentOverrides. (I8a3f3)
  • Aggiungi NavigationRailComponentOverride. (I83e13)
  • Introduci WideNavigationRailState per gestire la compressione/espansione della barra, consenti la chiusura di ModalWideNavigationRail ed elimina DismissibleModalWideNavigationRail. (I88568)
  • Aggiungi i valori predefiniti per le dimensioni xSmall, media, large e xLarge ai valori predefiniti del pulsante di attivazione/disattivazione. (Ie95d1)
  • Aggiungi i valori predefiniti per le dimensioni xSmall, media, large e xLarge ai valori predefiniti dei pulsanti. (If8b6d)

Correzioni di bug

  • Il colore dell'icona finale del chip di filtro è stato aggiornato da Primario a OnSurfaceContainer, in base alle specifiche. Tutti i colori del contorno dei chip sono stati aggiornati da Contorno a Variante contorno, in base alle specifiche. (I68bd4)

Versione 1.4.0-alpha03

30 ottobre 2024

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

Modifiche alle API

  • Il costruttore SheetState con densità è stato ritirato a favore delle soglie di posizione e velocità. (Ifd16e)
  • È stato aggiunto rememberTooltipPositionProvider che contiene una logica di posizionamento aggiornata. Deprecati rememberPlainTooltipPositionProvider e rememberRichTooltipPositionProvider. (Ie66e2)
  • Le ModalBottomSheetProperties aggiuntive consentono di personalizzare i colori della barra di stato e di navigazione. Per impostazione predefinita, questi aggiornamenti si basano sul colore dei contenuti anziché sullo stato del tema scuro del sistema. (Ib874e, b/362539765)
  • È stata migliorata l'esperienza di input per i selettori di date: in modalità di input, il campo di testo della data verrà selezionato per l'immissione immediata del testo. La modifica aggiunge un parametro requestFocus a DatePicker e DateRangePicker. Puoi impedire la messa a fuoco passando false. (I12d09, b/286399710, b/340102743)
  • Memorizzazione nella cache delle impostazioni predefinite della forma nell'oggetto Forma. Impostazione delle forme predefinite @Composable per il pulsante di attivazione/disattivazione. Comprimendo le forme in una forma predefinita, poiché le varianti puntano allo stesso file di token. (Iaa014)

Correzioni di bug

  • Ottimizza il comportamento di Scaffold contentPadding per evitare di ricomporre sempre i contenuti del corpo quando contentPadding cambia. (I8c8e2, b/373904168)
  • TextFieldLabelScope progress rinominato in labelMinimizedProgress
  • TextFieldLabelPosition Default rinominato in Attached. I membri dell'interfaccia sono stati rimossi. (If75c6)
  • È stato risolto un problema con DatePicker in modalità di input in cui gli errori di convalida potevano causare la modifica dell'altezza del componente. (I2e229, b/280462363)
  • Fai in modo che il cursore del materiale cambi valore quando vengono premuti i tasti di controllo. (I1c442)

Versione 1.4.0-alpha02

16 ottobre 2024

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

Modifiche alle API

  • Aggiornamenti ai selettori di date per garantire un utilizzo coerente delle impostazioni internazionali in DatePicker e DateRangePicker quando si imposta un'impostazione internazionale direttamente tramite un DatePickerState o un DateRangePickerState. Tieni presente che, quando imposti le impostazioni internazionali direttamente sullo stato, spetta a te assicurarti che i testi del titolo e dell'intestazione vengano localizzati di conseguenza, poiché il testo predefinito verrà comunque applicato in base alle impostazioni internazionali predefinite della piattaforma. (I37073, b/326490763, b/321657276)
  • SheetState.isAnimationRunning è ora esposto. (I9a3d7)
  • DatePickerColors ora hanno la precedenza su eventuali colori in conflitto definiti negli stili di testo della tipografia del tema. Tieni presente inoltre che questo aggiornamento modifica la posizione del parametro color nelle funzioni del selettore della data e introduce un parametro contentColor per personalizzare i colori del testo dell'intestazione e del titolo. (I30d03, b/347031394)
  • Rinomina SplitButton in SplitButtonLayout e rimuovi le API delle varianti di colore di SplitButton. Le varianti verranno ottenute riutilizzando le varianti dei pulsanti fornite da SplitButtonDefaults. (I44c36)
  • ModalBottomSheet ora ha il parametro sheetGestureEnabled (I856cb, b/288211587)
  • È stato rinominato standardMotionScheme e expressiveMotionScheme in Standard ed Espressivo. Entrambe le funzioni sono ora accessibili tramite l'oggetto complementare MotionScheme chiamando MotionScheme.standard() e MotionScheme.expressive(). (Iceccf)
  • Aggiunta del parametro maxWidth alle descrizioni comando semplici e avanzate. Per impostazione predefinita, la specifica di progettazione è di 200 dp per le descrizioni comando semplici e di 320 dp per le descrizioni comando avanzate. (I30ce9)

Correzioni di bug

  • DatePicker e DateRangePicker ora aggiornano correttamente il mese visualizzato quando vengono impostati tramite displayedMonthMillis dello stato. (If9e47, b/333414302)
  • I contenuti di ModalBottomSheet ora vengono spostati dalla barra di stato. (I5114c, b/321877275, b/336962418, b/342093067)
  • [Foglio inferiore] Modifica la priorità del callback in PRIORITY_DEFAULT per consentire alla tastiera IME di chiudersi per prima. (I447fb)
  • Correzione degli arresti anomali in DatePicker e DateRangePicker quando l'anno minimo selezionabile è impostato su un anno futuro. (I78656, b/319395747)
  • È stato corretto un problema del selettore della data per aggiornare l'interfaccia utente quando viene applicata un'istanza SelectableDates aggiornata. (Iad59a, b/290135807, b/339898760)

Versione 1.4.0-alpha01

2 ottobre 2024

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

Modifiche al comportamento

  • La libreria non aggiunge più una dipendenza a material-icons-core, quindi se il tuo progetto si basava su questa dipendenza, dovrai aggiungerla esplicitamente nei file build.gradle[.kts]. (I735ff, b/349894318)
  • NavigationBarItem e NavigationRailItem cambiano il colore dell'etichetta attiva da onSurface a secondary per migliorare l'usabilità, il contrasto di colore e la coerenza all'interno del sistema (Ibc297). Per ripristinare il comportamento precedente, copia i colori predefiniti e modifica selectedTextColor in MaterialTheme.colorScheme.onSurface.
  • I componenti Material 3 ora utilizzano il nuovo MotionScheme per definire il loro movimento. (Ie0f93)
  • Modifiche al movimento dell'indicatore di avanzamento circolare indeterminato (I3c07e)
  • Aggiorna OutlinedIconButtonColors e OutlinedIconToggleButtonColors per un migliore contrasto cromatico. (I2743d)
  • Aggiornamento del colore del contenitore e dei contenuti per FilledIconToggleButtonColors e FilledTonalIconToggleButtonColors. (Ic5d0f)
  • Colore del bordo di OutlinedButton aggiornato da outline a outlineVariant. (057f00)

Modifiche alle API

  • È stato aggiunto un parametro reverseLayout facoltativo alla funzione enterAlwaysScrollBehavior di TopAppBar per supportare meglio i contenuti impostati con un reverseLayout. (I4e0e5)
  • SegmentedButton ora supporta l'argomento contentPadding. (I5ad91, b/358414376)
  • PullToRefreshState non ha più l'implementazione predefinita per isAnimating (I6a593)
  • Sono stati aggiunti nuovi overload di Material TextField e OutlinedTextField che utilizzano TextFieldState. Sono state aggiunte API per le caselle di decorazione compatibili con TextFieldDecorator. (If13a1)
  • È stato aggiunto il parametro al labelPosition del campo di testo del controllo. L'utilizzo di alwaysMinimize consente di visualizzare contemporaneamente un'etichetta e un segnaposto in un campo di testo anche quando il campo non è attivo. (I1ef2c)
  • Aggiunti Material SecureTextField e OutlinedSecureTextField per i campi di inserimento della password. (I7e22d)
  • È stato aggiunto un ambito alle etichette dei campi di testo per eseguire query sullo stato di avanzamento dell'animazione. (If5ec8)
  • Aggiunge il supporto per MotionEvent.CLASSIFICATION_DEEP_PRESS alle descrizioni comando. (I62e6a)
  • TimePickerState's isAfternoon ora è un'estensione anziché una variabile nell'interfaccia, rinominata in isPm (I89a97)
  • Aggiornamento della classe di tipografia per supportare le scale di tipo enfatizzate. (Ifa13c)
  • È stata aggiunta l'API ModalWideNavigationRail e le API ModalExpandedNavigationRail sono state rinominate in DismissibleModalWideNavigationRail. (Ic9118)
  • FloatingAppBarScrollBehavior aggiornato per calcolare automaticamente screenOffset e non richiedere un @Composable. (Idf349)
  • Aggiornamenti all'API LoadingIndicator per correggere la denominazione nell'oggetto predefinito. È stata aggiunta una costante LoadingIndicatorElevation a PullToRefresh. (I1d72b)
  • Aggiornamenti all'API LoadingIndicator per correggere la denominazione nell'oggetto predefinito. È stata aggiunta una costante LoadingIndicatorElevation a PullToRefresh. (I1d72b)
  • Sono stati aggiunti i parametri amplitude e waveSpeed alle varianti indeterminate di LinearWavyProgressIndicator e CircularWavyProgressIndicator. (I2a0c5)
  • Supporta la modifica della forma di un pulsante di attivazione/disattivazione di un'icona in base al suo stato di pressione o selezione. (Ibc781)
  • Aggiornamento della classe di tipografia per supportare le scale di tipo enfatizzate. (Ifa13c)
  • SplitButton morphing delle forme in base allo stato predefinito / premuto. Rimossa l'API AnimatedTrailingButton perché l'API TrailingButton può offrire le stesse personalizzazioni (I95066)
  • Aggiungi il modificatore per animare la visualizzazione e l'occultamento del pulsante di azione rapida, ad esempio quando i contenuti scorrono. (I8338d)
  • Aggiunta di forme e spaziatura di gruppi di pulsanti collegati a ButtonGroupDefaults da utilizzare in un campione. (I68e30)
  • Il pulsante diviso aggiunge il padding orizzontale per il pulsante finale e attiva il centraggio ottico calcolato dalle differenze degli angoli iniziale e finale (I122e2).
  • È stato introdotto un nuovo Material MotionScheme per consentire l'impostazione di uno schema per il movimento del componente. Lo schema viene impostato tramite MaterialTheme. (Id50c2)

Correzioni di bug

  • Applica l'indice di attraversamento del focus corretto ai composable secondari Scaffold. L'ordine è topBar, bottomBar, fab, content, snackbar. (I5936b)
  • È stato risolto un problema relativo a DatePicker e DateRangePicker per cui, in alcune impostazioni internazionali e scheletri di formato, alcuni elementi di data (ad es. i nomi dei mesi) non iniziavano con una lettera maiuscola. (I1430f)
  • Integra i token dei componenti FAB e menu FAB (aggiornamenti visivi minori a spaziatura interna e testo) (Ib57f3)
  • ModalBottomSheet ora è il primo nell'ordine di attraversamento semantico, seguito dalla semitrasparenza. (I436f9, b/358594665)
  • Correzione della barra delle app in basso che non scompare completamente quando scorri sotto la pillola di navigazione in modalità edge-to-edge (I3ee21)

Compose Material3 versione 1.3

Versione 1.3.2

9 aprile 2025

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

Correzioni di bug

  • ListItem corregge il calcolo dell'altezza intrinseca, riservando ora la quantità di spazio appropriata nel layout.
  • Rimuovi il padding in eccesso dell'etichetta NavigationBarItem, allineandola correttamente alle specifiche.
  • Corregge il layout TabRow in modalità RTL.

Versione 1.3.1

30 ottobre 2024

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

Correzioni di bug

  • DatePicker e DateRangePicker ora aggiornano correttamente il mese visualizzato quando vengono impostati tramite displayedMonthMillis dello stato. (If9e47, b/333414302)
  • Correzione degli arresti anomali in DatePicker e DateRangePicker quando l'anno minimo selezionabile è impostato su un anno futuro. (I78656, b/319395747)
  • È stato corretto un problema del selettore della data per aggiornare l'interfaccia utente quando viene applicata un'istanza SelectableDates aggiornata. (Iad59a, b/290135807, b/339898760)
  • Modifica la priorità di callback utilizzata dai fogli inferiori in PRIORITY_DEFAULT per consentire alla tastiera IME di chiudersi per prima. (I447fb)

Versione 1.3.0

4 settembre 2024

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

Modifiche importanti dalla versione 1.2.0

Funzionalità principali della versione 1.3.0

Nuovi componenti Material Design 3

  • Carosello
  • [ModalBottomSheet] ora supporta la navigazione predittiva su U+ (Iccf32, b/281967264, b/304850357)
  • [SearchBar] ora supporta il gesto Indietro predittivo su U+ (I657f8)
  • Il riquadro di navigazione (ModalDrawerSheet e DismissibleDrawerSheet) ora supporta la funzionalità Indietro predittivo su U+ come funzionalità attivabile (Ie5b0b)
  • DropdownMenu ora supporta colore, forma, elevazione e bordo personalizzati. (I8e981,b/289554448, b/301887035, b/283654243)
  • Il cursore è stato aggiornato per migliorare l'accessibilità aggiungendo un indicatore di intervallo e di arresto. (I3058e)
  • Aggiornamento di ProgressIndicator per migliorare l'accessibilità aggiungendo un indicatore di interruzione e spazio. (I21451)
  • È stato aggiunto un cursore predefinito per la descrizione comando avanzata. È supportato il disegno di un cursore personalizzato dato l'ancora LayoutCoordinates. (Ifd42c) Modifiche che provocano un errore
  • Nuove API per il trascinamento per aggiornare:
    • PullToRefreshState semplificato per utilizzare valori frazionari anziché unità Dp.
    • Lo stato di isRefreshing è controllato dall'utente anziché da PullToRefreshState.
    • È stata separata la connessione di scorrimento nidificata da PullToRefreshState. Viene gestito dal nuovo PullToRefreshBox o Modifier.pullToRefresh.
    • Questo aggiornamento è una modifica che causa interruzioni alle precedenti API sperimentali. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Modifiche visive che causano interruzioni
  • Aggiorna l'overlay dello stato attivo a 0,1 f per garantire un contrasto cromatico sufficiente. (I7ea77)
  • Piccoli aggiustamenti ai valori predefiniti del colore della superficie e dello sfondo in lightColorScheme e darkColorScheme. (I9db52)
  • I colori del cursore e di ProgressIndicator sono stati aggiornati in base alle nuove specifiche di contrasto non testuale. (I26807)
  • Ora i componenti utilizzano le varianti SurfaceContainer. I componenti che calcolavano formalmente il colore con Surface e TonalElevation ora utilizzano per impostazione predefinita i ruoli SurfaceContainer, che non sono interessati dall'elevazione tonale. (b/304584161)
  • I ruoli di base di Surface e contenitore Surface sono stati leggermente modificati, fornendo una tonalità più intensa nei temi chiaro e scuro. (I677a5)
  • Promozione delle API sperimentali a stabili.
  • Miglioramenti delle prestazioni

Versione 1.3.0-rc01

21 agosto 2024

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

Correzioni di bug

  • ModalBottomSheet ora è il primo nell'ordine di attraversamento semantico, seguito dalla semitrasparenza. (I436f9, b/358594665)

Versione 1.3.0-beta05

24 luglio 2024

androidx.compose.material3:material3-*:1.3.0-beta05 viene ritirata. La versione 1.3.0-beta05 contiene questi commit.

  • Risolto il problema per cui i contenuti di BottomSheet sono mancanti o tagliati su Android N e O (a10a2d)
  • Aumento dei limiti semantici del cursore per consentire a TalkBack di mostrare correttamente gli indicatori di messa a fuoco intorno ai pollici. (0b5a1d)

Versione 1.3.0-beta04

26 giugno 2024

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

Versione 1.3.0-beta03

12 giugno 2024

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

Contributo esterno

  • Rendi androidx.compose.material3.DropdownMenu disponibile dal set di origini comuni. (If62c0)

Versione 1.3.0-beta02

29 maggio 2024

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

Modifiche alle API

  • Modifier.pullToRefreshIndicator supporta l'elevazione, aggiorna le API Pull To Refresh in modo che l'abilitazione sia un valore booleano anziché una funzione lambda. Supporto dell'allineamento dei contenuti in PullToRefreshBox (I75679)
  • Rendere TooltipScope un'interfaccia sigillata e creare un'implementazione interna da utilizzare in TooltipBox ed Etichetta. (I3833e)
  • Sono stati aggiunti due nuovi modificatori a CarouselItemScope, maskClip e maskBorder, 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 in TextStyle e TextDefaults è stato rimosso da Material. (I5477b)

Correzioni di bug

  • Le icone della barra di stato e di navigazione di ModalBottomSheet ora rispondono allo stato del tema scuro. (Ie1fe7, b/338342149)
  • Aggiunta la semantica di chiusura del foglio allo scrim ModalBottomSheet. (0e61cb,b/328801864)

Contributo esterno

  • Rendi androidx.compose.material3.AlertDialog disponibile dal set di origini comuni (Ia33f5)
  • Rendere ModalBottomSheet disponibile dal set di origini comuni (Id7cc7)

Versione 1.3.0-beta01

14 maggio 2024

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

Modifiche alle API

  • Utilizzo di DpSize anziché CaretProperties. Rimozione di CaretProperties in corso. Rinomina CaretScope in TooltipScope. (Id9a76)
  • È stata aggiornata l'API per ottenere link con tema Material nel testo. In particolare, sono stati rimossi i metodi da TextDefaults per costruire LinkAnnotations a tema e analizzare l'HTML con link a tema. È stata invece aggiunta una classe TextLinkStyles che consente di applicare uno stile ai link come parametro del composable Text. (I31b93)

Versione 1.3.0-alpha06

1° maggio 2024

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

Modifiche che provocano un errore

  • Nuove API pull-to-refresh:

    • PullToRefreshState semplificato per utilizzare valori frazionari anziché unità Dp.
    • Lo stato di isRefreshing è controllato dall'utente anziché da PullToRefreshState.
    • È stata separata la connessione di scorrimento nidificata da PullToRefreshState. Viene gestito dal nuovo PullToRefreshBox o Modifier.pullToRefresh.
    • Questo aggiornamento è una modifica che causa interruzioni alle precedenti API sperimentali. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)

Modifiche alle API

  • RippleConfiguration#isEnabled è stato rimosso e LocalRippleConfiguration è stato reso annullabile. Per disattivare un'increspatura, anziché fornire un RippleConfiguration con isEnabled = false, fornisci null a LocalRippleConfiguration. (I22725)
  • ModalBottomSheet disegna in modo più preciso la protezione sopra la barra di stato quando è attivata la modalità edge-to-edge. I contenuti del foglio modale inferiore ora possono utilizzare gli inset della finestra, consentendo la visualizzazione dei contenuti sopra la barra di navigazione. Il parametro ModalBottomSheet windowInsets è stato rinominato contentWindowInsets per specificare dove verranno applicati gli inserti, che non sono più legati alla logica della finestra. Il tipo contentWindowInsets è stato modificato in una funzione che restituisce WindowInsets, per consentirne la risoluzione all'interno della nuova finestra. (I39630, b/274872542, b/300280229, b/290893168)
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow ora utilizzano il layout personalizzato anziché la composizione secondaria, il che dovrebbe migliorare il rendimento. (I991e0)
  • I link di testo hanno ricevuto l'opzione di stile dello stato premuto, oltre allo stile normale, al passaggio del mouse e alla messa a fuoco. I metodi TextDefaults hanno ricevuto un argomento pressedStyle per supportare questa funzionalità. (Ic473f, b/139312671)

Correzioni di bug

  • I punti di trascinamento del riquadro di navigazione ora corrispondono alla larghezza di drawerContent. (Ibc72f, b/245355396)
  • Il padding superiore dell'etichetta ora tiene conto delle dimensioni del carattere di sistema.OutlinedTextField (Idc781)
  • Posizione del pacchetto corretto di CalendarLocale. (Ifa235)
  • [Indietro predittivo] Aggiorna le animazioni di Indietro predittivo in modo che utilizzino la curva di interpolazione (0.1, 0.1, 0, 1) (I2591a)

Versione 1.3.0-alpha05

17 aprile 2024

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

Nuove funzionalità

  • SearchBar e DockedSearchBar hanno nuovi overload che accettano un parametro di campo di testo. In questo modo è possibile applicare uno stile al campo di testo separatamente dal resto della barra di ricerca, nonché inserire campi di testo personalizzati. Il campo di testo dell'implementazione attuale è stato reso disponibile come SearchBarDefaults.InputField. (I50c73, b/275074248, b/278773336, b/326627700)
  • la lambda drawTick è stata aggiunta all'API pubblica per personalizzare i segni di graduazione, se necessario (I0c048)

Modifiche alle API

  • I link di testo hanno ricevuto l'opzione di stile dello stato premuto, oltre allo stile normale, al passaggio del mouse e alla messa a fuoco (I5f864, b/139312671)
  • Aggiornamento di CarouselItemInfo per esporre un rettangolo di maschera in base al quale l'elemento viene ritagliato (I785d8)
  • Rimossa BasicTooltipState dall'API pubblica Material 3. La sua funzionalità è combinata con TooltipState finché BasicTooltip di Foundation non viene stabilizzato. (Icda29)
  • È stato aggiunto un oggetto TextDefaults che contiene metodi per creare un LinkAnnotation e analizzare una stringa con tag HTML che applicano MaterialTheme ai link (I98532, b/139312671).
  • ExposedDropdownMenuBoxScope non consente più le sottoclassi. I menu a discesa esposti ora hanno un MenuAnchorType che deve essere passato a menuAnchor per supportare meglio l'accessibilità. Questo valore deve essere utilizzato al posto di focusable per ExposedDropdownMenu, che ora è deprecato. menuAnchor ha un nuovo parametro per controllare lo stato di enabled. (I55ee6, b/257209915, b/308840226)
  • È stato corretto il colore del bordo di OutlinedButton quando è disattivato. Aggiunta di un overload ButtonDefaults.outlinedButtonBorder("enabled") che accetta lo stato attivato. (Ie650b, b/318461363)
  • È stata aggiunta una nuova classe CarouselItemInfo per aiutare i clienti a ottenere informazioni sulle taglie degli articoli. (I9070c)
  • Il costruttore ColorScheme senza contenitori di superficie è ora deprecato. Esegui la migrazione al costruttore che include i contenitori di superficie. (I35c11)
  • [Con contorno]TextFieldDefaults ContainerBox è stato rinominato in Container. (Ie8d3b)

Correzioni di bug

  • BottomSheetScaffold non scorrerà più dallo scorrimento nidificato se sheetSwipeEnabled è false. (I5e1c1, b/306464779)
  • Abbiamo rimosso alcune annotazioni di attivazione ExperimentalMaterial3Api in IconButtonSamples.kt. (I111d1)

Versione 1.3.0-alpha04

3 aprile 2024

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

Nuove funzionalità

  • Sono state aggiunte due versioni sperimentali del carosello Material3: HorizontalMultiBrowseCarousel e HorizontalUncontainedCarousel (I88d64)
  • Aggiornamento del riquadro di navigazione di Compose M3 (ModalDrawerSheet e DismissibleDrawerSheet) per supportare la funzionalità Indietro predittivo su U+ come funzionalità attivabile (Ie5b0b)
  • È stata aggiunta una nuova API in Icon per consentire il passaggio della tinta del colore come lambda per evitare la ricomposizione. (I5b5a2)
  • Le API della barra delle app superiore ora supportano altezze personalizzate sia per le sezioni fisse che per quelle comprimibili. (Ib8b0c, b/323403446)

Modifiche alle API

  • Le API della barra delle app superiore ora supportano altezze personalizzate sia per le sezioni fisse che per quelle comprimibili. È stato risolto un problema che causava la ricomposizione eccessiva delle barre delle app nella parte superiore a una sola riga durante lo scorrimento dei contenuti. Risolto un problema per cui MediumTopAppBar troncava i titoli sui dispositivi con impostazioni di visualizzazione/carattere grandi. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676)
  • SegmentedButton e le API associate sono ora stabili (I8a158)
  • SwipeToDismissBox, SwipeToDismissBoxDefaults, SwipeToDismissBoxState e SwipeToDismissBoxValue sono ora contrassegnate come stabili. (I5f000)
  • Sono stati rimossi gli enum e le API DismissDirection e DismissValue obsoleti. (I89ccd)
  • È stato aggiunto un tag sperimentale all'oggetto complementare CarouselState di Carosello. (I94154)
  • È stato ritirato LocalMinimumInteractiveComponentEnforcement ed è stato introdotto LocalMinimumInteractiveComponentSize per sostituirlo. (I7a7ac)
  • Il costruttore SearchBarColors è ora pubblico. (I769ca)
  • È stato aggiunto un parametro gesturesEnabled a SwipeToDismissBox. (Idc59f, b/324170119)
  • Sono state rimosse le API dei campi di testo contrassegnate come deprecate e sperimentali. (I1305f)

Versione 1.3.0-alpha03

20 marzo 2024

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

Modifiche visive che causano interruzioni

  • Aggiorna l'overlay dello stato attivo a 0,1 f per garantire un contrasto cromatico sufficiente. (I7ea77)
  • Piccoli aggiustamenti ai valori predefiniti del colore della superficie e dello sfondo in lightColorScheme e darkColorScheme. (I9db52)

Nuove funzionalità

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

Modifiche alle API

  • Il flag ScaffoldSubcomposeInMeasureFix è stato rimosso. (Ie2a4b)
  • NavigationRailItemColors è ora contrassegnato come @Immutable. (If6112, b/327660613)
  • NavigationBarItemColors è ora contrassegnato come @Immutable. (I42a30, b/298064514)
  • Riordina i parametri nel componente componibile Slider Track. (I9f315)
  • ExposedDropdownMenu è ora implementato utilizzando Popup. Il comportamento dovrebbe essere lo stesso, tranne per i menu selezionabili con campi di testo modificabili che potrebbero essere chiusi durante la digitazione sulla tastiera.

Correzioni di bug

  • I ruoli di base di Surface e contenitore Surface sono stati leggermente modificati, fornendo una tonalità più intensa nei temi chiaro e scuro. (I677a5)
  • I colori del cursore e di ProgressIndicator sono stati aggiornati in base alle nuove specifiche di contrasto non testuale. (I26807)
  • Aggiorna l'overlay dello stato attivo a 0,1 f per garantire un contrasto cromatico sufficiente. (I7ea77)
  • Piccoli aggiustamenti ai valori predefiniti del colore della superficie e dello sfondo in lightColorScheme e darkColorScheme. (I9db52)

Versione 1.3.0-alpha02

6 marzo 2024

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

Modifiche alle API

  • Rendere di nuovo stabili gli stati del cursore. Impostazione di State.onValueChangeFinished come val di nuovo. Wrapping 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 perché stiamo modificando state.onValueChangeFinished in var. (Ied34a, b/322269951)
  • La specifica dell'animazione ModalBottomSheet e StandardBottomSheet ora è TweenSpec, aggiornata da un'animazione con effetto molla. In questo modo viene risolto un problema di overshoot visibile. I costruttori SheetState senza densità sono stati rimossi. (I7babc, b/285847707)

Correzioni di bug

  • Ora i componenti utilizzano le varianti SurfaceContainer. I componenti che in precedenza calcolavano il colore con Surface e TonalElevation ora utilizzano per impostazione predefinita i ruoli SurfaceContainer, che non sono interessati dall'elevazione tonale. (b/304584161)
  • È stato corretto un bug che causava la visualizzazione in nero del colore del contenitore non selezionato e disattivato di ElevatedFilterChip. (I400e6, b/322407043)
  • Correzione dell'indicatore di avanzamento indeterminato quando l'avanzamento è 0 (Id6582)
  • Risolto un problema con Slider e RangeSlider nel layout RTL (Iab0e1)
  • Aggiunta di SliderRangeTolerance per il calcolo dell'intervallo del cursore, poiché l'arrotondamento dei numeri in virgola mobile può essere impreciso. (Ic918a, b/324934900)
  • Assicurati che DatePickerDialog mostri i pulsanti quando nidifichi un DateRangePicker o quando visualizzi qualsiasi tipo di selettore di date su schermi piccoli con caratteri più grandi. (Ie4758, b/325107799, b/277768544)
  • Menu ora utilizza il 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 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 dei fogli inferiori e il colore della maniglia di trascinamento. (I72a0a)
  • Il colore del contenitore RichTooltip ora è SurfaceContainer. (Ia8b45)
  • Il colore del contenitore SearchBar ora è SurfaceContainerHighest. SearchBarDefaults.TonalElevation è ora 0.dp. (I88604)
  • L'opzione di aggiornamento è disattivata e le tracce/icone non selezionate sfruttano il ruolo del colore SurfaceContainerHighest. (I7687a)
  • Il colore del contenitore AlertDialog ora è SurfaceContainerHigh. (Ie0433)
  • Il colore del contenitore BottomAppBar ora è SurfaceContainer. Il colore TopAppBar onScroll ora è SurfaceContainer. (I41630)
  • Il colore del contenitore ElevatedCard ora è SurfaceContainerLow. FilledCard's container color of SurfaceContainerHighest. (I35141)
  • Il colore del contenitore ElevatedButton ora è SurfaceContainerLow. FilledIconButton ora hanno un colore del contenitore SurfaceContainerHighest quando non sono selezionati. (I792c9)
  • Aggiorna il colore del contenitore TimePicker e il ruolo del colore del quadrante dell'orologio a SurfaceContainerHighest. (I43b93)

Versione 1.3.0-alpha01

21 febbraio 2024

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

Nuove funzionalità

  • Aggiorna Compose M3 ModalBottomSheet per supportare la navigazione predittiva su U+ (Iccf32, b/281967264, b/304850357)
  • Aggiornamento di Compose M3 SearchBar per supportare il gesto indietro predittivo su U+ (I657f8)
  • Il cursore è stato aggiornato per migliorare l'accessibilità aggiungendo un indicatore di intervallo e di arresto. (I3058e)
  • Aggiornamento di ProgressIndicator per migliorare l'accessibilità aggiungendo un indicatore di interruzione e spazio. (I21451)
  • L'aggiunta di un cursore predefinito per la descrizione comando avanzata, la nuova API per la descrizione comando avanzata ora consente di disegnare un cursore personalizzato dato l'ancoraggio LayoutCoordinates. (Ifd42c)

Modifiche al comportamento

  • I componenti Material sono stati migrati per utilizzare le nuove API ripple e non eseguono più query su RippleTheme.

Modifiche alle API

  • Il divertente drawStopIndicator è ora pubblico. (I3f59f)
  • Contrassegna la funzione formatWithSkeleton 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 espongono un MutableInteractionSource nella loro API sono stati aggiornati in modo da esporre ora un MutableInteractionSource nullable che ha come valore predefinito null. Non sono state apportate modifiche semantiche: il passaggio di null significa che non vuoi sollevare MutableInteractionSource e verrà creato all'interno del componente, se necessario. Se viene impostato su null, alcuni componenti non allocano mai un MutableInteractionSource, mentre altri creano un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi MutableInteractionSource che trasmetti a questi componenti, ti consigliamo di trasmettere null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (I41abb, b/298048146)
  • Aggiunge RippleConfiguration e LocalRippleConfiguration per consentire la personalizzazione per componente / sottoalbero delle increspature utilizzando valori fissi. Ad esempio, per modificare il colore di un componente che non controlli o per disattivare un effetto increspatura per un componente. Nella maggior parte dei casi, è necessario utilizzare i valori predefiniti: queste API sono una scappatoia per la personalizzazione di singoli componenti / sottoalberi limitati. Per modifiche più ampie e sistemi di progettazione personalizzati, devi creare il tuo effetto increspatura utilizzando createRippleModifierNode. (I7b5d6, b/298048146)
  • Aggiunge una nuova API ripple in Material3 che sostituisce rememberRipple deprecato. Aggiunge anche un CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare l'utilizzo delle API rememberRipple / RippleTheme deprecate per i componenti Material3. Questo elemento verrà rimosso nella prossima release stabile ed è inteso solo come ausilio temporaneo per la migrazione nei casi in cui fornisci un RippleTheme personalizzato. (I34cbc, b/298048146)

Correzioni di bug

  • Rimossa la composizione secondaria all'interno di ModalBottomSheet per migliorare le prestazioni. Risolto un problema per cui ModalBottomSheet poteva arrestarsi in modo anomalo in scenari specifici in combinazione con LookaheadScope. (I2a198)
  • Rimossa la composizione secondaria all'interno di BottomSheetScaffold per migliorare le prestazioni. Risolto un problema per cui BottomSheetScaffold si arrestava in modo anomalo in scenari specifici in combinazione con LookaheadScope. (Ie6401)
  • L'allineamento del badge viene regolato in modo che sia più vicino al centro del contenuto di ancoraggio rispetto all'angolo in alto a destra. (I18a28)
  • Risolto un problema di accessibilità con DateRangePicker in cui il titolo di testo Mese-Anno veniva comunicato come azionabile agli utenti di screen reader, Switch Access e Voice Access. (I2ac55)
  • Corretto il bug dell'ordine dei parametri mediumTopAppBarColors. (Ibe64a)

Versione 1.2

Versione 1.2.1

6 marzo 2024

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

Correzioni di bug

  • Rendi di nuovo stabili gli stati del cursore. Impostazione di State.onValueChangeFinished come val di nuovo. Wrapping di onValueChangeFinished in un rememberUpdatedState. (Ie8fd0, b/322269951)
  • Rimozione di @Stable dagli stati di Slider perché stiamo modificando state.onValueChangeFinished in var. (I82ba1, b/322269951)
  • Correggi NavigationBar colori personalizzati da copiare dai valori predefiniti. (80a779, b/326894020)
  • Correzione della regressione in ExposedDropdownMenu per renderlo nuovamente selezionabile (3fcec1, b/323694447)
  • Correzione del problema di memorizzazione nella cache del colore del pulsante Correggi (3e5bbcb/327371655)

Versione 1.2.0

7 febbraio 2024

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

Problema noto

  • In PrimaryTabRow è stato introdotto un bug di rendering dell'interoperabilità View-Compose nell'ambito di una modifica per il miglioramento del rendimento. La soluzione alternativa è utilizzare TabRow con TabRowDefaults.PrimaryIndicator

Modifiche importanti dalla versione 1.1.0

Nuovi componenti Material Design 3

Miglioramenti ai componenti Material Design 3 esistenti.

API sperimentali promosse a stabili.

Miglioramenti delle prestazioni

Versione 1.2.0-rc01

24 gennaio 2024

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

Correzioni di bug

  • Corretto il bug dell'ordine dei parametri mediumTopAppBarColors. (Ibe64a)
  • È stato corretto un bug introdotto nella versione 1.2.0-beta02 di CardDefaults.cardColors che non aggiornava contentColor in base al valore del parametro containerColor. (Iee041, b/319671246)
  • È stato corretto un bug in disabledContentColor introdotto in 1.2.0-beta02 ed è stata aggiunta una piccola ottimizzazione. (I6dda1, b/318428829)

Versione 1.2.0-beta02

10 gennaio 2024

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

Bug noto

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

Modifiche alle API

  • Aggiunta della funzionalità per abilitare i simboli di inserimento della descrizione comando per le API Plain Tooltip. (Ibf767)
  • SwipeToDismissState, rememberSwipeToDismiss e SwipeToDismissValue sono stati rinominati in modo da avere _SwipeToDismissBox_. (I68d6d)

Correzioni di bug

  • È stato corretto il valore del padding finale ListItem in modo che sia in linea con le specifiche. (Ibd68b, b/305342674)
  • Il colore del contorno della scheda con contorno ora è mappato correttamente su OutlineVariant. (I75480, b/310979715)
  • Il colore dinamico ora viene estratto dai ruoli di colore definiti dal sistema. In questo modo, il contrasto dei contenuti accessibili viene migliorato e il colore dinamico viene allineato più fedelmente alle specifiche di Material. (I1de96)
  • È stata corretta la gestione del pulsante Indietro ModalBottomSheet su Android T/13+ quando android:enableOnBackInvokedCallback="true". (I728dc, b/306196110)

Versione 1.2.0-beta01

13 dicembre 2023

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

Modifiche alle API

  • Contrassegna TabIndicatorScope come sperimentale. (I45c88)
  • Rimozione delle API sperimentali obsolete per la descrizione comando. (I438cb)
  • Modifica i nuovi sovraccarichi di TabRow in modo che non utilizzino le sottocomposizioni. Ciò comporta un modo diverso di creare gli indicatori TabRow con i modificatori personalizzati forniti. (Ife741)
  • Ritira le API DismissDirection e DismissValue. Questi 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. Le funzionalità di risparmio e costruzione deprecate di DismissState sono state rimosse. I componenti SwipeToDismiss, state e defaults sono stati contrassegnati come sperimentali. (Ib54f2)

Correzioni di bug

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

Versione 1.2.0-alpha12

29 novembre 2023

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

Modifiche alle API

  • RangeSlider ora accetta un intervallo Kotlin (ad es. 0f..1f) anziché una classe di valori FloatRange personalizzata. SnapFlingBehavior.kt ora utilizza anche un intervallo Kotlin. (I025cb)
  • Contrassegna le funzioni di fabbrica dei modificatori come @Stable. (Ib109f)

Versione 1.2.0-alpha11

15 novembre 2023

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

Nuove funzionalità

  • Implementa PullToRefreshContainer e PullToRefreshState, che insieme forniscono un'implementazione di pull to refresh 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 lambda content finale. (I7f4d3)
  • Rendi pubblico il costruttore per 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. Questi nuovi valori booleani aiutano a determinare come il foglio modale inferiore deve gestire gli eventi IME. (Iea56f, b/278216859)
  • Sono stati aggiornati gli stati RangeSlider e Slider per rimuovere initialOnValueChange, i prefissi iniziali e i kdoc appropriati. (I57d30)
  • Ritiro della classe ChipBorder e delle relative chiamate di funzioni, consigliando invece l'utilizzo diretto di BorderStroke. (I89cc2)
  • Le API Foundation Tooltip ora sono @ExperimentalFoundationApi. (I30b0b)
  • TabRow e ScrollableTabRow non sono più ritirati. Le nuove varianti principale e secondaria sono contrassegnate come sperimentali. (I0def6)
  • I chip di filtro e input ora utilizzano direttamente BorderStroke. (I07a8d)
  • SegmentedButton ora utilizza BorderStroke direttamente. (I89b9b)
  • È stata rinominata la funzione generica AlertDialog in BasicAlertDialog ed è stata ritirata la funzione precedente. (Idbe52)
  • Rinomina le API SwipeToDismiss in SwipeDismiss e promuovi le nuove API SwipeDismiss alla versione stabile. (I14cbe)
  • Aggiunta di tonalElevation e shadowElevation alle API dei suggerimenti. Inoltre, le API TooltipBox, PlainTooltip e RichTooltip sono state riportate alla fase sperimentale, in quanto sono state rilasciate per errore come stabili. (If0f66, b/293939035)
  • Promuovere le API chip sperimentali a stabili. (Iea2c3)
  • È stata rimossa l'annotazione @ExperimentalMaterial3Api dalle schede cliccabili Material3. (I88dbf)

Correzioni di bug

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

Versione 1.2.0-alpha10

18 ottobre 2023

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

Modifiche alle API

  • Promozione di Badge 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 prendono progress come lambda. Queste dovrebbero essere più performanti delle versioni precedenti. (I824e6, b/295616656)
  • Rinomina StandardSizeClasses in AllSizeClasses. (I8cb07)
  • Combina le funzioni di calcolo delle classi di dimensioni della finestra. (Iad935)

Correzioni di bug

  • Correzione di un arresto anomalo di DatePicker quando si fa clic rapidamente sui pulsanti freccia di navigazione quando il mese visualizzato si trova al limite dell'intervallo di anni consentito. (I46f36, b/290954897, b/297002119)
  • [Barra di navigazione] Supporta il colore trasparente per l'indicatore. (Ie0a9b, b/267289987)

Versione 1.2.0-alpha09

4 ottobre 2023

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

Modifiche alle API

  • È stata eseguita la migrazione di ModalNavigationDrawer e DismissibleNavigationDrawer per utilizzare le nuove API AnchoredDraggable. animateTo di DrawerState è stato sostituito dai metodi open e close e l'offset ora viene esposto come float anziché come oggetto di stato. Puoi accedere all'offset direttamente tramite currentOffset. (I0a72c)
  • Sono state aggiunte funzioni non componibili per creare direttamente un DatePickerState e un DateRangePickerState. Queste funzioni possono essere utilizzate come alternativa alle funzioni componibili rememberDatePickerState e rememberDateRangePickerState, se necessario. (I70326, b/291524052)
  • Le varianti Fissa e Scorrevole TabRows ora hanno varianti principali e secondarie. Questi corrispondono correttamente al comportamento del colore e dell'indicatore definito in Material3.
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow ora espongono lo stato di scorrimento. (Iec8f5, b/260572337)
  • Aggiunta di un nuovo parametro sheetMaxWidth che gli sviluppatori possono impostare per specificare una larghezza massima che il foglio occuperà. Dp.Unspecified può essere passato per il parametro se si desidera un foglio che si estenda per l'intera larghezza dello schermo. (Ifb7c9, b/266697696)
  • Aggiunta delle API PlainTooltipBox e RichTooltipBox come metodi ritirati. (I246fa)

Correzioni di bug

  • È stato risolto un arresto anomalo quando DatePicker viene inizializzato con un DatePickerFormatter che presenta determinati scheletri di date che rimangono invariati quando vengono convertiti in pattern di date (ad esempio AA). (I01f29)

Versione 1.2.0-alpha08

20 settembre 2023

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

Modifica che provoca un errore nel comportamento

  • ColorScheme ora è immutabile, il che rende meno efficienti gli aggiornamenti dei singoli colori, ma rende più efficiente l'utilizzo più comune dei colori. Il motivo di questa modifica è che la maggior parte delle app non ha l'aggiornamento dei singoli colori come caso d'uso principale. È ancora possibile, ma la ricomposizione sarà maggiore rispetto a prima, il che ridurrà significativamente il numero di abbonamenti allo stato in tutto il codice Material e influirà sul costo di inizializzazione e runtime di casi d'uso più standard. (Ic447d, b/297212873)
  • L'elevazione tonale non viene più animata in diversi stati di interazione per corrispondere alle specifiche. (Icdd12)

Modifiche alle API

  • È stato aggiunto un nuovo BottomAppBar che accetta come parametro un BottomAppBarScrollBehavior per nasconderlo automaticamente quando i contenuti vengono scorri. È stato aggiunto anche FabPosition.EndOverlay che consente al pulsante di azione rapida di sovrapporsi alla barra delle app inferiore nello scaffold anziché essere ancorato sopra. (Iecb47)
  • È stato aggiunto un semplice componente Etichetta basato su BasicTooltipBox che non viene chiuso quando si tocca al di fuori dei limiti dell'etichetta. (I821f9)

Correzioni di bug

  • È stato rimosso l'utilizzo di rememberSaveable per le descrizioni comando. (Icc131, b/299500338)
  • È stato introdotto un flag temporaneo per controllare se lo scaffolding deve misurare i suoi elementi secondari durante la misurazione o il posizionamento. Per impostazione predefinita, la misurazione viene effettuata in unità di misura. Se riscontri problemi con il nuovo comportamento, segnala un problema. (I0b354)
  • Bordo orizzontale fisso da bordo a bordo in BottomSheet utilizzando la misurazione corretta per la larghezza dello schermo del dispositivo. (I1df0c, b/299058752)
  • È stato corretto un bug per cui ModalBottomSheet non chiamava onDismissedRequest quando veniva chiuso scorrendo verso il basso sul foglio. (Idfdd8)

Versione 1.2.0-alpha07

6 settembre 2023

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

Nuove funzionalità

  • Il supporto delle icone con mirroring automatico è stato aggiunto in compose material 1.6.0-alpha05. Per maggiori dettagli, consulta le note di rilascio.

Modifiche alle API

  • SliderState implementa DraggableState (I9b116)
  • Modifica la forma in modo che sia un parametro obbligatorio. Rinomina position in index nella funzione helper della forma. (I34941)
  • Aggiorna DatePicker formatWithSkeleton per includere una mappa utilizzata come cache per migliorare il rendimento. (I3195f)
  • È stato aggiunto BasicTooltipBox a compose.foundation e sono stati aggiornati PlainTooltipBox e RichTooltipBox per utilizzare TooltipBox con i nuovi composable PlainTooltip e RichTooltip. (I79e1d)

Correzioni di bug

  • dynamicLightColorScheme e dynamicDarkColorScheme ora restituiscono colori con una croma più elevata per i ruoli di superficie e surfaceContainer. (I5e901)
  • È stato risolto un problema per cui alcuni componenti che utilizzano Subcomposition (ad es. BottomSheetScaffold) all'interno di uno Scaffold all'interno di un LookaheadScope tentavano di leggere le proprie dimensioni troppo presto. (I297b4, I871f1, b/295536718)

Versione 1.2.0-alpha06

23 agosto 2023

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

Correzioni di bug

  • È stato corretto il calcolo di offset di DropdownMenu in modo che gli offset x dipendano esclusivamente dalla direzione del layout locale e gli offset y non vengano più invertiti quando il menu si trova vicino alla parte inferiore dello schermo. (Iccc74, b/294103942)
  • È stato corretto il calcolo di offset di DropdownMenu in modo che gli offset x dipendano esclusivamente dalla direzione del layout locale e gli offset y non vengano più invertiti quando il menu si trova vicino alla parte inferiore dello schermo. (Ib87a2, b/294103942)

Versione 1.2.0-alpha05

9 agosto 2023

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

Modifiche alle API

  • Aggiornamenti dei colori della casella di controllo e di TriStateCheckbox. CheckboxDefaults.colors() disabledUncheckedColor ora influisce solo sul bordo della casella di controllo. I casi speciali che richiedono di impostare il colore della casella interna quando è disattivata e deselezionata richiedono un'istanza di CheckboxColors creata in modo personalizzato con i valori di colore desiderati. (I77d17, b/291943198)

Versione 1.2.0-alpha04

26 luglio 2023

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

Nuove funzionalità

  • API Segmented Button sperimentale (Ifc8fb)
  • Ora i divisori hanno un parametro per controllare l'orientamento e supportare i divisori verticali. (I4c899, b/288438593)

Modifiche alle API

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

Correzioni di bug

Versione 1.2.0-alpha03

21 giu 2023

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

Modifiche al comportamento

  • includeFontPadding ora è false per impostazione predefinita nella tipografia Material 3. Anche lo stile dell'altezza della linea predefinita è stato modificato in Trim.None e Alignment.Center e sono stati aggiunti lineHeight espliciti (in sp) ai TextStyle di Typography. Consulta la documentazione dell'API se vuoi personalizzare questi valori e leggi il post del blog per una spiegazione dettagliata di queste modifiche. (I6266f, Icabc3)

Nuove funzionalità

  • È stato aggiunto un overload per RangeSlider che è una versione con stato del componente. Creato RangeSliderState che contiene tutte le informazioni per la traccia attiva corrente, le misurazioni dei componenti del RangeSlider e la logica di trascinamento e gesti. (I8c270)
  • Ora la barra di ricerca supporta le ombreggiature tramite il parametro shadowElevation appena aggiunto. (Ia5369, b/271040353)
  • ColorScheme ora supporta i nuovi SurfaceContainerruoli.
  • Ora la sovrapposizione dell'elevazione tonale della superficie può essere disattivata con la composizione locale LocalTonalElevationEnabled. (Ic203c, b/277774590)

Modifiche alle API

  • Apri i costruttori dei colori dei componenti. (I8c4a6)
  • Aggiunta del parametro focusable a entrambe le API tooltip, in modo che gli sviluppatori possano fare in modo che il tooltip utilizzi o meno gli eventi tocco. Tieni presente che questa operazione potrebbe interrompere l'attraversamento automatico della messa a fuoco dell'accessibilità. (Ie32d8)
  • Accessibilità ottimizzata per le prestazioni e le allocazioni di memoria. (Iede48)
  • Esporre DefaultSizeClasses e creare StandardSizeClasses per WindowSizeClasses (I91838)
  • modifica WindowWidth/HeightSizeClass in classi di valori float (Ie686e)

Correzioni di bug

  • Il parametro contentWindowInsets di Scaffold ora rispetta gli inset della finestra consumati. Tieni presente che il comportamento del padding dei contenuti in base a topBar e bottomBar rimane invariato quando vengono forniti questi parametri. (I08b73, b/264601542)
  • Correggi l'allineamento della barra delle app in alto al centro per assicurarti che un titolo lungo non venga visualizzato sopra le icone delle azioni o l'icona di navigazione. (I4369f, b/236994621)
  • Le posizioni delle schede ora impongono una larghezza minima dei contenuti di 24 dp. In questo modo viene fornito un target tocco accessibile per gli indicatori delle schede. (Id8861)
  • Le tavolozze di colori dinamiche di dynamicLightColorScheme e dynamicDarkColorScheme ora supportano nuovi ruoli di superficie. (I1252e)
  • Aggiornamento dell'allineamento della notifica del badge in modo che non venga troncata quando si scontra con il bisnonno. (Idf75a)

Versione 1.2.0-alpha02

24 maggio 2023

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

Modifiche alle API

  • Aggiungi il parametro degli inserti della finestra a ModalBottomSheet.
    • Ora la sfumatura per ModalBottomSheet può essere disegnata dietro la barra di stato con windowInsets impostato su zero
    • Funzionalità ModalBottomSheet predefinita aggiornata per rimanere al di fuori delle barre di sistema, inclusa la navigazione
    • La gestione dell'inset della barra di stato viene fornita dalla maniglia di trascinamento in modalità edge-to-edge.
    • BottomSheetDefaults include i riquadri delle finestre per BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
  • Ritira Indicator e aggiungi Primary/SecondaryIndicator in modo che corrispondano alle specifiche di M3. PrimaryIndicator corrisponde alla larghezza dei contenuti della scheda, mentre SecondaryIndicator copre l'intera larghezza disponibile. SecondaryIndicator è equivalente alla proprietà Indicator, ora ritirata, e può sostituirla direttamente. (I27604)
  • È stata aggiunta un'opzione per passare un ScrollState durante la creazione di un DropdownMenu o di un ExposedDropdownMenu per controllare lo stato di scorrimento verticale delle voci di menu visualizzate. (Ia0734, b/185304441)
  • È stato aggiunto un overload per Slider che è una versione con stato del componente. Creato SliderState che contiene tutte le informazioni per la traccia attiva corrente, le misurazioni dei componenti del Slider e la logica di trascinamento e gesti. (I124a5)
  • Ridenominazione della proprietà Semantica isContainer in isTraversalGroup (I121f6)
  • È stato aggiunto TextStyle.merge(...) ottimizzato con l'elenco completo dei parametri. (Iad234, b/246961787)
  • Sono state create interfacce pubbliche TooltipState, RichTooltipState e PlainTooltipState. Sono stati aggiunti RichTooltipStateImpl e PlainTooltipStateImpl per gli stati predefiniti. Sono state aggiunte funzioni remember*State per ottenere questi stati implementati. TooltipSync rimosso a favore di TooltipDefault.GlobalMutatorMutex. (I7813d)
  • È stato aggiornato il DatePickerColors per includere opzioni di personalizzazione aggiuntive per il divisore, la navigazione e i colori dei campi di input di testo del selettore della data. (I1a685, b/274626815)
  • DatePickerState e DateRangePickerState sono ora interfacce pubbliche con implementazioni predefinite che possono essere recuperate da rememberDatePickerState e rememberDateRangePickerState. (I71c52)
  • È stato rimosso dateValidator da DatePicker e DateRangePicker ed è stata introdotta un'interfaccia SelectableDates che può essere impostata sullo stato per controllare quali date o anni sono selezionabili nell'interfaccia utente. (Ic2fc6)
  • TimePicker rimosso dall'API stabile, sono previste ulteriori modifiche nell'API State (I3f39a)
  • ModalBottomSheet spostato solo su Android. ModalBottomSheet non è consigliato per l'utilizzo su computer e la funzionalità non è più mantenuta in modo attivo. (Ib3778)

Correzioni di bug

  • È stata corretta l'AlertDialog azione di chiusura in modo che venga visualizzata sotto l'azione di conferma quando le azioni sono impilate l'una sull'altra per adattarsi alla larghezza della finestra di dialogo. Questa correzione allinea l'implementazione alle specifiche di Material Design. (I029de, b/235454277)
  • È stato corretto un bug in ListItem che utilizzava un padding errato per gli elementi pubblicitari di tre righe. (I6e235)
  • ModalBottomSheet ora può visualizzare la tastiera IME (Idc508, b/262140644, b/268380384, b/272483584)

Versione 1.2.0-alpha01

10 maggio 2023

androidx.compose.material3:material3:1.2.0-alpha01 e androidx.compose.material3:material3-window-size-class:1.2.0-alpha01 sono stati rilasciati. La versione 1.2.0-alpha01 contiene questi commit.

Versione 1.1

Versione 1.1.2

20 settembre 2023

androidx.compose.material3:material3:1.1.2 e androidx.compose.material3:material3-window-size-class:1.1.2 sono stati rilasciati. La versione 1.1.2 contiene questi commit.

Correzioni di bug

  • È stato corretto il modificatore passato in modo errato a due composable. (b/282761472)
  • Fixed TimePickerState restituisce ore errate se inizializzato con 23 ore. (b/278242122)
  • Stato iniziale fisso dell'opzione di attivazione/disattivazione per la convalida di mezzogiorno e dei minuti. (b/269768197, b/282790635)
  • È stato corretto il problema per cui state.hour restituiva un valore errato per le 23:00. (b/282761472, b/278242122)

Versione 1.1.1

21 giu 2023

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

Correzioni di bug

  • Aggiunge la chiamata per ModalBottomSheet senza il parametro windowInset per la compatibilità binaria. (Ib7959)
  • Aggiungi il parametro degli inserti della finestra a ModalBottomSheet.
    • Ora la sfumatura per ModalBottomSheet può essere disegnata dietro la barra di stato con windowInsets impostato su zero
    • Funzionalità ModalBottomSheet predefinita aggiornata per rimanere al di fuori delle barre di sistema, inclusa la navigazione
    • La gestione dell'inset della barra di stato viene fornita dalla maniglia di trascinamento in modalità edge-to-edge.
    • BottomSheetDefaults include i riquadri delle finestre per BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)

Versione 1.1.0

10 maggio 2023

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

Funzionalità principali della versione 1.1.0

Nuovi componenti Material Design 3

Miglioramenti ai componenti Material Design 3 esistenti.

API sperimentali promosse a stabili.

Per saperne di più, consulta questo post del blog.

Versione 1.1.0-rc01

19 aprile 2023

androidx.compose.material3:material3:1.1.0-rc01 e androidx.compose.material3:material3-window-size-class:1.1.0-rc01 sono stati rilasciati. La versione 1.1.0-rc01 contiene questi commit.

Modifiche alle API

  • TimePicker rimosso dall'API stabile, sono previste ulteriori modifiche nell'API State (I3f39a)
  • ModalBottomSheet spostato solo su Android. ModalBottomSheet non è consigliato per l'utilizzo su computer e la funzionalità non è più mantenuta in modo attivo. (Ib3778)

Versione 1.1.0-beta02

5 aprile 2023

androidx.compose.material3:material3:1.1.0-beta02 e androidx.compose.material3:material3-window-size-class:1.1.0-beta02 sono stati rilasciati. La versione 1.1.0-beta02 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

  • Non passare dal quadrante delle ore a quello dei minuti quando l'esplorazione tramite tocco è attiva. (I717d0)
  • Le semantiche dei punti di trascinamento ModalBottomSheet e BottomSheetScaffold sono ora unite. (I05afb)
  • I parametri BottomSheetScaffold, containerColor e contentColor ora influiscono solo sui contenuti. (I992cb)
  • BottomSheetScaffold nestedScroll per i contenuti del foglio ora implementa gli scorrimenti. (I992cb)

Versione 1.1.0-beta01

22 marzo 2023

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

Modifiche alle API

  • Aggiungi il parametro del tipo di layout al composable TimePicker. Consente di utilizzare layout diversi, a seconda della configurazione dello schermo (Ia0e16).
  • SearchBarDefaults è stato contrassegnato come sperimentale. (I65561)
  • Aggiunta elevazione ombra a BottomSheetScaffold (I94e0f)
  • È stato aggiunto il supporto per la visualizzazione dei selettori di date senza la parte dell'intestazione. Modifiche all'API per consentire il passaggio di un titolo nullo durante la creazione di un selettore della data. Ora puoi passare il titolo, l'intestazione e showToggleMode = false nulli per visualizzare un selettore headless. (Id3f3a, b/266132421, b/267194809)

Correzioni di bug

  • Ora le barre di ricerca perdono automaticamente lo stato attivo quando vengono disattivate. (I22a7c, b/261444487)
  • È stato aggiornato il DateRangePicker per consentire la selezione di un intervallo con la stessa data di inizio e di fine. (I16529, b/272882497)
  • I campi di testo ora posizionano correttamente gli elementi di testo quando la dimensione del carattere è inferiore al previsto. Ciò potrebbe comportare una modifica di alcuni pixel nelle app in base alle impostazioni del carattere e allo script. (I8b8d0)
  • Le azioni semantiche del riquadro inferiore ora hanno etichette. (I277b0)

Versione 1.1.0-alpha08

8 marzo 2023

androidx.compose.material3:material3:1.1.0-alpha08 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha08 sono stati rilasciati. La versione 1.1.0-alpha08 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il supporto per BottomSheetScaffold e BottomSheetScaffoldState. (I063d4)

Modifiche alle API

  • È stata aggiunta la funzionalità a DatePickerState e DateRangePickerState per consentire l'impostazione delle date dopo la creazione iniziale dello stato, nonché il ripristino delle selezioni impostando timestamp nulli. L'impostazione manuale delle date deve essere eseguita con cautela e la nuova funzione setSelection genererà un'eccezione nel caso in cui una data fornita non soddisfi una precondizione (vedi documentazione). (Ifa645, b/268609314, b/270427389)
  • Rinomina Collapsed SheetValue in PartiallyExpanded per rappresentare in modo più preciso e flessibile il comportamento in questo stato. (Ia1491)
  • I nomi dei parametri ListItem sono stati aggiornati a _content anziché _text. I getter predefiniti ora sono ReadOnlyComposables, se pertinente. (I69a25)
  • Rendere disponibili le API interattive di Surface in versione non sperimentale. (I90d59, b/261561812)

Correzioni di bug

  • Risolto un problema per cui lo stato di ModalBottomSheet di HalfExpanded veniva calcolato in modo errato e il foglio sembrava fluttuare. (I45e84, b/268411386)
  • Aggiungi il controllo confirmValueChange al tocco dello scrim per ModalBottomSheet. (I2311a, b/270425759)
  • Sposta le azioni semantiche BottomSheet sul punto di manipolazione di trascinamento. (I158ba)
  • ModalBottomSheet ora comanda la messa a fuoco all'avvio e gestisce il pulsante Indietro. (I4d2ab)
  • ModalBottomSheet onDismissRequest ora viene gestito anche durante gli scorrimenti rapidi nidificati. (I655c5, b/268433166)

Versione 1.1.0-alpha07

22 febbraio 2023

androidx.compose.material3:material3:1.1.0-alpha07 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha07 sono stati rilasciati. La versione 1.1.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Aggiungi un elemento componibile di input dell'ora che funziona con rememberTimePickerState(), segue le specifiche M3 per l'input dell'ora (Ia4fab)
  • È stata aggiunta un'API Material 3 DateRangePicker per selezionare un intervallo di date. (I7a6c3, b/267194809)
  • È stato aggiunto il supporto di una modalità di input Material 3 per la selezione degli intervalli di date tramite l'API DateRangePicker. (Ifdbc4)
  • I colori dei campi di testo ora consentono la personalizzazione:
    • I colori del campo di input e del testo segnaposto in base allo stato di messa a fuoco ed errore. Il parametro textColor è stato rinominato 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 del campo di testo del menu a discesa esposto sono stati aggiornati con parametri per supportare la nuova API per prefissi e suffissi. (I9c8b4, b/254284181, b/264766350)

Modifiche alle API

  • Ripristino di alcune versioni dell'API Slider e rimozione degli overload ridondanti di Slider coperti dal nuovo Slider sperimentale con cursore e traccia personalizzati. Promuovere RangeSlider per renderlo stabile. (Ie8fbd)
  • Rinominate defaultElevation in elevation nelle funzioni di elevazione del chip. (I0f872)
  • Le seguenti API per i campi di testo Material 3 non sono più sperimentali: TextField, OutlinedTextField, textFieldWithLabelPadding, textFieldWithoutLabelPadding, outlinedTextFieldPadding. (Ieb5c0, b/261561819)
  • TimePickers is24Hour utilizza l'impostazione di sistema (I18856)
  • Rimossa l'annotazione sperimentale dalle API di scaffolding. (Ibb51e, b/261565765, b/261436953)

Correzioni di bug

  • La forma predefinita di ModalBottomSheet è ora sempre SheetDefaults.ExpandedShape. (I0dfca)
  • Miglioramenti dell'accessibilità per Material 3 DatePicker e DateRangePicker. (I5087e)
  • È stato corretto un bug per cui il vincolo di altezza massima viene propagato e potrebbe causare un arresto anomalo. (I30d8c)
  • Rimozione dei ruoli semantici dalle superfici selezionabili e su cui è possibile fare clic, aggiornamento dei componenti che li utilizzavano per impostare i ruoli utilizzando modifier.semantics (I793d9)

Versione 1.1.0-alpha06

8 febbraio 2023

androidx.compose.material3:material3:1.1.0-alpha06 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha06 sono stati rilasciati. La versione 1.1.0-alpha06 contiene questi commit.

Nuove funzionalità

  • I campi di testo ora supportano il testo del prefisso e del suffisso (Ia8578, b/179884561)
  • È stata aggiunta una funzione TimePicker per mostrare un selettore dell'ora in conformità alla specifica Material 3, utilizzata insieme a TimePickerState e al metodo di convenienza rememberTimePickerState (I71910).
  • L'inserimento di una data ora è una modalità di visualizzazione in DatePicker. È stato aggiunto il supporto per passare dalla modalità di selezione della data alla modalità di inserimento della data. (Ieeff7)
  • È stata aggiunta l'API per RichTextTooltips. (I58ef3)
  • Implementazione del foglio inferiore modale per Material 3, inclusi ModalBottomSheet e ModalBottomSheetDefaults. Introduce anche SheetState e rememberSheetState, che possono essere utilizzati per i futuri componenti del foglio. (I0853a, b/244189383)

Modifiche alle API

  • Stabilizzazione dell'API showSnackbar (I195c2, b/261424370)
  • Stabilizzazione delle API per il chip di assistenza e il chip di suggerimento (Ibb67b, b/261424370)
  • Promuove le API ListItem, ListItemDefaults e ListItemColors a non sperimentali (I7e7fa, b/261438882)
  • Promozione di SliderPositions, SliderDefaults.Thumb e SliderDefaults.Track a versioni stabili e aggiunta delle API Slider e RangeSlider non sperimentali che contengono miniature e tracce personalizzate. Inoltre, verranno ritirate le API Slider e RangeSlider precedenti. (Ie5ea6, b/261566890)
  • Reso pubblico Modifier.tooltipAnchor(), in modo che gli sviluppatori possano passarlo all'ancora per indicare che deve essere visualizzata una descrizione comando con la pressione prolungata. L'API PlainTooltipBox è stata aggiornata in modo che TooltipState non sia più annullabile e ora abbia un valore predefinito. (Ie2fb7)
  • ProgressIndicatorDefaults.circularTrackColor è stato contrassegnato come @Composable per coerenza. (Id29cc)
  • Ripristina il getter della proprietà LocalMinimuTouchTargetEnforcement, contrassegnalo come ritirato e reindirizza 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 sono stati rilasciati. La versione 1.1.0-alpha05 contiene questi commit.

Nuove funzionalità

  • DatePickerDialog e supporto per l'accessibilità
  • Aggiunta di miniatura e traccia personalizzate a RangeSlider.

Aggiornamenti delle dipendenze

Versione 1.1.0-alpha04

11 gennaio 2023

androidx.compose.material3:material3:1.1.0-alpha04 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha04 sono stati rilasciati. La versione 1.1.0-alpha04 contiene questi commit.

Nuove funzionalità

  • API DatePicker iniziale per la selezione di una singola data tramite un'interfaccia utente del calendario. Questa API è ancora in fase di modifica. (I722b9)
  • È stato aggiunto il supporto per le descrizioni comando semplici tramite PlainTooltipBox. (I0cdfb)
  • Barra di ricerca (Iad128)
  • SwipeToDismiss (I458a8, b/242889540)

Modifiche alle API

  • Aggiunta della proprietà semantica IsContainer sulle piattaforme. Questa proprietà verrà utilizzata in una modifica successiva che determina l'ordine di attraversamento in base al significato semantico di elementi come le superfici. (I63379)
  • Contrassegna le API correlate al riquadro di navigazione come stabili. (Iab01e, b/261439597)
  • È stato aggiunto un parametro per il colore della traccia per gli indicatori di avanzamento circolari e un parametro per la chiusura del tratto per gli indicatori di avanzamento circolari e lineari. (Ie668c, b/216325962, b/222964817)
  • Maggiore annullabilità del tipo restituito delle funzioni ritirate e nascoste (Ibf7b0)
  • Aggiungi Modifier.minimumInteractiveComponentSize. Può essere utilizzato per riservare almeno 48 dp di dimensione per disambiguare le interazioni touch se l'elemento dovesse misurare meno. (I33f58, b/258495559)
  • Aggiunta di un'API sperimentale per il composable AlertDialog che ha uno slot di contenuti. (Iec4a2)

Correzioni di bug

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

Problema noto

  • Quando esegui l'aggiornamento da androidx.compose.foundation:1.4.0-alpha03 a androidx.compose.foundation:1.4.0-alpha04, potresti riscontrare un errore java.lang.NoSuchFieldError. Qui è stato segnalato il problema originariamente. È stata inviata una correzione, che sarà disponibile nel prossimo aggiornamento di Compose. Come soluzione alternativa, aggiorna le librerie androidx.compose.material e androidx.compose.material3 all'ultima versione(1.1.0-alpha04) o 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 sono stati rilasciati. La versione 1.1.0-alpha03 contiene questi commit.

Modifiche alle API

  • È stato rinominato consumedWindowInsets() in consumeWindowInsets() e withConsumedWindowInsets() in onConsumedWindowInsetsChanged() e sono stati resi pubblici i modificatori. (Ie44e1)
  • Aggiungi un nuovo padding predefinito dei contenuti per il pulsante di testo con l'icona da utilizzare. (I8f662)
  • Sono stati aggiunti i colori disattivati per la barra di navigazione e la rotaia. (Ia7892, b/258867034)
  • È stata aggiunta un'API Modifier per eseguire query sulle informazioni di scorrimento degli elementi principali. (I2ba9d, b/203141462)
  • Utilizzato in Clickable per ritardare correttamente le interazioni di pressione, quando i gesti potrebbero diventare eventi di scorrimento.
  • È stato corretto il problema per cui Clickables non ritardava correttamente gli effetti ripple quando veniva utilizzato all'interno di un Scrollable ViewGroup.
  • Aggiornamento di riquadri e fogli per ritardare correttamente le pressioni nel caso in cui i gesti possano diventare eventi di scorrimento.

Aggiornamenti delle dipendenze

  • Compose UI e Compose Material ora dipendono da Lifecycle 2.5.1. (I05ab0, b/258038814)

Versione 1.1.0-alpha02

9 novembre 2022

androidx.compose.material3:material3:1.1.0-alpha02 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha02 sono stati rilasciati. La versione 1.1.0-alpha02 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

  • Ritaglia i contenuti di un IconButton e di un IconToggleBotton Material3 in base alla forma del livello di stato del componente (ad es. forma circolare). (I9da8f)
  • Aggiorna le barre delle app superiori medie e grandi di Material3 per applicare lo stesso colore di sfondo su tutta la superficie e per consentire di sostituire i colori predefiniti con valori di colore trasparenti. (I67659, b/249688556, b/250838918)

Versione 1.1.0-alpha01

24 ottobre 2022

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

Correzioni di bug

  • Correzioni alla barra delle app superiore quando il titolo viene applicato con uno stile di testo e un pennello. (If667e)

Versione 1.0

Versione 1.0.1

9 novembre 2022

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

Correzioni di bug

  • Aggiorna le barre delle app superiori medie e grandi di Material3 per applicare lo stesso colore di sfondo su tutta la superficie e per consentire di sostituire i colori predefiniti con valori di colore trasparenti. (I67659, b/249688556, b/250838918)

Versione 1.0.0

24 ottobre 2022

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

Funzionalità principali della versione 1.0.0

Questa è la prima release stabile di Compose Material 3.

Temi Material Design 3 e colore dinamico Material You

Componenti Material Design 3

Classe di dimensioni dello schermo

  • material3-window-size-class è una nuova libreria che fornisce supporto per le classi di dimensioni delle finestre: un insieme di punti di interruzione dell'area visibile per progettare, sviluppare e testare layout di applicazioni ridimensionabili. Puoi utilizzare calculateWindowSizeClass per recuperare un'istanza della classe di dimensioni della finestra, che puoi utilizzare per determinare l'aspetto dell'interfaccia utente, ad esempio mostrando una barra di navigazione anziché la navigazione in basso per le dimensioni della finestra più grandi. Per ulteriori informazioni e un esempio di utilizzo, consulta la documentazione di riferimento dell'API per WindowSizeClass.

  • Per saperne di più, consulta questo post del blog.

Versione 1.0.0-rc01

5 ottobre 2022

androidx.compose.material3:material3:1.0.0-rc01 e androidx.compose.material3:material3-window-size-class:1.0.0-rc01 sono stati rilasciati. La versione 1.0.0-rc01 contiene questi commit.

Modifiche alle API

  • Aggiunto il parametro slot per supportare l'API del campo di testo (Iaac0d, b/227146125)

Versione 1.0.0-beta03

21 settembre 2022

androidx.compose.material3:material3:1.0.0-beta03 e androidx.compose.material3:material3-window-size-class:1.0.0-beta03 sono stati rilasciati. La versione 1.0.0-beta03 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

  • Mappatura dei colori del tema scuro aggiornata per On Error Container al tono 90 (Ic5612)
  • Correzione per consentire l'impostazione di uno sfondo trasparente per le piccole barre delle app superiori Material 3. (I645e2, b/245575782)

Versione 1.0.0-beta02

7 settembre 2022

androidx.compose.material3:material3:1.0.0-beta02 e androidx.compose.material3:material3-window-size-class:1.0.0-beta02 sono stati rilasciati. La versione 1.0.0-beta02 contiene questi commit.

Modifiche alle API

  • I componenti predefiniti in beta01 non tengono più conto degli inset IME.
  • Il componente Material3 Scaffold ora ha un parametro contentWindowInsets, che consente di specificare la quantità di rientri da gestire per lo slot dei contenuti. (Icf11a, b/243713323)
  • Ritira la funzione sperimentale Material 3 SmallTopAppBar e introduce una funzione TopAppBar equivalente. Esegui la migrazione del tuo utilizzo al nuovo. (I74404, b/226918634)
  • Aggiunge il controllo sui comportamenti di scorrimento e aggancio della barra delle app superiore. (I15c81)
  • Rimuove startIndent da Divider, sposta il colore nell'ultimo parametro. (If7be2)

Correzioni di bug

  • Fai in modo che le finestre di dialogo si identifichino per gli utenti di TalkBack annunciando la parola Finestra di dialogo quando vengono visualizzate. (I857ef)

Versione 1.0.0-beta01

24 agosto 2022

androidx.compose.material3:material3:1.0.0-beta01 e androidx.compose.material3:material3-window-size-class:1.0.0-beta01 sono stati rilasciati. La versione 1.0.0-beta01 contiene questi commit.

Riferimento API

Per visualizzare i temi, i componenti e gli altri composable più recenti disponibili, consulta la panoramica del riferimento API di Compose Material 3.

Modifiche alle API

  • È stata aggiornata la barra delle app superiore Material 3 in modo che si chiuda completamente o si estenda completamente. Inoltre, è stata aggiornata la funzione di comportamento TopAppBarDefaults in modo che sia componibile e fornisca valori predefiniti per lo stato della barra delle app superiore e la specifica dell'animazione. (I642b3)
  • Firme del componente FAB aggiornate in modo che corrispondano all'API di superficie (I3afaa)
  • Aggiunto il supporto integrato per le barre delle app nella parte superiore, i riquadri estraibili, la barra di navigazione e la barra laterale. Questi componenti, se utilizzati separatamente o con Scaffold, gestiranno automaticamente gli inset per gli sviluppatori. Nota: questa modifica non aggiunge la gestione automatica delle icone della barra di stato e della trasparenza delle barre di stato e di navigazione. Continua a farlo manualmente per garantire la migliore esperienza da bordo a bordo. (I7e4e6, b/183161866)
  • I valori predefiniti dei componenti aggiornati riducono la superficie API per una maggiore flessibilità e miglioramenti delle prestazioni futuri. (I31820)
  • Riorganizzazione dei parametri del chip e del foglio del riquadro di navigazione per mantenere la coerenza all'interno dell'API (I45d0b)
  • È stato rimosso startIndent dal divisore e il colore è stato spostato come ultimo parametro.(If7be2)

Versione 1.0.0-alpha16

10 agosto 2022

androidx.compose.material3:material3:1.0.0-alpha16 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha16 sono stati rilasciati. La versione 1.0.0-alpha16 contiene questi commit.

Nuove funzionalità

  • Supporta la specifica di una larghezza personalizzata in un riquadro di navigazione. (Ia7f10)

Modifiche alle API

  • Riordina i parametri delle schede Scheda e Icona iniziale per mantenere la coerenza all'interno dell'API (Ie2637)
  • BadgeDefaults contrassegnato come sperimentale. (I98ef3)
  • Rimuovi la funzione del riquadro di navigazione a scomparsa ritirata. (I4f2db)
  • Riordina i parametri del cursore in Material 3 per mantenere la coerenza all'interno dell'API (I0aee7)
  • Riordina i parametri NavigationBar e NavigationRail per mantenere la coerenza all'interno dell'API (I51cda)
  • Riordina i parametri in Material 3 per mantenere la coerenza nell'API. (If4ae1)
  • Riordina i parametri del cursore in Material 3 per mantenere la coerenza all'interno dell'API (I62673)
  • Il parametro delle icone è stato rinominato in azioni per coerenza con la barra delle app superiore (Id75be).
  • Contrassegna Badge e BadgedBox come sperimentali perché l'allineamento dell'ancora è ancora in fase di definizione. (I1712e, b/236524516)
  • Modifica le annotazioni @ExperimentalMaterial3Api nelle varianti del pulsante dell'icona in @OptIn (I070b5)
  • Il contenuto di un riquadro di navigazione è stato separato nel proprio elemento componibile per supportare la specifica di una larghezza personalizzata. (Ia7f10)
  • Rimuove Divider 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 sono stati rilasciati. La versione 1.0.0-alpha15 contiene questi commit.

Nuove funzionalità

  • Consenti di trascinare la barra delle app superiore dalla barra stessa. (I65c00, b/205873416)

Modifiche alle API

  • Aggiornamenti delle API FilterChip e ElevatedFilterChip per rimuovere lo slot selectedIcon e promuovere il riutilizzo di leadingIcon per visualizzare uno stato selezionato. (Ie5dc2)
  • Aggiungi ruoli di colore per le varianti di contorno e velatura. (Id6d54)
  • Correggi le convenzioni di denominazione per i valori predefiniti componibili. (I62b27)
  • Contrassegna ListItemDefaults e ListItemColors come sperimentali. (I1f3ec)
  • Modifiche all'API della barra delle app superiore per riflettere meglio il significato delle proprietà di stato. Inoltre, contrassegna l'API della barra delle app superiore come sperimentale. (Ic0ad8)
  • I colori di selezione del testo sono stati aggiunti a TextFieldColors per una migliore visibilità. (Iba1b8)
  • Aggiunta di ButtonDefault.ButtonWithIconContentPadding da utilizzare con i pulsanti che contengono un'icona. (I2bf9c)
  • I campi di testo sono stati contrassegnati come sperimentali per consentire una maggiore flessibilità nelle future modifiche all'API. (I127b5)
  • È stata rimossa l'annotazione @ExperimentalMaterial3Api dalla funzione Checkbox. (I5eefc)
  • È stata rimossa l'annotazione @ExperimentalMaterial3Api dalla funzione RadioButton. (I17e2a)
  • Rimossa l'annotazione @ExperimentalMaterial3Api dalle schede non interattive. (I9bd49)
  • Aggiorna vari oggetti predefiniti dei componenti in modo da includere colori, forme e così via. (I96e11)

Correzioni di bug

  • Sono state rimosse le icone finali non funzionanti dagli esempi di chip di input per evitare confusione per gli utenti nell'app catalogo. (I9846a)

Versione 1.0.0-alpha14

29 giugno 2022

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

Nuove funzionalità

  • È stata aggiunta l'implementazione dell'elenco M3. Per un esempio di utilizzo, consulta la documentazione (Id7a20).

Modifiche alle API

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

Correzioni di bug

  • Aggiorna l'esempio di badge per fornire una descrizione dei contenuti più significativa. (I10b9d)
  • Aggiunge l'opzione per utilizzare le dimensioni del carattere di sistema nel selettore di temi del catalogo Material 3. (I10605)
  • Aggiunge codice di esempio per badge e indicatori di avanzamento indeterminati. (I8fbe0)

Versione 1.0.0-alpha13

1 giugno 2022

androidx.compose.material3:material3:1.0.0-alpha13 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha13 sono stati rilasciati. La versione 1.0.0-alpha13 contiene questi commit.

Modifiche alle API

  • Supporta il mantenimento della posizione della barra delle app superiore in caso di modifica della configurazione. (I10459, b/216160958)

Versione 1.0.0-alpha12

18 maggio 2022

androidx.compose.material3:material3:1.0.0-alpha12 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha12 sono stati rilasciati. La versione 1.0.0-alpha12 contiene questi commit.

Correzioni di bug

  • Ora il contenitore principale del cursore può avere larghezza 0. (b/231707291)

Versione 1.0.0-alpha11

11 maggio 2022

androidx.compose.material3:material3:1.0.0-alpha11 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha11 sono stati rilasciati. La versione 1.0.0-alpha11 contiene questi commit.

Nuove funzionalità

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

Modifiche alle API

  • Rinomina il composable TextFieldDefaults.BorderStroke che disegna un tratto del bordo in OutlinedTextField in TextFieldDefaults.BorderBox. (I5f295)
  • Modifiche visive di Switch m3 (Iab30e)
  • Consente di passare i colori ai pulsanti delle icone standard. (Ia2445)

Correzioni di bug

  • Aggiungi il controllo lint a material3/Scaffold per assicurarti che venga utilizzato il padding interno (I72293, b/226951418)

Versione 1.0.0-alpha10

20 aprile 2022

androidx.compose.material3:material3:1.0.0-alpha10 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha10 sono stati rilasciati. La versione 1.0.0-alpha10 contiene questi commit.

Nuove funzionalità

  • material3-window-size-class è una nuova libreria che fornisce supporto per le classi di dimensioni delle finestre: un insieme di punti di interruzione dell'area visibile per progettare, sviluppare e testare layout di applicazioni ridimensionabili. Puoi utilizzare calculateWindowSizeClass per recuperare un'istanza della classe di dimensioni della finestra, che puoi utilizzare per determinare l'aspetto dell'interfaccia utente, ad esempio mostrando una barra di navigazione anziché la navigazione in basso per le dimensioni della finestra più grandi. Per ulteriori informazioni e un esempio di utilizzo, consulta la documentazione di riferimento dell'API per WindowSizeClass. Per ulteriori informazioni sulle definizioni delle classi di dimensioni delle finestre, consulta le linee guida pubbliche sul supporto di diverse dimensioni dello schermo.

Modifiche alle API

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

Correzioni di bug

  • Aggiornamenti allo standard IconButton per allinearlo alla specifica Material3. (I09eab)
  • Sposta l'altezza della barra superiore di Scaffold di Material3 nel padding passato ai contenuti, consentendo il rendering dei contenuti sotto la barra superiore dell'app. Se i PaddingValues vengono ignorati, i contenuti potrebbero essere oscurati dalla barra superiore. (I83cbc, b/217776202)

Versione 1.0.0-alpha09

6 aprile 2022

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

Nuove funzionalità

  • Aggiunta dell'API Material 3 Switch (I2c3ad)

Modifiche alle API

  • È stato aggiunto il supporto per i menu a discesa con campi di testo (ovvero "menu a discesa esposti" o "caselle combinate"). (I1b832)
  • Aggiunto il parametro shape ai sottosistemi MaterialTheme e Shape. (I37426)
  • È stato aggiunto un parametro espanso a ExtendedFloatingActionButton per controllare se il FAB è espanso o compresso, con animazioni tra ogni stato. È stato aggiunto l'overflow del pulsante di azione rapida esteso per i pulsanti di azione rapida estesi con testo finale per i pulsanti di azione rapida estesi senza icona. (Iba7f1)

Versione 1.0.0-alpha08

23 marzo 2022

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

Nuove funzionalità

Modifiche alle API

  • Aggiungi divisore predefinito per il menu (I01374)
  • Aggiunto il parametro di colore surfaceTint alla classe ColorScheme. (I2f558)

Correzioni di bug

  • Correzione del pulsante Material3 per leggere il valore dello stile di testo predefinito da MaterialTheme. (Ie62fc)

Versione 1.0.0-alpha07

9 marzo 2022

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

Modifiche alle API

  • Aggiornamenti all'API Surface di Material 3 che ripristina le funzioni sovraccariche per le superfici selezionabili, oltre ad aggiungere una funzione per supportare le superfici selezionabili e attivabili/disattivabili. (I4bf18)
  • LazyVerticalGrid e LazyHorizontalGrid ora sono stabili. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid e tutte le API correlate sono state spostate nel sottopacchetto .grid. Aggiorna le importazioni da androidx.compose.foundation.lazy ad androidx.compose.foundation.lazy.grid. (I2d446)
  • È stato ripristinato il precedente cambiamento di affidarsi esclusivamente a una View per WindowInsetsControllerCompat ed è nuovamente necessario un Window, che è necessario per gestire alcuni flag della finestra. ViewCompat.getWindowInsetsController è stato ritirato a favore di WindowCompat.getInsetsController per garantire che venga utilizzata la finestra corretta (ad esempio se la visualizzazione si trova in una finestra di dialogo). (I660ae, b/219572936)
  • È stata aggiunta una nuova API LazyVerticalGrid per definire le dimensioni dell'asse trasversale (I17723)

Correzioni di bug

  • Aggiornamenti all'API Card per seguire le modifiche all'API Surface (I3c8b9)

Versione 1.0.0-alpha06

23 febbraio 2022

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

Modifiche alle API

  • Viene aggiunto NavigationDrawerItem, che rappresenta una singola destinazione all'interno dei riquadri (Ic396f, b/218286829)
  • PermanentNavigationDrawer e DismissibleNavigationDrawer sono state aggiunte come API sperimentali. Questi sono i riquadri adatti ai dispositivi con schermi di grandi dimensioni. (I5f8ab, b/218286829)
  • Aggiunge il supporto della barra delle app inferiore Material 3 (Ic432a)
  • NavigationDrawer è stato rinominato in ModalNavigationDrawer (I1807d, b/218286829)
  • Aggiunta della classe e dei token dello slider Material 3 (I1ccee)
  • È stata aggiunta l'implementazione delle schede. Per un esempio di utilizzo, consulta la documentazione (Ie0146).

Correzioni di bug

  • È stato risolto un problema per cui la navigazione lineare dello screen reader TalkBack selezionava un titolo vuoto della barra delle app superiore. (Id4690)
  • Aggiunta di IconSize a 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 ritirata. La versione 1.0.0-alpha05 contiene questi commit.

Nuove funzionalità

Sono stati aggiunti componenti Material Design 3

Modifiche alle API

  • Funzione Surface ritirata che accetta un callback onClick. Le superfici cliccabili devono essere create con un InteractionSource e un Modifier.clickable(). (I211c6)
  • Aggiunto il supporto dell'elevazione premuta e attiva per il FAB. (Ibb584)
  • È stata modificata l'API Surface per ricevere un InteractionSource che consente di controllare il suo aspetto in stati diversi. (Iafbc8)

Correzioni di bug

  • Aggiunti colori terziari mancanti nelle combinazioni di colori dinamiche (I456c4, b/214588434)

Versione 1.0.0-alpha04

26 gennaio 2022

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

Modifiche alle API

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

Correzioni di bug

  • Aggiorna il colore di un contenitore TextButton's disattivato in modo che sia trasparente (I6b248, b/213339737)

Versione 1.0.0-alpha03

12 gennaio 2022

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

Correzioni di bug

Aggiornamenti delle dipendenze

  • Ora dipende da Kotlin 1.6.10.

Versione 1.0.0-alpha02

1° dicembre 2021

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

Nuove funzionalità

  • Aggiungi il supporto per le caselle di controllo e i pulsanti di opzione.
  • Aggiornato per essere compatibile con Kotlin 1.6.0

Modifiche alle API

  • Rimuovi il riquadro dallo scaffold di Material 3. (I04f51)
  • Aggiunge il supporto di Material 3 Checkbox. (Id5542)
  • Aggiunge il supporto di Material 3 RadioButton. (I20334)

Correzioni di bug

  • Riduzione del raggio dell'effetto increspatura di IconButton da 40 dp a 20 dp. (I68bbe, b/206674345)
  • Percorso rapido della stringa della porta per Text modificato da compose.material (I30b03)
  • È stato corretto il pulsante hardcoded in modo che sia sempre attivo. (Iea832, b/205335456)

Versione 1.0.0-alpha01

27 ottobre 2021

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

Nuove funzionalità

Temi Material Design 3 e colore dinamico Material You

Componenti Material Design 3

Per saperne di più, consulta la sezione Material Design 3 e Material You nella guida ai temi di Material in Compose.