Componi Material 3

Crea UI di Jetpack Compose con Material Design 3 Components, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati, nonché funzionalità di personalizzazione di Material You, come il colore dinamico, ed è progettato per essere coerente con il nuovo stile visivo e la nuova UI di sistema di Android 12.
Aggiornamento più recente Release stabile Candidato per l'uscita Versione beta Release alpha
4 settembre 2024 1.3.0 - - -

Struttura

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

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

GruppoDescrizione
compose.animationCrea animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente.
compose.compilerTrasforma le funzioni @Composable e abilita le ottimizzazioni con un plug-in del compilatore Kotlin.
compose.foundationScrivi applicazioni Jetpack Compose con componenti di base pronti all'uso ed estende le basi per creare i tuoi componenti di sistema di progettazione.
compose.materialCrea UI di Jetpack Compose con componenti Material Design pronti per l'uso. Si tratta del punto di ingresso di livello superiore di Compose, progettato per fornire componenti corrispondenti a quelli descritti all'indirizzo www.material.io.
compose.material3Crea UI di Jetpack Compose con Material Design 3 Components, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati, nonché funzionalità di personalizzazione di Material You, come il colore dinamico, ed è progettato per essere coerente con il nuovo stile visivo e la nuova UI di sistema di Android 12.
compose.runtimeComponenti di base di base del modello di programmazione e della gestione dello stato di Compose, nonché del runtime principale per il targeting del plug-in Compose Compiler.
compose.uiI componenti fondamentali dell'interfaccia utente di scrittura erano necessari per interagire con il dispositivo, tra cui layout, disegno e input.

Dichiarazione delle dipendenze

Per aggiungere una dipendenza su Compose, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

Alla moda

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

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.

Crea un nuovo numero

Consulta la documentazione di Issue Tracker per ulteriori informazioni.

Compose Material3 Common Version 1.0

Versione 1.0.0-alpha01

17 aprile 2024

Vengono rilasciate le funzionalità 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. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

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

Compose Adaptive Navigation Suite di Material3 versione 1.0

Versione 1.0.0-alpha07

1° maggio 2024

Vengono rilasciate le funzionalità 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. La versione 1.0.0-alpha07 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

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

Versione 1.0.0-alpha06

17 aprile 2024

Vengono rilasciate le funzionalità 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. 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

Vengono rilasciate le funzionalità 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. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche alle API

Versione 1.0.0-alpha04

21 febbraio 2024

Vengono rilasciate le funzionalità 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. La versione 1.0.0-alpha04 contiene questi commit.

Aggiornamenti delle dipendenze

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

Versione 1.0.0-alpha03

7 febbraio 2024

Vengono rilasciate le funzionalità 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. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • Aggiorna il nome del pacchetto alla suite di navigazione dalla suite di navigazione (I7eff7)
  • I componenti Material3 che espongono un MutableInteractionSource nella relativa API sono stati aggiornati per esporre un MutableInteractionSource con valore nullo che, per impostazione predefinita, è null. Non ci sono modifiche semantiche: passare un valore nullo significa che non vuoi issare MutableInteractionSource e, se necessario, verrà creato all'interno del componente. Il passaggio a null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi il valore MutableInteractionSource che passi a questi componenti, ti consigliamo di trasmettere un valore nullo. È inoltre consigliabile apportare modifiche simili nei tuoi componenti. (I41abb, b/298048146)

Versione 1.0.0-alpha02

13 dicembre 2023

Vengono rilasciate le funzionalità 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. La versione 1.0.0-alpha02 contiene questi commit.

Nuove funzionalità

Correzioni di bug

  • Correggi il problema 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

Viene rilasciato androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01. 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

Vengono rilasciate le funzionalità 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. La versione 1.0.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Aggiunte ulteriori opzioni di comportamento per la navigazione a ritroso di ThreePaneScaffoldNavigator. (I858aa)
  • Sono stati aggiunti contenuti facoltativi della destinazione alla cronologia di navigazione. (Ibd7e6).

Versione 1.0.0-alpha05

24 gennaio 2024

Vengono rilasciate le funzionalità 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. La versione 1.0.0-alpha05 contiene questi commit.

Nuove funzionalità

  • Supporta la notorietà della cronologia nella navigazione dello scaffold e il calcolo del valore (I71d46)

Versione 1.0.0-alpha04

10 gennaio 2024

Vengono rilasciate le funzionalità 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. La versione 1.0.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Aggiunto supporto edge-to-edge negli scaffolds riquadro (I1b462)

Modifiche alle API

  • Le proprietà dei limiti della cerniera in Postura sono state spostate in un elenco di informazioni sulla cerniera (I24f90)

Correzioni di bug

  • La correzione AnimatedPane non è ricomposta (c3f573d)

Versione 1.0.0-alpha03

13 dicembre 2023

Vengono rilasciate le funzionalità 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. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

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

Versione 1.0.0-alpha02

29 novembre 2023

Vengono rilasciate le funzionalità 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. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche alle API

  • Suddividi le API di navigazione dalle API adattive di scaffold. (Ic4045)
  • Rimuovi GutterSize corso. (I785b3)

Correzioni di bug

  • I riquadri corretti non vengono scambiati quando non viene utilizzato AnimatedPane (d88f181)

Versione 1.0.0-alpha01

15 novembre 2023

Viene rilasciato androidx.compose.material3:material3-adaptive:1.0.0-alpha01. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

API per le condizioni adattive Material3:

API delle direttive scaffold del riquadro adattivo Material3:

API di scaffold del riquadro adattivo Material3:

Compose Material3 versione 1.3

Versione 1.3.0

4 settembre 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

Caratteristiche principali di 1.3.0

Nuovi componenti di Material Design 3

  • Carosello
  • [ModalBottomSheet] ora supporta il servizio predittivo su U+ (Iccf32, b/281967264, b/304850357)
  • [SearchBar] ora supporta il servizio predittivo su U+ (I657f8)
  • Il riquadro di navigazione a scomparsa (ModalDrawerSheet e DismissibleDrawerSheet) ora supporta la funzionalità Indietro predittivo su U+ come opzione di attivazione (Ie5b0b)
  • DropdownMenu ora supporta colori, forma, elevazione e bordo personalizzati. (I8e981,b/289554448, b/301887035, b/283654243)
  • Dispositivo di scorrimento aggiornato per migliorare l'accessibilità aggiungendo un indicatore di intervallo e di interruzione. (I3058e)
  • Aggiornamento di ProgressIndicator per migliorare l'accessibilità aggiungendo un indicatore di intervallo e di fermata. (I21451)
  • È stato aggiunto un cursore predefinito per una descrizione comando avanzata; supporta la creazione di un cursore personalizzato per l'ancoraggio LayoutCoordinates. (Ifd42c). Modifiche che provocano un errore
  • Nuove API pull-to-refresh:
    • È stato semplificato il metodo PullToRefreshState per utilizzare valori frazionari anziché unità Dp.
    • Lo stato isRefreshing è controllato dall'utente anziché da PullToRefreshState.
    • La connessione di scorrimento nidificata è stata separata da PullToRefreshState. Viene gestito dal nuovo PullToRefreshBox o Modifier.pullToRefresh.
    • Questo aggiornamento è una modifica che provoca un errore delle API sperimentali precedenti. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Modifiche visive
  • Aggiorna l'overlay dello stato dello stato attivo su 0,1 f per garantire un contrasto di colore sufficiente. (I7ea77).
  • Piccole modifiche ai valori predefiniti dei colori della superficie e dello sfondo in lightColorScheme e darkColorScheme. (I9db52)
  • I colori del dispositivo di scorrimento e di ProgressIndicator sono stati aggiornati per rispettare le nuove specifiche relative al contrasto dei contenuti non testuali. (I26807)
  • I componenti ora utilizzano SurfaceContainer varianti. I componenti che calcolavano formalmente il colore con Surface e TonalElevation ora utilizzano i ruoli SurfaceContainer per impostazione predefinita, che non sono interessati dall'elevazione tonale. (b/304584161)
  • I ruoli di base dei container Surface e Surface sono stati leggermente modificati, fornendo più tonalità con i temi chiari e scuri. (I677a5)
  • Le API sperimentali sono state promosse come stabili.
  • Miglioramenti delle prestazioni

Versione 1.3.0-rc01

21 agosto 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-rc01. La versione 1.3.0-rc01 contiene questi commit.

Correzioni di bug

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

Versione 1.3.0-beta05

24 luglio 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-beta05. La versione 1.3.0-beta05 contiene questi commit.

  • È stato risolto il problema per cui i contenuti BottomSheet non erano presenti o tagliati su Android N e O (a10a2d)
  • Sono stati aumentati i limiti di semantica del cursore per consentire a TalkBack di mostrare correttamente gli indicatori di stato attivo attorno ai pollici. (0b5a1d).

Versione 1.3.0-beta04

26 giugno 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-beta04. La versione 1.3.0-beta04 contiene questi commit.

Versione 1.3.0-beta03

12 giugno 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-beta03. La versione 1.3.0-beta03 contiene questi commit.

Contributo esterno

  • Rendi disponibile androidx.compose.material3.DropdownMenu da un insieme di origini comuni. (If62c0).

Versione 1.3.0-beta02

29 maggio 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-beta02. 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 siano abilitate a valori booleani anziché lambda. Supporta l'allineamento dei contenuti in PullToRefreshBox (I75679)
  • È in corso la creazione di un'interfaccia protetta per TooltipScope e la creazione di un'implementazione interna da utilizzare in TooltipBox ed Label. (I3833e)
  • 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 l'applicazione di stili ai link: spostamento di TextLinkStyles in TextStyle e rimozione di TextDefaults dal materiale. (I5477b)

Correzioni di bug

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

Contributo esterno

  • Rendi disponibile androidx.compose.material3.AlertDialog da un set di origini comuni (Ia33f5)
  • Rendi disponibile ModalBottomSheet da un set di origine comune (Id7cc7)

Versione 1.3.0-beta01

14 maggio 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-beta01. La versione 1.3.0-beta01 contiene questi commit.

Modifiche alle API

  • In uso: DpSize anziché CaretProperties. Rimozione di CaretProperties in corso... Rinomina CaretScope in TooltipScope. (Id9a76)
  • È stata aggiornata l'API per ricevere link con temi Material nel testo. In particolare, sono stati rimossi i metodi da TextDefaults per la creazione di LinkAnnotations a tema e l'analisi dell'HTML con link a tema. È stata invece aggiunta una classe TextLinkStyles che consente di definire lo stile dei link come parametro del Testo componibile. (I31b93)

Versione 1.3.0-alpha06

1° maggio 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-alpha06. La versione 1.3.0-alpha06 contiene questi commit.

Modifiche che provocano l'interruzione

  • Nuove API pull-to-refresh:

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

Modifiche alle API

  • RippleConfiguration#isEnabled è stato rimosso e LocalRippleConfiguration è stato reso null. Per disattivare un eco, invece di fornire un RippleConfiguration con isEnabled = false, specifica null a LocalRippleConfiguration. (I22725)
  • ModalBottomSheet disegna in modo più accurato la cornice sulla barra di stato quando i bordi è attivato. I contenuti modali del foglio inferiore ora possono consumare riquadri delle finestre, consentendo contenuti visibili sopra la barra di navigazione. Il parametro ModalBottomSheet windowInsets è stato rinominato in contentWindowInsets per specificare dove verranno applicati i riquadri, che non sono più legati alla logica delle finestre. Il tipo contentWindowInsets è stato modificato in una funzione che restituisce WindowInsets, per consentirne la risoluzione nella nuova finestra. (I39630, b/274872542, b/300280229, b/290893168)
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow ora utilizzano il layout personalizzato anziché la sottocomposizione, il che dovrebbe migliorare le prestazioni. (I991e0)
  • Per i link di testo è stata attivata l'opzione di stile per lo stato selezionata, oltre allo stile normale, con il passaggio del mouse e lo stato attivo. TextDefaults di metodi hanno ciascuno un argomento pressedStyle a supporto. (Ic473f, b/139312671)

Correzioni di bug

  • Gli ancoraggi di trascinamento del riquadro di navigazione a scomparsa ora corrispondono alla larghezza di drawerContent. (Ibc72f, b/245355396)
  • La spaziatura interna superiore OutlinedTextField per l'etichetta ora tiene conto delle dimensioni dei caratteri del sistema. (Idc781)
  • È stata corretta la posizione del pacchetto CalendarLocale. (Ifa235).
  • [Predictive Back] Aggiorna le animazioni predittive Indietro per usare la curva di interpolazione di (0,1, 0,1, 0, 1) (I2591a)

Versione 1.3.0-alpha05

17 aprile 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-alpha05. La versione 1.3.0-alpha05 contiene questi commit.

Nuove funzionalità

  • SearchBar e DockedSearchBar hanno nuovi sovraccarichi che utilizzano un parametro del campo di testo. In questo modo è possibile definire il campo di testo separatamente dal resto della barra di ricerca, nonché passare in campi di testo personalizzati. Il campo di testo dell'implementazione corrente è stato reso disponibile come SearchBarDefaults.InputField. (I50c73, b/275074248, b/278773336, b/326627700)
  • Il drawTick lambda è stato aggiunto all'API pubblica per personalizzare i segni di graduazione se necessario (I0c048)

Modifiche alle API

  • Per i link di testo è stata attivata l'opzione di stile con stato premuto oltre allo stile normale, con passaggio del mouse e elemento attivo (I5f864, b/139312671)
  • Aggiornamento di CarouselItemInfo aggiornato per esporre una maschera Rect mediante il ritaglio dell'elemento (I785d8)
  • BasicTooltipState rimosso dall'API pubblica Material 3. La sua funzionalità viene combinata con TooltipState fino a quando il BasicTooltip dell'elemento di base non sarà stabilizzato. (Icda29)
  • È stato aggiunto un oggetto TextDefaults contenente metodi per creare una LinkAnnotation e analizzare una stringa con tag HTML che applica MaterialTheme ai link (I98532, b/139312671)
  • ExposedDropdownMenuBoxScope non consente più le sottoclassi. Ora i menu a discesa esposti hanno un elemento MenuAnchorType che deve essere trasmesso a menuAnchor per supportare una migliore accessibilità. Deve essere utilizzato invece di passare focusable a ExposedDropdownMenu, che ora è deprecato. menuAnchor ha un nuovo parametro per controllare lo stato enabled. (I55ee6, b/257209915, b/308840226)
  • È stato corretto il colore del bordo di OutlinedButton quando questa impostazione non era attiva. Aggiunto sovraccarico ButtonDefaults.outlinedButtonBorder("enabled") che richiede lo stato attivato. (Ie650b, b/318461363)
  • È stata aggiunta una nuova classe CarouselItemInfo per aiutare i clienti a ottenere informazioni sulle dimensioni degli articoli. (I9070c)
  • Il costruttore ColorScheme senza container di superficie è ora deprecato. Esegui la migrazione al costruttore che include i container di superficie. (I35c11).
  • [Contorno]TextFieldDefaults ContainerBox rinominato in Container. (Ie8d3b).

Correzioni di bug

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

Versione 1.3.0-alpha04

3 aprile 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-alpha04. La versione 1.3.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Sono state aggiunte due versioni sperimentali del carosello Material3: HorizontalMultiBrowseCarousel e HorizontalUncontainedCarousel (I88d64)
  • Riquadro di navigazione a scomparsa di Compose M3 aggiornato (ModalDrawerSheet e DismissibleDrawerSheet) per supportare l'opzione Indietro predittivo su U+ come opzione di attivazione (Ie5b0b)
  • È stata aggiunta una nuova API nell'icona Icona per consentire il passaggio della tinta del colore come lambda per evitare la ricomposizione. (I5b5a2).
  • Le API della barra delle app principali 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 principali ora supportano altezze personalizzate sia per le sezioni fisse che per quelle comprimibili. È stato risolto un problema che causava la ricomposizione delle barre delle app nella parte superiore di una sola riga durante lo scorrimento dei contenuti. È stato risolto un problema per cui MediumTopAppBar troncava i titoli su dispositivi con impostazioni di visualizzazione/caratteri 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 contrassegnati come stabili. (I5f000)
  • Rimosse le API e le enumerazioni DismissDirection e DismissValue deprecate. (I89ccd)
  • È stato aggiunto un tag sperimentale all'oggetto companion CarouselState del carosello. (I94154)
  • Ritira LocalMinimumInteractiveComponentEnforcement e introdotto LocalMinimumInteractiveComponentSize per sostituirlo. (I7a7ac).
  • Ora il costruttore SearchBarColors è pubblico. (I769ca)
  • Parametro gesturesEnabled aggiunto 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

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-alpha03. La versione 1.3.0-alpha03 contiene questi commit.

Variazioni rivoluzionarie

  • Aggiorna l'overlay dello stato dello stato attivo su 0,1 f per garantire un contrasto di colore sufficiente. (I7ea77).
  • Piccole modifiche ai valori predefiniti dei colori 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 utilizzano campi di testo modificabili. (I4184c, b/323694447, b/278609042)

Modifiche alle API

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

Correzioni di bug

  • I ruoli di base dei container Surface e Surface sono stati leggermente modificati, fornendo più tonalità con i temi chiari e scuri. (I677a5)
  • I colori del dispositivo di scorrimento e di ProgressIndicator sono stati aggiornati per rispettare le nuove specifiche relative al contrasto dei contenuti non testuali. (I26807)
  • Aggiorna l'overlay dello stato dello stato attivo su 0,1 f per garantire un contrasto di colore sufficiente. (I7ea77).
  • Piccole modifiche ai valori predefiniti dei colori della superficie e dello sfondo in lightColorScheme e darkColorScheme. (I9db52)

Versione 1.3.0-alpha02

6 marzo 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-alpha02. La versione 1.3.0-alpha02 contiene questi commit.

Modifiche alle API

  • Rendi nuovamente stabili gli stati del cursore. Cambio di val a State.onValueChangeFinished. Aggregazione di onValueChangeFinished in un rememberUpdatedState. (I82ab2, b/322269951)
  • I componenti Navigazione ora utilizzano i nuovi ruoli SurfaceContainer. DrawerDefaults ora fornisce attributi standardContainerColor e modalContainerColor distinti. DrawerDefaults.ModalDrawerElevation ora è 0.dp. (I7fbac)
  • Rimozione di @Stable dagli stati di Slider in seguito al cambio di state.onValueChangeFinished in var. (Ied34a, b/322269951)
  • Le specifiche dell'animazione ModalBottomSheet e StandardBottomSheet sono ora in formato TweenSpec, aggiornata da un'animazione primaverile. In questo modo viene risolto un problema di overshoot visibile. I costruttori SheetState deprecati senza densità sono ora stati rimossi. (I7babc, b/285847707)

Correzioni di bug

  • I componenti ora utilizzano SurfaceContainer varianti. I componenti che calcolavano formalmente il colore con Superficie e TonalElevation ora utilizzano i ruoli SurfaceContainer per impostazione predefinita, che non sono interessati dall'elevazione tonale. (b/304584161)
  • È stato corretto il bug a causa del quale il colore del contenitore disattivato e non selezionato di ElevatedFilterChip era nero. (I400e6, b/322407043)
  • Correggi l'indicatore di avanzamento indeterminato quando l'avanzamento è 0 (Id6582)
  • È stato risolto un problema relativo a Slider e RangeSlider nel layout RTL (Iab0e1)
  • Aggiunta di SliderRangeTolerance per il calcolo dell'intervallo del cursore poiché l'arrotondamento in virgola mobile può non essere preciso. (Ic918a, b/324934900)
  • Assicurati che DatePickerDialog mostri i propri pulsanti quando nidifica un DateRangePicker o quando visualizzi qualsiasi tipo di selettore della data su schermi piccoli con caratteri più grandi. (Ie4758, b/325107799, b/277768544)
  • Menu ora utilizza il ruolo SurfaceContainer per il colore del contenitore. MenuDefaults.TonalElevation ora è 0.dp. (I135b7).
  • TextField ora utilizza il ruolo SurfaceContainerHighest per il colore del contenitore. (I4dced)
  • I chip con privilegi elevati ora utilizzano il ruolo SurfaceContainerLow (I7cd2f)
  • Il colore del contenitore DatePicker ora è SurfaceContainerHigh. DatePickerDefaults.TonalElevation ora è 0.dp. (Ida753)
  • Aggiorna il colore del contenitore 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)
  • Opzione degli aggiornamenti disattivata e tracce/icone deselezionate per sfruttare 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. Colore del contenitore di FilledCard di SurfaceContainerHighest. (I35141)
  • Il colore del contenitore ElevatedButton ora è SurfaceContainerLow. I valori di FilledIconButton, quando deselezionati, ora hanno il colore del contenitore SurfaceContainerHighest. (I792c9)
  • Aggiorna il ruolo del colore del contenitore TimePicker e del quadrante dell'orologio in SurfaceContainerHighest. (I43b93)

Versione 1.3.0-alpha01

21 febbraio 2024

Viene rilasciato androidx.compose.material3:material3-*:1.3.0-alpha01. La versione 1.3.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Aggiorna Compose M3 ModalBottomSheet per supportare il servizio predittivo su U+ (Iccf32, b/281967264, b/304850357)
  • Aggiornamento di Compose M3 SearchBar per supportare il Predictive Back su U+ (I657f8)
  • Dispositivo di scorrimento aggiornato per migliorare l'accessibilità aggiungendo un indicatore di intervallo e di interruzione. (I3058e)
  • Aggiornamento di ProgressIndicator per migliorare l'accessibilità aggiungendo un indicatore di intervallo e di fermata. (I21451)
  • Aggiungendo un cursore predefinito per la descrizione comando avanzata, la nuova API per la descrizione comando avanzata ora consente di tracciare un cursore personalizzato per l'ancoraggio LayoutCoordinates. (Ifd42c).

Cambiamenti del comportamento

  • È stata eseguita la migrazione dei componenti Material per utilizzare le nuove API Ripple e non eseguire 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 colori, 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 per esporre un MutableInteractionSource con valore nullo che per impostazione predefinita è null. Non ci sono modifiche semantiche: passare un valore nullo significa che non vuoi issare MutableInteractionSource e, se necessario, verrà creato all'interno del componente. Il passaggio a null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi il valore MutableInteractionSource che passi a questi componenti, ti consigliamo di trasmettere un valore nullo. È inoltre consigliabile apportare modifiche simili nei tuoi componenti. (I41abb, b/298048146)
  • Aggiunge RippleConfiguration e LocalRippleConfiguration per consentire la personalizzazione delle onde per componente / sottoalbero utilizzando valori fissi. Ad esempio, per modificare il colore di un componente che non controlli o per disattivare un'eco per un componente. Nella maggior parte dei casi è consigliabile utilizzare i valori predefiniti: queste API rappresentano un'alternativa per la personalizzazione di singoli componenti o di sottoalberi limitati. Per modifiche più ampie e sistemi di progettazione personalizzati, dovresti invece creare il tuo ripple utilizzando createRippleModifierNode. (I7b5d6, b/298048146)
  • Aggiunge una nuova API ripple in material3 che sostituisce l'elemento rememberRipple deprecato. Viene inoltre aggiunto un CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare i componenti material3 in modo che utilizzino le API rememberRipple / RippleTheme deprecate. Verrà rimosso nella prossima release stabile ed è destinato solo a essere un aiuto temporaneo per la migrazione nei casi in cui fornisci un RippleTheme personalizzato. (I34cbc, b/298048146)

Correzioni di bug

  • Rimossa la sottocomposizione all'interno di ModalBottomSheet per migliorare le prestazioni. È stato risolto un problema per cui ModalBottomSheet poteva arrestarsi in modo anomalo in scenari specifici in combinazione con LookaheadScope. (I2a198)
  • Rimossa la sottocomposizione all'interno di BottomSheetScaffold per migliorare le prestazioni. È stato risolto un problema per cui BottomSheetScaffold si arrestava in modo anomalo in scenari specifici in combinazione con LookaheadScope. (Ie6401)
  • L'allineamento del badge è regolato in modo da essere più vicino al centro dei contenuti ancorati rispetto all'angolo in alto a destra. (I18a28)
  • È stato risolto un problema di accessibilità con DateRangePicker in cui il titolo del testo Mese-anno veniva comunicato come utilizzabile dagli utenti dello screen reader, di Switch Access e di Voice Access. (I2ac55).
  • È stato corretto il bug relativo all'ordine dei parametri mediumTopAppBarColors. (Ibe64a)

Versione 1.2

Versione 1.2.1

6 marzo 2024

Viene rilasciato androidx.compose.material3:material3-*:1.2.1. La versione 1.2.1 contiene questi commit.

Correzioni di bug

  • Rendi nuovamente stabili gli stati del dispositivo di scorrimento. Cambio di val a State.onValueChangeFinished. Aggregazione di onValueChangeFinished in un rememberUpdatedState. (Ie8fd0, b/322269951)
  • Rimozione di @Stable dagli stati di Slider in seguito al cambio di state.onValueChangeFinished in var. (I82ba1, b/322269951)
  • Correggi NavigationBar colore personalizzato per copiare dai valori predefiniti. (80a779, b/326894020)
  • Correggi la regressione in ExposedDropdownMenu per renderla di nuovo attivabile (3fcec1, b/323694447)
  • Correggi il problema di memorizzazione nella cache del colore del pulsante (3e5bbcb/327371655)

Versione 1.2.0

7 febbraio 2024

Viene rilasciato androidx.compose.material3:material3-*:1.2.0. 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 delle prestazioni. La soluzione alternativa è utilizzare TabRow con TabRowDefaults.PrimaryIndicator

Modifiche importanti dalla versione 1.1.0

Nuovi componenti di Material Design 3

Miglioramenti ai componenti esistenti di Material Design 3.

Promozione delle API sperimentali allo stato stabile.

Miglioramenti delle prestazioni

Versione 1.2.0-rc01

24 gennaio 2024

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-rc01. La versione 1.2.0-rc01 contiene questi commit.

Correzioni di bug

  • È stato corretto il bug relativo all'ordine dei parametri mediumTopAppBarColors. (Ibe64a)
  • È stato corretto un bug introdotto in 1.2.0-beta02 in CardDefaults.cardColors che non aggiornava contentColor in base al valore del parametro containerColor. (Iee041, b/319671246)
  • È stato corretto un bug in disabledContentColor introdotto in 1.2.0-beta02 e aggiunto una piccola ottimizzazione. (I6dda1, b/318428829)

Versione 1.2.0-beta02

10 gennaio 2024

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-beta02. La versione 1.2.0-beta02 contiene questi commit.

Bug noto

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

Modifiche alle API

  • Aggiunta della funzionalità per abilitare gli accenti delle descrizioni comando per le API Tooltip normali. (Ibf767).
  • SwipeToDismissState, rememberSwipeToDismiss e SwipeToDismissValue sono stati tutti rinominati e hanno _SwipeToDismissBox_. (I68d6d)

Correzioni di bug

  • È stato corretto il valore di spaziatura interna finale di ListItem per allinearlo alle specifiche. (Ibd68b, b/305342674)
  • Il colore dei contorni della scheda con contorni è ora mappato correttamente a OutlineVariant. (I75480, b/310979715)
  • Il colore dinamico ora estrae i ruoli colore definiti dal sistema. In questo modo il contrasto dei contenuti accessibili viene migliorato e il colore dinamico si allinea meglio alla specifica Material. (I1de96)
  • È stata corretta la gestione della parte posteriore di ModalBottomSheet su Android T/13 e versioni successive quando android:enableOnBackInvokedCallback="true". (I728dc, b/306196110)

Versione 1.2.0-beta01

13 dicembre 2023

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-beta01. La versione 1.2.0-beta01 contiene questi commit.

Modifiche alle API

  • Contrassegna TabIndicatorScope come sperimentale. (I45c88)
  • Rimozione delle API sperimentali deprecate per la descrizione comando. (I438cb)
  • Modifica i nuovi overload di TabRow in modo che non vengano utilizzate sottocomposizioni. Il risultato è un modo diverso di creare gli indicatori TabRow con i modificatori personalizzati forniti. (Ife741)
  • Ritira le API DismissDirection e DismissValue. Questi elementi sono stati uniti in SwipeToDismissValue, i cui valori indicano sia la posizione che la direzione di SwipeToDismissBox. DismissState.progress ora è contrassegnato come FloatRange tra il giorno 0.0 e il giorno 1.0. DismissState Le funzionalità di risparmio e costruttore deprecate sono state rimosse. Il componente, lo stato e l'oggetto predefiniti di SwipeToDismiss sono stati contrassegnati come sperimentali. (Ib54f2).

Correzioni di bug

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

Versione 1.2.0-alpha12

29 novembre 2023

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

Modifiche alle API

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

Versione 1.2.0-alpha11

15 novembre 2023

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-alpha11. La versione 1.2.0-alpha11 contiene questi commit.

Nuove funzionalità

  • Implementa PullToRefreshContainer e PullToRefreshState, che insieme forniscono un pull per aggiornare l'implementazione 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 finale content. (I7f4d3).
  • Rendi pubblico il costruttore per ChipElevation e SelectableChipElevation. (Ie0c48, b/308432421)
  • Aggiunta di ModalBottomSheetProperties in corso... Spostamento di securePolicy in ModalBottomSheetProperties. Aggiunta di isFocusable e shouldDismissOnBackPress a ModalBottomSheetProperties. Questi nuovi valori booleani consentono di determinare in che modo il riquadro inferiore modale deve gestire gli eventi IME. (Iea56f, b/278216859)
  • Sono stati aggiornati gli stati RangeSlider e Slider per rimuovere initialOnValueChange, i prefissi iniziali e i documenti kdocs appropriati. (I57d30)
  • Ritira la classe ChipBorder e le chiamate di funzione associate. Ti consigliamo di utilizzare direttamente BorderStroke. (I89cc2)
  • Le API per la descrizione comando di base sono ora @ExperimentalFoundationApi. (I30b0b)
  • TabRow e ScrollableTabRow non sono più deprecati. 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 direttamente BorderStroke. (I89b9b)
  • La funzione generica AlertDialog è stata rinominata in BasicAlertDialog e la funzione precedente è stata ritirata. (Idbe52)
  • Rinomina le API SwipeToDismiss in SwipeDismiss e promuovi le nuove API SwipeDismiss allo stato stabile. (I14cbe).
  • Aggiunta di tonalElevation e shadowElevation alle API per la descrizione comando. Inoltre, è stato ripristinato lo stato sperimentale delle API TooltipBox, PlainTooltip e RichTooltip perché sono state rilasciate per errore come stabili. (If0f66, b/293939035)
  • Promuovi lo stato di stabilità delle API dei chip sperimentali. (Iea2c3).
  • È stata rimossa l'annotazione @ExperimentalMaterial3Api dalle schede cliccabili di Material3. (I88dbf)

Correzioni di bug

  • È stato 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

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-alpha10. 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 utilizzano progress come lambda. e dovrebbero avere prestazioni migliori rispetto alle versioni precedenti. (I824e6, b/295616656)
  • Rinomina StandardSizeClasses in AllSizeClasses. (I8cb07)
  • Combinare le funzioni di calcolo delle classi di dimensioni delle finestre. (Iad935)

Correzioni di bug

  • È stato corretto un arresto anomalo di DatePicker facendo clic velocemente sui pulsanti delle frecce di navigazione quando il mese visualizzato si trova al limite dell'intervallo di anni consentito. (I46f36, b/290954897, b/297002119)
  • [Barra/barra di navigazione] Supporto del colore trasparente per l'indicatore. (Ie0a9b, b/267289987)

Versione 1.2.0-alpha09

4 ottobre 2023

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-alpha09. 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. Il valore animateTo di DrawerState è stato sostituito dai metodi di apertura e chiusura e l'offset è ora esposto come un valore in virgola mobile anziché un oggetto di stato. Puoi accedere all'offset direttamente tramite currentOffset. (I0a72c).
  • Sono state aggiunte funzioni non componibili per la creazione diretta di DatePickerState e DateRangePickerState. Queste funzioni possono essere utilizzate in alternativa alle funzioni Componibili rememberDatePickerState e rememberDateRangePickerState quando necessario. (I70326, b/291524052)
  • L'elemento TabRows fisso e a scorrimento ora ha varianti principali e secondarie. Questi valori vengono mappati correttamente al colore e al comportamento dell'indicatore come definito in Material3.
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow ora mostrano lo stato di scorrimento. (Iec8f5, b/260572337)
  • Aggiunta di un nuovo parametro sheetMaxWidth che gli sviluppatori possono impostare per specificare la larghezza massima di un foglio. Dp.Unspecified può essere passato per il parametro se si desidera un foglio che si estende per l'intera larghezza dello schermo. (Ifb7c9, b/266697696)
  • Aggiunta delle API PlainTooltipBox e RichTooltipBox come metodi deprecati. (I246fa)

Correzioni di bug

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

Versione 1.2.0-alpha08

20 settembre 2023

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-alpha08. La versione 1.2.0-alpha08 contiene questi commit.

Cambiamento che interrompe il comportamento

  • Ora ColorScheme è immutabile, rendendo meno efficienti gli aggiornamenti dei singoli colori, ma rendendo più efficiente l'utilizzo più comune dei colori. Il ragionamento alla base di questa modifica è che la maggior parte delle app non avrebbe l'aggiornamento dei singoli colori come caso d'uso principale. Questo è ancora possibile, ma verrà ricomposto più di prima, a sua volta diminuiremo significativamente la quantità di abbonamenti statali in tutto il codice Material e ciò influirà sull'inizializzazione e sul costo di runtime di casi d'uso più standard. (Ic447d, b/297212873)
  • L'elevazione tonale non si anima più in stati di interazione diversi per corrispondere alle specifiche. (Icdd12)

Modifiche alle API

  • È stato aggiunto un nuovo BottomAppBar che richiede come parametro BottomAppBarScrollBehavior per nasconderlo automaticamente quando l'utente scorre i contenuti. Inoltre, è stato aggiunto FabPosition.EndOverlay, che consente al FAB di sovrapporsi alla barra delle app inferiore nell'impalcatura anziché essere ancorato sopra. (Iecb47)
  • È stato aggiunto un componente Etichetta semplice che si basa su BasicTooltipBox, che non verrà ignorato quando si tocca il pulsante 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 stabilire se lo strumento Scaffold deve misurare gli elementi secondari durante la misurazione o il posizionamento. Per impostazione predefinita, viene eseguita la misurazione. Se stai riscontrando problemi con il nuovo comportamento, segnalalo. (I0b354).
  • È stato corretto lo stato orizzontale 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

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-alpha07. La versione 1.2.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Il supporto delle icone di mirroring automatico è stato aggiunto in compose material 1.6.0-alpha05. Consulta le note di rilascio per informazioni dettagliate sulle icone di mirroring automatico.

Modifiche alle API

  • SliderState implementa DraggableState (I9b116)
  • Modifica la forma in modo che sia un parametro obbligatorio. Rinomina position in index nella funzione di aiuto per la forma. (I34941)
  • Consente di aggiornare DatePicker formatWithSkeleton per includere una mappa che viene utilizzata come cache per migliorare le prestazioni. (I3195f)
  • BasicTooltipBox aggiunto a compose.foundation e aggiornato PlainTooltipBox e RichTooltipBox per utilizzare TooltipBox con i nuovi elementi componibili PlainTooltip e RichTooltip. (I79e1d)

Correzioni di bug

  • dynamicLightColorScheme e dynamicDarkColorScheme ora restituiscono colori con crominanza più elevata per i ruoli di superficie e surfaceContainer. (I5e901).
  • È stato risolto un problema per cui alcuni componenti che utilizzavano la sottocomposizione (ad es. BottomSheetScaffold) all'interno di un'impalcatura all'interno di un LookaheadScope cercavano di leggere troppo presto le loro dimensioni. (I297b4, I871f1, b/295536718)

Versione 1.2.0-alpha06

23 agosto 2023

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-alpha06. La versione 1.2.0-alpha06 contiene questi commit.

Correzioni di bug

  • È stato corretto il calcolo del valore 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 nella parte inferiore dello schermo. (ICC74, b/294103942)
  • È stato corretto il calcolo del valore 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 nella parte inferiore dello schermo. (Ib87a2, b/294103942)

Versione 1.2.0-alpha05

9 agosto 2023

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-alpha05. La versione 1.2.0-alpha05 contiene questi commit.

Modifiche alle API

  • Aggiornamenti alla casella di controllo e ai colori TriStateCheckbox. Ora l'elemento CheckboxDefaults.colors() disabledUncheckedColor influisce solo sul bordo della casella di controllo. I casi speciali che richiedono di impostare il colore della casella interna quando disabilitato e deselezionato richiedono un'istanza creata personalizzata di un CheckboxColors con i valori di colore desiderati. (I77d17, b/291943198)

Versione 1.2.0-alpha04

26 luglio 2023

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-alpha04. La versione 1.2.0-alpha04 contiene questi commit.

Nuove funzionalità

  • API Experimental Segmented Button (Ifc8fb)
  • I separatori hanno ora un parametro per controllare l'orientamento in modo da supportare i divisori verticali. (I4c899, b/288438593)

Modifiche alle API

  • Sposteremo la dipendenza della 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 componibili (Ief234)
  • Aggiungi un parametro icona al pulsante segmentato, dividi la semantica in modo che sia possibile selezionare i pulsanti segmentati per implementare la selezione singola e attivabile/disattivabile per implementare la selezione multipla, con SelectableSegmentedButtonRow e ToggelableSegmentedButtonRow rispettivamente. (I38740)
  • Lo divisore è stato rinominato in HorizontalDivider. Funzionalità VerticalDivider aggiunta. (I5975c)
  • Modifica l'utilizzo di ClosedFloatingPointRange per il peso più leggero FloatRange nelle API Material3 sperimentali per ridurre al minimo l'autoboxing. (I4aab5)
  • È stato aggiunto un nuovo allineamento Avvia per FabPosition (Ib7aea, b/170592777)

Correzioni di bug

Versione 1.2.0-alpha03

21 giu 2023

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-alpha03. La versione 1.2.0-alpha03 contiene questi commit.

Cambiamenti del comportamento

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

Nuove funzionalità

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

Modifiche alle API

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

Correzioni di bug

  • Il parametro contentWindowInsets di Scaffold ora rispetta gli riquadri delle finestre consumati. Tieni presente che il comportamento della spaziatura interna 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)
  • Per le posizioni delle schede viene applicata una larghezza minima dei contenuti di 24 dp. Fornisce un touch target accessibile per gli indicatori di scheda. (ID8861)
  • Le tavolozze dei colori dinamici di dynamicLightColorScheme e dynamicDarkColorScheme ora supportano nuovi ruoli per le superfici. (I1252e)
  • Aggiornamento dell'allineamento delle notifiche del badge in modo che non venga tagliato in caso di collisione con Bisnonno. (Idf75a)

Versione 1.2.0-alpha02

24 maggio 2023

Viene rilasciato androidx.compose.material3:material3-*:1.2.0-alpha02. La versione 1.2.0-alpha02 contiene questi commit.

Modifiche alle API

  • Aggiungi il parametro degli inserti di finestre a ModalBottomSheet.
    • Lo schermo per ModalBottomSheet ora potrebbe essere disegnato dietro la barra di stato con windowInsets impostato su zero
    • La funzionalità predefinita di ModalBottomSheet è stata aggiornata per rimanere al di fuori delle barre di sistema, inclusa la navigazione
    • La gestione dell'interno della barra di stato viene fornita tramite il punto di manipolazione di trascinamento in modalità da bordo a bordo.
    • BottomSheetDefaults include riquadri di finestre per BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/261548b/261548
  • Ritira Indicator e aggiungi Primary/SecondaryIndicator in modo che corrisponda alle specifiche di M3. PrimaryIndicator corrisponde alla larghezza dei contenuti della scheda, mentre SecondaryIndicator occupa l'intera larghezza disponibile. SecondaryIndicator è equivalente al Indicator, ora deprecato, e può essere una sostituzione diretta. (I27604)
  • È stata aggiunta un'opzione da passare in un ScrollState durante la creazione di un DropdownMenu o di un ExposedDropdownMenu per controllare lo stato di scorrimento verticale delle voci di menu visualizzate. (Ia0734, b/185304441)
  • È stato aggiunto un sovraccarico per Slider, che è una versione stateful del componente. È stato creato l'elemento SliderState, che contiene tutte le informazioni relative alla traccia attiva corrente, le misurazioni dei componenti di Slider e la logica di trascinamento e gesto. (I124a5)
  • Ridenominazione della proprietà semantica isContainer in isTraversalGroup (I121f6)
  • È stato aggiunto il valore TextStyle.merge(...) ottimizzato con l'elenco completo dei parametri. (Iad234, b/246961787)
  • Hai creato TooltipState, RichTooltipState e PlainTooltipState interfacce pubbliche. RichTooltipStateImpl e PlainTooltipStateImpl aggiunti per gli stati predefiniti. Sono state aggiunte le funzioni remember*State per ottenere questi stati implementati. TooltipSync rimosso a favore di TooltipDefault.GlobalMutatorMutex. (I7813d)
  • DatePickerColors è stato aggiornato per includere ulteriori opzioni di personalizzazione per il divisore del selettore della data, la navigazione e i colori dei campi di immissione testo. (I1a685, b/274626815)
  • DatePickerState e DateRangePickerState sono ora interfacce pubbliche con implementazioni predefinite che possono essere recuperate da rememberDatePickerState e rememberDateRangePickerState. (I71c52).
  • È stato rimosso dateValidator da DatePicker e DateRangePicker e introdotto un'interfaccia SelectableDates che può essere impostata sullo stato per controllare quali date o anni sono selezionabili nella UI. (Ic2fc6)
  • Rimozione di TimePicker dall'API stabile. Sono previste ulteriori modifiche all'API di stato (I3f39a)
  • ModalBottomSheet spostato solo su Android. L'uso di ModalBottomSheet non è consigliato per computer e la funzionalità non viene mantenuta in modo attivo. (Ib3778)

Correzioni di bug

  • È stato risolto il problema che mostrava l'azione di ignorare AlertDialog sotto l'azione di conferma quando queste si sovrapponevano tra loro per rientrare nella larghezza della finestra di dialogo. Questa correzione allinea l'implementazione alle specifiche di Material Design. (I029de, b/235454277)
  • È stato corretto il bug in ListItem relativo all'utilizzo della spaziatura interna non corretta per gli elementi pubblicitari con tre elementi. (I6e235).
  • Ora ModalBottomSheet può visualizzare la tastiera IME (Idc508, b/262140644, b/268380384, b/272483584)

Versione 1.2.0-alpha01

10 maggio 2023

Vengono rilasciate le versioni androidx.compose.material3:material3:1.2.0-alpha01 e androidx.compose.material3:material3-window-size-class:1.2.0-alpha01. La versione 1.2.0-alpha01 contiene questi commit.

Versione 1.1

Versione 1.1.2

20 settembre 2023

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.2 e androidx.compose.material3:material3-window-size-class:1.1.2. La versione 1.1.2 contiene questi commit.

Correzioni di bug

  • È stato corretto il passaggio errato del modificatore a due componibili. (b/282761472)
  • TimePickerState corretto restituisce ore errate quando inizializzato con 23 ore. (b/278242122)
  • È stato corretto lo stato di attivazione/disattivazione iniziale per la convalida di mezzogiorno e minuti. (b/269768197, b/282790635)
  • È stato corretto state.hour che restituiva un valore errato per le 23:00. (b/282761472, b/278242122)

Versione 1.1.1

21 giu 2023

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.1 e androidx.compose.material3:material3-window-size-class:1.1.1. La versione 1.1.1 contiene questi commit.

Correzioni di bug

  • Aggiunge una chiamata per ModalBottomSheet senza parametro windowInset per la compatibilità binaria. (Ib7959)
  • Aggiungi il parametro degli inserti di finestre a ModalBottomSheet.
    • Lo schermo per ModalBottomSheet ora potrebbe essere disegnato dietro la barra di stato con windowInsets impostato su zero
    • La funzionalità predefinita di ModalBottomSheet è stata aggiornata per rimanere al di fuori delle barre di sistema, inclusa la navigazione
    • La gestione dell'interno della barra di stato viene fornita tramite il punto di manipolazione di trascinamento in modalità da bordo a bordo.
    • BottomSheetDefaults include riquadri di finestre per BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/261548b/261548

Versione 1.1.0

10 maggio 2023

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0 e androidx.compose.material3:material3-window-size-class:1.1.0. La versione 1.1.0 contiene questi commit.

Funzionalità principali di 1.1.0

Nuovi componenti di Material Design 3

Miglioramenti ai componenti esistenti di Material Design 3.

Promozione delle API sperimentali allo stato stabile.

Consulta questo post del blog per ulteriori dettagli.

Versione 1.1.0-rc01

19 aprile 2023

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0-rc01 e androidx.compose.material3:material3-window-size-class:1.1.0-rc01. La versione 1.1.0-rc01 contiene questi commit.

Modifiche alle API

  • Rimozione di TimePicker dall'API stabile. Sono previste ulteriori modifiche all'API di stato (I3f39a)
  • ModalBottomSheet spostato solo su Android. L'uso di ModalBottomSheet non è consigliato per computer e la funzionalità non viene mantenuta in modo attivo. (Ib3778)

Versione 1.1.0-beta02

5 aprile 2023

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0-beta02 e androidx.compose.material3:material3-window-size-class:1.1.0-beta02. La versione 1.1.0-beta02 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

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

Versione 1.1.0-beta01

22 marzo 2023

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0-beta01 e androidx.compose.material3:material3-window-size-class:1.1.0-beta01. La versione 1.1.0-beta01 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

  • Le barre di ricerca ora cancellano automaticamente lo stato attivo quando sono disattivate. (I22a7c, b/261444487)
  • DateRangePicker è stato aggiornato 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 a quella prevista. Ciò potrebbe comportare una modifica di alcuni pixel nelle tue 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

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0-alpha08 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha08. La versione 1.1.0-alpha08 contiene questi commit.

Nuove funzionalità

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

Modifiche alle API

  • È stata aggiunta una funzionalità a DatePickerState e DateRangePickerState per consentire l'impostazione di date successive alla creazione iniziale dello stato e la reimpostazione delle selezioni mediante l'impostazione di timestamp nulli. L'impostazione manuale delle date deve essere effettuata con cautela e la nuova funzione setSelection genererà un'eccezione nel caso in cui una data fornita non soddisfi una condizione preliminare (consulta la documentazione). (Ifa645, b/268609314, b/270427389)
  • Rinomina l'elemento SheetValue compresso in PartiallyExpanded per rappresentare in modo più accurato e flessibile il comportamento in questo stato. (Ia1491)
  • Nomi dei parametri ListItem aggiornati in _content anziché _text. I getter predefiniti ora sono ReadOnlyComposables, dove pertinenti. (I69a25)
  • Gradua le API di Surface interattive dalla fase sperimentale. (I90d59, b/261561812)

Correzioni di bug

  • È stato risolto un problema per cui lo stato HalfExpanded di ModalBottomSheet veniva calcolato in modo errato e il foglio sembrava mobile. (I45e84, b/268411386)
  • Aggiungi un segno di spunta confirmValueChange al tocco dello schermo per ModalBottomSheet. (I2311a, b/270425759)
  • Sposta le azioni semantiche di BottomSheet per trascinare il punto di manipolazione. (I158BA)
  • Ora i comandi di ModalBottomSheet si concentrano all'avvio e gestisce il pulsante Indietro. (I4d2ab).
  • Ora ModalBottomSheet onDismissRequest viene gestito anche durante gli scorrimenti nidificati. (I655c5, b/268433166)

Versione 1.1.0-alpha07

22 febbraio 2023

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0-alpha07 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha07. La versione 1.1.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Aggiungi un componibile Time Input che funzioni con rememberTimePickerState(), che segue la specifica M3 per l'input di tempo (Ia4fab)
  • È stata aggiunta un'API Material 3 DateRangePicker per selezionare un intervallo di date. (I7a6c3, b/267194809)
  • È stato aggiunto un supporto per la modalità di immissione Material 3 per selezionare intervalli di date tramite l'API DateRangePicker. (Ifdbc4)
  • I colori dei campi di testo ora consentono la personalizzazione:
    • I colori del campo di immissione e del testo del segnaposto in base allo stato attivo e allo stato di errore. Il parametro textColor è stato rinominato in unfocusedTextColor e placeholderColor è stato rinominato in unfocusedPlaceholderColor.
    • Il colore del contenitore per i campi di testo compilati in base allo stato di errore con il nuovo parametro errorContainerColor.
  • I colori dei campi di testo del menu a discesa esposto sono stati aggiornati con i parametri per supportare la nuova API per prefisso e suffisso. (I9c8b4, b/254284181, b/264766350)

Modifiche alle API

  • Ripristino di alcune versioni dell'API Slider e rimozione dei sovraccarichi del dispositivo di scorrimento ridondanti coperti dal nuovo dispositivo di scorrimento sperimentale con pollice e traccia personalizzati. È in corso la promozione della stabilità di RangeSlider. (Ie8fbd)
  • defaultElevation è stato rinominato 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 scaffold. (Ibb51e, b/261565765, b/261436953)

Correzioni di bug

  • La forma predefinita di ModalBottomSheet ora è sempre SheetDefaults.ExpandedShape. (I0dfca)
  • Miglioramenti all'accessibilità di Material 3 DatePicker e DateRangePicker. (I5087e)
  • È stato corretto il bug per cui il vincolo di altezza massima viene propagato e potrebbe arrestarsi in modo anomalo. (I30d8c)
  • Sono stati rimossi i ruoli semantici dalle piattaforme selezionabili e selezionabili, sono stati aggiornati i componenti che li utilizzavano per impostare i ruoli utilizzando modificatore.semantics (I793d9)

Versione 1.1.0-alpha06

8 febbraio 2023

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0-alpha06 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha06. La versione 1.1.0-alpha06 contiene questi commit.

Nuove funzionalità

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

Modifiche alle API

  • Stabilizza l'API showSnackbar (I195c2, b/261424370)
  • Stabilizza le API per il chip di assistenza e il chip di suggerimenti (Ibb67b, b/261424370)
  • Promuove l'API ListItem, ListItemDefaults e ListItemColors a livello non sperimentale (I7e7fa, b/261438882)
  • È in corso la promozione di SliderPositions, SliderDefaults.Thumb e SliderDefaults.Track in versione stabile e l'aggiunta di API Slider e RangeSlider non sperimentali che contengono miniature e tracce personalizzate. Verranno ritirate anche le API Slider e RangeSlider precedenti. (Ie5ea6, b/261566890)
  • Hai reso pubblico Modifier.tooltipAnchor(), in modo che gli sviluppatori possano passarlo all'ancoraggio per indicare che una descrizione comando deve essere visualizzata alla pressione prolungata. È stata aggiornata l'API PlainTooltipBox in modo che non sia più possibile impostare TooltipState come null e che ora ne abbia un valore predefinito. (Ie2fb7)
  • ProgressIndicatorDefaults.circularTrackColor è stato contrassegnato come @Composable per coerenza. (ID29cc)
  • Il getter LocalMinimuTouchTargetEnforcement della proprietà ripristinato e la contrassegna come deprecata e reindirizza a LocalMinimumInteractiveComponentEnforcement. (I60dd5)

Versione 1.1.0-alpha05

26 gennaio 2023

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0-alpha05 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha05. La versione 1.1.0-alpha05 contiene questi commit.

Nuove funzionalità

  • Assistenza per DatePickerDialog e accessibilità
  • Pollice e traccia personalizzati aggiunte a RangeSlider.

Aggiornamenti delle dipendenze

Versione 1.1.0-alpha04

11 gennaio 2023

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0-alpha04 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha04. La versione 1.1.0-alpha04 contiene questi commit.

Nuove funzionalità

  • API DatePicker iniziale per la scelta di una singola data tramite l'interfaccia utente di un 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 nella proprietà semantica di IsContainer sulle piattaforme. Questa proprietà verrà utilizzata in una modifica successiva che determina l'ordine di attraversamento in base al significato semantico di elementi come le superfici. (I63379)
  • Contrassegna le API correlate al riquadro di navigazione a scomparsa come stabili. (Iab01e, b/261439597)
  • È stato aggiunto un parametro per il colore della traccia per gli indicatori di avanzamento circolari e un parametro per il limite del tratto per gli indicatori di avanzamento circolari e lineari. (Ie668c, b/216325962, b/222964817)
  • Altri tipi di output nulli per le funzioni nascoste deprecate (Ibf7b0)
  • Aggiungi Modifier.minimumInteractiveComponentSize. Può essere utilizzato per prenotare una dimensione di almeno 48.dp per distinguere le interazioni di tocco nel caso in cui l'elemento abbia dimensioni inferiori. (I33f58, b/258495559)
  • È stata aggiunta un'API sperimentale per il componibile AlertDialog che ha un'area di contenuti. (Iec4a2).

Correzioni di bug

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

Problema noto

  • Durante 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 è indicato in origine il problema. È stata inviata una correzione che sarà disponibile nel prossimo aggiornamento di Compose. Come soluzione, aggiorna le librerie androidx.compose.material e androidx.compose.material3 alla versione più recente(1.1.0-alpha04) o esegui il downgrade di androidx.compose.foundation a 1.4.0-alpha03.

Versione 1.1.0-alpha03

7 dicembre 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0-alpha03 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha03. La versione 1.1.0-alpha03 contiene questi commit.

Modifiche alle API

  • consumedWindowInsets() è stato rinominato in consumeWindowInsets() e withConsumedWindowInsets() in onConsumedWindowInsetsChanged() e ha reso pubblici i modificatori. (Ie44e1).
  • Aggiungi una nuova spaziatura interna dei contenuti predefinita per il pulsante di testo con icona da utilizzare. (I8f662)
  • Sono stati aggiunti colori disattivati per la barra di navigazione e la barra di navigazione. (Ia7892, b/258867034)
  • È stata aggiunta un'API Modifier per eseguire query sulle informazioni di scorrimento dei predecessori. (I2ba9d, b/203141462)
  • Utilizzato in Clickable per ritardare correttamente le interazioni con la pressione, quando i gesti potrebbero diventare eventi di scorrimento.
  • È stato corretto il problema di Clickables che non ritardava correttamente le eco, se utilizzato all'interno di un Scrollable ViewGroup.
  • Aggiornati cassetti 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 dal ciclo di vita 2.5.1. (I05ab0, b/258038814)

Versione 1.1.0-alpha02

9 novembre 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0-alpha02 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha02. La versione 1.1.0-alpha02 contiene questi commit.

Modifiche alle API

  • awaitFirstDown e waitForUpOrCancellation ora accettano un PointerEventPass per una maggiore flessibilità (sono state corrette anche le correzioni ExposedDropdownMenuBox che mostrano un menu durante lo scorrimento).(I7579a, b/212091796)
  • È stato aggiunto il parametro minLines in material e testo material3, TextField e OutlinedTextField che consente di impostare l'altezza minima del componente in termini di numero di righe (I4af1d)
  • Ritirare la funzione TopAppBarDefaults smallTopAppBarColors in favore di una nuova funzione topAppBarColors da utilizzare durante la creazione di un TopAppBar. (Ie6cb9)
  • Parametro minLines aggiunto a BasicText e BasicTextField. Consente di impostare l'altezza minima di questi componibili in termini numero di righe (I24294, b/122476634)

Correzioni di bug

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

Versione 1.1.0-alpha01

24 ottobre 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.1.0-alpha01 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha01. La versione 1.1.0-alpha01 contiene questi commit.

Correzioni di bug

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

Versione 1.0

Versione 1.0.1

9 novembre 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.1 e androidx.compose.material3:material3-window-size-class:1.0.1. La versione 1.0.1 contiene questi commit.

Correzioni di bug

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

Versione 1.0.0

24 ottobre 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0 e androidx.compose.material3:material3-window-size-class:1.0.0. La versione 1.0.0 contiene questi commit.

Funzionalità principali di 1.0.0

Questa è la prima release stabile di Compose Material 3.

Temi di Material Design 3 e colore dinamico Material You

Componenti di Material Design 3

Classe dimensioni finestra

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

  • Consulta questo post del blog per ulteriori dettagli.

Versione 1.0.0-rc01

5 ottobre 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0-rc01 e androidx.compose.material3:material3-window-size-class:1.0.0-rc01. La versione 1.0.0-rc01 contiene questi commit.

Modifiche alle API

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

Versione 1.0.0-beta03

21 settembre 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0-beta03 e androidx.compose.material3:material3-window-size-class:1.0.0-beta03. La versione 1.0.0-beta03 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

  • Aggiornata la mappatura dei colori del tema scuro per il contenitore di errore con il tono 90 (Ic5612)
  • Risolvi il problema per consentire l'impostazione di uno sfondo trasparente per le barre delle app principali di Material 3 piccole. (I645e2, b/245575782)

Versione 1.0.0-beta02

7 settembre 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0-beta02 e androidx.compose.material3:material3-window-size-class:1.0.0-beta02. La versione 1.0.0-beta02 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

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

Versione 1.0.0-beta01

24 agosto 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0-beta01 e androidx.compose.material3:material3-window-size-class:1.0.0-beta01. La versione 1.0.0-beta01 contiene questi commit.

Riferimento API

Per vedere i temi, i componenti e gli altri componibili più recenti disponibili, consulta la panoramica di riferimento dell'API Compose Material 3.

Modifiche alle API

  • Aggiornamento della barra delle app in alto in Material 3 per consentire lo stato compresso completamente esteso. Inoltre, la funzione di comportamento TopAppBarDefaults è stata aggiornata in Componibili e ha fornito valori predefiniti per lo stato della barra delle app e le specifiche dell'animazione nella parte superiore della pagina. (I642b3)
  • Aggiornate le firme dei componenti FAB in modo che corrispondano all'API di superficie (I3afaa)
  • Inserti aggiunti Supporto integrato per le barre delle app principali, i riquadri a scomparsa, la barra di navigazione e la barra laterale. Questi componenti, se utilizzati separatamente o con Scaffold, gestiranno automaticamente i riquadri per gli sviluppatori. Nota: questa modifica non aggiunge la gestione automatica delle icone delle barre di stato, né la trasparenza delle barre di stato e di navigazione. Continua a farlo manualmente per garantire la migliore esperienza edge-to-edge. (I7e4e6, b/183161866)
  • I valori predefiniti del componente sono stati aggiornati per ridurre la superficie dell'API per migliorare la flessibilità e le prestazioni in futuro. (I31820)
  • Parametri per i chip e i riquadri a scomparsa di navigazione riordinati per mantenere la coerenza all'interno dell'API (I45d0b)
  • startIndent è stato rimosso da Divisore e è stato spostato il colore come ultimo parametro (If7be2)

Versione 1.0.0-alpha16

10 agosto 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0-alpha16 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha16. La versione 1.0.0-alpha16 contiene questi commit.

Nuove funzionalità

  • Supporto della specifica di una larghezza personalizzata in un riquadro di navigazione a scomparsa. (Ia7f10)

Modifiche alle API

  • Riordina i parametri della scheda Tab e dell'icona iniziale per mantenere la coerenza all'interno dell'API (Ie2637)
  • BadgeDefaults contrassegnato come sperimentale. (I98ef3)
  • Rimuovi la funzione di navigazione a scomparsa deprecata. (I4f2db)
  • Riordina i parametri del 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 in tutta l'API. (If4ae1).
  • Riordina i parametri del cursore in Material 3 per mantenere la coerenza all'interno dell'API (I62673)
  • Parametro delle icone rinominato in azioni per coerenza con la barra delle app in alto (Id75be)
  • Contrassegna Badge e BadgedBox come sperimentali perché l'allineamento dell'ancoraggio è ancora in flusso. (I1712e, b/236524516)
  • Modifica le annotazioni @ExperimentalMaterial3Api nelle varianti del pulsante icona in @OptIn (I070b5)
  • Separazione dei contenuti di un riquadro di navigazione a scomparsa in un proprio componibile per supportare la specifica di una larghezza personalizzata sul riquadro di navigazione. (Ia7f10)
  • Rimuove Divider da MenuDefaults e TabDefaults (I4e33c)

Versione 1.0.0-alpha15

27 luglio 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0-alpha15 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha15. La versione 1.0.0-alpha15 contiene questi commit.

Nuove funzionalità

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

Modifiche alle API

  • Aggiornamenti alle API FilterChip e ElevatedFilterChip per rimuovere lo slot selectedIcon e promuovere il riutilizzo di leadingIcon per la visualizzazione di uno stato selezionato. (Ie5dc2).
  • Aggiungi i ruoli nei colori dello schermo e del contorno. (ID6d54)
  • Correggi le convenzioni di denominazione per i valori predefiniti componibili. (I62b27).
  • Contrassegna ListItemDefaults e ListItemColors come sperimentali. (I1f3ec).
  • Modifiche all'API della barra delle app in alto per rispecchiare meglio il significato delle relative proprietà dello stato. Inoltre, contrassegna l'API della barra delle app in alto come sperimentale. (Ic0ad8)
  • I colori della selezione del testo sono stati aggiunti a TextFieldColors per una migliore rilevabilità. (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)
  • L'annotazione @ExperimentalMaterial3Api è stata rimossa dalla funzione Checkbox. (I5eefc)
  • L'annotazione @ExperimentalMaterial3Api è stata rimossa dalla funzione RadioButton. (I17e2a).
  • È stata rimossa l'annotazione @ExperimentalMaterial3Api dalle schede non interattive. (I9bd49)
  • Aggiorna vari oggetti predefiniti dei componenti in modo da includere colori, forme e così via (I96e11)

Correzioni di bug

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

Versione 1.0.0-alpha14

29 giugno 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0-alpha14 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha14. La versione 1.0.0-alpha14 contiene questi commit.

Nuove funzionalità

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

Modifiche alle API

  • Cambia 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 a FilterChip colori per lo stato disattivato selezionato. (I55244, b/235792432)
  • Aggiungi il FAB predefinito di BottomAppBar (Ida4c8)
  • ColorScheme.surfaceColorAtElevation è stato aggiunto (Id41af)
  • Le interfacce nelle librerie di scrittura ora sono create utilizzando jdk8 metodi predefiniti dell'interfaccia (I5bcf1)
  • WindowWidthSizeClass e WindowHeightSizeClass ora implementano Comparable, in modo che possano essere confrontati utilizzando operatori (<, <=, >=, >) e altre API. (I747d0)

Correzioni di bug

  • Aggiorna il campione di badge per fornire una descrizione dei contenuti più significativa. (I10b9d)
  • Aggiunge l'opzione per utilizzare la dimensione del carattere del sistema al selettore di temi del catalogo Material 3. (I10605)
  • Aggiunge un codice di esempio per gli indicatori di avanzamento Badge e indeterminato. (I8fbe0)

Versione 1.0.0-alpha13

1 giugno 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0-alpha13 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha13. La versione 1.0.0-alpha13 contiene questi commit.

Modifiche alle API

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

Versione 1.0.0-alpha12

18 maggio 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0-alpha12 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha12. La versione 1.0.0-alpha12 contiene questi commit.

Correzioni di bug

  • La larghezza del cursore principale ora può essere pari a 0. (b/231707291)

Versione 1.0.0-alpha11

11 maggio 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0-alpha11 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha11. La versione 1.0.0-alpha11 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto RangeSlider a Material 3 (I18e38)
  • Aggiunge il supporto Material3 AssistChip e InputChip (I0d25a)
  • Aggiunge il supporto Material3 FilterChip e SuggestionChip (I9fdf3)

Modifiche alle API

  • L'elemento componibile TextFieldDefaults.BorderStroke è stato rinominato che disegna un tratto del bordo in OutlinedTextField in TextFieldDefaults.BorderBox. (I5f295).
  • Cambiamenti visivi del passaggio a m3 (Iab30e)
  • Consenti la trasmissione dei colori ai pulsanti icona standard. (Ia2445)

Correzioni di bug

  • Aggiungi il controllo pelucchi a material3/Scaffold per assicurarti che venga utilizzata la spaziatura interna interna (I72293, b/226951418)

Versione 1.0.0-alpha10

20 aprile 2022

Vengono rilasciate le versioni androidx.compose.material3:material3:1.0.0-alpha10 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha10. La versione 1.0.0-alpha10 contiene questi commit.

Nuove funzionalità

  • material3-window-size-class è una nuova libreria che supporta le classi di dimensioni delle finestre, ovvero un insieme di punti di interruzione dell'area visibile guidati con cui progettare, sviluppare e testare i layout delle applicazioni ridimensionabili. Puoi utilizzare calculateWindowSizeClass per recuperare un'istanza della classe delle dimensioni della finestra, che puoi utilizzare per determinare l'aspetto della tua UI, ad esempio mostrando una barra di navigazione anziché la navigazione inferiore per finestre di dimensioni maggiori. Per maggiori informazioni e esempi di utilizzo, consulta la documentazione di riferimento delle API per WindowSizeClass. Per ulteriori informazioni sulle definizioni delle classi di dimensioni della finestra, consulta le indicazioni pubbliche sul supporto di diverse dimensioni dello schermo.

Modifiche alle API

  • Aggiunge l'elevazione FAB predefinita per BottomAppBar e rimuove lambda finale da BottomAppBar con FAB. (I92c47)
  • Aggiunge Material3 FilledIconButton, FilledTonalIconButton e OutlinedIconButton. (Ib2bda).
  • Aggiorna l'API Material 3 Snackbar per accettare i valori dei colori per l'azione facoltativa e l'azione Ignora. (Ibe4b4)
  • Il consumo parziale (posizione OR giù) è stato deprecato in PointerInputChange. Puoi utilizzare consume() per applicare completamente la modifica. Puoi utilizzare isConsumed per determinare se qualcun altro ha utilizzato in precedenza la modifica.
  • PointerInputChange::copy() ora crea sempre una copia superficiale. Significa che le copie di PointerInputChange verranno consumate una volta che una delle copie è stata utilizzata. Se vuoi creare un elemento PointerInputChange non associato, utilizza invece il costruttore. (Ie6be4, b/225669674)
  • Modifiche all'API Cards per ricevere i colori del contenitore e dei contenuti tramite un'interfaccia CardColors e per supportare lo stato disattivato per schede cliccabili. (I927df)
  • Il parametro backgroundColor è stato rinominato containerColor nei campi di testo di 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 material3 Scaffold nella spaziatura interna passata ai contenuti, in modo che i contenuti vengano visualizzati sotto la barra superiore dell'app. Se gli attributi PaddingValues vengono ignorati, i contenuti potrebbero essere oscurati dalla barra superiore. (I83cbc, b/217776202)

Versione 1.0.0-alpha09

6 aprile 2022

Viene rilasciato androidx.compose.material3:material3:1.0.0-alpha09. La versione 1.0.0-alpha09 contiene questi commit.

Nuove funzionalità

  • È stata aggiunta l'API Material 3 Switch (I2c3ad)

Modifiche alle API

  • Aggiunto il supporto per menu a discesa con campi di testo (ovvero "menu a discesa esposti" o "caselle combinate"). (I1b832).
  • È stato aggiunto il parametro di forma al sottosistema MaterialTheme e Shape. (I37426)
  • È stato aggiunto un parametro espanso a ExtendedFloatingActionButton per controllare se il FAB viene espanso o compresso, con animazioni tra uno stato e l'altro. È stato aggiunto un sovraccarico FAB esteso per i FAB estesi con testo finale per i FAB estesi senza icona. (Iba7f1)

Versione 1.0.0-alpha08

23 marzo 2022

Viene rilasciato androidx.compose.material3:material3:1.0.0-alpha08. La versione 1.0.0-alpha08 contiene questi commit.

Nuove funzionalità

Modifiche alle API

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

Correzioni di bug

  • Correggi il problema in corrispondenza del pulsante Material3 per leggere il valore dello stile di testo predefinito da MaterialTheme. (Ie62fc)

Versione 1.0.0-alpha07

9 marzo 2022

Viene rilasciato androidx.compose.material3:material3:1.0.0-alpha07. La versione 1.0.0-alpha07 contiene questi commit.

Modifiche alle API

  • Aggiornamenti all'API Material 3 Surface che recupera le funzioni sovraccarichi per le superfici cliccabili, oltre all'aggiunta di per supportare piattaforme selezionabili e attivabili. (I4bf18)
  • LazyVerticalGrid e LazyHorizontalGrid ora sono stabili. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid e tutte le API correlate sono stati spostati nel sottopacchetto .grid. Aggiorna le importazioni da androidx.compose.foundation.lazy ad androidx.compose.foundation.lazy.grid. (I2d446)
  • È stata ripristinata la modifica precedente dell'utilizzo esclusivo di una vista per WindowInsetsControllerCompat e richiedono di nuovo una finestra richiesta per la gestione di alcuni flag delle finestre. ViewCompat.getWindowInsetsController ritirato a favore di WindowCompat.getInsetsController per verificare che la finestra corretta sia (ad esempio se la Vista è in una finestra di dialogo). (I660ae, b/219572936)
  • È stata aggiunta una nuova API LazyVerticalGrid per definire le dimensioni degli assi trasversali (I17723)

Correzioni di bug

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

Versione 1.0.0-alpha06

23 febbraio 2022

Viene rilasciato androidx.compose.material3:material3:1.0.0-alpha06. La versione 1.0.0-alpha06 contiene questi commit.

Modifiche alle API

  • È stato aggiunto NavigationDrawerItem che rappresenta una singola destinazione all'interno dei riquadri a scomparsa (Ic396f, b/218286829)
  • PermanentNavigationDrawer e DismissibleNavigationDrawer sono state aggiunte come API sperimentali. Questi sono i cassetti adatti agli schermi di grandi dimensioni. (I5f8ab, b/218286829)
  • Aggiunge il supporto per la barra delle app inferiore Material 3 (Ic432a)
  • NavigationDrawer è stato rinominato ModalNavigationDrawer (I1807d, b/218286829)
  • Aggiunta della classe e dei token del cursore Material 3 (I1ccee)
  • È stata aggiunta l'implementazione di Tab; consulta la documentazione per esempi di utilizzo (Ie0146)

Correzioni di bug

  • È stato risolto un problema per cui la navigazione lineare dello screen reader TalkBack selezionava un titolo vuoto nella barra delle app in alto. (ID4690)
  • Elemento IconSize aggiunto alla raccolta FloatingActionButtonDefaults. (Ia71cf)
  • Correzione di bug per i pulsanti AlertDialog nascosti quando veniva aggiunto un testo lungo con un LazyColumn. (Ib2cc9, b/216663029)

Versione 1.0.0-alpha05

9 febbraio 2022

Viene rilasciato androidx.compose.material3:material3:1.0.0-alpha05. La versione 1.0.0-alpha05 contiene questi commit.

Nuove funzionalità

Aggiunta dei componenti di Material Design 3

Modifiche alle API

  • Funzione Surface deprecata che richiede una frequenza di Google. Le piattaforme cliccabili devono essere create con un InteractionSource e Modifier.clickable(). (I211c6)
  • Aggiunto il supporto dell'elevazione premuto e con lo stato attivo per FAB. (Ibb584)
  • È stata modificata l'API Surface per ricevere un valore InteractionSource che consente controllarne l'aspetto in diversi stati. (Iafbc8)

Correzioni di bug

  • Sono stati aggiunti colori terziari mancanti nelle combinazioni di colori dinamiche (I456c4, b/214588434)

Versione 1.0.0-alpha04

26 gennaio 2022

Viene rilasciato androidx.compose.material3:material3:1.0.0-alpha04. La versione 1.0.0-alpha04 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

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

Versione 1.0.0-alpha03

12 gennaio 2022

Viene rilasciato androidx.compose.material3:material3:1.0.0-alpha03. La versione 1.0.0-alpha03 contiene questi commit.

Correzioni di bug

  • Aggiungi LocalIndication al valore MaterialTheme di Material 3. (I7ce4e)
  • Correggi il raggio d'angolo applicato per le caselle di controllo (I38b03, b/175198975, b/202309440)

Aggiornamenti delle dipendenze

  • Ora dipende da Kotlin 1.6.10.

Versione 1.0.0-alpha02

1 dicembre 2021

Viene rilasciato androidx.compose.material3:material3:1.0.0-alpha02. La versione 1.0.0-alpha02 contiene questi commit.

Nuove funzionalità

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

Modifiche alle API

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

Correzioni di bug

  • Riduci il raggio dell'ondulazione di IconButton da 40 dp a 20 dp. (I68bbe, b/206674345)
  • Percorso rapido della stringa di porta per Text modifiche da compose.material (I30b03)
  • Risolto, ma il pulsante impostato come hardcoded deve essere sempre attivato. (Iea832, b/205335456)

Versione 1.0.0-alpha01

27 ottobre 2021

Viene rilasciato androidx.compose.material3:material3:1.0.0-alpha01. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

tema Material Design 3 e colore dinamico Material You

Componenti di Material Design 3

Per ulteriori informazioni, consulta la sezione Material Design 3 e Material You della guida Temi di Material in Compose.