Comporre materiale 3

Crea interfacce utente Jetpack Compose con i componenti Material Design 3, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati e funzionalità di personalizzazione di Material You come i colori dinamici ed è progettato per essere coerente con il nuovo stile visivo e l'interfaccia utente di sistema di Android 12.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Versione alpha
12 dicembre 2024 1.3.1 - - 1.4.0-alpha05

Struttura

La composizione è una combinazione di sette ID gruppo Maven in androidx. Ogni gruppo contiene un sottoinsieme mirato di funzionalità, ciascuna con il proprio insieme di note di rilascio.

Questa tabella illustra i gruppi e i link a ogni set di note di rilascio.

GruppoDescrizione
compose.animationCreare animazioni nelle loro 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 espandi la base per creare i componenti del tuo sistema di progettazione.
compose.materialCrea interfacce utente Jetpack Compose con componenti Material Design pronti all'uso. Si tratta del punto di contatto di primo livello di Compose, progettato per fornire componenti corrispondenti a quelli descritti all'indirizzo www.material.io.
compose.material3Crea interfacce utente Jetpack Compose con i componenti Material Design 3, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati e funzionalità di personalizzazione di Material You come i colori dinamici ed è progettato per essere coerente con il nuovo stile visivo e l'interfaccia utente di sistema di Android 12.
compose.runtimeComponenti di base del modello di programmazione e della gestione dello stato di Compose, nonché runtime di base per il plug-in del compilatore Compose come target.
compose.uiComponenti fondamentali dell'interfaccia utente di composizione necessari per interagire con il dispositivo, inclusi layout, disegno e input.

Dichiarazione delle dipendenze

Per aggiungere una dipendenza da Compose, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli elementi necessari nel file build.gradle per la tua app o il tuo modulo:

Groovy

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

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.

Feedback

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

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.

Compose Material3 Common versione 1.0

Versione 1.0.0-alpha01

17 aprile 2024

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

Nuove funzionalità

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

Compose Material3 Adaptive Navigation Suite versione 1.0

Versione 1.0.0-alpha07

1° maggio 2024

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.0.0-alpha06

17 aprile 2024

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

Modifiche all'API

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

Versione 1.0.0-alpha05

6 marzo 2024

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

Modifiche all'API

Versione 1.0.0-alpha04

21 febbraio 2024

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

Aggiornamenti delle dipendenze

  • Aggiorna le dipendenze di Material3 adaptive ai nuovi percorsi del modulo. (Ibc421)
  • Esegui la migrazione per utilizzare la versione di Window Manager delle classi di dimensioni delle finestre. (I3794d)

Versione 1.0.0-alpha03

7 febbraio 2024

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

Modifiche all'API

  • Aggiorna il nome del pacchetto in navigationsuite da navigation-suite (I7eff7)
  • I componenti Material3 che espongono un MutableInteractionSource nella loro API sono stati aggiornati in modo da esporre un MutableInteractionSource nullable che per impostazione predefinita è null. Non sono presenti modifiche semantiche: se passi null, significa che non vuoi eseguire l'elevazione di MutableInteractionSource, che verrà creato all'interno del componente, se necessario. La modifica in null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri di creare un'istanza solo quando è necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi MutableInteractionSource che passi a questi componenti, ti consigliamo di passare null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (I41abb, b/298048146)

Versione 1.0.0-alpha02

13 dicembre 2023

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

Nuove funzionalità

Correzioni di bug

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

Versione 1.0.0-alpha01

15 novembre 2023

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

Nuove funzionalità

Compose Material3 Adaptive versione 1.0

Versione 1.0.0-alpha06

7 febbraio 2024

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

Nuove funzionalità

  • Sono state aggiunte opzioni di comportamento aggiuntive per la navigazione a ritroso con ThreePaneScaffoldNavigator. (I858aa)
  • Sono stati aggiunti contenuti facoltativi delle destinazioni alla cronologia di navigazione. (Ibd7e6)

Versione 1.0.0-alpha05

24 gennaio 2024

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

Nuove funzionalità

  • Supporto della consapevolezza della cronologia nella navigazione nello scafo e nel calcolo del valore (I71d46)

Versione 1.0.0-alpha04

10 gennaio 2024

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

Nuove funzionalità

  • È stato aggiunto il supporto da un bordo all'altro negli schemi di riquadri (I1b462)

Modifiche all'API

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

Correzioni di bug

  • Correggi AnimatedPane non viene ricomposto (c3f573d)

Versione 1.0.0-alpha03

13 dicembre 2023

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

Modifiche all'API

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

Versione 1.0.0-alpha02

29 novembre 2023

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

Modifiche all'API

  • Separa le API di navigazione dalle API di struttura adattiva. (Ic4045)
  • Rimuovi il corso GutterSize. (I785b3)

Correzioni di bug

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

Versione 1.0.0-alpha01

15 novembre 2023

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

Nuove funzionalità

API di condizioni adattabili Material3:

API di direttive di struttura del riquadro adattabile Material3:

API di struttura del riquadro adattabile Material3:

Compose Material3 versione 1.4

Versione 1.4.0-alpha05

12 dicembre 2024

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

Modifiche all'API

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

Correzioni di bug

  • Correggere i comportamenti della barra delle app superiore e inferiore in modo che cambino di colore in modo affidabile quando si scorre fino in fondo ai contenuti. (Idc4e8, b/293665988)
  • Le funzioni di comportamento di scorrimento per le barre delle app superiore e inferiore ora restituiscono un comportamento memorizzato per migliorare il rendimento durante le ricostruzioni. (I0fdbe, b/207957336)
  • Il parametro del modificatore viene ora applicato dopo i modificatori interni, come il comportamento e la semantica del trascinamento, anziché prima. Questo influisce sull'ordine in cui vengono applicati i modificatori. (I8d83f)
  • Il riquadro inferiore espanso rimane espanso al variare delle dimensioni. (I2870b, b/324934884)
  • Correggi correttamente gli indicatori di stato e della barra di navigazione per le proprietà delle finestre. (Ie674d, b/362539765)
  • Sposta il parametro del modificatore nella radice degli schemi, come descritto nella documentazione. In questo modo, l'implementazione è in linea con M2. (I0235e, b/372311595)

Contributo esterno

  • Funzione DatePickerDialog standardizzata. (I7dced)

Versione 1.4.0-alpha04

13 novembre 2024

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

Modifiche al comportamento

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

Nuove funzionalità

  • Presenta il componente VerticalDragHandle (I6c770)

Modifiche all'API

  • Rinomina DismissibleModalWideNavigationRailDefaults in ModalWideNavigationRailDefaults. (I8e877)
  • Aggiungi NavigationBarComponentOverrides. (I8a3f3)
  • Aggiungi NavigationRailComponentOverride. (I83e13)
  • Aggiungi WideNavigationRailState per gestire il collasso/l'espansione della barra laterale, consenti a ModalWideNavigationRail di essere ignorato ed elimina DismissibleModalWideNavigationRail. (I88568)
  • Aggiungi le dimensioni predefinite xSmall, medium, large e xLarge ai valori predefiniti del pulsante di attivazione/disattivazione. (Ie95d1)
  • Aggiungi le dimensioni predefinite xSmall, medium, large e xLarge ai valori predefiniti dei pulsanti. (If8b6d)

Correzioni di bug

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

Versione 1.4.0-alpha03

30 ottobre 2024

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.4.0-alpha02

16 ottobre 2024

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

Modifiche all'API

  • Aggiornamenti ai selettori della data per garantire un utilizzo coerente delle impostazioni internazionali in DatePicker e DateRangePicker quando si imposta una lingua direttamente tramite un DatePickerState o un DateRangePickerState. Tieni presente che, quando imposti le lingue direttamente nello stato, devi assicurarti che i testi del titolo e del titolo principale siano localizzati di conseguenza, poiché il testo predefinito verrà comunque applicato in base alla lingua predefinita della piattaforma. (I37073, b/326490763, b/321657276)
  • SheetState.isAnimationRunning è ora visibile. (I9a3d7)
  • DatePickerColors ora ha la precedenza corretta su eventuali colori in conflitto definiti negli stili di testo della tipografia del tema. Tieni inoltre presente che questo aggiornamento regola la posizione del parametro color nelle funzioni del selettore della data e introduce un parametro contentColor per personalizzare i colori del testo dell'intestazione e del titolo. (I30d03, b/347031394)
  • Rinomina SplitButton in SplitButtonLayout e rimuovi le API di varianti di colore SplitButton. Le varianti verranno ottenute riutilizzando le varianti di pulsante fornite da SplitButtonDefaults. (I44c36)
  • ModalBottomSheet ora ha il parametro sheetGestureEnabled (I856cb, b/288211587)
  • I simboli standardMotionScheme e expressiveMotionScheme sono stati rinominati in standard ed espressivo. Entrambe le funzioni sono ora accessibili tramite l'oggetto companion MotionScheme chiamando MotionScheme.standard() e MotionScheme.expressive(). (Iceccf)
  • Aggiunta del parametro maxWidth alle descrizioni comando semplici e avanzate. Per impostazione predefinita, viene utilizzata la specifica di progettazione di 200 dp per le descrizioni comando semplici e di 320 dp per quelle avanzate. (I30ce9)

Correzioni di bug

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

Versione 1.4.0-alpha01

2 ottobre 2024

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

Modifiche al comportamento

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

Modifiche all'API

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

Correzioni di bug

  • Applica l'indice di attraversamento dell'attenzione corretto ai Composable Scaffold secondari. L'ordine è topBar, bottomBar, fab, contenuti, barra delle app. (I5936b)
  • È stato risolto un problema relativo a DatePicker e DateRangePicker in cui, in determinati schemi di formattazione e in determinate impostazioni internazionali, alcuni elementi della data (ad es. i nomi dei mesi) non iniziavano con una lettera maiuscola. (I1430f)
  • Integrare i token dei componenti FAB e Menu FAB (aggiornamenti visivi minori a spaziatura e testo) (Ib57f3)
  • ModalBottomSheet ora è il primo nell'ordine di attraversamento semantico, seguito dalla scrim. (I436f9, b/358594665)
  • Correzione del problema per cui la barra delle app in basso non scompare completamente quando si scorre sotto la pillola di navigazione in modalità da bordo a bordo (I3ee21)

Compose Material3 versione 1.3

Versione 1.3.1

30 ottobre 2024

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

Correzioni di bug

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

Versione 1.3.0

4 settembre 2024

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

Modifiche importanti dalla versione 1.2.0

Funzionalità principali della versione 1.3.0

Nuovi componenti di Material Design 3

  • Carosello
  • [ModalBottomSheet] ora supporta il pulsante Indietro predittivo su U+ (Iccf32, b/281967264, b/304850357)
  • [SearchBar] ora supporta il gesto Indietro predittivo su U+ (I657f8)
  • Il riquadro di navigazione a scomparsa (ModalDrawerSheet e DismissibleDrawerSheet) ora supporta il pulsante Indietro predittivo su U+ come opzione attivabile (Ie5b0b)
  • DropdownMenu ora supporta colore, forma, altezza e bordo personalizzati. (I8e981,b/289554448, b/301887035, b/283654243)
  • Il dispositivo di scorrimento è stato aggiornato per migliorare l'accessibilità aggiungendo un indicatore di interruzione e fermata. (I3058e)
  • Aggiornamento del giorno ProgressIndicator per migliorare l'accessibilità aggiungendo un indicatore di fermata e di intervallo. (I21451)
  • È stato aggiunto un cursore predefinito per la descrizione comando avanzata, è supportato il cursore personalizzato da disegnare in base all'ancora LayoutCoordinates. (Ifd42c) Modifiche che provocano un errore
  • Nuove API pull-to-refresh:
    • È stato semplificato PullToRefreshState per utilizzare valori frazionari anziché unità Dp.
    • Lo stato isRefreshing è controllato dall'utente anziché da PullToRefreshState.
    • È stata separata la connessione di scorrimento nidificata da PullToRefreshState. Viene gestito dal nuovo PullToRefreshBox o Modifier.pullToRefresh.
    • Questo aggiornamento comporta una modifica non compatibile con le API sperimentali precedenti. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Modifiche che comportano interruzioni visive
  • Aggiorna l'overlay dello stato di messa a fuoco in modo che sia pari a 0,1f per garantire un contrasto cromatico sufficiente. (I7ea77)
  • Piccoli aggiustamenti ai colori predefiniti di superficie e sfondo in lightColorScheme e darkColorScheme. (I9db52)
  • Colori del cursore e di ProgressIndicator aggiornati in base alle nuove specifiche relative al contrasto non di testo. (I26807)
  • Le varianti SurfaceContainer vengono ora utilizzate dai componenti. I componenti che calcolavano formalmente il colore con Surface e TonalElevation ora utilizzano per impostazione predefinita i ruoli SurfaceContainer, che non sono interessati dall'elevazione tonale. (b/304584161)
  • I ruoli di base della funzionalità Riquadro e della funzionalità Riquadro contenitore sono stati leggermente modificati per fornire una maggiore saturazione nei temi chiaro e scuro. (I677a5)
  • Le API sperimentali sono state promosse a stabili.
  • Miglioramenti delle prestazioni

Versione 1.3.0-rc01

21 agosto 2024

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

Correzioni di bug

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

Versione 1.3.0-beta05

24 luglio 2024

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

  • Risolto il problema per cui i contenuti di BottomSheet risultano mancanti o tagliati su Android N e O (a10a2d)
  • Sono stati aumentati i limiti semantici del cursore in modo che TalkBack mostri correttamente gli indicatori di messa a fuoco intorno ai cursori. (0b5a1d)

Versione 1.3.0-beta04

26 giugno 2024

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

Versione 1.3.0-beta03

12 giugno 2024

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

Contributo esterno

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

Versione 1.3.0-beta02

29 maggio 2024

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

Modifiche all'API

  • Modifier.pullToRefreshIndicator supporta l'elevazione, aggiorna le API Pull To Refresh in modo che l'opzione Abilitato sia un valore booleano anziché una funzione lambda. Supportare l'allineamento dei contenuti in PullToRefreshBox (I75679)
  • Rendi TooltipScope un'interfaccia sigillata e crea un'implementazione interna da utilizzare in TooltipBox e Label. (I3833e)
  • Sono stati aggiunti due nuovi modificatori a CarouselItemScope, maskClip e maskBorder per aggiungere facilmente una forma e un bordo a qualsiasi elemento del carosello (Id67a1)
  • TimePickerState ora è un'interfaccia e consente di impostare l'ora (I88546)
  • API aggiornata per lo stile dei link: TextLinkStyles è stato spostato in TextStyle e TextDefaults è stato rimosso da Material. (I5477b)

Correzioni di bug

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

Contributo esterno

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

Versione 1.3.0-beta01

14 maggio 2024

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

Modifiche all'API

  • Utilizzo di DpSize al posto di CaretProperties. Contatto rimosso: CaretProperties. Rinomina CaretScope in TooltipScope. (Id9a76)
  • L'API è stata aggiornata per ottenere link con temi Material nel testo. Nello specifico, sono stati rimossi i metodi dal TextDefaults per la creazione di LinkAnnotations a tema e l'analisi del codice HTML con link a tema. È stata invece aggiunta una classe TextLinkStyles che consente di applicare uno stile ai link come parametro al composable di testo. (I31b93)

Versione 1.3.0-alpha06

1° maggio 2024

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

Modifiche che provocano un errore

  • Nuove API di aggiornamento tramite trazione:

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

Modifiche all'API

  • RippleConfiguration#isEnabled è stato rimosso e LocalRippleConfiguration è stato impostato come non obbligatorio. Per disattivare un'eco, anziché fornire un RippleConfiguration con isEnabled = false, fornisci null a LocalRippleConfiguration. (I22725)
  • ModalBottomSheet disegna con maggiore precisione lo scrim sulla barra di stato quando è attivata la modalità da bordo a bordo. Ora i contenuti del riquadro in basso modale possono utilizzare gli inserti della finestra, consentendo di visualizzare i contenuti sopra la barra di navigazione. Il parametro ModalBottomSheet windowInsets è stato rinominato in contentWindowInsets per specificare dove verranno applicati gli inserti, che non sono più legati alla logica della finestra. Il tipo contentWindowInsets è stato modificato in una funzione che restituisce WindowInsets, per consentirne la risoluzione nella nuova finestra. (I39630, b/274872542, b/300280229, b/290893168)
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow ora utilizzano il layout personalizzato anziché la composizione secondaria, il che dovrebbe migliorare il rendimento. (I991e0)
  • I link di testo hanno ricevuto l'opzione di stile per lo stato premuto, oltre allo stile normale, al passaggio del mouse e allo stato attivo. I metodi TextDefaults hanno ciascuno un argomento pressedStyle per supportarlo. (Ic473f, b/139312671)

Correzioni di bug

  • Le ancore di trascinamento del riquadro di navigazione ora corrispondono alla larghezza di drawerContent. (Ibc72f, b/245355396)
  • OutlinedTextField Il padding superiore per l'etichetta ora tiene conto delle dimensioni dei caratteri di sistema. (Idc781)
  • Posizione del pacchetto corretto: CalendarLocale. (Ifa235)
  • [Indietro predittivo] Aggiornamento delle animazioni Indietro predittive per utilizzare la curva di interpolazione (0,1, 0,1, 0,1) (I2591a)

Versione 1.3.0-alpha05

17 aprile 2024

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

Nuove funzionalità

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

Modifiche all'API

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

Correzioni di bug

  • BottomSheetScaffold non scorrerà più dal riquadro di scorrimento nidificato se sheetSwipeEnabled è false. (I5e1c1, b/306464779)
  • È stata rimossa un'annotazione di attivazione ExperimentalMaterial3Api in IconButtonSamples.kt. (I111d1)

Versione 1.3.0-alpha04

3 aprile 2024

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

Nuove funzionalità

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

Modifiche all'API

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

Versione 1.3.0-alpha03

20 marzo 2024

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

Modifiche che comportano interruzioni visive

  • Aggiorna l'overlay dello stato di messa a fuoco in modo che sia pari a 0,1f per garantire un contrasto cromatico sufficiente. (I7ea77)
  • Piccoli aggiustamenti ai colori predefiniti di superficie e sfondo in lightColorScheme 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 all'API

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

Correzioni di bug

  • I ruoli di base della funzionalità Riquadro e della funzionalità Riquadro contenitore sono stati leggermente modificati per fornire una maggiore saturazione nei temi chiaro e scuro. (I677a5)
  • Colori del cursore e di ProgressIndicator aggiornati in base alle nuove specifiche relative al contrasto non di testo. (I26807)
  • Aggiorna l'overlay dello stato di messa a fuoco in modo che sia pari a 0,1f per garantire un contrasto cromatico sufficiente. (I7ea77)
  • Piccoli aggiustamenti ai colori predefiniti di superficie e sfondo in lightColorScheme e darkColorScheme. (I9db52)

Versione 1.3.0-alpha02

6 marzo 2024

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

Modifiche all'API

  • Rendere di nuovo stabili gli stati del cursore. Impostazione di State.onValueChangeFinished come val di nuovo. Inserimento di onValueChangeFinished in un rememberUpdatedState. (I82ab2, b/322269951)
  • I componenti di navigazione ora utilizzano i nuovi ruoli SurfaceContainer. DrawerDefaults ora fornisce attributi standardContainerColor e modalContainerColor distinti. DrawerDefaults.ModalDrawerElevation è diventato 0.dp. (I7fbac)
  • Stiamo rimuovendo @Stable dagli stati di Slider perché stiamo cambiando state.onValueChangeFinished in var. (Ied34a, b/322269951)
  • La specifica dell'animazione ModalBottomSheet e StandardBottomSheet ora è TweenSpec, aggiornata da un'animazione con effetto molla. In questo modo viene risolto un problema relativo a un overshoot visibile. I costruttori SheetState non più supportati senza densità sono stati rimossi. (I7babc, b/285847707)

Correzioni di bug

  • Le varianti SurfaceContainer vengono ora utilizzate dai componenti. I componenti che calcolavano formalmente il colore con Surface e TonalElevation ora utilizzano per impostazione predefinita i ruoli SurfaceContainer, che non sono interessati dall'elevazione tonale. (b/304584161)
  • È stato corretto un bug che causava il colore nero del contenitore disattivato e deselezionato di ElevatedFilterChip. (I400e6, b/322407043)
  • Correggere l'indicatore di avanzamento indeterminato quando l'avanzamento è 0 (Id6582)
  • È stato risolto un problema con Slider e RangeSlider nel layout RTL (Iab0e1)
  • Aggiunta di SliderRangeTolerance per il calcolo dell'intervallo del dispositivo di scorrimento, poiché il calcolo dei valori in virgola mobile può essere impreciso. (Ic918a, b/324934900)
  • Assicurati che DatePickerDialog mostri i suoi pulsanti quando nidifica un DateRangePicker o quando mostra qualsiasi tipo di selettore della data su schermi piccoli con caratteri più grandi. (Ie4758, b/325107799, b/277768544)
  • Menu ora utilizza il ruolo SurfaceContainer per il colore del contenitore. MenuDefaults.TonalElevation è diventato 0.dp. (I135b7)
  • TextField ora utilizza il ruolo SurfaceContainerHighest per il colore del contenitore. (I4dced)
  • I chip con accesso elevato ora sfruttano il ruolo SurfaceContainerLow (I7cd2f)
  • Il colore del contenitore DatePicker è ora SurfaceContainerHigh. DatePickerDefaults.TonalElevation è diventato 0.dp. (Ida753)
  • Aggiorna il colore del contenitore dei fogli inferiori e il colore dell'area di trascinamento. (I72a0a)
  • Il colore del contenitore RichTooltip è ora SurfaceContainer. (Ia8b45)
  • Il colore del contenitore SearchBar è ora SurfaceContainerHighest. SearchBarDefaults.TonalElevation è diventato 0.dp. (I88604)
  • Aggiorna l'opzione per disattivare le icone/le tracce non selezionate e sfruttare il ruolo di colore SurfaceContainerHighest. (I7687a)
  • Il colore del contenitore AlertDialog è ora SurfaceContainerHigh. (Ie0433)
  • Il colore del contenitore BottomAppBar è ora SurfaceContainer. Il colore TopAppBar onScroll è diventato SurfaceContainer. (I41630)
  • Il colore del contenitore ElevatedCard è ora SurfaceContainerLow. Il colore del contenitore di FilledCard è SurfaceContainerHighest. (I35141)
  • Il colore del contenitore ElevatedButton è ora SurfaceContainerLow. Quando non sono selezionati, i valori FilledIconButton ora hanno un colore del contenitore SurfaceContainerHighest. (I792c9)
  • Aggiorna il colore del contenitore TimePicker e il ruolo del colore del quadrante dell'orologio su SurfaceContainerHighest. (I43b93)

Versione 1.3.0-alpha01

21 febbraio 2024

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

Nuove funzionalità

  • Aggiornamento di Componi M3 ModalBottomSheet per supportare il tasto Indietro predittivo su U+ (Iccf32, b/281967264, b/304850357)
  • Aggiornamento di Compose M3 SearchBar per supportare il Gesto indietro predittivo su U+ (I657f8)
  • Il dispositivo di scorrimento è stato aggiornato per migliorare l'accessibilità aggiungendo un indicatore di interruzione e fermata. (I3058e)
  • Aggiornamento del giorno ProgressIndicator per migliorare l'accessibilità aggiungendo un indicatore di fermata e di intervallo. (I21451)
  • L'aggiunta di un cursore predefinito per le descrizioni comando avanzate, la nuova API di descrizioni comando avanzate ora consente di disegnare un cursore personalizzato in base all'ancora LayoutCoordinates. (Ifd42c)

Modifiche al comportamento

  • È stata eseguita la migrazione dei componenti Material per utilizzare le nuove API di ripple e non eseguono più query su RippleTheme.

Modifiche all'API

  • La funzionalità drawStopIndicator è ora pubblica. (I3f59f)
  • Contrassegna la funzione formatWithSkeleton di DatePicker come interna (Ic65dc)
  • DropdownMenu ora supporta colore, forma, altezza e bordo personalizzati. (I8e981, b/289554448, b/301887035, b/283654243)
  • I componenti Material3 che espongono un MutableInteractionSource nella loro API sono stati aggiornati in modo da esporre un MutableInteractionSource nullable che per impostazione predefinita è null. Non sono presenti modifiche semantiche: se passi null, significa che non vuoi eseguire l'elevazione di MutableInteractionSource, che verrà creato all'interno del componente, se necessario. La modifica in null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri di creare un'istanza solo quando è necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi MutableInteractionSource che passi a questi componenti, ti consigliamo di passare null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (I41abb, b/298048146)
  • Aggiunge RippleConfiguration e LocalRippleConfiguration per consentire la personalizzazione delle increspature per componente / sottoalbero utilizzando valori fissi. Ad esempio, per modificare il colore di un componente che non controlli o per disattivare un'eco per un componente. Nella maggior parte dei casi, è consigliabile utilizzare i valori predefiniti: queste API sono una via di fuga per la personalizzazione di singoli componenti / sottoalberi limitati. Per modifiche più ampie e sistemi di design personalizzati, devi creare la tua ondata utilizzando createRippleModifierNode. (I7b5d6, b/298048146)
  • Aggiunge la nuova API ripple in material3 che sostituisce rememberRipple deprecato. Aggiunge anche un CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare l'utilizzo delle API rememberRipple / RippleTheme deprecate per i componenti material3. Questo parametro verrà rimosso nella prossima release stabile e ha lo scopo di essere solo un aiuto temporaneo per la migrazione nei casi in cui fornisci un RippleTheme personalizzato. (I34cbc, b/298048146)

Correzioni di bug

  • È stata rimossa la composizione secondaria all'interno di ModalBottomSheet per migliorare le prestazioni. È stato risolto un problema per cui ModalBottomSheet poteva arrestarsi in modo anomalo in scenari specifici in combinazione con LookaheadScope. (I2a198)
  • È stata rimossa la composizione secondaria 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 viene regolato in modo da avvicinarsi al centro dei contenuti dell'ancora rispetto all'angolo in alto a destra. (I18a28)
  • Risolto un problema di accessibilità con DateRangePicker in cui il titolo del testo Mese-Anno veniva trasmesso come attivabile agli utenti di screen reader, Switch Access e Accesso vocale. (I2ac55)
  • Corretto il bug relativo all'ordine dei parametri mediumTopAppBarColors. (Ibe64a)

Versione 1.2

Versione 1.2.1

6 marzo 2024

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

Correzioni di bug

  • Rendi di nuovo stabili gli stati del cursore. Impostazione di State.onValueChangeFinished come val di nuovo. Inserimento di onValueChangeFinished in un rememberUpdatedState. (Ie8fd0, b/322269951)
  • Stiamo rimuovendo @Stable dagli stati di Slider perché stiamo cambiando state.onValueChangeFinished in var. (I82ba1, b/322269951)
  • Correggi NavigationBar colori personalizzati da copiare dai colori predefiniti. (80a779, b/326894020)
  • Correggere la regressione in ExposedDropdownMenu per renderlo di nuovo selezionabile (3fcec1, b/323694447)
  • Correzione del problema di memorizzazione nella cache dei colori dei pulsanti (3e5bbcb/327371655)

Versione 1.2.0

7 febbraio 2024

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

Problema noto

  • In PrimaryTabRow è stato introdotto un bug di rendering dell'interoperabilità di View-Compose nell'ambito di una modifica per il miglioramento delle prestazioni. La soluzione alternativa è 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.

Le API sperimentali sono state promosse a versione stabile.

Miglioramenti delle prestazioni

Versione 1.2.0-rc01

24 gennaio 2024

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

Correzioni di bug

  • Corretto il bug relativo all'ordine dei parametri mediumTopAppBarColors. (Ibe64a)
  • È stato risolto 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 ed è stata aggiunta una piccola ottimizzazione. (I6dda1, b/318428829)

Versione 1.2.0-beta02

10 gennaio 2024

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

Bug noto

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

Modifiche all'API

  • È stata aggiunta la possibilità di attivare i cursori delle descrizioni comando per le API Tooltip semplici. (Ibf767)
  • SwipeToDismissState, rememberSwipeToDismiss e SwipeToDismissValue vengono rinominati in modo da avere _SwipeToDismissBox_. (I68d6d)

Correzioni di bug

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

Versione 1.2.0-beta01

13 dicembre 2023

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

Modifiche all'API

  • Contrassegna TabIndicatorScope come sperimentale. (I45c88)
  • Rimozione delle API sperimentali obsolete per la descrizione comando. (I438cb)
  • Modifica i nuovi sovraccarichi di TabRow in modo che non utilizzino le sottocomposizioni. Il risultato è un modo diverso per creare gli indicatori TabRow con i modificatori personalizzati forniti. (Ife741)
  • Ritira le API DismissDirection e DismissValue. Questi valori sono stati uniti in SwipeToDismissValue, i cui valori indicano sia la posizione sia la direzione di SwipeToDismissBox. DismissState.progress ora è contrassegnato come FloatRange tra 0.0 e 1.0. DismissState Saver e Constructor deprecati sono stati rimossi. L'oggetto componente, stato e valori predefiniti di SwipeToDismiss sono stati contrassegnati come sperimentali. (Ib54f2)

Correzioni di bug

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

Versione 1.2.0-alpha12

29 novembre 2023

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

Modifiche all'API

  • RangeSlider ora accetta un intervallo Kotlin (ad es. 0f..1f) anziché una classe di valori 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

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

Nuove funzionalità

  • Implementa PullToRefreshContainer e PullToRefreshState, che insieme forniscono un'implementazione di scorrimento verso il basso per aggiornare in Material3. (I16456, b/261760718)

Modifiche all'API

  • Contrassegna SwipeToDismissBox DismissDirection e DismissValue come sperimentali. (I517b0)
  • Rinomina SwipeToDismiss in SwipeToDismissBox. Rinomina background in backgroundContent e dismissContent in lambda content finale. (I7f4d3)
  • Rendi pubblico il costruttore per ChipElevation e SelectableChipElevation. (Ie0c48, b/308432421)
  • Aggiunta di ModalBottomSheetProperties. 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)
  • Stati RangeSlider e Slider aggiornati per rimuovere initialOnValueChange, i prefissi iniziali e i kdoc appropriati. (I57d30)
  • La classe ChipBorder e le relative chiamate di funzioni sono state ritirate. Ti consigliamo di utilizzare direttamente BorderStroke. (I89cc2)
  • Le API di descrizioni comando di base ora sono @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 di 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 come stabili. (I14cbe)
  • Aggiunta di tonalElevation e shadowElevation alle API di descrizioni comando. Inoltre, le API TooltipBox, PlainTooltip e RichTooltip sono state spostate di nuovo in stato sperimentale perché sono state rilasciate accidentalmente come stabili. (If0f66, b/293939035)
  • Promuovere le API chip sperimentali a stabili. (Iea2c3)
  • È stata rimossa l'annotazione @ExperimentalMaterial3Api dalle schede cliccabili Material3. (I88dbf)

Correzioni di bug

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

Versione 1.2.0-alpha10

18 ottobre 2023

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

Modifiche all'API

  • Promozione di Badge 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 accettano progress come lambda. Dovrebbero avere un rendimento migliore rispetto alle versioni precedenti. (I824e6, b/295616656)
  • Rinomina StandardSizeClasses in AllSizeClasses. (I8cb07)
  • Combina le funzioni di calcolo delle classi di dimensioni della finestra. (Iad935)

Correzioni di bug

  • È stato corretto un arresto anomalo di DatePicker quando si fa clic rapidamente sui pulsanti delle frecce di navigazione quando il mese visualizzato è all'inizio o alla fine dell'intervallo di anni consentito. (I46f36, b/290954897, b/297002119)
  • [Barra laterale di navigazione] Supporto del colore trasparente per l'indicatore. (Ie0a9b, b/267289987)

Versione 1.2.0-alpha09

4 ottobre 2023

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

Modifiche all'API

  • È stata eseguita la migrazione di ModalNavigationDrawer e DismissibleNavigationDrawer per utilizzare le nuove API AnchoredDraggable. DrawerState di animateTo è stato sostituito dai metodi open e close e l'offset ora viene visualizzato come valore float anziché come oggetto dello stato. Puoi accedere all'offset direttamente tramite currentOffset. (I0a72c)
  • Sono state aggiunte funzioni non componibili per creare direttamente DatePickerState e DateRangePickerState. Queste funzioni possono essere utilizzate come alternativa alle funzioni Composable rememberDatePickerState e rememberDateRangePickerState, se necessario. (I70326, b/291524052)
  • Le schede TabRows fisse e scorrevoli ora hanno le varianti Principale e Secondaria. Questi valori corrispondono correttamente al comportamento del colore e dell'indicatore come definito in Material3.
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow ora mostrano lo stato di scorrimento. (Iec8f5, b/260572337)
  • Aggiunta di un nuovo parametro sheetMaxWidth che gli sviluppatori possono impostare per specificare una larghezza massima del foglio. Se vuoi un foglio che occupi l'intera larghezza dello schermo, puoi passare Dp.Unspecified come parametro. (Ifb7c9, b/266697696)
  • Aggiunta di nuovo delle API PlainTooltipBox e RichTooltipBox come metodi deprecati. (I246fa)

Correzioni di bug

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

Versione 1.2.0-alpha08

20 settembre 2023

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

Modifica che comporta un cambiamento nel comportamento

  • ColorScheme ora è immutabile, il che rende meno efficienti i singoli aggiornamenti dei colori, ma rende più efficiente l'utilizzo più comune dei colori. Il motivo alla base di questa modifica è che la maggior parte delle app non ha l'aggiornamento dei singoli colori come caso d'uso principale. Questa operazione è ancora possibile, ma la ricompozione avverrà più di prima. Di conseguenza, ridurremo in modo significativo la quantità di abbonamenti allo stato in tutto il codice di Material e influiremo sul costo di inizializzazione e di runtime di casi d'uso più standard. (Ic447d, b/297212873)
  • L'elevazione tonale non viene più animata in stati di interazione diversi per soddisfare le specifiche. (Icdd12)

Modifiche all'API

  • È stato aggiunto un nuovo BottomAppBar che prende come parametro un BottomAppBarScrollBehavior per nasconderlo automaticamente quando si scorre il contenuto. È stato aggiunto anche FabPosition.EndOverlay per consentire al FAB di sovrapporsi alla barra delle app in basso nello scafo anziché essere ancorato sopra. (Iecb47)
  • È stato aggiunto un semplice componente Etichetta basato su BasicTooltipBox che non viene chiuso quando si tocca all'esterno dei limiti dell'etichetta. (I821f9)

Correzioni di bug

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

Versione 1.2.0-alpha07

6 settembre 2023

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

Nuove funzionalità

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

Modifiche all'API

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

Correzioni di bug

  • dynamicLightColorScheme e dynamicDarkColorScheme ora restituiscono colori di crominanza più elevati per i ruoli di superficie e surfaceContainer. (I5e901)
  • È stato risolto un problema per cui alcuni componenti che utilizzano la composizione secondaria (ad es. BottomSheetScaffold) all'interno di un riquadro all'interno di un LookaheadScope tentavano di leggere le dimensioni troppo presto. (I297b4, I871f1, b/295536718)

Versione 1.2.0-alpha06

23 agosto 2023

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

Correzioni di bug

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

Versione 1.2.0-alpha05

9 agosto 2023

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

Modifiche all'API

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

Versione 1.2.0-alpha04

26 luglio 2023

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

Nuove funzionalità

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

Modifiche all'API

  • Stiamo spostando la dipendenza dalla densità a livello di componente. Questo vale per i seguenti componenti: SwipeToDismiss e componenti basati su Fogli. Utilizza la nuova sovraccarica fornita in cui la densità è un parametro. (I1846e)
  • Annotazioni aggiuntive per specificare gli input consentiti per i composabili (Ief234)
  • Aggiungi un parametro di icona al pulsante segmentato, suddividi la semantica in modo che i pulsanti segmentati possano essere selezionabili per implementare la selezione singola e attivabili/disattivabili per implementare la selezione multipla, rispettivamente con SelectableSegmentedButtonRow e ToggelableSegmentedButtonRow. (I38740)
  • La scheda Divisore è stata rinominata in HorizontalDivider. È stata aggiunta la funzionalità VerticalDivider. (I5975c)
  • Cambia l'utilizzo di ClosedFloatingPointRange con FloatRange più leggero nelle API Material3 sperimentali per ridurre al minimo l'autoboxing. (I4aab5)
  • È stato aggiunto un nuovo allineamento di inizio per FabPosition (Ib7aea, b/170592777)

Correzioni di bug

Versione 1.2.0-alpha03

21 giu 2023

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

Modifiche al comportamento

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

Nuove funzionalità

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

Modifiche all'API

  • Apri i costruttori dei colori dei componenti. (I8c4a6)
  • Aggiunta del parametro focusable a entrambe le API di descrizione comando, in modo che gli sviluppatori possano decidere se la descrizione comando deve consumare o meno gli eventi tocco. Tieni presente che questa operazione potrebbe interrompere il traversale automatico dell'attenzione per l'accessibilità. (Ie32d8)
  • Accessibilità ottimizzata per le prestazioni e le allocazioni di memoria. (Iede48)
  • Esporre DefaultSizeClasses e creare StandardSizeClasses per WindowSizeClasses (I91838)
  • Modifica WindowWidth/HeightSizeClass in classi di valori float (Ie686e)

Correzioni di bug

  • Il parametro contentWindowInsets di Scaffold ora rispetta gli inserti della finestra consumati. Tieni presente che il comportamento del riempimento 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 di azione o l'icona di navigazione. (I4369f, b/236994621)
  • Le posizioni delle schede ora richiedono una larghezza minima dei contenuti di 24 dp. In questo modo viene fornito un target di tocco accessibile per gli indicatori delle schede. (Id8861)
  • Le tavolozze di colori dinamiche di dynamicLightColorScheme e dynamicDarkColorScheme ora supportano nuovi ruoli di visualizzazione. (I1252e)
  • Aggiornamento dell'allineamento della notifica del badge in modo che non venga tagliata in caso di collisione con il bisnonno. (Idf75a)

Versione 1.2.0-alpha02

24 maggio 2023

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

Modifiche all'API

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

Correzioni di bug

  • È stato corretto l'errore relativo all'azione di chiusura AlertDialog che appariva sotto l'azione di conferma quando le azioni erano impilate una sopra l'altra per adattarsi alla larghezza della finestra di dialogo. Questa correzione allinea l'implementazione alle specifiche di Material Design. (I029de, b/235454277)
  • È stato corretto un bug in ListItem che utilizzava spaziatura interna errata per gli elementi pubblicitari di tre righe. (I6e235)
  • ModalBottomSheet ora può mostrare la tastiera IME (Idc508, b/262140644, b/268380384, b/272483584)

Versione 1.2.0-alpha01

10 maggio 2023

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

Versione 1.1

Versione 1.1.2

20 settembre 2023

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

Correzioni di bug

  • È stato corretto il modificatore passato erroneamente a due composabili. (b/282761472)
  • TimePickerState corretto restituisce ore errate quando viene inizializzato con 23 ore. (b/278242122)
  • È stato corretto lo stato di attivazione/disattivazione iniziale per la convalida di mezzogiorno e dei minuti. (b/269768197, b/282790635)
  • È stato corretto il valore errato restituito da state.hour per le 23:00. (b/282761472, b/278242122)

Versione 1.1.1

21 giu 2023

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

Correzioni di bug

  • Aggiunge la chiamata per ModalBottomSheet senza il parametro windowInset per la compatibilità binaria. (Ib7959)
  • Aggiungi il parametro rientranze finestra a ModalBottomSheet.
    • Ora lo scrim per ModalBottomSheet può essere disegnato dietro la barra di stato con windowInsets impostato su zero
    • Aggiornamento della funzionalità predefinita ModalBottomSheet per rimanere al di fuori delle barre di sistema, inclusa la navigazione
    • La gestione dell'inserimento della barra di stato è fornita dall'handle di trascinamento in modalità da bordo a bordo.
    • BottomSheetDefaults include i riquadri delle finestre per BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)

Versione 1.1.0

10 maggio 2023

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

Funzionalità principali della versione 1.1.0

Nuovi componenti di Material Design 3

Miglioramenti ai componenti esistenti di Material Design 3.

Le API sperimentali sono state promosse a versione stabile.

Per maggiori dettagli, consulta questo post del blog.

Versione 1.1.0-rc01

19 aprile 2023

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

Modifiche all'API

  • TimePicker rimosso dall'API stabile, sono previste ulteriori modifiche nell'API di stato (I3f39a)
  • ModalBottomSheet è passato solo ad Android. L'utilizzo di ModalBottomSheet non è consigliato per i computer e la funzionalità non è più mantenuta. (Ib3778)

Versione 1.1.0-beta02

5 aprile 2023

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

Modifiche all'API

  • SheetState ora ha il parametro facoltativo skipHiddenState
  • rememberStandardBottomSheetState ora ha il parametro facoltativo skipHiddenState
  • BottomSheetScaffold ora ha un'ancora nascosta definita, anche se è disattivata per impostazione predefinita
  • La documentazione di SheetState.requireOffset è stata aggiornata
  • BottomSheetDefaults.MinimizedShape è stato rinominato BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Correzioni di bug

  • Non passare dall'ora ai minuti sul quadrante quando l'esplorazione tocco è attivata. (I717d0)
  • La semantica dell'handle di trascinamento ModalBottomSheet e BottomSheetScaffold è stata ora unita. (I05afb)
  • I parametri modificatore BottomSheetScaffold, containerColor e contentColor ora influiscono solo sui contenuti. (I992cb)
  • BottomSheetScaffold nestedScroll per i contenuti del foglio ora implementa i movimenti rapidi. (I992cb)

Versione 1.1.0-beta01

22 marzo 2023

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

Modifiche all'API

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

Correzioni di bug

  • Ora le barre di ricerca vengono automaticamente deselezionate quando non sono attive. (I22a7c, b/261444487)
  • È stato aggiornato il pulsante DateRangePicker per consentire la selezione di un intervallo con la stessa data per l'inizio e la fine. (I16529, b/272882497)
  • Ora i campi di testo posizionano correttamente i propri elementi di testo quando la dimensione dei caratteri è inferiore a quella prevista. Ciò potrebbe comportare una variazione di alcuni pixel nelle app in base alle impostazioni dei caratteri e allo script. (I8b8d0)
  • Le azioni semantiche del riquadro inferiore ora hanno etichette. (I277b0)

Versione 1.1.0-alpha08

8 marzo 2023

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

Nuove funzionalità

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

Modifiche all'API

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

Correzioni di bug

  • Risolto un problema per cui lo stato HalfExpanded di ModalBottomSheet veniva calcolato in modo errato e il foglio sembrava essere in primo piano. (I45e84, b/268411386)
  • Aggiungi il segno di spunta confirmValueChange al tocco della schermata scrim per ModalBottomSheet. (I2311a, b/270425759)
  • Sposta le azioni semantiche BottomSheet nel punto di manipolazione. (I158ba)
  • ModalBottomSheet ora comanda lo stato attivo al momento dell'avvio e gestisce il pulsante Indietro. (I4d2ab)
  • ModalBottomSheet onDismissRequest viene ora gestito anche durante i movimenti di scorrimento nidificati. (I655c5, b/268433166)

Versione 1.1.0-alpha07

22 febbraio 2023

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

Nuove funzionalità

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.1.0-alpha06

8 febbraio 2023

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

Nuove funzionalità

  • I campi di testo ora supportano i prefissi e i suffissi (Ia8578, b/179884561)
  • È stata aggiunta una funzione TimePicker per mostrare un selettore dell'ora in base alle specifiche di Material 3, utilizzata in combinazione con TimePickerState e il metodo di utilità rememberTimePickerState (I71910)
  • Un'input di data ora è una modalità di visualizzazione in DatePicker. È stato aggiunto il supporto per il passaggio tra la modalità di selezione della data e la modalità di inserimento della data. (Ieeff7)
  • È stata aggiunta l'API per RichTextTooltips. (I58ef3)
  • Implementazione del riquadro inferiore modale per Material 3, inclusi ModalBottomSheet e ModalBottomSheetDefaults. Vengono inoltre introdotti SheetState e rememberSheetState, che possono essere utilizzati per i componenti dei fogli futuri. (I0853a, b/244189383)

Modifiche all'API

  • Stabilizza l'API showSnackbar (I195c2, b/261424370)
  • Stabilizzare le API per i chip di assistenza e di suggerimento (Ibb67b, b/261424370)
  • Promuove le API ListItem, ListItemDefaults e ListItemColors a non sperimentali (I7e7fa, b/261438882)
  • Promozione di SliderPositions, SliderDefaults.Thumb e SliderDefaults.Track alla versione stabile e aggiunta di API Slider e RangeSlider non sperimentali che contengono miniature e tracce personalizzate. Inoltre, verranno ritirate le API Slider e RangeSlider precedenti. (Ie5ea6, b/261566890)
  • È stato reso pubblico Modifier.tooltipAnchor(), in modo che gli sviluppatori possano trasmetterlo all'ancora per indicare che deve essere visualizzata una descrizione comando con una pressione prolungata. L'API PlainTooltipBox è stata aggiornata in modo che TooltipState non sia più nullable e ora ha un valore predefinito. (Ie2fb7)
  • ProgressIndicatorDefaults.circularTrackColor è stato contrassegnato come @Composable per coerenza. (Id29cc)
  • Ripristina il getter della proprietà LocalMinimuTouchTargetEnforcement, contrassegnalo come deprecato e reindirizza a LocalMinimumInteractiveComponentEnforcement. (I60dd5)

Versione 1.1.0-alpha05

26 gennaio 2023

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

Nuove funzionalità

  • DatePickerDialog e assistenza per l'accessibilità
  • Sono stati aggiunti miniatura e traccia personalizzati a RangeSlider.

Aggiornamenti delle dipendenze

Versione 1.1.0-alpha04

11 gennaio 2023

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

Nuove funzionalità

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

Modifiche all'API

  • Aggiunta nella proprietà di semantica IsContainer su Surfaces. Questa proprietà verrà utilizzata in una modifica successiva che determina l'ordine di attraversamento in base al significato semantico di elementi come le piattaforme. (I63379)
  • Contrassegna le API correlate al riquadro di navigazione come stabili. (Iab01e, b/261439597)
  • È stato aggiunto un parametro di colore del tracciato per gli indicatori di avanzamento circolari e un parametro di tratto finale per gli indicatori di avanzamento circolari e lineari. (Ie668c, b/216325962, b/222964817)
  • Maggiore nullabilità del tipo di ritorno delle funzioni nascoste ritirate (Ibf7b0)
  • Aggiungi Modifier.minimumInteractiveComponentSize. Può essere utilizzato per riservare dimensioni di almeno 48 dp per distinguere le interazioni tocco se l'elemento è di dimensioni inferiori. (I33f58, b/258495559)
  • È stata aggiunta un'API sperimentale per il composable AlertDialog con uno slot per i contenuti. (Iec4a2)

Correzioni di bug

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

Problema noto

  • Quando esegui l'aggiornamento da androidx.compose.foundation:1.4.0-alpha03 a androidx.compose.foundation:1.4.0-alpha04, potresti riscontrare un errore java.lang.NoSuchFieldError. Qui è dove è stato segnalato il problema per la prima volta. È stata inviata una correzione che sarà disponibile nel prossimo aggiornamento di Scrivi. Come soluzione alternativa, aggiorna le librerie androidx.compose.material e androidx.compose.material3 all'ultima versione(1.1.0-alpha04) o esegui il downgrade di androidx.compose.foundation alla versione 1.4.0-alpha03.

Versione 1.1.0-alpha03

7 dicembre 2022

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

Modifiche all'API

  • Abbiamo rinominato consumedWindowInsets() in consumeWindowInsets() e withConsumedWindowInsets() in onConsumedWindowInsetsChanged() e abbiamo reso pubblici i modificatori. (Ie44e1)
  • Aggiungi un nuovo spazio interno predefinito per il pulsante di testo con icona da utilizzare. (I8f662)
  • Sono stati aggiunti i colori disattivati per la barra di navigazione e la barra laterale. (Ia7892, b/258867034)
  • È stata aggiunta un'API Modifier per eseguire query sulle informazioni di scorrimento degli antenati. (I2ba9d, b/203141462)
  • Utilizzato in Clickable per ritardare correttamente le interazioni con i tasti, quando i gesti potrebbero diventare eventi di scorrimento.
  • È stato corretto il problema per cui Clickables non ritardava correttamente le increspature quando veniva utilizzato all'interno di un Scrollable ViewGroup.
  • È stato aggiornato il riquadro e i riquadri per posticipare correttamente le pressioni nel caso in cui i gesti possano diventare eventi di scorrimento.

Aggiornamenti delle dipendenze

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

Versione 1.1.0-alpha02

9 novembre 2022

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

Modifiche all'API

  • awaitFirstDown e waitForUpOrCancellation ora accettano un PointerEventPass per una maggiore flessibilità (viene inoltre corretto il problema relativo alla visualizzazione di un menu durante lo scorrimento di ExposedDropdownMenuBox).(I7579a, b/212091796)
  • È stato aggiunto il parametro minLines in Material e Material3 Text, TextField e OutlinedTextField che consente di impostare l'altezza minima del componente in termini di numero di righe (I4af1d)
  • La funzione TopAppBarDefaults smallTopAppBarColors verrà ritirata a favore di una nuova funzione topAppBarColors che deve essere utilizzata per creare un TopAppBar. (Ie6cb9)
  • È stato aggiunto il parametro minLines a BasicText e BasicTextField. Consente di impostare l'altezza minima di questi composabili in termini di numero di righe (I24294, b/122476634)

Correzioni di bug

  • Ritaglia i contenuti di un Material3 IconButton e IconToggleBotton in base alla forma del livello di stato del componente (ad es. forma circolare). (I9da8f)
  • Aggiorna le barre delle app superiori di Material3 di medie e grandi dimensioni in modo da applicare lo stesso colore di sfondo all'intera superficie e da consentire l'impostazione dell'override dei colori predefiniti con valori di colore trasparenti. (I67659, b/249688556, b/250838918)

Versione 1.1.0-alpha01

24 ottobre 2022

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

Correzioni di bug

  • Corregge la barra delle app in alto quando il titolo viene applicato con un TextStyle e un pennello. (If667e)

Versione 1.0

Versione 1.0.1

9 novembre 2022

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

Correzioni di bug

  • Aggiorna le barre delle app superiori di Material3 di medie e grandi dimensioni in modo da applicare lo stesso colore di sfondo all'intera superficie e da consentire l'impostazione dell'override dei colori predefiniti con valori di colore trasparenti. (I67659, b/249688556, b/250838918)

Versione 1.0.0

24 ottobre 2022

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

Funzionalità principali della versione 1.0.0

Questa è la prima release stabile di Compose Material 3.

Temi Material Design 3 e colore dinamico Material You

Componenti di Material Design 3

Classe di dimensioni finestra

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

  • Per maggiori dettagli, consulta questo post del blog.

Versione 1.0.0-rc01

5 ottobre 2022

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

Modifiche all'API

  • È stato aggiunto il parametro slot per supportare l'API di trasferimento del testo al campo di testo (Iaac0d, b/227146125)

Versione 1.0.0-beta03

21 settembre 2022

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

Modifiche all'API

  • ExposedDropdownMenuDefaults ora espone un valore di spaziatura per gli elementi del menu. (I34ee1)
  • ExposedDropdownMenuBoxScope ora ha un modificatore Modifier.menuAnchor() che deve essere passato al campo di testo per un comportamento corretto di a11y. (I27fa3)
  • Aggiunta di due metodi sovraccaricati per l'attuale API Slider per consentire agli utenti di passare un cursore o un canale per compilare il cursore. (I21c00)

Correzioni di bug

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

Versione 1.0.0-beta02

7 settembre 2022

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.0.0-beta01

24 agosto 2022

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

Riferimento API

Per visualizzare gli ultimi temi, componenti e altri componenti composibili disponibili, consulta la Panoramica di riferimento dell'API Compose Material 3.

Modifiche all'API

  • È stata aggiornata la barra delle app superiore Material 3 in modo che possa passare da uno stato completamente compresso a uno completamente esteso. Inoltre, è stata aggiornata la funzione di comportamento TopAppBarDefaults in modo che sia Composables e fornisca valori predefiniti per lo stato e le specifiche di animazione della barra delle app superiore. (I642b3)
  • Le firme dei componenti FAB sono state aggiornate in modo da corrispondere all'API di Surface (I3afaa)
  • È stato aggiunto il supporto integrato per le barre delle app in primo piano, i riquadri, la barra di navigazione e la barra laterale. Questi componenti, se utilizzati separatamente o con Scaffold, gestiranno automaticamente gli inserti per gli sviluppatori. Nota: questa modifica non aggiunge la gestione automatica delle icone della barra di stato e la trasparenza delle barre di stato e di navigazione. Continua a farlo manualmente per garantire la migliore esperienza edge-to-edge. (I7e4e6, b/183161866)
  • Valori predefiniti dei componenti aggiornati per ridurre l'API per miglioramenti futuri di flessibilità e prestazioni. (I31820)
  • Parametri del foglio del riquadro di navigazione e del chip riordinati per mantenere la coerenza all'interno dell'API (I45d0b)
  • È stato rimosso startIndent da Divider e il colore è stato spostato come ultimo parametro.(If7be2)

Versione 1.0.0-alpha16

10 agosto 2022

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

Nuove funzionalità

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

Modifiche all'API

  • Riordina i parametri della scheda e della scheda dell'icona principale per mantenere la coerenza all'interno dell'API (Ie2637)
  • BadgeDefaults contrassegnata come sperimentale. (I98ef3)
  • Rimuovere la funzione del riquadro di navigazione a scomparsa ritirata. (I4f2db)
  • Riordina i parametri del cursore in Material 3 per mantenere la coerenza all'interno dell'API (I0aee7)
  • Riordina i parametri NavigationBar e NavigationRail per mantenere la coerenza all'interno dell'API (I51cda)
  • Riordina i parametri in Material 3 per mantenere la coerenza nell'API. (If4ae1)
  • Riordina i parametri del dispositivo di scorrimento in Material 3 per mantenere la coerenza all'interno dell'API (I62673)
  • Il parametro delle icone è stato rinominato in azioni per essere coerente con la barra delle app in alto (Id75be)
  • Contrassegnare Badge e BadgedBox come sperimentali perché l'allineamento dell'ancora è ancora in fase di elaborazione. (I1712e, b/236524516)
  • Modificare le annotazioni @ExperimentalMaterial3Api sulle varianti dei pulsanti con icona in @OptIn (I070b5)
  • I contenuti del riquadro di navigazione sono stati separati in un proprio composable per supportare la specifica di una larghezza personalizzata. (Ia7f10)
  • Rimuove Divider da MenuDefaults e TabDefaults (I4e33c)

Versione 1.0.0-alpha15

27 luglio 2022

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

Nuove funzionalità

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

Modifiche all'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 di colore della variante scrim e della linea di 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 superiore per riflettere meglio il significato delle relative proprietà di stato. Inoltre, contrassegna l'API della barra delle app superiore come sperimentale. (Ic0ad8)
  • I colori di selezione del testo sono stati aggiunti a TextFieldColors per una maggiore visibilità. (Iba1b8)
  • Aggiunta di ButtonDefault.ButtonWithIconContentPadding da utilizzare con i pulsanti che contengono un'icona. (I2bf9c)
  • I campi di testo sono stati contrassegnati come sperimentali per consentire una maggiore flessibilità nelle modifiche future dell'API. (I127b5)
  • L'annotazione @ExperimentalMaterial3Api è stata rimossa dalla funzione Checkbox. (I5eefc)
  • L'annotazione @ExperimentalMaterial3Api è stata rimossa dalla funzione RadioButton. (I17e2a)
  • È stata rimossa l'annotazione @ExperimentalMaterial3Api dalle schede non interattive. (I9bd49)
  • Aggiorna vari oggetti predefiniti dei componenti per includere colori, forme e così via (I96e11)

Correzioni di bug

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

Versione 1.0.0-alpha14

29 giugno 2022

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

Nuove funzionalità

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.0.0-alpha13

1° giugno 2022

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

Modifiche all'API

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

Versione 1.0.0-alpha12

18 maggio 2022

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

Correzioni di bug

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

Versione 1.0.0-alpha11

11 maggio 2022

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

Nuove funzionalità

  • RangeSlider aggiunto al materiale 3 (I18e38)
  • Aggiunta del supporto per AssistChip e InputChip di Material3 (I0d25a)
  • Aggiunge il supporto di FilterChip e SuggestionChip di Material3 (I9fdf3)

Modifiche all'API

  • Il composable TextFieldDefaults.BorderStroke che disegna un tratto del bordo in OutlinedTextField è stato rinominato in TextFieldDefaults.BorderBox. (I5f295)
  • Modifiche visive del passaggio a m3 (Iab30e)
  • Consenti di passare i colori ai pulsanti con icone standard. (Ia2445)

Correzioni di bug

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

Versione 1.0.0-alpha10

20 aprile 2022

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

Nuove funzionalità

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

Modifiche all'API

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

Correzioni di bug

  • Aggiornamenti allo standard IconButton per allinearlo alle specifiche di Material3. (I09eab)
  • Sposta l'altezza della barra superiore di Material3 Scaffold nel padding passato ai contenuti, in modo che i contenuti vengano visualizzati sotto la barra delle app superiore. Se i PaddingValues vengono ignorati, i contenuti potrebbero essere oscurati dalla barra superiore. (I83cbc, b/217776202)

Versione 1.0.0-alpha09

6 aprile 2022

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

Nuove funzionalità

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

Modifiche all'API

  • È stato aggiunto il supporto per i menu a discesa con campi di testo (noti anche come "menu a discesa esposti" o "caselle combinate"). (I1b832)
  • È stato aggiunto il parametro shape al sottosistema MaterialTheme e Shape. (I37426)
  • È stato aggiunto un parametro espanso a ExtendedFloatingActionButton per controllare se il FAB è espanso o compresso, con animazioni tra ogni stato. È stato aggiunto il sovraccarico FAB esteso per i FAB estesi con testo finale per i FAB estesi senza icona. (Iba7f1)

Versione 1.0.0-alpha08

23 marzo 2022

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

Nuove funzionalità

  • È stato aggiunto il supporto per i campi di testo Material 3. (I795cc, b/199377790)

Modifiche all'API

  • Aggiungere un divisore predefinito per il menu (I01374)
  • È stato aggiunto il parametro di colore surfaceTint alla classe ColorScheme. (I2f558)

Correzioni di bug

  • Correggi il pulsante Material3 in modo che legga il valore predefinito dello stile del testo da MaterialTheme. (Ie62fc)

Versione 1.0.0-alpha07

9 marzo 2022

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

Modifiche all'API

  • Aggiornamenti all'API Material 3 Surface che ripristinano le funzioni sovraccaricate per le piattaforme cliccabili, oltre all'aggiunta di una funzione per supportare le piattaforme selezionabili e attivabili/disattivabili. (I4bf18)
  • LazyVerticalGrid e LazyHorizontalGrid ora sono stabili. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid e tutte le API correlate sono state spostate nel sottopacchetto .grid. Aggiorna le importazioni da androidx.compose.foundation.lazy a androidx.compose.foundation.lazy.grid. (I2d446)
  • È stata ripristinata la modifica precedente che si basava esclusivamente su una visualizzazione per WindowInsetsControllerCompat e di nuovo è richiesta una finestra, obbligatoria per la gestione di alcuni flag della finestra. È stata ritirata la funzionalità ViewCompat.getWindowInsetsController in favore di WindowCompat.getInsetsController per garantire che venga utilizzata la finestra corretta (ad esempio se la visualizzazione si trova in una finestra di dialogo). (I660ae, b/219572936)
  • È stata aggiunta una nuova API LazyVerticalGrid per definire le dimensioni delle assi trasversali (I17723)

Correzioni di bug

  • Aggiornamenti all'API Card in seguito alle modifiche all'API Surface (I3c8b9)

Versione 1.0.0-alpha06

23 febbraio 2022

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

Modifiche all'API

  • Viene aggiunto NavigationDrawerItem che rappresenta una singola destinazione all'interno dei riquadri (Ic396f, b/218286829)
  • PermanentNavigationDrawer e DismissibleNavigationDrawer sono state aggiunte come API sperimentali. Questi sono i riquadri adatti per i dispositivi con schermi di grandi dimensioni. (I5f8ab, b/218286829)
  • Aggiunta del supporto della barra delle app in basso Material 3 (Ic432a)
  • NavigationDrawer è stato rinominato in ModalNavigationDrawer (I1807d, b/218286829)
  • Sono stati aggiunti la classe e i token del cursore del materiale 3 (I1ccee).
  • È stata aggiunta l'implementazione della scheda. Consulta la documentazione per un esempio di utilizzo (Ie0146)

Correzioni di bug

  • È stato risolto un problema per cui la navigazione lineare dello screen reader TalkBack selezionava un titolo della barra delle app superiore vuoto. (Id4690)
  • IconSize aggiunto a FloatingActionButtonDefaults. (Ia71cf)
  • Correzione di bug per i pulsanti AlertDialog nascosti quando viene aggiunto un testo lungo con un LazyColumn. (Ib2cc9, b/216663029)

Versione 1.0.0-alpha05

9 febbraio 2022

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

Nuove funzionalità

Sono stati aggiunti i componenti di Material Design 3

Modifiche all'API

  • Funzione Surface deprecata che accetta un callback onClick. Le aree cliccabili devono essere create con un InteractionSource e un Modifier.clickable(). (I211c6)
  • È stato aggiunto il supporto dell'elevazione per i pulsanti flottanti premuti e attivi. (Ibb584)
  • È stata modificata l'API Surface in modo da ricevere un InteractionSource che consente di controllarne l'aspetto in stati diversi. (Iafbc8)

Correzioni di bug

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

Versione 1.0.0-alpha04

26 gennaio 2022

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.0.0-alpha03

12 gennaio 2022

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

Correzioni di bug

  • Aggiungi LocalIndication a MaterialTheme del Materiale 3. (I7ce4e)
  • Correggere il raggio del raggio applicato per le caselle di controllo (I38b03, b/175198975, b/202309440)

Aggiornamenti delle dipendenze

  • Ora dipende da Kotlin 1.6.10.

Versione 1.0.0-alpha02

1° dicembre 2021

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

Nuove funzionalità

  • Aggiunta la funzionalità di casella di controllo e pulsante di opzione.
  • Aggiornata per essere compatibile con Kotlin 1.6.0

Modifiche all'API

  • Rimuovi il riquadro dall'apposita struttura di Material 3. (I04f51)
  • Aggiunta del supporto per il materiale 3 Checkbox. (Id5542)
  • Aggiunta del supporto per il materiale 3 RadioButton. (I20334)

Correzioni di bug

  • Riduci il raggio dell'ondulazione IconButton da 40 dp a 20 dp. (I68bbe, b/206674345)
  • Il percorso rapido della stringa porta per Text cambia da compose.material (I30b03)
  • Problema risolto, ma il pulsante hardcoded deve essere sempre attivo. (Iea832, b/205335456)

Versione 1.0.0-alpha01

27 ottobre 2021

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

Nuove funzionalità

Temi Material Design 3 e colore dinamico Material You

Componenti di Material Design 3

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