Wear Compose Material 3

  
Scrivi applicazioni Jetpack Compose per dispositivi Wear OS fornendo funzionalità per supportare diverse dimensioni dei dispositivi e gesti di navigazione utilizzando il sistema di progettazione espressiva Material 3.
Ultimo aggiornamento Release stabile Candidato per la release Release beta Release alpha
13 agosto 2025 - 1.5.0-rc02 - -

Dichiara le dipendenze

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

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

Groovy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.5.0-rc02"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material3:1.5.0-rc02"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.5.0-rc02"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-rc02")
    
    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.5.0-rc02")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material3:1.5.0-rc02")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.5.0-rc02")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-rc02")

    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

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

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di segnalare un nuovo problema, 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.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Wear Compose Material3 versione 1.5

Versione 1.5.0-rc02

13 agosto 2025

androidx.wear.compose:compose-*:1.5.0-rc02 viene rilasciata. La versione 1.5.0-rc02 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug in TimePicker in cui le stringhe lunghe e internazionalizzate per il periodo (AM/PM) potevano interrompere il layout. (I0fa81)

Versione 1.5.0-rc01

30 luglio 2025

androidx.wear.compose:compose-*:1.5.0-rc01 viene rilasciata. La versione 1.5.0-rc01 contiene questi commit.

Correzioni di bug

  • TimePicker ora è completamente basato sulle impostazioni internazionali dell'utente e utilizza DateFormat.getBestDateTimePattern per determinare l'ordine e i contenuti dei selettori e dei separatori. In questo modo viene corretta l'ordinamento errato delle colonne per le lingue CJK, vengono risolti i problemi di layout da destra a sinistra in lingue come l'arabo, vengono utilizzati separatori localizzati e vengono supportati i formati orari 0-11 e 1-12 in base alle impostazioni internazionali (I5d543).
  • DatePicker ora mostra un mese numerico in alcune impostazioni internazionali, ad esempio CJK, per evitare di combinare formati numerici e linguistici (ad es. 2025 | 07 | 02 anziché 2025 | 7月 | 02). Questa modifica applica un'euristica che controlla se le impostazioni internazionali utilizzano suffissi linguistici per l'anno e, in caso affermativo, cambia il formato del mese da testuale (MMM) a numerico (MM) per coerenza. (Ia93fe)
  • Lo spazio verticale per l'intestazione nel componente Selettore ora è costante, il che impedisce uno spostamento visibile quando viene selezionata una colonna del selettore, soprattutto in modalità Talkback. (I7f8b7)
  • È stato corretto un bug di accessibilità causato dal disegno a schermo intero di HorizontalPageIndicator e VerticalPageIndicator. Gli indicatori di pagina non sono più a schermo intero e vengono posizionati automaticamente quando vengono utilizzati con HorizontalPagerScaffold o VerticalPagerScaffold. Quando non utilizzi una struttura di impaginazione, specifica l'allineamento in modo esplicito utilizzando modifier = Modifier.align(Alignment.BottomCenter) con HorizontalPageIndicator e modifier =Modifier.align(Alignment.CenterEnd) con VerticalPageIndicator. (I3a0ad)
  • La direzione dello scorrimento in SwipeToReveal ora è coerente sia per LayoutDirections da sinistra a destra che da destra a sinistra. (I6d427)
  • È stato ripristinato il centraggio verticale SwipeToReveal per le azioni. Se hasPartiallyRevealedState = true, RevealState deve essere reimpostato su RevealValue.Covered dal chiamante quando si verifica lo scorrimento. (I6473d)
  • SwipeDismissableNavHost ora ritaglia correttamente i contenuti per l'API 36 e versioni successive. (Ib9a44)

Versione 1.5.0-beta06

16 luglio 2025

androidx.wear.compose:compose-*:1.5.0-beta06 viene rilasciata. La versione 1.5.0-beta06 contiene questi commit.

Correzioni di bug

  • Correggi l'animazione di EdgeButton quando LazyColumn o ScalingLazyColumn hanno reverseLayout = true. (I46a1a)
  • È stato corretto un bug in ScreenScaffold per cui l'esplorazione al tocco non funzionava in TalkBack se veniva fornito un ScrollIndicator/PageIndicator. (I6dcee)
  • TransformingLazyColumn ora consente la trasformazione personalizzata da TransformationSpec leggendo il valore itemHeight fornito da TransformationSpec nel pittore di sfondo. (I6a599)
  • Transizioni di colore animate abilitate/disabilitate per IconButton, per coerenza con IconToggleButton. (Ife10a)
  • È stato rimosso il bloccaggio della sezione minima in CircularProgressIndicator per evitare un salto evidente alla dimensione minima del punto durante l'animazione. Nell'ambito di questa modifica, il parametro targetProgress in drawCircularProgressIndicator non viene più utilizzato. (I33309)
  • Il selettore ora ha il ruolo semantico ValuePicker, che può essere utilizzato dagli screen reader per rendere i selettori più accessibili. Il selettore ha anche aggiornato le etichette di clic di accessibilità, che distinguono tra la modifica del valore in modalità di sola lettura e la selezione del valore corrente. (I33309)

Versione 1.5.0-beta05

2 luglio 2025

androidx.wear.compose:compose-*:1.5.0-beta05 viene rilasciata. La versione 1.5.0-beta05 contiene questi commit.

Correzioni di bug

  • Aggiornata la documentazione per chiarire l'utilizzo di Modifier.edgeSwipeToDismiss (I78cb5)
  • È stato risolto un bug a causa del quale potevano essere visualizzati più elementi rivelati con SwipeToReveal negli elenchi pigri (I1d4f6)
  • Le forme dei contenitori in TransformingLazyColumn ora vengono scalate per evitare il troncamento dei contenuti. (I9221a)
  • Le etichette TimePicker e DatePicker per ora/minuto/secondo o anno/mese/giorno ora hanno una semantica di intestazione per gli screen reader (I77d8b).
  • Rimossa la pausa tra i loop nell'intent indeterminato CircularProgressIndicator (Iaf0bb)
  • È stato corretto un bug dell'animazione in TransformingLazyColumn quando vengono rimossi elementi. (I73034)
  • È stata corretta la gestione degli elementi di ancoraggio in TransformingLazyColumn quando gli elementi vengono rimossi. (I841a8)
  • PickerGroup ora anima i selettori orizzontalmente quando il centraggio automatico è attivato e il selettore selezionato (centrato) viene modificato. (Ic82c4)

Versione 1.5.0-beta04

18 giugno 2025

androidx.wear.compose:compose-*:1.5.0-beta04 viene rilasciata. La versione 1.5.0-beta04 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug di layout in TransformingLazyColumn, in cui i contenuti che rientrano nello schermo ora sono allineati correttamente dalla parte superiore dello schermo (I80115).
  • È stato risolto un problema relativo a TransformingLazyColumn per cui l'elemento in basso veniva scalato in modo errato durante lo scorrimento fino alla fine di un elenco con un EdgeButton. Il progresso di scorrimento ora segue una discesa del gradiente durante il ripristino del layout. (Iea375)
  • TransformingLazyColumn ora legge l'altezza dell'elemento all'interno del pittore di sfondo, il che consente a TransformationSpecs personalizzati di implementare la trasformazione. (I022f0)
  • SwipeToReveal ora centra verticalmente le azioni visualizzate in modo corretto. (I4419b)
  • È stato corretto un bug in SwipeToReveal che impediva il corretto funzionamento con lo scorrimento per chiudere se sullo schermo erano in uso sia le visualizzazioni che la composizione. (I5dc0e)
  • È stato corretto un bug per cui le azioni SwipeToReveal venivano disegnate con un offset verticale durante lo scorrimento. (I29444)
  • AlertDialog, ConfirmationDialog, OpenOnPhoneDialog e SwipeToReveal ora arrotondano per eccesso i margini interni e le dimensioni calcolate come percentuale delle dimensioni dello schermo. (I76367)
  • ButtonDefaults.outlinedButtonBorder ora si aggiorna in seguito alle modifiche dello stato di attivazione/disattivazione size(If2ddd)
  • È stato corretto un bug nell'altezza di EdgeButton che si verificava su schermate complesse con Pager e ScreenScaffold. (I946e3)
  • È stata corretta una race condition che poteva causare l'interruzione delle animazioni segnaposto. (I53530)
  • Miglioramento delle prestazioni di HorizontalPageIndicator e VerticalPageIndicator grazie al disegno su Canvas. (Ifae1e)
  • È stata perfezionata la forma del pulsante Edge per rendere più fluide le transizioni tra i puntini e i cerchi che compongono il contorno. (I7721e)
  • È stato corretto un bug in LevelIndicator che causava l'interruzione delle animazioni a causa di ricomposizioni non necessarie. (I45d08)

Versione 1.5.0-beta03

4 giugno 2025

androidx.wear.compose:compose-*:1.5.0-beta03 viene rilasciata. La versione 1.5.0-beta03 contiene questi commit.

Modifiche alle API

  • OpenOnPhoneDialog ora annuncia solo il testo del messaggio in TalkBack e salta la semantica delle icone. OpenOnPhoneDialogDefaults sono stati aggiornati per rimuovere iconContentDescription e il parametro contentDescription da icon(). Inoltre, ConfirmationDialogDefaults ora ha parametri di modificatore sui composable SuccessIcon e FailureIcon. (Id2ae2)

Correzioni di bug

  • È stato modificato l'ordine in cui viene applicato l'effetto dei parametri SurfaceTransformation. In precedenza, le trasformazioni applicate ai componenti Wear Material3 venivano eseguite nel seguente modo: pittore di sfondo, trasformazione del contenitore, trasformazione dei contenuti. Ora, i primi due sono invertiti e applichiamo qualsiasi modificatore passato tra loro, quindi è influenzato dalle trasformazioni del contenitore. In questo modo vengono risolti casi come l'utilizzo di un effetto luccichio segnaposto con elementi in un TLC utilizzando il parametro di trasformazione. (I786cf)
  • RevealState.Saver è stato aggiunto per essere utilizzato per ripristinare lo stato di SwipeToReveal quando l'attività o il processo viene ricreato. La funzione rememberRevealState ora utilizza questo risparmiatore per impostazione predefinita. (Ie0ecb)
  • I pulsanti delle azioni principali e secondarie SwipeToReveal devono essere impostati per impostazione predefinita su ButtonDefault.Height (è stato corretto un bug che riempiva l'altezza massima per i pulsanti più alti). (Ibfba1)
  • Modificato SwipeToReveal per reimpostare l'ultimo componente con cui è stata eseguita un'interazione quando viene eseguito il gesto di scorrimento verso destra. (Ia8450)
  • SwipeToReveal è stato modificato per impostare lo stato Revealing quando la posizione finale dello scorrimento si trova tra gli ancoraggi di visualizzazione e visualizzato ed è più vicina all'ancoraggio di visualizzazione. (If4458)
  • Ora i contenuti di ButtonGroup sono invertiti correttamente in un layout RTL (Ib378d)
  • AnimatedText ora supporta la direzione del testo da destra a sinistra (I4533c)
  • TransformingLazyColumn ora ridimensiona correttamente gli elementi quando viene rimosso l'elemento in basso (Idacab)
  • TransformingLazyColumn ora esegue una sola passata di misurazione, il che migliora le prestazioni riducendo i tempi dei frame. (I501a1)

Versione 1.5.0-beta02

20 maggio 2025

androidx.wear.compose:compose-*:1.5.0-beta02 viene rilasciata. La versione 1.5.0-beta02 contiene questi commit.

Correzioni di bug

  • Profili di base aggiornati per le librerie foundation, material e material3. (I53f06)
  • È stato corretto un bug in TransformingLazyColumn, in cui le dimensioni degli elementi venivano modificate quando l'elemento in basso veniva rimosso. (Idacab)
  • È stato corretto un bug relativo a TransformingLazyColumn, quando l'elenco rimaneva bloccato in alto o in basso. (I49d00)
  • OpenOnPhoneDialog in TalkBack dovrebbe annunciare il testo curvo, anziché la descrizione dei contenuti dell'icona. (I4efe8)
  • È stato corretto un bug in SwipeToReveal che segnalava l'ancora errata in RevealState.currentValue quando hasPartiallyRevealedState è impostato su false. (I9c7cf)
  • I pulsanti SwipeToReveal Annulla sono ora ButtonDefaults.Height per impostazione predefinita. (I1f6c8)
  • Le prestazioni di BasicSwipeToDismissBox sono state migliorate eliminando l'utilizzo di Canvas per disegnare i veli. (I68f2c)
  • È stato corretto un bug di accessibilità in Slider, in cui la percentuale annunciata non corrispondeva al valore dopo gli aggiornamenti (I91146).
  • È stato corretto un bug relativo all'implementazione di placeholderShimmer. (Iee39b
  • Il rendimento di TransformingLazyColumn è stato migliorato ottimizzando il calcolo di ScrollProgress del 30%. (I4c4cb)

Versione 1.5.0-beta01

7 maggio 2025

androidx.wear.compose:compose-*:1.5.0-beta01 viene rilasciata. La versione 1.5.0-beta01 contiene questi commit.

La release 1.5.0-beta01 di Compose for Wear OS indica che questa release della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale).

Wear Compose 1.5.0-beta01 include la libreria Wear Compose Material3, che supporta il nuovo sistema di progettazione dell'interfaccia utente chiamato Material 3 Expressive. Ti consigliamo di eseguire l'upgrade da Material a Material 3 per adottare il nuovo design visivo nelle app e per usufruire dei nuovi componenti come segue:

  • MaterialTheme per combinazioni di colori, tipografia e forme aggiornate ed estese per dare profondità e varietà ai tuoi progetti.
  • Temi Dynamic Color che generano automaticamente una combinazione di colori per l'app in modo che corrisponda ai colori del quadrante.
  • Per impostazione predefinita, i nuovi componenti si adattano automaticamente alle dimensioni dello schermo più grandi
  • Trasformazione della forma: i componenti dei pulsanti rotondi come IconButton, TextButton, IconToggleButton e TextToggleButton supportano variazioni che vengono animate quando vengono premuti o selezionati.
  • EdgeButton: un nuovo pulsante che si adatta al bordo con una forma speciale progettata per la parte inferiore dello schermo.
  • Strutture: introduzione di AppScaffold e ScreenScaffold per definire la struttura della schermata e coordinare le animazioni ScrollIndicator e TimeText.
  • Pulsanti: sono supportati numerosi pulsanti a forma di stadio con contenitori flessibili a un solo slot e varianti multi-slot per pulsanti con icone ed etichette. CheckboxButton e SwitchButton vengono forniti quando sono necessari pulsanti di attivazione/disattivazione, mentre RadioButton è il pulsante di selezione disponibile (vengono fornite anche le varianti "Dividi" dei pulsanti di attivazione/disattivazione e di selezione).
  • ButtonGroup: implementa un gruppo espressivo di pulsanti in una riga che si trasformano quando vengono toccati.
  • Le varianti AlertDialog supportano i pulsanti OK/Annulla o un EdgeButton.
  • ConfirmationDialog è disponibile per visualizzare un messaggio con un timeout, supportando animazioni speciali per le varianti di operazione riuscita, non riuscita e apertura sullo smartphone.
  • Sono supportate anche le varianti dei selettori TimePicker e DatePicker, nonché i componenti Selettore e PickerGroup per creare le tue schermate del selettore.
  • ProgressIndicators: sono supportati gli indicatori di avanzamento circolari e lineari (CircularProgressIndicator presenta varianti segmentate e indeterminate).
  • Schede: sono disponibili diverse varianti di schede, tra cui TitleCard, che offre layout specifici per schede con titolo, ora, sottotitoli codificati o slot di contenuti. TitleCard può anche avere un'immagine di sfondo per rafforzare il significato delle informazioni in una scheda.
  • I componenti Pager HorizontalPagerScaffold, VerticalPagerScaffold e AnimatedPage coordinano le animazioni HorizontalPageIndicator e VerticalPagerIndicator. HorizontalPager e VerticalPager vengono rilasciati nella libreria Wear Compose Foundation.
  • Segnaposto: disegna una forma scheletrica su un componente, per le situazioni in cui non sono disponibili contenuti provvisori.
  • Dispositivi di scorrimento e incrementatori: entrambi consentono agli utenti di effettuare una selezione da un intervallo di valori. I cursori sono più compatti e possono essere segmentati, mentre il componente Stepper è a schermo intero e in genere è abbinato a un StepperLevelIndicator.
  • SwipeToReveal: utilizzato per aggiungere azioni aggiuntive a un elemento componibile quando viene eseguito uno scorrimento da destra a sinistra.

Inoltre, Wear Compose Foundation 1.5.0-beta01 include questi nuovi componenti:

  • TransformingLazyColumn: un elenco a scorrimento verticale pigro che supporta le animazioni di scalabilità e morphing
  • Gruppi di messa a fuoco gerarchici: utilizzati per annotare i componenti combinabili in un'applicazione, per tenere traccia della parte attiva della composizione e coordinare la messa a fuoco.
  • Pager: componenti HorizontalPager e VerticalPager, basati sui componenti di Compose Foundation con miglioramenti specifici per Wear per migliorare le prestazioni e il rispetto delle linee guida di Wear OS.

Modifiche alle API

  • È stata aggiornata l'API Hierarchical Focus: è stato rinominato Modifier.hierarchicalFocus in Modifier.hierarchicalFocusGroup ed è stato rimosso il parametro di callback; è stato rimosso l'overload di Modifier.hierarchicalFocusRequester con un parametro FocusRequester; sono stati creati nuovi CompositionLocal e LocalScreenIsActive in modo che i componenti possano informare e controllare quale schermata è attiva. (I5ff7c).
  • È stato ritirato SwipeToReveal da Wear Compose Foundation a favore delle API SwipeToReveal in Wear Compose Material e Wear Compose Material3. Sostituisci le importazioni di Wear Foundation SwipeToReveal con le importazioni di Wear Compose Material/ Wear Compose Material3 per continuare a utilizzare le API. (Ia147d).
  • Le dipendenze di Wear Compose Material3 SwipeToReveal da Foundation sono state spostate nel pacchetto material3, ad esempio RevealValue, RevealDirection, RevealActionType, RevealState, rememberRevealState. Gli sviluppatori devono modificare le importazioni di queste classi e funzioni da androidx.wear.compose.foundation a androidx.wear.compose.material3. (I640e6).
  • È stata aggiornata l'API Wear Compose Material3 SwipeToReveal come segue: sono stati aggiunti i parametri primaryAction, onFullSwipe, secondaryAction, undoPrimaryAction, undoSecondaryAction e hasPartiallyRevealedState al composable SwipeToReveal; è stata rimossa la possibilità di personalizzare positionalThreshold e animationSpec da RevealState; sono stati rimossi lastActionType, revealThreshold e la larghezza da RevealState; è stato modificato il costruttore RevealState in modo che accetti un RevealDirection anziché gli ancoraggi; sono state rimosse le funzioni createRevealAnchors, gli ancoraggi e bidirectionalAnchors; le funzioni SwipeToRevealScope primaryAction, secondaryAction, undoPrimaryAction e undoSecondaryAction sono state rinominate PrimaryActionButton, SecondaryActionButton, UndoActionButton e trasformate in funzioni composable; RevealActionType è stato contrassegnato come interno. (I885d0).
  • Ulteriore aggiornamento dell'API SwipeToReveal come segue: rinominato onFullSwipe in onSwipePrimaryAction; rinominato SwipeToRevealNonAnchoredSample per indicare l'utilizzo del parametro hasPartiallyRevealedState; rimosso actionButtonHeight, poiché il valore predefinito è l'altezza predefinita del pulsante e l'altezza maggiore può essere impostata utilizzando un modificatore; rimosso SmallActionButtonHeight da SwipeToRevealDefaults; reso privato il parametro value nei costruttori RevealValue e RevealDirection. (I465ce).

Correzioni di bug

  • È stata corretta la gestione di ScreenScaffold's EdgeButton in modo che, dopo la rimozione di un elemento TransformingLazyColumn, EdgeButton venga animato in posizione. (I6d366).
  • Aggiornamento delle dipendenze di Wear Compose dalle librerie Compose alla versione 1.8.0. (I2ef3f).
  • È stato aggiornato il movimento dell'indicatore di caricamento indeterminato CircularProgressIndicator in modo che non regredisca più temporaneamente. (Ieddb1).
  • È stato corretto un bug di SwipeDismissableNavHost: la messa a fuoco non veniva cambiata correttamente dopo lo scorrimento indietro, causando un errore di input rotativo (per API 36+, che utilizza la navigazione predittiva). (Ieddb1).
  • Documentazione modificata per l'API Hierarchical Focus (Idf2ff).
  • È stata aggiornata la documentazione per i pulsanti e le schede per indicare in che modo containerPainter e disabledContainerPainter sostituiscono containerColor e disabledContainerColor (I4a453).
  • È stato ripristinato una modifica a TimeText nella release precedente che spostava BroadcastReceiver in un thread di lavoro, perché causava problemi per le app che gestiscono i propri thread durante la navigazione. (I34d02).
  • Sono stati aggiornati gli esempi di Picker per rimuovere le chiamate di memorizzazione non necessarie e utilizzare invece rememberUpdatedState in Picker per memorizzare l'ultima funzione lambda contentDescription. (Icb5b1).
  • Gli stili di testo in TimePicker e DatePicker sono stati aggiornati in modo che le modifiche al carattere non comportino più il troncamento. (I26194).
  • ListHeader e ListSubHeader ora allineano il testo al centro e all'inizio, rispettivamente. (I78339).
  • Sono stati aggiornati gli esempi e le demo di Foundation e Material Swipe to Reveal per annunciare le azioni di accessibilità personalizzate (le azioni personalizzate devono essere aggiunte come semantica ai contenuti, non al composable SwipeToReveal stesso). (Ie92a3).
  • È stato aggiornato il valore predefinito di MaxLines impostato sui contenuti EdgeButton in base alle dimensioni: ora è 1 per le dimensioni extra small, 2 per le dimensioni small e medium e 3 per le dimensioni large. (Ie35f6).
  • LocalReduceMotion semplificato in modo che l'osservatore venga registrato una sola volta, per migliorare il rendimento. (Ib1979).
  • È stato ridotto al minimo il numero di ridisegni in ScrollIndicator per migliorare le prestazioni. (Ia7a67).
  • È stato corretto un bug in TransformingLazyColumn, a causa del quale l'elemento visibile in alto nell'elenco non veniva scalato correttamente quando EdgeButton raggiungeva la sua altezza massima. (I30580).

Wear Compose Material3 versione 1.0

Versione 1.0.0-alpha37

23 aprile 2025

androidx.wear.compose:compose-material3:1.0.0-alpha37 viene rilasciata. La versione 1.0.0-alpha37 contiene questi commit.

Modifiche alle API

  • Rimozione di scrollTransform dalla superficie dell'API pubblica. Utilizza la combinazione dei modificatori transformedHeight e graphicsLayer se hai bisogno della stessa funzionalità. (Ie181d)
  • Sostituiti i composable ImageButton e ImageCard con gli overload Button e Card/TitleCard rispettivamente. imageButtonColors è stato rinominato in buttonWithContainerPainterColors e imageCardColors in cardWithContainerPainterColors. Aggiunta di ButtonDefaults.scrimBrush e CardDefaults.scrimBrush pubblici. I pulsanti imageBackgroundGradientStartColor e imageBackgroundGradientEndColor sono stati rinominati in scrimGradientStartColor e scrimGradientEndColor. CardDefaults.ImageContentPadding rinominato in CardDefaults.CardWithContainerPainterContentPadding (I7b8b6)
  • Picker e PickerGroup ora prendono contentDescription come lambda per evitare ricomposizioni non necessarie. (I002dd)

Correzioni di bug

  • È stato risolto un problema per cui la casella di controllo indeterminata CircularProgressIndicator oscillava durante l'animazione se la larghezza non era uguale all'altezza. (I76bfe)
  • È stato risolto un problema relativo al layout dei pulsanti laterali con dimensioni non valide. Ora impedisce l'aggiornamento del layout del pulsante laterale quando l'altezza è NaN. (I32b93)
  • È stato aumentato l'angolo di spazzata massimo in OpenOnPhoneDialog in modo che il testo predefinito "Controlla lo smartphone" non venga tagliato con le dimensioni del carattere più grandi. (I90af9)

Versione 1.0.0-alpha36

9 aprile 2025

androidx.wear.compose:compose-material3:1.0.0-alpha36 viene rilasciata. La versione 1.0.0-alpha36 contiene questi commit.

Modifiche alle API

  • ButtonDefaults.imageBackgroundButtonColors sostituito con ImageButton, ButtonDefaults.imageButtonColors, ButtonDefaults.containerPainter e ButtonDefaults.disabledContainerPainter. E modifiche simili per la carta. I pittori vengono rimossi da ButtonColors e CardColors. (I8c6a1)
  • Segnaposto aggiornati per semplificare l'API. Ora forniamo due modificatori, Modifier.placeholderShimmer per applicare un effetto luccichio a livello di componente e Modifier.placeholder per applicare una maschera sopra i contenuti non caricati (Iaee7a).

Correzioni di bug

  • È stato integrato l'overscroll in ScrollIndicator. (Icfb7f)
  • Risolvi i problemi relativi agli sfondi vuoti e alle finestre di dialogo mancanti durante l'avvio delle finestre di dialogo Material3. (Ice597)
  • Risolti problemi in FadingExpandingLabel quando il testo si estende su più righe. (I04eb7)
  • È stato aggiornato il padding tra le etichette principale e secondaria sui pulsanti. (I99b7b)
  • ArcLarge è stato ridotto da 20sp a 18sp e la spaziatura tra le lettere su ArcLarge e ArcSmall è stata aggiornata. ConfirmationDialog/OpenOnPhoneDialog ora utilizzano il valore predefinito ArcLarge anziché sostituirlo con 18sp. (Id39a8)

Aggiornamenti delle dipendenze

  • Questa libreria ora ha come target il livello del linguaggio Kotlin 2.0 e richiede KGP 2.0.0 o versioni successive. (Idb6b5)

Versione 1.0.0-alpha35

26 marzo 2025

androidx.wear.compose:compose-material3:1.0.0-alpha35 viene rilasciata. La versione 1.0.0-alpha35 contiene questi commit.

Modifiche alle API

  • Il padding superiore AlertDialog ora viene ridotto per impostazione predefinita quando viene fornita un'icona, in modo da sfruttare al meglio le dimensioni dello schermo disponibili. (Ief06c)
  • PagerScaffoldDefaults.FadeOutAnimation è stato rinominato in PagerScaffoldDefaults.FadeOutAnimationSpec. Il parametro della pagina su AnimatedPage è stato rinominato in pageIndex. (I701f2)
  • Aggiornamento della denominazione della suddivisione SurfaceTransformation - applyTransformation di TransformingLazyColumn in applyContainerTransformation e applyContentTransformation e ridenominazione di createBackgroundPainter in createContainerPainter. Ulteriori aggiornamenti della denominazione di TransformationSpec e ResponsiveTransformationSpec. (I1c534)
  • AppScaffold backgroundColor è stato rinominato in containerColor. (I4e63f)

Correzioni di bug

  • Risolto un problema in FadingExpandingLabel per cui il testo non veniva sempre espanso correttamente. (I0e773)
  • ArcLarge è stato ridotto da 20 sp a 18 sp e la spaziatura delle lettere su ArcLarge e ArcSmall è stata aggiornata. ConfirmationDialog/OpenOnPhoneDialog ora utilizza il valore predefinito ArcLarge anziché sostituirlo con 18sp. (Id39a8)
  • È stata aggiornata l'animazione dell'intestazione per DatePicker e TimePicker in modo che l'animazione di dissolvenza in uscita e in entrata agisca come un'unica animazione con effetto molla. (I68963)
  • Ottimizzato PagerScaffold evitando la lettura di currentPageOffsetFraction nel componente componibile AnimatedPage. (I433ef)
  • Tutte le scale tipografiche sono state aggiornate in modo da avere numeri proporzionali per impostazione predefinita, in quanto questo è considerato il caso d'uso più frequente e l'impostazione predefinita su tabellare ha comportato una spaziatura eccessiva tra alcune coppie di numeri. TimePicker e DatePicker continuano ad applicare FontFeatureSetting=tnum per i numeri tabellari. (I88929)
  • È stato corretto lo stato attivo iniziale dell'input RSB per TimePicker e DatePicker. (I1c773)
  • Aggiornamento del testo predefinito su OpenOnPhoneDialog a "Controlla lo smartphone". (I00a3f)
  • Pesi aggiornati per ArcLarge e ArcMedium da 600 a 599 per risolvere un problema per cui il peso 600 viene trattato come grassetto (I2a51d)
  • Aggiorna le spaziature interne SwipeToReveal tra i contenuti e i pulsanti di azione, nonché la spaziatura interna tra l'icona e il testo dei pulsanti di azione. (Ic46cb)

Versione 1.0.0-alpha34

12 marzo 2025

androidx.wear.compose:compose-material3:1.0.0-alpha34 viene rilasciata. La versione 1.0.0-alpha34 contiene questi commit.

Modifiche alle API

  • PagerScaffold non emette più un componente Pager. Questo deve invece essere fornito tramite il componente componibile content. AnimatedPage e snapWithSpringFlingBehaviour sono ora pubblici e possono essere utilizzati insieme a Wear Foundation Pager per ottenere il comportamento precedente di M3 PagerScaffold. (vedi esempi aggiornati). (Ia4724)
  • È stato aggiornato PagerState, rimuovendo Compose Foundation PagerState come classe base e aggiungendo le proprietà currentPage, currentPageOffsetFraction e pageCount. È stata aggiornata l'interfaccia GestureInclusion, rinominando il metodo in ignoreGestureStart. (I4ae07)
  • I parametri dell'angolo di spazzata LevelIndicator ora sono annotati con FloatRange(0, 360) (I7e636)
  • Abbiamo aggiunto CurvedModifier.clearAndSetSemantics per fornire un mezzo per disattivare la semantica curva. CurvedText continua a impostare come predefinita la descrizione dei contenuti sul testo, ma timeTextCurvedText e timeTextSeparator ora non annunciano i propri contenuti. (I4b568)
  • Sono stati aggiunti i parametri per il colore di sfondo e dei contenuti predefiniti a AppScaffold. (I56652)
  • La gestione predefinita delle scorciatoie di HorizontalPager è stata rinominata in PagerDefaults.gestureInclusion. Il comportamento predefinito ora prevede di ignorare solo i gesti di scorrimento che iniziano sul bordo sinistro della prima pagina e solo quando TalkBack è disattivato. Negli altri casi, il comportamento predefinito prevede che i gesti di scorrimento non vengano ignorati dal pager, quindi non saranno disponibili per i gestori di scorrimento per chiudere. (Iee486)
  • È stato aggiunto un parametro SurfaceTransformation ai componenti di intestazione di pulsanti, schede ed elenchi, in modo che possano applicare trasformazioni diverse di sfondo e contenuti quando vengono utilizzati in contenitori che modificano l'aspetto degli elementi in base alla loro posizione, ad esempio TransformingLazyColumn. (Iabe3f)
  • Abbiamo aggiornato le proprietà "public const val" nella nostra API Wear Compose Material3 a "public val", per evitare che i valori vengano incorporati. (Ib0f32)
  • È stato aggiunto il supporto per una zona di scorrimento dal bordo a SwipeToReveal. Il comportamento predefinito di Foundation SwipeToReveal ora è quello di non consentire lo scorrimento quando il gesto inizia dal bordo. Il comportamento predefinito di Material3 SwipeToReveal’ ora è quello di non consentire lo scorrimento quando il gesto inizia dal bordo, quando SwipeDirection è impostato su una sola direzione. (I32ef0)
  • È stato aggiunto il composable FadingExpandingLabel, che consente di visualizzare gradualmente il testo con l'animazione riga per riga. (Ic60fa)
  • TransformingLazyColumn ora utilizza contentPadding vuoti per impostazione predefinita anziché posizionare il primo e l'ultimo elemento al centro. (I77ab7)
  • Rimozione di SwipeToReveal's rememberRevealState dalla libreria Wear Compose Material3. (I8c0e0)

Correzioni di bug

  • Le librerie Wear Compose sono state aggiornate al compilatore Kotlin 2.0. (I2de79)
  • Il supporto per ScrollIndicator e PageIndicator non rotondi è stato rimosso da Material 3. Il supporto dello schermo quadrato non fa più parte dei requisiti di Wear OS. Per ulteriori informazioni, consulta la guida introduttiva. (I9a852)
  • Il CurvedTextStyle utilizzato in ConfirmationDialogDefaults e OpenOnPhoneDialogDefaults è stato aggiornato per utilizzare la tipografia ArcLarge con dimensioni 18sp e spaziatura tra le lettere 1.8sp. (Ic9ced)
  • Card, ListHeader, RadioButton, CheckboxButton, SwitchButton non limitano più l'altezza dei contenuti per impostazione predefinita. Se necessario, utilizza Modifier.height(IntrinsicSize.Min) per ripristinare il comportamento precedente. (I80bb8)
  • Abbiamo aggiornato i colori predefiniti TimeText e ScrollIndicator in modo da includere più tonalità di grigio, perché l'utilizzo diretto del colore OnBackground (bianco) aveva un peso visivo eccessivo rispetto ad altri contenuti sullo schermo, come i titoli. (I8b36f)
  • Abbiamo ridotto il timeout per l'animazione di TimeText e ScrollIndicator nei componenti scaffold a 2 secondi. (I52021)
  • Abbiamo aggiornato il movimento della finestra di dialogo in modo che la scala dello sfondo della finestra di dialogo sia sincronizzata con lo scorrimento per chiuderla. (I925a9)
  • Aggiungi la demo di M3 SwipeToReveal utilizzando il modificatore edgeSwipeToDismiss. (I02b07)
  • Abbiamo aggiunto un'intestazione a DatePicker e TimePicker in TalkBack in modo che l'utente sappia di dover scorrere per impostare la data/l'ora. (Id738d)
  • AnimatedText ora segue l'impostazione di riduzione del movimento. (Ib6578)
  • L'ottimizzazione per l'utilizzo di AppScaffold per i contenuti della finestra di dialogo di visualizzazione è stata migliorata per consentire la visualizzazione di più finestre di dialogo una sopra l'altra (I1209c)

Versione 1.0.0-alpha33

26 febbraio 2025

androidx.wear.compose:compose-material3:1.0.0-alpha33 viene rilasciata. La versione 1.0.0-alpha33 contiene questi commit.

Modifiche alle API

  • Abbiamo rimosso il parametro dell'etichetta da primaryAction e secondaryAction di SwipeToRevealScope. La semantica delle azioni personalizzate deve essere aggiunta direttamente ai contenuti del componente SwipeToReveal dallo sviluppatore. (Ia67f3)
  • Abbiamo rimosso i prefissi "Button" da dimensioni, stili di testo e funzioni di colore in IconToggleButtonDefaults e TextToggleButtonDefaults (I5471d)
  • Abbiamo rimosso la funzionalità sperimentale LocalMinimumInteractiveComponentEnforcement (I4ad8a)
  • Abbiamo sostituito il DSL PickerGroupScope con un componente componibile. Di conseguenza, abbiamo rimosso il metodo pickerGroupItem da PickerGroupScope e abbiamo aggiunto @Composable PickerGroupItem, che deve essere utilizzato per aggiungere un selettore a PickerGroup. Abbiamo anche aggiornato il tipo di parametro "content" di PickerGroup a @Composable PickerGroupScope.() -> Unit. (Ic6aec)
  • Abbiamo aggiunto un overload LevelIndicator per i valori frazionari e un prefisso Stepper agli overload che includono un parametro intervallo (adatti all'uso con il componente Stepper). (If4234)
  • Abbiamo aggiunto TransformingLazyColumn di TransformationSpec all'API, il che consente di definire le trasformazioni esatte che avvengono agli elementi mentre vengono scorri nella TLC. (I21856)
  • Abbiamo aggiornato IconButtonShapes, IconToggleButtonShapes, TextButtonShapes e TextToggleButtonShapes in modo che siano coerenti con le classi compose/material3 (I5a081)
  • Abbiamo aggiunto un parametro overscrollEffect a ScalingLazyColumn, TransformingLazyColumn e ScreenScaffold. (I0cee8)
  • Abbiamo rinominato il parametro swipeDirection in revealDirection in rememberRevealState. (I7472f)
  • Wear Pager ora ha il proprio PagerScope anziché utilizzare PagerScope di Compose. (I9195b)
  • Abbiamo rimosso il composable LinearProgressIndicatorContent. Utilizza LinearProgressIndicator direttamente in modo che le modifiche ai valori vengano animate per impostazione predefinita. (I2c4ad)
  • Abbiamo rimosso il composable CircularProgressIndicatorStatic e aggiunto una funzione pubblica DrawScope drawCircularProgressIndicator con la stessa funzionalità. Utilizza CircularProgressIndicator direttamente in modo che le modifiche vengano animate per impostazione predefinita, ma crea il tuo elemento componibile da drawCircularProgressIndicator se sono necessarie animazioni personalizzate. (Ie762f)
  • Abbiamo riordinato i parametri in DrawScope.drawCircularProgressIndicator per spostare il parametro targetProgress verso l'alto. (I8ab92)
  • L'API OpenOnPhoneDialog è stata aggiornata per una maggiore chiarezza e coerenza con altre finestre di dialogo. Il parametro show è stato rinominato in visible e curvedText ora viene fornito dal chiamante anziché avere un valore predefinito. (Idec2d)
  • Abbiamo rinominato openOnPhoneCurvedText in openOnPhoneDialogCurvedText (I65bdd)
  • Abbiamo aggiunto ScrollIndicatorColors per fornire colori personalizzati a ScrollIndicator. (I9eb8c)
  • Consente di configurare il colore utilizzato per disegnare uno sfondo dietro TimeText. (I9f5d9)
  • Aggiornamento delle tipografie ArcLarge, ArcMedium e ArcSmall in modo che siano CurvedTextStyle (Iffc41)
  • Abbiamo rimosso ScreenScaffoldDefaults.contentPaddingWithEdgeButton. (Ia923e)
  • Abbiamo aggiunto errorDim a ColorScheme per errori ad alta priorità o azioni di emergenza come avvisi di sicurezza, overlay di dialogo non riusciti o pulsanti di interruzione. (I70998)

Correzioni di bug

  • Abbiamo bloccato wear.compose.material3 alla versione 1.15.0 di androidx.core.core (I132e9)
  • Abbiamo migliorato le prestazioni di Dialogo utilizzando AppScaffold per sovrapporre le finestre di dialogo ad altri contenuti dello schermo (I1b9a4).
  • Riduzione del padding verticale interno di EdgeButton. (I1a5bb)
  • Abbiamo aggiunto la semantica dei pulsanti ai pulsanti del cursore. (I80cc6)

Versione 1.0.0-alpha32

29 gennaio 2025

androidx.wear.compose:compose-material3:1.0.0-alpha32 viene rilasciata. La versione 1.0.0-alpha32 contiene questi commit.

Modifiche alle API

  • Su CurvedTextStyle, abbiamo suddiviso la spaziatura tra le lettere in spaziatura tra le lettere in senso orario e spaziatura tra le lettere in senso antiorario. Questo è necessario perché le lettere in senso orario si aprono dalla linea di base, mentre le lettere in senso antiorario si chiudono (quindi è necessaria una spaziatura più ampia) (I4b848).
  • Abbiamo aggiornato IconButtonShapes, IconToggleButtonShapes, TextButtonShapes e TextToggleButtonShapes per migliorare la coerenza tra le librerie Material3. Questa modifica introduce anche la memorizzazione nella cache delle forme per ridurre il numero di allocazioni. (I049fc)
  • Abbiamo rimosso il parametro pressedShapeCornerSizeFraction dal metodo variantAnimatedShape in IconToggleButton e TextToggleButton (I58a65)
  • Stiamo introducendo miglioramenti al rendering del testo curvo (incluso TimeText) che non sono compatibili con gli schermi non rotondi. Il supporto dello schermo non rotondo non fa più parte dei requisiti di Wear OS. Per maggiori informazioni, consulta la guida introduttiva. (I1cc1c)
  • Abbiamo aggiornato ButtonGroupScope di ButtonGroup, sostituendo ButtonGroupItem basato su DSL con Modifier.weight, Modifier.minWidth e Modifier.enlargeOnPress. (I16c3c)
  • Nell'API ButtonGroup, abbiamo aggiornato il nuovo ButtonGroupScope basato su modificatori: enlargeOnPress ora si chiama animateWidth e accetta un InteractionSource anziché un MutableInteractionSource perché non è necessario modificarlo. Abbiamo anche aggiunto la costante pubblica ButtonGroupDefaults.DefaultMinWidth, la larghezza minima predefinita dei pulsanti in un ButtonGroup. (Ie27ec)
  • Abbiamo aggiornato ListHeaderDefaults.contentColor in modo che inizi con una lettera minuscola, in quanto è una proprietà componibile (I125a5)
  • Abbiamo aggiunto un parametro di descrizione dei contenuti a SliderDefaults.DecreaseIcon e SliderDefaults.IncreaseIcon, con valori predefiniti adatti (I2e1a7).
  • Abbiamo rinominato il parametro spacing in Picker e PickerGroup in verticalSpacing (Ib75cc)
  • Abbiamo rimosso ConfirmationDialogDefaults.successText e failureText perché è previsto che i chiamanti di ConfirmationDialog forniscano stringhe con più contesto. È stato rinominato anche confirmationCurvedText in confirmationDialogCurvedText. Infine, il parametro Dialog show è stato rinominato in visible per coerenza con altri aggiornamenti recenti alle finestre di dialogo. (I10074)
  • IconButton ha rinominato disabledImageOpacity in DisabledImageOpacity. (I5f94a)

Correzioni di bug

  • Abbiamo corretto un bug nell'animazione EdgeButton in modo che in ogni frame venga utilizzata la dimensione corretta (Id3b58).
  • È stato risolto un problema per cui animateContentSize non funzionava con Button. (Ib18a0)
  • Abbiamo modificato la scala tipografica Titolo grande in modo che abbia una dimensione del carattere 18dp (Ic9d52)
  • Abbiamo aggiornato la spaziatura e le dimensioni delle icone di AlertDialog (Iac28c)
  • Abbiamo corretto le incongruenze nei punti di interruzione per schermi di grandi dimensioni (gli schermi a 225 dp e superiori sono schermi di grandi dimensioni) (I36474)
  • È stato corretto un bug minore nel posizionamento dei pulsanti (I952c2).

Versione 1.0.0-alpha31

15 gennaio 2025

androidx.wear.compose:compose-material3:1.0.0-alpha31 viene rilasciata. La versione 1.0.0-alpha31 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato tutte le librerie Wear Compose alla modalità "API esplicita". (Iebf9f)
  • Abbiamo aggiornato le API ScreenScaffold e EdgeButton, in modo che sia più facile specificare i padding dei contenuti sugli schermi che includono un EdgeButton. Nella nuova API, size di EdgeButton viene passato solo a EdgeButton, mentre ScreenScaffold accetta un parametro edgeButtonSpacing per la spaziatura tra EdgeButton e i contenuti dell'elenco. (I424fd)
  • In DatePicker, abbiamo rinominato i parametri minDate in maxDate e minValidDate in maxValidDate. In DatePickerColors, abbiamo rinominato il parametro selectedPickerContentColor in activePickerContentColor e unselectedPickerContentColor in inactivePickerContentColor (Iba17b)
  • Abbiamo aggiornato i valori predefiniti di ArcProgressIndicator a strokeWidth=6dp e consigliato diameter = 81.24% dell'altezza dello schermo (I6f248)
  • Abbiamo aggiornato l'API Confirmation per riflettere il suo utilizzo come finestra di dialogo. Il componente componibile ora si chiama ConfirmationDialog, con aggiornamenti associati alla denominazione dei colori e delle classi predefinite. Abbiamo anche rinominato il parametro show in visible per garantire la compatibilità con altre API di animazione Compose. Inoltre, abbiamo reso disponibili ConfirmationDialogContent, SuccessConfirmationDialogContent e FailureConfirmationDialogContent per le situazioni in cui gli sviluppatori devono personalizzare le animazioni delle finestre di dialogo di introduzione/conclusione. (Iaeb33)
  • Abbiamo aggiornato CircularProgressIndicatorContent a CircularProgressIndicatorStatic (la variante non animata di CircularProgressIndicator) in modo che ora possa essere utilizzato per creare CircularProgressIndicator con animazioni personalizzate. (I1346f)
  • Abbiamo corretto l'ordine dei parametri in ArcProgressIndicator, inserendo per primo il parametro modificatore (I4656a).
  • È stata migliorata l'API SwipeToReveal per ricevere un parametro di slot di testo per le etichette delle azioni (tranne l'azione secondaria) e per rimuovere i parametri delle etichette dall'azione di annullamento (I5b3db)

Correzioni di bug

  • È stato corretto un bug per cui la risposta aptica LongPress veniva attivata più di una volta in Button, Card, IconButton, TextButton (Ia8b0f)
  • Modifiche all'esperienza utente di AlertDialog: sui grandi schermi i pulsanti di conferma e chiusura sono ora più piccoli. Inoltre, lo spazio sotto i pulsanti Conferma e Ignora è maggiore. (I4f066)
  • Abbiamo modificato le specifiche dell'animazione dell'etichetta del pulsante di azione del componente SwipeToReveal. (Ib87fb)
  • Modificato SwipeToReveal per espandere il contenitore contemporaneamente alla visualizzazione del testo. (I44cf8)
  • SwipeToReveal migliorato per eseguire il feedback aptico quando lo scorrimento supera la soglia in cui viene eseguita l'azione principale. (I23efe)
  • Abbiamo aggiornato SwipeToReveal per visualizzare i puntini di sospensione in caso di overflow del testo per impostazione predefinita, per le azioni principali e di annullamento. (I71f5a)
  • Abbiamo risolto un problema che causava tremolio nelle animazioni di ButtonGroup. (I63f8f)
  • Abbiamo aggiunto la semantica del testo a AnimatedText (I6063c)
  • Ora la finestra di dialogo reimposta la scalabilità dello sfondo quando viene rimossa dalla composizione (senza questa correzione, la schermata di avvio potrebbe essere rimasta in uno stato ridimensionato) (Id24ac)
  • Abbiamo aggiunto un'animazione di morphing della forma ai pulsanti del componente Stepper (Id6ed3).

Versione 1.0.0-alpha30

11 dicembre 2024

androidx.wear.compose:compose-material3:1.0.0-alpha30 viene rilasciata. La versione 1.0.0-alpha30 contiene questi commit.

Modifiche alle API

  • Il modificatore scrollTransform per TransformingLazyColumn è stato refactorizzato, il che ha comportato una modifica dell'API. (I0c6dc)
  • Abbiamo aggiornato IconToggleButtonShapes e TextToggleButtonShapes in modo che abbiano due parametri di forma diversi, uncheckedPressed e checkedPressed (I85dbd)
  • Ora le opzioni di mese/giorno non valide sono visibili in DatePicker, con un nuovo invalidPickerContentColor, quando utilizzi minDate o maxDate. (If4541)
  • Abbiamo aggiornato l'API Stepper per fornire slot increaseIcon e decreaseIcon. I contenuti per questi slot possono essere creati come di consueto dal componente componibile Icon. (Id35da)
  • Abbiamo aggiornato dynamicColorScheme rimuovendo il parametro facoltativo defaultColorScheme e restituendo ora ColorScheme che accetta valori nulli. Ciò significa che il chiamante deve gestire esplicitamente il caso di fallback quando non viene fornito uno schema di colori dinamico. (I6d62e)
  • Abbiamo aggiornato le dimensioni delle icone in ButtonDefaults per l'utilizzo con CompactButton. Un CompactButton contenente solo un'icona deve utilizzare ButtonDefaults.SmallIconSize = 24.dp, mentre un CompactButton contenente sia l'icona che il testo deve utilizzare ButtonDefaults.ExtraSmallIconSize = 20.dp. È consigliabile che CompactButton esegua il wrapping dei contenuti (anziché riempire la larghezza massima) e gli esempi sono stati aggiornati per mostrare questo comportamento. (I0582c)
  • Abbiamo aggiunto EdgeButtonDefaults con le dimensioni delle icone consigliate per i quattro diversi EdgeButtonSizes. Inoltre, è stato aggiornato il layout di EdgeButton in modo che abbia un padding inferiore leggermente più grande rispetto a quello superiore, il che migliora l'aspetto dei contenuti di tipo Icona e Testo. (Id772a)
  • Abbiamo aggiunto il movimento a LinearProgressIndicator ed esposto LinearProgressIndicatorContent, che fornisce i contenuti visivi senza animazioni. (Idee99)
  • Abbiamo aggiunto un nuovo componente componibile CircularProgressIndicatorContent per visualizzare i contenuti visivi di CircularProgressIndicator senza animazioni. (Ie33d4)
  • TransformingLazyColumn ora fornisce la composizione locale LocalTransformingLazyColumnItemScope che Card, Button e ListHeader ora utilizzano per trasformarsi automaticamente quando vengono inseriti all'interno di un TransformingLazyColumn. I chiamanti possono disattivare la trasformazione automatica utilizzando il nuovo wrapper TransformExclusion. (I1652f)
  • Abbiamo aggiornato il tipo di ButtonDefaults.shape a RoundedCornerShape (Iccdf2)

Correzioni di bug

  • Abbiamo corretto un bug per rispettare l'alpha esistente sullo sfondo per TimeText (I1eb60)
  • Per impostazione predefinita, abbiamo impostato TextMotion su Animated nella nostra tipografia per evitare il jitter del testo dovuto all'allineamento dei glifi delle lettere ai limiti dei pixel durante le operazioni di scalabilità. (I626fa)
  • Abbiamo aggiornato l'aspetto di ScrollIndicator aumentando la larghezza e le dimensioni dello spazio per migliorare la visibilità. (Ied7cb)
  • Abbiamo corretto un bug su Modifier.scrollTransform durante l'aggiunta, la rimozione o lo spostamento di elementi. (I6830f)
  • Abbiamo risolto un problema di animazione del pulsante rotondo per i tocchi brevi (in precedenza, la durata minima dell'animazione non veniva sempre rispettata). (I757a7)
  • Abbiamo aggiornato l'angolo di scansione per LevelIndicator al 20% (ovvero 72 gradi). (Idde5c)
  • Abbiamo corretto il posizionamento di ScrollIndicator quando ScalingLazyColumn veniva utilizzato con AutoCenteringParams. (I387dd)
  • Abbiamo aggiornato i colori e la tipografia per ListHeader e ListSubHeader. Anche i colori dei controlli di attivazione/disattivazione su CheckboxButton e SwitchButton. (I39817)
  • Abbiamo corretto il posizionamento di ScrollIndicator in LazyColumn e ScalingLazyColumn con ContentPadding. (I2bc51)
  • Abbiamo corretto un bug visualizzato nell'animazione di avanzamento OpenOnPhoneDialog utilizzando il nuovo CircularProgressIndicatorContent. (I3e443)
  • Abbiamo aggiornato HorizontalPagerScaffold e VerticalPagerScaffold per disattivare le animazioni quando l'opzione Riduci movimento è attiva (Iaaf68).
  • Abbiamo implementato un'animazione separata per gli indicatori di avanzamento circolari quando l'avanzamento supera il 100%. (I47135)
  • È stato corretto un bug per cui EdgeButton poteva essere disegnato con una forma errata nei componenti Pager (I91db9)

Versione 1.0.0-alpha29

13 novembre 2024

androidx.wear.compose:compose-material3:1.0.0-alpha29 viene rilasciata. La versione 1.0.0-alpha29 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato TimeText per fornire contenuti predefiniti che mostrano l'ora. (Id23b3)
  • Abbiamo semplificato ScrollInfoProvider per PagerState rimuovendo il parametro orientation, che non è più necessario. Il nuovo comportamento prevede che TimeText rimanga in posizione sia per la paginazione orizzontale che per quella verticale. (I71767)
  • LocalHapticFeedback ora fornisce un'implementazione HapticFeedback predefinita quando l'API Vibrator indica che la tecnologia aptica è supportata. Sono stati aggiunti i seguenti elementi: HapticFeedbackType - Confirm, ContextClick, GestureEnd, GestureThresholdActivate, Reject, SegmentFrequentTick, SegmentTick, ToggleOn, ToggleOff, VirtualKey. I componenti di Wear Compose su cui è possibile fare clic prolungato, come Button, IconButton, TextButton e Card, ora eseguono la vibrazione LONG_PRESS quando viene fornito un gestore di clic prolungato. (I5083d)

Correzioni di bug

  • Abbiamo aggiornato il movimento per le Conferme. (I04bff)
  • Abbiamo aggiornato la dipendenza API minima alla versione 1.7.4 per le librerie Compose. (I88b46)
  • È stato aggiunto un nuovo movimento per la finestra di dialogo OpenOnPhone. (I1e10a)
  • Abbiamo corretto un bug in LevelIndicator in modo che ora venga visualizzato correttamente con il livello zero. (Ie95a4)
  • Abbiamo aggiornato le animazioni HorizontalPageIndicator e VerticalPageIndicator. (I5c8f3)
  • Abbiamo aggiunto un'animazione di riduzione a un punto all'indicatore di caricamento indeterminato ArcProgressIndicator. (I9fd51)

Versione 1.0.0-alpha28

30 ottobre 2024

androidx.wear.compose:compose-material3:1.0.0-alpha28 viene rilasciata. La versione 1.0.0-alpha28 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto una variante ad arco all'indicatore di avanzamento circolare indeterminato (I2efc1).
  • Abbiamo reso pubblici i composable AlertDialogContent e Dialog che compongono l'API AlertDialog, in modo che sia possibile aggiungere la personalizzazione, se necessario (ad esempio personalizzare l'animazione AlertDialog mantenendo il layout dei contenuti consigliato). Inoltre, abbiamo aggiunto i parametri Modifier e Color ai membri EdgeButton, ConfirmButton e DismissButton di AlertDialogDefaults. (I4eb71)
  • Abbiamo aggiornato l'API Placeholder nel seguente modo: abbiamo rinominato PlaceholderState.startPlaceholderAnimation in PlaceholderState.animatePlaceholder, PlaceholderState.isShowContent in PlaceholderState.isHidden e PlaceholderDefaults.shape in PlaceholderDefaults.Shape; abbiamo rinominato il parametro painter in painterWithPlaceholderOverlayBackgroundBrush in originalPainter; abbiamo modificato la visibilità di PlaceholderState.placeholderProgression da pubblica a interna e l'abbiamo rinominata in placeholderShimmerProgression; abbiamo aggiunto costanti di durata dell'animazione del segnaposto a PlaceholderDefaults. (Ie5a59)
  • Abbiamo aggiornato l'API EdgeButton nel seguente modo: abbiamo rinominato il parametro in ScreenScaffold da bottomButton a edgeButton e abbiamo reso EdgeButtonSize una classe di valori. (Ieef15)
  • Abbiamo modificato la visibilità di copy() in pubblica nelle classi di colori wear material3 (I0287f)

Correzioni di bug

  • Aggiunta della durata minima dell'animazione per IconToggleButton e TextToggleButton al clic (Ieb333)
  • È stata aggiunta la durata minima all'animazione della forma IconButton e TextButton (Iebcee)
  • È stato corretto lo stato dell'opzione di ripetizione di DatePicker. (I3587c)
  • È stato aggiunto il movimento per le finestre di dialogo Avviso e Conferma. (I173b1)

Versione 1.0.0-alpha27

16 ottobre 2024

androidx.wear.compose:compose-material3:1.0.0-alpha27 viene rilasciata. La versione 1.0.0-alpha27 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato ScreenScaffold e ScrollIndicator in seguito alla ridenominazione di Wear Compose Foundation LazyColumn in TransformingLazyColumn. (I0608b)
  • Il parametro preferredHeight di EdgeButton è stato rinominato in buttonSize e il suo valore può essere scelto solo tra quattro costanti nella classe di valori EdgeButtonSize appena introdotta. (Icdd70)
  • Abbiamo modificato il nome di ListSubheader in ListSubHeader e aggiunto valori predefiniti accessibili pubblicamente per ListHeader e ListSubHeader. (I96730)
  • Abbiamo aggiunto nuovi componenti HorizontalPagerScaffold e VerticalPagerScaffold per Wear che forniscono nuove animazioni e coordinamento tra i componenti di testo dell'ora e indicatore di pagina. (Iff7d0)
  • Abbiamo aggiunto il supporto della rotazione a HorizontalPagerScaffold e VerticalPagerScaffold, consentendo agli utenti di navigare nei pager utilizzando dispositivi di input rotativi. (I9770d)
  • Abbiamo apportato modifiche all'API MotionScheme per semplificare l'utilizzo e migliorare la coerenza. Sono state rimosse le funzioni di memorizzazione in linea e gli schemi di movimento integrati sono stati spostati in un oggetto complementare MotionScheme dedicato. È stato rinominato standardMotionScheme e expressiveMotionScheme in standard ed espressivo. (I5fd45)
  • Abbiamo aggiunto il supporto per una combinazione di colori dinamica basata sui colori di sistema. (I073e9)
  • Abbiamo aggiornato lo Stepper alle ultime specifiche UX. (I622bb)

Correzioni di bug

  • Abbiamo aggiornato la tipografia e i padding per i componenti Scheda. (I3ae48)
  • Abbiamo modificato il padding in AlertDialog tra i pulsanti Conferma/Ignora e il resto dei contenuti da 8 dp a 12 dp in base alle specifiche UX (Ie55f0)
  • Abbiamo aggiornato l'opacità del colore per il componente Dispositivo di scorrimento. (Idb383)

Versione 1.0.0-alpha26

2 ottobre 2024

androidx.wear.compose:compose-material3:1.0.0-alpha26 viene rilasciata. La versione 1.0.0-alpha26 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato l'API e l'aspetto di HorizontalPageIndicator e aggiunto VerticalPageIndicator per l'utilizzo con VerticalPager (Ic9309)
  • AlertDialog ora supporta la possibilità di omettere il pulsante inferiore predefinito dalla variante della pila di pulsanti, per i layout personalizzati in cui EdgeButton non è richiesto. (I34fa9)
  • Abbiamo aggiunto un componente SwipeToReveal per Wear Material 3 (Ic38b2).
  • Abbiamo aggiunto il supporto per lo scorrimento bidirezionale in SwipeToReveal, per i rari casi in cui la schermata attuale non supporta lo scorrimento per chiudere. L'impostazione predefinita prevede lo scorrimento per rivelare solo per gli scorrimenti da destra a sinistra ed è fortemente consigliato di rispettare il comportamento predefinito per evitare conflitti con lo scorrimento per chiudere. (Ifac04)
  • Abbiamo rinominato il parametro buttonHeight di EdgeButton in preferredHeight. (I4fab3)
  • La versione di Kotlin è stata aggiornata alla 1.9 (I1a14c)
  • Abbiamo rinominato OpenOnPhoneDialogDefaults.Icon in OpenOnPhoneDialogDefaults.OpenOnPhoneIcon per evitare conflitti con Icon(I0f391)
  • Abbiamo aggiunto il supporto per ScrollIndicator in LazyColumn. (Ia546a)
  • Abbiamo aggiornato i valori predefiniti per TextToggleButton e IconToggleButton. (I7aaa9)
  • Abbiamo semplificato le API Picker e PickerGroup. (Id0653)
  • Abbiamo aggiunto CardDefaults.Shape e CardDefaults.Height, che (essendo token) erano altrimenti privati per gli sviluppatori che utilizzano la libreria. (I1594a, b/347649765)
  • Abbiamo rinominato il parametro di avanzamento per l'indicatore di avanzamento circolare segmentato binario in segmentValue. (Ib72d9)
  • Abbiamo aggiornato i colori e il layout del cursore. (Ic3eec)

Correzioni di bug

  • Abbiamo aggiornato l'animazione dell'icona openOnPhone (I66f85)
  • Ora utilizziamo le icone di Google Symbols in Slider, TimePicker e DatePicker. (I46c7c)
  • Abbiamo aggiornato i padding in Confirmation e OpenOnPhoneDialog. (Iaa82e)

Versione 1.0.0-alpha25

18 settembre 2024

androidx.wear.compose:compose-material3:1.0.0-alpha25 viene rilasciata. La versione 1.0.0-alpha25 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto un indicatore di avanzamento circolare indeterminato. (I427a7)
  • Abbiamo aggiunto il supporto per l'overflow dei progressi (progressi > 100%) sia per CircularProgressIndicator sia per SegmentedCircularProgressIndicator. Quando l'avanzamento supera 1,0, questo verrà indicato dal nuovo colore overflowTrack. (Iaaa3d)
  • I pulsanti di opzione IconToggleButton e TextToggleButton ora supportano una nuova variante di animazione della forma, in cui forme diverse rappresentano gli stati selezionato, deselezionato e premuto. La precedente variante della forma animata per lo stato appena premuto continua a essere supportata. (I29f03)
  • Abbiamo rimosso il supporto per l'utilizzo di EdgeButton con Column, a causa della necessità di specificare esplicitamente l'altezza di EdgeButton in ScreenScaffold. (Ie353d)
  • Abbiamo aggiunto il supporto per Wear Compose LazyColumn con il nostro ScreenScaffold (e abbiamo aggiunto un'implementazione di ScrollInfoProvider per LazyColumnState). (Ib8d29)
  • Abbiamo combinato LocalTextMaxLines, LocalTextAlign e LocalTextOverflow in una singola composizione LocalTextConfiguration locale per fornire una soluzione più scalabile in futuro. (I5edbc)
  • Abbiamo aggiunto arc-large come scala tipografica aggiuntiva, riservata alle brevi stringhe di testo dell'intestazione nella parte superiore o inferiore dello schermo, come nelle sovrimpressioni di conferma. (I60e3e)
  • Abbiamo aggiunto valori predefiniti al pulsante per le dimensioni consigliate delle icone grandi e molto grandi e per il padding dei contenuti. (I84675)

Correzioni di bug

  • Abbiamo aggiornato i colori per IconButton e TextButton. (I48324)
  • Abbiamo modificato gli overload dei pulsanti di base in modo che siano allineati verticalmente al centro per coerenza con gli altri overload. Per ripristinare il comportamento precedente, utilizza Modifier.align da RowScope. (I66e57)

Versione 1.0.0-alpha24

4 settembre 2024

androidx.wear.compose:compose-material3:1.0.0-alpha24 viene rilasciata. La versione 1.0.0-alpha24 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto uno schema di movimento al tema Material3. Verrà utilizzato dai componenti della libreria per applicare specifiche di animazione come le molle per un movimento espressivo. (I54ff3)
  • Abbiamo aggiunto i componenti AppScaffold e ScreenScaffold alla libreria Material3, che includono funzionalità per coordinare la stratificazione e le transizioni di TimeText e ScrollIndicator. AppScaffold fornisce un livello superiore di componenti di scaffolding che si trovano sopra tutte le schermate. Pertanto, l'aggiunta di TimeText a AppScaffold consente di mantenerlo in posizione mentre scorri tra le schermate. Le schermate possono eseguire l'override o nascondere il testo dell'ora. ScreenScaffold fornisce uno spazio per ScrollIndicator e anima automaticamente l'indicatore di scorrimento durante lo scorrimento, incluso il timeout per nasconderlo dopo un periodo di inattività. (I047d6)
  • Abbiamo aggiunto ScrollIndicator con il nuovo design Material3. Ha una dimensione fissa della miniatura in base ai contenuti iniziali dell'elenco, per evitare variazioni di dimensioni quando i contenuti caricati in modalità differita vengono caricati nell'elenco. (Ic228d)
  • Abbiamo modificato l'API ScrollAway in modo che ScreenStage sia una classe di valori anziché una classe enum, per consentire l'aggiunta di ulteriori fasi in base alle esigenze future. (I48c93)
  • Abbiamo aggiunto EdgeButton, un pulsante specifico per Wear con una forma che segue la curvatura della parte inferiore dello schermo (I16369)
  • Abbiamo aggiunto un nuovo spazio allo ScreenScaffold per un pulsante in basso (ad esempio EdgeButton), che verrà visualizzato e ridimensionato a seconda dei contenuti scorrevoli (I032eb).
  • Abbiamo aggiunto Modifier.scrollTransform e Modifier.targetMorphingHeight per aggiungere effetti di movimento Material3 agli elementi in LazyColumn. (Ie229a)
  • Abbiamo aggiunto SegmentedCircularProgressIndicator come variante di CircularProgressIndicator. La variazione segmentata mostra un singolo valore di avanzamento in tutti i segmenti oppure mostra ogni segmento come attivo/disattivato. (I6e059)
  • Abbiamo aggiunto LinearProgressIndicator come alternativa a CircularProgressIndicator. (I89182)
  • Abbiamo aggiunto AlertDialog, che fornisce layout per presentare all'utente prompt importanti. Sono incluse varianti per una coppia di pulsanti di conferma/chiusura o un singolo pulsante in basso (in genere un EdgeButton) sotto una serie di opzioni. Entrambe le varianti hanno spazi per l'icona, il titolo e il testo aggiuntivo per fornire ulteriori dettagli. (Ieb873)
  • Abbiamo aggiunto OpenOnPhoneDialog, che deve essere utilizzato per indicare un'azione che continuerà sullo smartphone dell'utente. OpenOnPhoneDialog viene chiuso dopo un timeout specificato. (I978fd)
  • Abbiamo aggiunto Confirmation, un componente di dialogo con spazi per un'icona e testo curvo o lineare. Vengono fornite varianti specifiche per i messaggi di esito positivo/negativo. Le conferme vengono chiuse automaticamente dopo un timeout. (Ib43e8)
  • Abbiamo aggiunto uno sfondo a TimeText per mitigare i problemi in cui i contenuti sottostanti e TimeText si sovrapponevano e oscuravano l'ora. (Ia11fd)
  • Abbiamo aggiunto LevelIndicator, che mostra il valore di un'impostazione come il volume e può essere utilizzato con il componente Stepper esistente per creare una schermata del volume. LevelIndicator è simile a ScrollIndicator, ma viene visualizzato sul lato opposto dello schermo e ha una larghezza del tratto maggiore e un colore dell'indicatore diverso per impostazione predefinita. (I8a4ac)
  • Abbiamo aggiunto TimePicker, con layout per l'ora nel formato 24 ore (con o senza secondi) o nel formato 12 ore con selezione AM/PM. (Ia5124)
  • Abbiamo aggiunto DatePicker, con la configurazione per l'ordinamento delle colonne (ad es. giorno-mese-anno, mese-giorno-anno o anno-mese-giorno) e date minime/massime facoltative. (Ibf13b)
  • Abbiamo aggiunto un parametro di peso alla funzione text di TimeText. Nei casi in cui TimeText è composto da più di un elemento di testo, ciò consente di controllare la distribuzione dello spazio. (I36700)
  • Abbiamo aggiunto RadioButton e SplitRadioButton. Questi componenti semplificano l'API precedente combinando sia il controllo radio (Split)SelectableButton sia il controllo radio figlio (If7ae8).
  • Abbiamo aggiunto CheckboxButton e SplitCheckboxButton. Questi componenti semplificano l'API precedente combinando sia il controllo (Split)ToggleButton sia la casella di controllo secondaria (Ia8f70).
  • Abbiamo aggiunto SwitchButton e SplitSwitchButton. Questi componenti semplificano l'API precedente combinando sia (Split)ToggleButton sia il controllo Switch figlio (I0d349).
  • Abbiamo aggiornato la documentazione di AnimatedText per spiegare il comportamento di overshoot. (Iff30a)
  • Abbiamo aggiunto ButtonGroup per combinare 2 o 3 pulsanti in modo che le pressioni dei pulsanti producano un'animazione coordinata. (Ie27db)
  • Abbiamo aggiunto l'animazione facoltativa della forma per IconButton e TextButton quando vengono premuti. (Iffca5)
  • Abbiamo aggiunto una variante di colore aggiuntiva, FilledVariant, a Button, IconButton, TextButton, CompactButton e EdgeButton (I65fc3)
  • Abbiamo aggiunto il parametro forcedSize a ImageWithScrimPainter, in modo che gli sfondi delle immagini dei pulsanti mantengano le dimensioni del componente per impostazione predefinita. L'impostazione di forcedSize = null adotta invece Painter.instrinsicSize. (Ic57af)
  • Abbiamo aggiunto il clic prolungato ai pulsanti (Ib613d)
  • È stato aggiunto anche il supporto per il clic prolungato a IconButton e TextButton. (I38891)
  • È stato aggiunto il supporto per il clic lungo alle schede. (I305d5)
  • Abbiamo aggiunto LocalTextMaxLines, LocalTextAlign, LocalTextOverflow come CompositionLocals e li abbiamo utilizzati come valori predefiniti dei parametri su Text. Ora le impostazioni locali di composizione possono essere utilizzate da componenti come CheckboxButton, SwitchButton e RadioButton per implementare le indicazioni UX, ma i parametri possono essere sostituiti dagli sviluppatori, se necessario. (Iab841)
  • Abbiamo aggiunto Placeholder per mascherare il contenuto di componenti come pulsanti e schede fino al caricamento dei dati. (I1a532)
  • Abbiamo aggiunto IconToggleButtonColors e TextToggleButtonColors per sostituire ToggleButtonColors, che è stato rimosso. (Ie0bf1)

Correzioni di bug

  • Abbiamo aggiornato Button, FilledTonalButton, OutlinedButton, ChildButton, CompactButton per utilizzare i nuovi CompositionLocals LocalTextMaxLines, LocalTextAlign, LocalTextOverflow per implementare le indicazioni UX. Questi parametri possono essere sostituiti direttamente dagli sviluppatori sul testo, se necessario (Ie51f7).
  • Abbiamo modificato la larghezza del tratto predefinita di LevelIndicator in 6dp per differenziarla da ScrollIndicator, che ha una larghezza del tratto di 4dp. (If6f63)
  • Abbiamo risolto un problema in TimeText in modo che siano supportati angoli di scansione più ampi. (Ie489f)
  • Risolto un problema durante la ricomposizione di EdgeButton. (I4cdca)
  • Sono stati corretti i layout dei pulsanti di attivazione/disattivazione suddivisi quando viene fornito un padding dei contenuti personalizzato. (Ia33d3)
  • I piccoli valori di avanzamento vengono arrotondati per eccesso almeno alla larghezza della linea dell'indicatore di avanzamento. (I3bd84)

Versione 1.0.0-alpha23

14 maggio 2024

androidx.wear.compose:compose-material3:1.0.0-alpha23 viene rilasciata. La versione 1.0.0-alpha23 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato le API ToggleButton e RadioButton in modo che sia possibile configurare i colori disattivati. (If13a7)
  • Abbiamo aggiunto un nuovo CircularProgressIndicator per Material3. (Ib3bd7)

Correzioni di bug

  • Abbiamo corretto un bug a causa del quale i pulsanti selezionabili annunciavano il doppio tocco per attivare/disattivare quando erano già selezionati. (I7ed88)

Versione 1.0.0-alpha22

1° maggio 2024

androidx.wear.compose:compose-material3:1.0.0-alpha22 viene rilasciata. La versione 1.0.0-alpha22 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato Material3 ColorScheme. (I7b2b8)
  • Abbiamo aggiornato l'interruttore Material3. Oltre ad alcune modifiche al colore, il segno di spunta ora corrisponde a quello utilizzato per la casella di controllo. (Icac7b)

Correzioni di bug

  • Aggiorna tutte le demo di integrazione in modo da utilizzare il nuovo modificatore rotaryScrollable. (I25090)

Versione 1.0.0-alpha21

17 aprile 2024

androidx.wear.compose:compose-material3:1.0.0-alpha21 viene rilasciata. La versione 1.0.0-alpha21 contiene questi commit.

  • Questa release è stata attivata a causa di un problema tecnico nella release precedente che ha comportato la mancanza di file JAR di origine. Non sono presenti nuovi commit in questa release.

Versione 1.0.0-alpha20

3 aprile 2024

androidx.wear.compose:compose-material3:1.0.0-alpha20 viene rilasciata. La versione 1.0.0-alpha20 contiene questi commit.

Correzioni di bug

  • Abbiamo modificato i valori alfa dello stato premuto e attivo di Ripple per il contrasto. (I59f0a)
  • Abbiamo aggiunto la spaziatura tra le etichette principali e secondarie in Button, ToggleButton e RadioButton, in seguito alle ultime modifiche agli stili tipografici e alle altezze delle righe. (I2c0ba)

Versione 1.0.0-alpha19

6 marzo 2024

androidx.wear.compose:compose-material3:1.0.0-alpha19 viene rilasciata. La versione 1.0.0-alpha19 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto TimeText alla libreria Wear Compose Material3. Questo componente mostra l'ora corrente (e lo stato aggiuntivo) nella parte superiore dello schermo. La nuova API Material3 concisa evita la duplicazione tra contenuti lineari e curvi. (I4d7c3)
  • Abbiamo aggiornato i nomi dei parametri da onSelected a onSelect per RadioButton. (I1a971)
  • Tokenizza RadioButton e SplitRadioButton e refattorizza i metodi esistenti per ridurre la quantità di ricerche CompositionLocal aggiungendo istanze memorizzate nella cache dei colori e rendendo interni i metodi di RadioButtonColors e SplitRadioButtonColors. (I02b33)

Versione 1.0.0-alpha18

21 febbraio 2024

androidx.wear.compose:compose-material3:1.0.0-alpha18 viene rilasciata. La versione 1.0.0-alpha18 contiene questi commit.

Modifiche alle API

  • Abbiamo eseguito il refactoring del pattern predefinito per CardColors, ToggleButtonColors e SplitToggleButtonColors creando internamente istanze memorizzate nella cache e riducendo l'utilizzo di CompositionLocal. (If3fec)

Versione 1.0.0-alpha17

7 febbraio 2024

androidx.wear.compose:compose-material3:1.0.0-alpha17 viene rilasciata. La versione 1.0.0-alpha17 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato l'API Button per utilizzare buttonColors per impostazione predefinita e abbiamo rimosso il duplicato filledButtonColors. (I4fe3b)
  • Abbiamo eseguito il refactoring dei pattern predefiniti per ButtonColors, IconButtonColors e TextButtonColors creando internamente un'istanza memorizzata nella cache e riducendo l'utilizzo di CompositionLocal. (I5f51c)
  • Abbiamo rimosso l'overhead di rememberUpdatedState nelle classi di colori specifiche dei componenti e abbiamo contrassegnato i metodi di accesso all'interno delle classi di colori come interni. (If6571)

Correzioni di bug

  • Abbiamo aggiornato Modifier.minimumInteractiveComponentSize in modo che utilizzi Modifier.node. (Iba6b7)

Versione 1.0.0-alpha16

24 gennaio 2024

androidx.wear.compose:compose-material3:1.0.0-alpha16 viene rilasciata. La versione 1.0.0-alpha16 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto CompactButton, che può utilizzare gli stessi colori con riempimento, tonali con riempimento e contorno del pulsante.(I05df0)

Modifiche alle API

  • Abbiamo aggiunto RadioButton/SplitRadioButton come contenitori per i controlli di selezione, ad esempio il controllo Pulsante di opzione. RadioButton è diverso da ToggleButton in quanto è selezionabile (e funziona all'interno di un gruppo di selezione), mentre ToggleButton è attivabile/disattivabile (ed è indipendente). (I61275)
  • Stiamo rimuovendo LocalContentAlpha dalla libreria Wear Compose Material3 per coerenza con la libreria Compose Material3. (I49a0a)
  • I componenti Wear Material e Wear Material3 che espongono un MutableInteractionSource nella loro API sono stati aggiornati in modo da esporre un MutableInteractionSource nullable che ha come valore predefinito null. Non sono state apportate modifiche semantiche: il passaggio di null significa che non vuoi sollevare MutableInteractionSource e verrà creato all'interno del componente, se necessario. Se viene impostato su null, alcuni componenti non allocano mai un MutableInteractionSource, mentre altri creano un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi MutableInteractionSource che passi a questi componenti, ti consigliamo di passare null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (Ib90fc, b/298048146)
  • Aggiunge una nuova API ripple nelle librerie wear:compose-material e wear:compose-material3 che sostituisce l'API rememberRipple deprecata. Aggiunge anche un CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare l'utilizzo delle API rememberRipple/RippleTheme deprecate per i componenti Material. Questa funzionalità verrà rimossa nella prossima release stabile ed è pensata solo per essere un ausilio temporaneo per la migrazione nei casi in cui fornisci un RippleTheme personalizzato. Visita il sito developer.android.com per informazioni sulla migrazione e ulteriori dettagli su questa modifica. (af92b21)
  • Abbiamo apportato piccoli miglioramenti all'API HorizontalPageIndicator e alla relativa documentazione. (I60efc)
  • Abbiamo aggiornato ColorScheme in modo che sia immutabile, rendendo meno efficienti gli aggiornamenti dei singoli colori, ma rendendo più efficiente l'utilizzo più comune dei colori. Il motivo di questa modifica è che la maggior parte delle app non ha l'aggiornamento dei singoli colori come caso d'uso principale. È ancora possibile, ma la ricomposizione sarà maggiore rispetto a prima, il che ridurrà significativamente la quantità di abbonamenti allo stato in tutto il codice materiale e influirà sul costo di inizializzazione e runtime dei casi d'uso più standard. (Ibc2d6)
  • Sono state aggiornate le API ToggleButton e SplitToggleButton per consentire la personalizzazione dei colori disattivati. Inoltre, ora vengono utilizzati i token Material Design per i valori di colore e tipografia. (If087c)
  • Aggiornamento dei colori di sfondo delle immagini dei pulsanti per utilizzare i token Material Design. (Iba215)
  • Abbiamo modificato i componenti Checkbox, Switch e RadioButton in modo che siano di sola visualizzazione, rimuovendo la gestione dei clic. Questi componenti devono essere utilizzati in (Split)ToggleButton, che gestisce il clic, quindi ora sono indicati più chiaramente come solo visualizzazione (e non sono destinati all'uso autonomo su Wear). (I2322e)

Correzioni di bug

  • Abbiamo aggiunto token per i valori di movimento di durate e accelerazioni in Wear Compose Material 3. (I437cd)
  • Abbiamo corretto un bug in ToggleButton, SplitToggleButton, Checkbox, Switch e RadioButton in modo che gli annunci di accessibilità non vengano ripetuti (in precedenza, i ruoli semantici venivano duplicati). (Ica281)
  • Abbiamo rimosso il livello materialcore per CompactButton per migliorare le prestazioni. (7902858)

Versione 1.0.0-alpha15

15 novembre 2023

androidx.wear.compose:compose-material3:1.0.0-alpha15 viene rilasciata. La versione 1.0.0-alpha15 contiene questi commit.

Modifiche alle API

  • Abbiamo rinominato il livello Foundation SwipeToDismissBox in BasicSwipeToDismissBox. In questo modo, la distinzione tra il componente di livello Foundation e il livello Material3 SwipeToDismissBox è più chiara. Quest'ultimo estrae i colori da MaterialTheme da utilizzare nelle protezioni e delega l'implementazione rimanente a BasicSwipeToDismissBox. (Ibecfc)

Correzioni di bug

  • Abbiamo rimosso il livello material-core per il pulsante Material3 per migliorare il rendimento. (I55555)

Versione 1.0.0-alpha14

18 ottobre 2023

androidx.wear.compose:compose-material3:1.0.0-alpha14 viene rilasciata. La versione 1.0.0-alpha14 contiene questi commit.

Modifiche alle API

  • Abbiamo rimosso il parametro indicatorStyle da Material3 HorizontalPageIndicator. Seguirà invece la forma dello schermo del dispositivo (lineare o rotonda). (I83728)
  • Abbiamo separato i colori per SplitToggleButton da quelli per ToggleButton aggiungendo una nuova classe SplitToggleButtonColors. (I78bee)

Versione 1.0.0-alpha13

4 ottobre 2023

androidx.wear.compose:compose-material3:1.0.0-alpha13 viene rilasciata. La versione 1.0.0-alpha13 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto un campo Sottotitolo facoltativo a TitleCard. (Ifc45a)
  • Abbiamo aggiunto token di colore Material Design per TextButton. (I769dc)

Versione 1.0.0-alpha12

20 settembre 2023

androidx.wear.compose:compose-material3:1.0.0-alpha12 viene rilasciata. La versione 1.0.0-alpha12 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato IconButton per utilizzare i token Material Design. (I3f137)
  • Abbiamo aggiornato IconToggleButton per utilizzare i token Material Design. (I7d263)
  • Abbiamo reso pubblici i costruttori di CheckboxColors, RadioButtonColors, SwitchColors. (I82b73)

Versione 1.0.0-alpha11

6 settembre 2023

androidx.wear.compose:compose-material3:1.0.0-alpha11 viene rilasciata. La versione 1.0.0-alpha11 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiornato la tipografia delle schede Material3 a TitleMedium. (I597bd)
  • Abbiamo aggiornato la tipografia e l'allineamento per ListHeader e ListSubheader di Material3. (Ib5ceb)

Versione 1.0.0-alpha10

23 agosto 2023

androidx.wear.compose:compose-material3:1.0.0-alpha10 viene rilasciata. La versione 1.0.0-alpha10 contiene questi commit.

Nuove funzionalità

  • Aggiungi HorizontalPageIndicator nella libreria Wear Material3. (Ifee99)

Modifiche alle API

  • Aggiorna il codice dei pulsanti per utilizzare i token di progettazione Material3. (I92fe4)
  • Dichiarazione delle API Wear Material 3 Stepper e Slider come sperimentali, in quanto i dettagli dell'interfaccia utente sono ancora in fase di finalizzazione. (I84d54)
  • Abbiamo rimosso le dimensioni ExtraSmall dai round TextButton e TextToggleButton perché queste dimensioni si applicano solo a IconButton. (Ibc7d5)

Correzioni di bug

  • Abbiamo aggiornato le indicazioni sulla tipografia per TextToggleButton in modo da utilizzare LabelLarge per LargeButtonSize (Ib10fa).
  • Abbiamo aggiornato le indicazioni sulla tipografia per TextButton in modo da utilizzare LabelLarge per LargeButtonSize (I8f3a7)
  • Abbiamo impostato il touch target minimo della scheda su 48 dp per l'accessibilità. (Ieb9b1)
  • Aggiungi AppCard con demo dell'immagine, rimuovendo AppCard con demo dello sfondo (Id735f)
  • Correzione di un bug nei pulsanti rotondi in cui i modificatori non venivano concatenati correttamente. (I5e162)

Versione 1.0.0-alpha09

9 agosto 2023

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

Nuove funzionalità

  • Abbiamo aggiunto ToggleButton per material3 (I6bed6)

Modifiche alle API

  • Abbiamo attivato l'annotazione FloatRange come vincoli API , che in precedenza erano indicati nei commenti. (Icb401)
  • Abbiamo aggiornato la tipografia per Wear Material3 in modo che rispetti le ultime linee guida di Material3. (I1bad6)

Correzioni di bug

  • Abbiamo aggiornato i colori per Button, IconButton e TextButton in linea con il design Material3. (Ib2495)
  • Abbiamo corretto la visibilità del segno di spunta nelle caselle di controllo negli stati disattivati. (Ib25bf)

Versione 1.0.0-alpha08

26 luglio 2023

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

Nuove funzionalità

  • Abbiamo aggiunto i seguenti controlli di selezione per Material3: Switch, Checkbox, RadioButton. (Ib918c)
  • Abbiamo aggiunto IconToggleButton e TextToggleButton a Material 3, un pulsante di attivazione/disattivazione circolare con un singolo spazio per l'icona e il testo, rispettivamente. Per le diverse dimensioni di ToggleButton, ti consigliamo di utilizzare Modifier.touchTargetAwareSize con le dimensioni fornite nei rispettivi pulsanti di attivazione/disattivazione. (I9f015)
  • Abbiamo aggiunto ListHeader e ListSubheader ai nostri componenti Material 3. (Ibaefe)
  • Abbiamo aggiunto Material3 SwipeToDismissBox, che chiama la nuova Foundation SwipeToDismissBox e fornisce i valori di colore predefiniti dal suo tema. (I275fb)
  • Abbiamo aggiunto InlineSlider Material3 a Wear Compose. Consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene visualizzato come una barra tra i valori minimo e massimo dell'intervallo, da cui gli utenti possono selezionare un singolo valore. InlineSlider è ideale per regolare impostazioni come volume o luminosità. (I7085f)

Modifiche alle API

  • Abbiamo aggiornato le forme nel tema Wear Material 3 per utilizzare RoundedCornerShape invece di Forma. (Idb133)
  • Abbiamo reso pubbliche le costanti di altezza per il pulsante (Idbfde)
  • File API aggiornati per annotare la soppressione della compatibilità (I8e87a, b/287516207)
  • Abbiamo aggiornato InlineSliderColors in Wear Compose Material 3 in modo che abbia un costruttore pubblico e proprietà pubbliche. (I6b632)
  • Abbiamo aggiornato tutte le classi di colori in Wear Compose Material 3 in modo che abbiano costruttori e proprietà pubblici. (I17702)
  • Abbiamo reso pubbliche le costanti di spaziatura orizzontale e verticale del pulsante. (Ieeaf7)

Correzioni di bug

  • Ora il pulsante regolerà la sua altezza per adattarsi ai contenuti che sono aumentati di dimensioni a causa dei caratteri grandi per l'accessibilità, se necessario (Iaf302).
  • Abbiamo aggiornato una serie di demo di pulsanti per risolvere i problemi di accessibilità. (I61ce9)
  • Stepper e InlineSlider ora supportano i clic ripetuti sulla pressione prolungata, in modo da poter aumentare/diminuire rapidamente il valore di Stepper e InlineSlider tenendo premuti i pulsanti + o - (I27359).

Versione 1.0.0-alpha07

21 giu 2023

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

Nuove funzionalità

  • Abbiamo aggiunto il componente Stepper alla nostra libreria Compose per Wear OS Material 3. È simile alla versione precedente di Material, ma omette la semantica dell'intervallo per impostazione predefinita, in base al feedback degli sviluppatori. Forniamo Modifier.rangeSemantics i casi in cui è richiesta la semantica dell'intervallo. (Ic39fd)
  • Abbiamo aggiunto curvedText alla nostra libreria Compose per Wear OS Material 3. (Ia8ae3)

Correzioni di bug

  • Abbiamo aggiornato wear.compose.foundation in modo che sia una dipendenza API di wear.compose.material3 (I72004, b/285404743)

Versione 1.0.0-alpha06

7 giugno 2023

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

Correzioni di bug

  • Abbiamo aggiornato TextButton per utilizzare la funzione di estensione toDisabledColor per i valori alfa disattivati corretti. (I814c8)

Versione 1.0.0-alpha05

24 maggio 2023

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

Nuove funzionalità

  • Abbiamo aggiunto TextButton a Material3, un pulsante circolare con un unico spazio per il testo. Per le diverse dimensioni di TextButton, ti consigliamo di utilizzare Modifier.touchTargetAwareSize e ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize e LargeButtonSizeIcon forniti in TextButtonDefaults. Il TextButton predefinito non ha bordi e ha uno sfondo trasparente per le azioni a bassa enfasi. Per le azioni che richiedono un'enfasi elevata, utilizza filledTextButtonColors; per un'enfasi media, utilizza TextButton con bordo impostato su ButtonDefaults.outlinedButtonBorder; per un compromesso tra contorno e riempimento, utilizza filledTonalTextButtonColors. (I667e4)
  • Abbiamo aggiunto Card, OutlinedCard, AppCard e TitleCard alla libreria Wear Compose Material3. AppCard e TitleCard possono anche essere visualizzati con un aspetto contornato utilizzando CardDefaults.outlinedCardColors e CardDefaults.outlinedCardBorder(I80e72).

Modifiche alle API

  • Abbiamo spostato il parametro Etichetta pulsante alla fine per supportare la sintassi lambda finale e abbiamo rimosso il parametro ruolo (in quanto può essere sostituito utilizzando Modifier.semantics). I costruttori ButtonColors sono ora pubblici. (Ie1b6d)

Versione 1.0.0-alpha04

10 maggio 2023

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

Nuove funzionalità

  • Abbiamo aggiunto IconButton a Material 3, un pulsante circolare con un unico spazio per l'icona/immagine. Esistono quattro varianti: IconButton, FilledIconButton, FilledTonalIconButton e OutlinedIconButton. Per le diverse dimensioni di IconButton, ti consigliamo di utilizzare Modifier.touchTargetAwareSize e ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize e LargeButtonSizeIcon forniti in IconButtonDefaults. Forniamo anche IconButtonDefaults.iconSizeFor per determinare le dimensioni consigliate dell'icona per una determinata dimensione del pulsante. (I721d4)

Versione 1.0.0-alpha03

19 aprile 2023

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

Modifiche alle API

  • Abbiamo aggiunto il componente Pulsante Material 3, il nostro pulsante a forma di stadio, precedentemente chiamato Chip nella libreria Wear Compose Material (è stato rinominato Pulsante per coerenza con la libreria Compose Material 3). Il pulsante predefinito ha uno sfondo pieno e sono disponibili varianti per FilledTonal (sfondo disattivato), Contorno (trasparente con un bordo sottile) e Secondario (sfondo trasparente e nessun bordo, utilizzato per azioni supplementari con la minore visibilità). I pulsanti rotondi per icone semplici e contenuti di testo verranno aggiunti in una release futura.(Ia6942)

Versione 1.0.0-alpha02

5 aprile 2023

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

Correzioni di bug

  • Abbiamo aggiunto un DefaultTextStyle a Wear Compose Material 3 che imposta PlatformTextStyle.includeFontPadding su true (l'impostazione attuale). In questo modo, in futuro potremo sincronizzare la disattivazione del padding dei caratteri per impostazione predefinita con le librerie Compose (vedi Correzione del padding dei caratteri in Compose per lo sfondo). (I7e461)

Versione 1.0.0-alpha01

22 marzo 2023

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

Nuove funzionalità

  • Material 3 è la nuova evoluzione di Material Design e include temi aggiornati e componenti riprogettati. Material 3 su Wear Compose è progettato per essere coerente con la libreria Material 3 Compose su Android. Questa prima release alpha contiene implementazioni funzionali preliminari di quanto segue:

    • Tema Material: configura la combinazione di colori, la tipografia e le forme in modo coerente tra i componenti della libreria. Il tema Material3 ha colori rivisti che supportano il contrasto accessibile. (I84005)
    • Testo/Icona - componenti di base per le app Wear Compose (I8e06a)
  • Continueremo a sviluppare Wear Material (androidx.wear.compose:compose-material) e Wear Material 3 (androidx.wear.compose:compose-material3) in parallelo. Le future release di Material 3 estenderanno il set di widget per includere altri componenti familiari di Compose for Wear OS, come pulsanti, selettori e slider.

  • Le librerie Wear Material e Wear Material 3 si escludono a vicenda e non devono essere combinate nella stessa app, principalmente perché fanno riferimento a temi diversi che porterebbero a incoerenze impreviste.