Wear Compose

  
Scrivi applicazioni Jetpack Compose per dispositivi Wear OS fornendo funzionalità per supportare diverse dimensioni dei dispositivi e gesti di navigazione.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Alpha Release
2 luglio 2025 1.4.1 - 1.5.0-beta05 -

Dichiarazione di dipendenze

Per aggiungere una dipendenza a 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 che ti servono nel file build.gradle per la tua app o il tuo modulo:

Alla moda

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.4.1"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.4.1"

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

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.1")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

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

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.4.1")

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

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

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

Feedback

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

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Wear Compose versione 1.5

Versione 1.5.0-beta05

2 luglio 2025

androidx.wear.compose:compose-*:1.5.0-beta05 viene ritirata. 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 ritirata. 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. Ora l'avanzamento dello scorrimento 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 dello 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 abilitato/disabilitato 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 ritirata. 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 dello 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)
  • È stato 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 un solo passaggio 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 ritirata. 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 le protezioni. (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 ritirata. 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 Material3 per adottare il nuovo design visivo nelle app e sfruttare i nuovi componenti nel seguente modo:

  • 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 corrispondano ai colori del quadrante.
  • Per impostazione predefinita, i nuovi componenti si adattano automaticamente alle dimensioni dello schermo più grandi
  • Morphing delle forme: 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 cambiano forma 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 incrementi: 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 comunicare e controllare quale schermo è attivo. (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 di 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'indeterminate CircularProgressIndicator in modo che non regredisca più temporaneamente. (Ieddb1).
  • È stato corretto un bug di SwipeDismissableNavHost: il focus non veniva spostato 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 come 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 remember 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).

Versione 1.5.0-alpha14

23 aprile 2025

androidx.wear.compose:compose-*:1.5.0-alpha14 viene ritirata. La versione 1.5.0-alpha14 contiene questi commit.

Modifiche alle API

  • Tutte le dipendenze di Material SwipeToReveal da Foundation SwipeToReveal sono state spostate nel pacchetto Material, 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.material. (Ib7cb8)
  • L'API di HierarchicalFocusCoordinator è stata aggiornata in modo che siano modificatori anziché componibili.
  • Note sulla migrazione:
    • HierarchicalFocusCoordinator(function, content) può essere sostituito aggiungendo un Modifier.hierarchicalFocus(function()) a content o al composable contenitore.
    • ActiveFocusListener { if (it) focusRequester.requestFocus() } può essere sostituito aggiungendo Modifier.hierarchicalFocusRequester(focusRequester)
    • Altri utilizzi più rari di ActiveFocusListener possono utilizzare il nuovo parametro su Modifier.hierarchicalFocus
    • focusRequester(rememberActiveFocusRequester()) può essere sostituito da hierarchicalFocusRequester()
    • val focusRequester = rememberActiveFocusRequester() può essere sostituito da remember { FocusRequester() } e dall'aggiunta di Modifier.hierarchicalFocusRequester(focusRequester). (Ie319a)

Correzioni di bug

  • La soglia di velocità che i gesti di scorrimento devono superare per attivare un cambio di stato è stata aumentata per i seguenti componenti: SwipeToReveal, BasicSwipeToDismissBox e SwipeDismissableNavHost (solo per API 35 e versioni precedenti per SwipeDismissableNavHost). (If47bf)
  • È stato risolto un problema di animazione quando vengono aggiunti nuovi elementi in TransformingLazyColumn. (I589b2)

Versione 1.5.0-alpha13

9 aprile 2025

androidx.wear.compose:compose-*:1.5.0-alpha13 viene ritirata. La versione 1.5.0-alpha13 contiene questi commit.

Modifiche alle API

  • I progetti rilasciati con Kotlin 2.0 richiedono l'utilizzo di KGP 2.0.0 o versioni successive (Idb6b5)
  • Proprietà targetPage aggiunta a PagerState (I4de8b)

Correzioni di bug

  • Evita la ricomposizione non necessaria durante l'animazione Indietro predittiva. (Iecd6d)
  • È stata corretta la proprietà isScrollable di ScrollInfoProvider per restituire il valore corrente. (Icbfb8)

Versione 1.5.0-alpha12

26 marzo 2025

androidx.wear.compose:compose-*:1.5.0-alpha12 viene ritirata. La versione 1.5.0-alpha12 contiene questi commit.

Modifiche alle API

  • Migliora l'implementazione predefinita di SwipeToReveal di gestureInclusion in modo da ignorare i gesti solo se lo stato del componente è Covered. (I7e3d6)
  • Per SwipeToReveal, bidirectionalGestureInclusion è stato reso un valore anziché una funzione ed è stato aggiunto @FloatRange al parametro edgeZoneFraction in gestureInclusion. (Ica7c3)

Correzioni di bug

  • Modifica SwipeToReveal bidirectionalGestureInclusion per restituire un oggetto anziché una classe. (I29597)
  • È stato disattivato l'uso della tecnologia aptica durante l'esecuzione dei test in RoboElectric. (I58bd1)
  • 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.5.0-alpha11

12 marzo 2025

androidx.wear.compose:compose-*:1.5.0-alpha11 viene ritirata. La versione 1.5.0-alpha11 contiene questi commit.

Modifiche alle API

  • È 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)
  • Aggiungi requireOffset a SwipeToDismissBoxState come modo consigliato per ottenere un offset di SwipeToDismissBoxState. (I21042)
  • Aggiunta di CurvedModifier.semantics, inizialmente con supporto per la descrizione dei contenuti e l'indice di attraversamento (I0b093)
  • 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)
  • La gestione predefinita dei gesti di scorrimento 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)
  • Aggiunta la funzionalità di overscroll rotativo per l'API rotaryScrollable. Sono stati aggiunti lo scorrimento eccessivo e lo scorrimento nidificato al comportamento di scorrimento rapido di rotaryScrollable. Questa modifica dovrebbe rendere la funzionalità di overscroll e scorrimento nidificato simile tra lo scorrimento tattile e lo scorrimento rotativo. (I71926)
  • È 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)
  • Ora TLC utilizza per impostazione predefinita contentPadding vuoto anziché centrare il primo e l'ultimo elemento. (I77ab7)

Correzioni di bug

  • Le librerie Wear Compose sono state aggiornate al compilatore Kotlin 2.0. (I2de79)
  • È stato corretto l'esempio di LetterSpacing curvo sulla base. (Iebf7c)

Versione 1.5.0-alpha10

26 febbraio 2025

androidx.wear.compose:compose-*:1.5.0-alpha10 viene ritirata. La versione 1.5.0-alpha10 contiene questi commit.

Modifiche alle API

  • Rendi pubblico SwipeToRevealDefaults. (I0c34c)
  • Abbiamo sostituito il parametro swipeToDismissEdgeZoneFraction in HorizontalPager. È stato invece introdotto un nuovo parametro, gestureInclusion, che può essere utilizzato per ottenere lo scorrimento necessario per chiudere. gestureInclusion accetta un'istanza di GestureInclusion che decide se l'evento di scorrimento successivo deve procedere o meno. Se consenti un gesto, il pager lo utilizza. In caso contrario, verrà gestito altrove, ad esempio da un gestore di scorrimento per chiudere. Il nuovo comportamento predefinito consiste nel non consentire i gesti sul bordo più a sinistra della prima pagina del pager e quindi consentire lo scorrimento per chiudere in questa regione. Tutte le altre pagine consentiranno al pager di utilizzare tutti i gesti, il che significa che non è possibile attivare lo scorrimento per chiudere. Per ottenere il comportamento di scorrimento per chiudere su tutte le pagine, fornisci semplicemente un'istanza GestureInclusion personalizzata (vedi PagerDefaults.disableLeftEdgeOnFirstPage) che ignori la pagina corrente. Un'altra modifica sostanziale introdotta qui è che il componente Pager non è più a schermo intero per impostazione predefinita. Aggiungi invece Modifier.fillMaxSize() per ottenere questo comportamento. (I9d3aa)
  • Abbiamo rinominato createAnchors in createRevealAnchors nell'API swipe-to-reveal(If5999)
  • Abbiamo rimosso RevealScope dall'API di scorrimento per la visualizzazione. (Ie4ad5)
  • Abbiamo rimosso Revealing e Revealed da RevealValue nell'API Swipe-to-reveal. (I8dbc5)
  • Abbiamo rinominato SwipeDirection in RevealDirection nell'API di scorrimento per rivelare. (I7472f)
  • Abbiamo modificato la firma del parametro positionalThreshold della funzione rememberRevealState di SwipeToReveal. (I29c0a)
  • Abbiamo aggiunto un nuovo parametro overscrollEffect a ScalingLazyColumn, TransformingLazyColumn e ScreenScaffold. (I0cee8)
  • Quando si utilizza PagerDefaults#snapFlingBehaviour, il parametro pagerSnapDistance è stato sostituito da un parametro Int maxFlingPages, che può essere utilizzato per specificare il numero massimo di pagine che il pager deve scorrere. (I8cfc0)
  • Wear Pager ora ha il proprio PagerScope anziché utilizzare Compose Foundation PagerScope. (I9195b)
  • È stato aggiunto il supporto per lineHeight in Testo curvo (I1c936)
  • Abbiamo aggiunto initialAnchorItemIndex e initialAnchorItemOffset a TransformingLazyColumnState e rememberTransformingLazyColumnState in modo che la posizione di scorrimento iniziale possa essere specificata in TransformationLazyColumn. (I0a0d5)
  • Ritira runWithTimingDisabled a favore di runWithMeasurementDisabled, che descrive più chiaramente il comportamento: tutte le metriche vengono messe in pausa. Inoltre, espone la superclasse MicrobenchmarkScope poiché non è possibile dichiarare nuovamente la funzione runWithMeasurementDisabled per aprire l'accesso, in quanto è inline. (I9e23b, b/389149423, b/149979716)
  • Abbiamo aggiunto TransformingLazyColumnItemScrollProgress.Unspecified all'API per evitare il boxing su TransformingLazyColumnItemScrollProgress. (I0835d)

Correzioni di bug

  • Migliora Kdoc per CurvedTextStyle (Id45e3)
  • Abbiamo reso SwipeableV2 (parte dell'implementazione di SwipeToReveal) interno anziché pubblico, ma limitato al gruppo di biblioteche. (Idbb94)
  • Abbiamo aggiunto test a HierarchicalFocusCoordinator (I1ce54, b/395548918)
  • Abbiamo apportato miglioramenti a SwipeToReveal negli esempi di base di Wear Compose. (I5f307)
  • Correggi i dati semantici dell'asse di scorrimento per verticalScrollAxisRange in TransformingLazyColumn per l'accessibilità (I68123)
  • Migliora le prestazioni della risposta aptica rotativa su Wear4+ rimuovendo i thread in background non necessari (I39cfe)
  • Modifica SwipeDismissableNavHost per utilizzare PredictiveBackNavHost solo sull'API 36 e versioni successive. (I59bed)
  • Abbiamo aggiunto una protezione contro un arresto anomalo durante l'accesso all'impostazione Riduci movimento. (I01e2c)
  • Abbiamo implementato il prefetching per TransformingLazyColumn per ridurre i problemi di fluidità (Icca88)

Versione 1.5.0-alpha09

29 gennaio 2025

androidx.wear.compose:compose-*:1.5.0-alpha09 viene ritirata. La versione 1.5.0-alpha09 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. Questa operazione è obbligatoria 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).
  • CompositionLocal LocalReduceMotion è stato semplificato per restituire un valore booleano anziché un oggetto ReduceMotion. L'interfaccia ReduceMotion è ora deprecata. Le invocazioni precedenti, ad esempio LocalReduceMotion.current.enabled(), possono essere sostituite con LocalReduceMotion.current (I4937f)
  • In PagerDefaults, snapAnimationSpec è stato rinominato in SnapAnimationSpec. (I20c9a)

Versione 1.5.0-alpha08

15 gennaio 2025

androidx.wear.compose:compose-*:1.5.0-alpha08 viene ritirata. La versione 1.5.0-alpha08 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato tutte le librerie Wear Compose alla modalità "API esplicita". (Iebf9f)
  • Abbiamo reso il parametro di animazione dello scorrimento della pagina parte di PagerDefaults. (Ifff64)
  • Abbiamo aggiunto un parametro di offset a SwipeToDismissBoxState. (I586bd)

Correzioni di bug

  • La risposta aptica della piattaforma rotante ora viene chiamata per le versioni di Wear OS successive alla V (Idb03e)

Versione 1.5.0-alpha07

11 dicembre 2024

androidx.wear.compose:compose-*:1.5.0-alpha07 viene ritirata. La versione 1.5.0-alpha07 contiene questi commit.

Modifiche alle API

  • TransformingLazyColumnState ora offre un modo per osservare l'avanzamento corrente dello scorrimento in base agli indici degli elementi di ancoraggio. (I72b01)
  • Abbiamo aggiunto animazioni a TransformingLazyColumn quando aggiungi, rimuovi e sposti elementi, se hanno il nuovo Modifier.animateItem. (Iecb9c)
  • TransformingLazyColumn ora espone i valori per beforeContentPadding e afterContentPadding. (Iccd5f)
  • TransformingLazyColumn ora fornisce la composizione locale LocalTransformingLazyColumnItemScope che i componenti (come Card e Button in Material3) possono utilizzare per trasformarsi automaticamente quando vengono inseriti all'interno di un TransformingLazyColumn. I chiamanti possono disattivare la trasformazione automatica utilizzando il nuovo wrapper TransformExclusion. (I1652f)

Correzioni di bug

  • Abbiamo aggiornato le velocità di trasferimento minime e massime per la rotazione sui dispositivi che hanno come target U e versioni successive. (I33559)
  • Abbiamo corretto un arresto anomalo che si verificava se un elemento in TransformingLazyColumn non conteneva composable (Idb99d)
  • Abbiamo aggiunto il supporto di ScrollFeedbackProvider per l'aptica rotativa su Android Vanilla ice cream. (Ibc553)
  • Abbiamo applicato un aumento della tolleranza al tocco quando si utilizza SwipeToReveal per ridurre le probabilità di attivare accidentalmente uno scorrimento quando si scorre verticalmente. (Ic0672)
  • Abbiamo aggiornato SwipeDismissableNavHost per utilizzare PredictiveBackHandler quando disponibile con l'API 35 e versioni successive. In questo caso, verranno applicate nuove animazioni. (I08c11)

Versione 1.5.0-alpha06

13 novembre 2024

androidx.wear.compose:compose-*:1.5.0-alpha06 viene ritirata. La versione 1.5.0-alpha06 contiene questi commit.

Modifiche alle API

  • 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)
  • TransformingLazyColumn è stato introdotto nelle release precedenti. Stiamo rimuovendo gli alias LazyColumn di Wear (che reindirizzavano a TransformingLazyColumn) a favore del nuovo nome TransformingLazyColumn. Abbiamo rimosso anche la proprietà height di TransformingLazyColumnVisibleItemInfo. Utilizza invece measuredHeight. (I0ea1e)
  • Abbiamo modificato la PagerDefaults.snapFlingBehavior snapAnimationSpec da una Tween a una Spring (I10d02, b/349781047, b/303807950)
  • Abbiamo promosso la versione LocalReduceMotion CompositionLocal alla versione stabile (Ia6f32)

Correzioni di bug

  • Abbiamo aggiornato Modifier.rotaryScrollable per utilizzare focusTargetWithSemantics per un migliore supporto semantico nella navigazione rotativa. (Ief0a0)
  • Abbiamo aggiornato la dipendenza API minima alla versione 1.7.4 per le librerie Compose. (I88b46)
  • Abbiamo disattivato la deformazione della larghezza in TransformingLazyColumn come soluzione alternativa a un bug di ritaglio. (I3dfb8)
  • Abbiamo corretto un bug che causava la scomparsa degli elementi dopo lo scorrimento eccessivo con TransformingLazyColumn (Id7668)
  • Abbiamo aggiunto LazyLayoutSemantics per TransformingLazyColumn. (Ia8f56)

Versione 1.5.0-alpha05

30 ottobre 2024

androidx.wear.compose:compose-*:1.5.0-alpha05 viene ritirata. La versione 1.5.0-alpha05 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto il supporto di animateScrollTo su TransformingLazyColumnState in modo che lo scorrimento fino a un elemento possa essere animato. (I4097d)
  • Abbiamo aggiunto requestScrollTo il giorno TransformingLazyColumnState per posticipare lo scorrimento alla misurazione successiva. (I20a5e)
  • Abbiamo aggiunto il supporto per contentPadding in TransformingLazyColumn. (I3a69c)

Correzioni di bug

  • Abbiamo corretto un bug nel rendering di TransformingLazyColumn quando l'altezza dei contenuti è inferiore all'altezza dello schermo. (I6c3e1)
  • Il ScrollInfoProvder per TransformingLazyColumn ora monitora correttamente il primo elemento. (I1e4a3)
  • TransformingLazyColumnState ora salva il suo stato (anchorItemIndex e anchorItemScrollOffset). (I3d265)

Versione 1.5.0-alpha04

16 ottobre 2024

androidx.wear.compose:compose-*:1.5.0-alpha04 viene ritirata. La versione 1.5.0-alpha04 contiene questi commit.

Modifiche alle API

  • Abbiamo rinominato Wear Compose Foundation LazyColumn in TransformingLazyColumn in modo che la distinzione tra questa e Compose Foundation LazyColumn sia più chiara. (I0608b)
  • Aggiunto il supporto della rotazione per i pager orizzontali/verticali, consentendo agli utenti di navigare nei pager utilizzando dispositivi di input rotativi. (I9770d)
  • Abbiamo aggiornato il nuovo PagerDefaults per chiarire che il pager si sposta automaticamente alla pagina per impostazione predefinita. (Iff7d0)
  • TransformingLazyColumnItemScrollProgress ora è una classe di valori che dovrebbe migliorare il rendimento. (Ic399e)
  • TransformingLazyColumn ora supporta la rotazione predefinita. (I05206)
  • TransformingLazyColumnState ora supporta scrollToItem. (I507b3)
  • Rimossa @ExperimentalWearFoundationApi dall'API SwipeToReveal (I34a66)

Versione 1.5.0-alpha03

2 ottobre 2024

androidx.wear.compose:compose-*:1.5.0-alpha03 viene ritirata. La versione 1.5.0-alpha03 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto il supporto per lo scorrimento bidirezionale in SwipeToReveal, per i rari casi in cui la schermata corrente non supporta lo scorrimento per chiudere. . L'impostazione predefinita prevede lo scorrimento per rivelare solo per gli scorrimenti da destra a sinistra ed è vivamente consigliato di rispettare il comportamento predefinito per evitare conflitti con lo scorrimento per chiudere. (Ifac04)
  • Abbiamo aggiornato LazyColumnState per ignorare canScrollForward e canScrollBackward. Ora lo scorrimento si interrompe quando il primo o l'ultimo elemento si trova esattamente al centro dello schermo. (Ia77d7)
  • Abbiamo aggiunto nuovi componenti HorizontalPager e VerticalPager che risolvono problemi comuni, come la gestione della messa a fuoco e l'interazione con lo scorrimento per chiudere del sistema che potrebbero verificarsi su Wear. (I2902b)
  • Abbiamo aggiunto il supporto per LazyColumn per esporre key e contentType del cliente tramite layoutItems. (I1bd9c)

Correzioni di bug

  • Abbiamo aggiornato le animazioni del testo curvo per renderle più fluide, utilizzando i flag di pittura. (I73a15)
  • Abbiamo aggiornato la documentazione della finestra di dialogo Material per indicare che onDismissRequest non viene chiamato dopo che il flag show è impostato su false. (Ifd8d6)
  • Abbiamo corretto un bug relativo all'animazione della vignetta nella finestra di dialogo Material (I126bf)

Versione 1.5.0-alpha02

18 settembre 2024

androidx.wear.compose:compose-*:1.5.0-alpha02 viene ritirata. La versione 1.5.0-alpha02 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto il supporto di Wear Compose LazyColumn con il nostro ScreenScaffold (e abbiamo aggiunto un'implementazione di ScrollInfoProvider per LazyColumnState). (Ib8d29)
  • Abbiamo aggiunto viewportSize a LazyColumnLayoutInfo. (I4187f)

Correzioni di bug

  • Abbiamo corretto un bug in modo che lo scorrimento rotativo sia ora disattivato in ScalingLazyColumn quando il flag userScrollEnabled è impostato su false. (I490ab, b/360295825)
  • Abbiamo corretto un bug per risolvere il problema della spaziatura verticale imprevista nel testo curvo. L'altezza del testo curvo ora corrisponde più da vicino allo spazio effettivo utilizzato dal testo. Tieni presente che è probabile che ciò interrompa i test degli screenshot che coinvolgono testo curvo (Iaa6ef).
  • Abbiamo ripristinato una correzione di bug in Dialog in cui veniva chiamata la funzione di callback onDismissRequest quando showDialog era impostato su false, perché in alcuni casi ciò comportava la chiamata di onDismissRequest più volte. (I64656)

Versione 1.5.0-alpha01

4 settembre 2024

androidx.wear.compose:compose-*:1.5.0-alpha01 viene ritirata. La versione 1.5.0-alpha01 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto un nuovo LazyColumn alla libreria Wear Compose Foundation con API LazyColumnState e LazyColumnScope associate. Questo serve come base per la creazione di effetti di scalabilità e morphing personalizzabili con Wear Compose. (Ib3b22)
  • Abbiamo aggiunto una versione indicizzata di itemsIndexed in LazyColumnScope nell'ambito della nuova API LazyColumn. (Ib4a57)
  • Abbiamo aggiunto i modificatori LazyColumn per supportare i comportamenti di scalabilità e morphing. (Ie229a)
  • HierarchicalFocusCoordinator è stata promossa alla versione stabile. (I31035)
  • Abbiamo aggiunto il supporto della spaziatura tra le lettere al testo curvo. (I3c740)
  • È stato aggiunto un parametro rotationLocked a CurvedLayout.curvedComposable per impedire la rotazione dei componenti. (I66898)
  • L'API temporanea LocalUseFallbackRippleImplementation di wear material e wear material3 è stata rimossa (I62282)
  • Rimozione di WearDevices.SQUARE dalla multi-anteprima @WearPreviewDevices (I11c02)

Correzioni di bug

  • SwipeToReveal ora posiziona gli elementi rivelati nella parte visibile dello schermo, il che è utile quando SwipeToReveal viene utilizzato all'interno di un elenco, in modo che gli elementi siano sempre interattivi e non escano mai dallo schermo. (I38929)
  • SwipeToReveal ora reimposta lastActionType su Nessuno al termine di animatedTo. (I59b03)
  • È stata migliorata la documentazione per il nuovo parametro rotationLocked su curvedComposable. (Ifbd57)
  • È stato corretto un arresto anomalo che si verificava quando si passava NaN in ScalingLazyColumnSnapFlingBehavior's performFling. (Ic13da)
  • È stato corretto un bug relativo al modificatore delle dimensioni del layout curvo (I0fedf).
  • Abbiamo aggiunto il supporto per la spaziatura tra le lettere specificata in "sp". (I9f6e3)
  • Abbiamo corretto un bug nella finestra di dialogo Material2 in cui il callback onDismissRequest non veniva chiamato quando la finestra di dialogo diventava invisibile (I64656).
  • LayoutCoordinates.introducesFrameOfReference è stato rinominato in LayoutCoordinates.introducesMotionFrameOfReference per riflettere meglio il suo scopo. È stata rinominata la funzione correlata per calcolare le coordinate in base a questo flag. (I3a330)

Versione 1.4

Versione 1.4.1

12 febbraio 2025

androidx.wear.compose:compose-*:1.4.1 viene ritirata. La versione 1.4.1 contiene questi commit.

Correzioni di bug

  • Abbiamo implementato una protezione contro l'arresto anomalo durante l'accesso all'impostazione globale di riduzione del movimento, che veniva attivata su alcune piattaforme in cui questa impostazione non era disponibile. (I01e2c)

Versione 1.4.0

4 settembre 2024

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

Modifiche importanti dalla versione 1.3.0

  • ScalingLazyColumn e Picker ora supportano l'input rotativo per impostazione predefinita. Ti consigliamo di rimuovere la gestione rotativa esplicita e di rimandare al comportamento predefinito del sistema. Se necessario, utilizza il parametro rotaryScrollableBehavior per configurare lo scorrimento o lo scatto. Per lo scatto, è consigliabile fornire lo scatto e le funzionalità di scorrimento tramite tocco utilizzando il parametro flingBehavior.
  • Modifier.rotaryScrollable è un nuovo modificatore che collega gli eventi rotativi ai contenitori scorrevoli, consentendo agli utenti di scorrere utilizzando una corona o una ghiera rotante sul proprio dispositivo Wear OS.
  • SwipeDismissableNavHost ora fornisce un'animazione di entrata per le transizioni in-app.
  • PositionIndicator ora viene mostrato per impostazione predefinita quando viene visualizzata una schermata per la prima volta.

Ulteriori modifiche

  • Per un insieme più completo delle modifiche introdotte nella versione 1.3.0, consulta le note di rilascio beta01.

Versione 1.4.0-rc01

21 agosto 2024

androidx.wear.compose:compose-*:1.4.0-rc01 viene ritirata. La versione 1.4.0-rc01 contiene questi commit.

  • Abbiamo aggiornato le dipendenze di Compose alla versione 1.7.0-rc01 e bloccato Wear Compose Navigation su androidx.lifecycle 2.8.3

Versione 1.4.0-beta03

12 giugno 2024

androidx.wear.compose:compose-*:1.4.0-beta03 viene ritirata. La versione 1.4.0-beta03 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiornato Modifier.rotaryScrollable per sostituire l'utilizzo di "focusable" con "focusTarget", il che migliora il rendimento. (Id294b)
  • Abbiamo risolto un problema per cui ProgressIndicator ripeteva il suo annuncio in TalkBack. (I94563)
  • Abbiamo aggiornato i profili di base della libreria Wear Compose. (I3cbc3)

Versione 1.4.0-beta02

29 maggio 2024

androidx.wear.compose:compose-*:1.4.0-beta02 viene ritirata. La versione 1.4.0-beta02 contiene questi commit.

Correzioni di bug

  • Abbiamo aumentato la larghezza del confine passata agli screen reader dal testo curvo per risolvere i problemi di troncamento (Id865f).
  • Abbiamo limitato il confine del HorizontalPageIndicator passato agli screen reader. In precedenza, l'indicatore occupava l'intero schermo (Id8d7a).

Versione 1.4.0-beta01

14 maggio 2024

androidx.wear.compose:compose-*:1.4.0-beta01 viene ritirata. La versione 1.4.0-beta01 contiene questi commit.

La release 1.4-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.4 include le seguenti nuove funzionalità:

  • Abbiamo aggiunto Modifier.rotaryScrollable, un nuovo modificatore che collega gli eventi di rotazione ai contenitori scorrevoli, consentendo agli utenti di scorrere tramite una corona o una ghiera rotante sul proprio dispositivo Wear OS. Inoltre, ScalingLazyColumn e Picker ora supportano l'input rotativo per impostazione predefinita. Utilizza il parametro rotaryScrollableBehavior per configurare lo scorrimento o lo snap. Per il comportamento di snap, è consigliabile fornire lo snap anche tramite il parametro flingBehavior per lo scorrimento touch.
  • SwipeDismissableNavHost ora fornisce un'animazione di entrata per le transizioni in-app.
  • PositionIndicator ora viene mostrato per impostazione predefinita quando viene visualizzata una schermata per la prima volta.
  • SelectableChip e SplitSelectableChip sono stati aggiunti come variazione di ToggleChip. Utilizza questa opzione con RadioButton per fornire una semantica selezionabile anziché attivabile/disattivabile per l'accessibilità
  • ListHeader ora supporta le regolazioni dell'altezza quando i contenuti necessitano di un'altezza aggiuntiva per adattarsi a dimensioni del carattere grandi.

Correzioni di bug

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

Versione 1.4.0-alpha08

1° maggio 2024

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

Modifiche alle API

  • Abbiamo apportato le seguenti modifiche alla nuova API rotativa: abbiamo rinominato Modifier.rotary in Modifier.rotaryScrollable, l'interfaccia RotaryBehavior in RotaryScrollableBehavior e la relativa funzione handleScrollEvent in performScroll, abbiamo rinominato RotaryScrollableAdapter in RotaryScrollableLayoutInfoProvider e rimosso la proprietà scrollableState. (I0c8a6)
  • Abbiamo apportato ulteriori modifiche all'API Rotary: abbiamo rinominato RotaryScrollableLayoutInfoProvider in RotarySnapLayoutInfoProvider (perché questo provider è necessario solo per la rotazione con snap); abbiamo modificato il tipo del parametro snapOffset in RotaryScrollableDefaults.snapBehavior snapOffset da Int a Dp. (Iddebe)
  • Abbiamo rinominato il parametro clickInteractionSource in SplitSelectableChip in containerInteractionSource. (Ia8f84)
  • Abbiamo aggiornato i nomi dei parametri di callback dei clic per SplitSelectableChip, da onClick a onSelectionClick e da onBodyClick a onContainerClick. (I32237)

Correzioni di bug

  • Abbiamo aggiornato il padding orizzontale per PositionIndicator a 2 dp (era 5 dp) per correggere un bug in cui PositionIndicator (barra di scorrimento) si sovrapponeva ai contenuti scorrevoli. Tieni presente che questa modifica dovrebbe interrompere gli screenshot esistenti che includono PositionIndicator a causa della modifica del padding. (I57472)
  • Abbiamo migliorato la documentazione della nuova API Rotary descrivendo le differenze tra i dispositivi rotativi a bassa e alta risoluzione. (I63abe)
  • Abbiamo risolto un'eccezione fuori intervallo in SwipeDismissableNavHost che poteva essere attivata quando i valori alfa interpolati erano inferiori a zero. (Ib75a1, b/335782510)

Versione 1.4.0-alpha07

17 aprile 2024

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

Modifiche alle API

  • Abbiamo aggiunto Modifier.rotary, un nuovo modificatore che collega gli eventi di rotazione ai contenitori scorrevoli, consentendo agli utenti di scorrere tramite una corona o una ghiera rotante sul proprio dispositivo Wear OS. Inoltre, ScalingLazyColumn e Picker ora supportano l'input rotativo per impostazione predefinita, con nuovi overload che includono il parametro rotaryBehavior per specificare la configurazione dello scorrimento o dello snap. Se il parametro rotaryBehavior è impostato su snap, è consigliabile fornire snap anche tramite il parametro flingBehavior per lo scorrimento touch. (I2ef6f)
  • Le origini NestedScroll Drag and Fling vengono sostituite da UserInput e SideEffect per tenere conto della definizione estesa di queste origini, che ora includono animazioni (Side Effect) e rotellina del mouse e tastiera (UserInput). (I40579)
  • Abbiamo aggiunto SelectableChip e SplitSelectableChip per distinguere più chiaramente i controlli di attivazione/disattivazione, come Switch/Checkbox, dai controlli selezionabili, come RadioButton. Questo sostituisce gli overload aggiunti in precedenza di ToggleChip/SplitToggleChip con i parametri selectionControl. (Ia0217)
  • Modificatore di visibilità di IndeterminateStrokeWidth in ProgressIndicatorDefaults aggiornato a pubblico. (I5b5a4)

Versione 1.4.0-alpha06

3 aprile 2024

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

Correzioni di bug

  • Abbiamo aggiunto una bozza interna del supporto della rotazione, nell'ambito dell'impegno più ampio di migrazione del comportamento di rotazione in AndroidX da Horologist. (I617d1)
  • Abbiamo aggiunto una bozza interna del supporto aptico, nell'ambito dell'impegno più ampio di migrazione del comportamento di rotazione in AndroidX da Horologist. (I5568a)

Versione 1.4.0-alpha05

20 marzo 2024

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

Modifiche alle API

  • Abbiamo reso pubbliche le proprietà initialCenterItemIndex e initialCenterItemScrollOffset di ScalingLazyListState. (I0c616)
  • Abbiamo reso pubblico il FullScreenStrokeWidth di ProgressIndicatorDefaults. (Ibea23)

Correzioni di bug

  • Abbiamo migliorato le prestazioni di PositionIndicator riducendo il numero di chiamate a layoutInfo da ScalingLazyColumn. (Idc83d)

Versione 1.4.0-alpha04

6 marzo 2024

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

Modifiche alle API

  • Abbiamo aggiunto un nuovo overload per ToggleChip e SplitToggleChip che accetta un parametro selectionControl anziché il parametro toggleControl. Questo attributo deve essere utilizzato con il controllo RadioButton per fornire una semantica selezionabile anziché attivabile/disattivabile per l'accessibilità (I1d6d9).
  • Abbiamo aggiornato i nomi dei parametri per il nuovo selectionControl sovraccarico da onSelected a onSelect per ToggleChip e SplitToggleChip (I1a971)

Versione 1.4.0-alpha03

21 febbraio 2024

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

Modifiche alle API

  • Il wrapper Modifier.inspectable è stato ritirato. Questa API creerà più invalidazioni del modificatore del necessario, pertanto il suo utilizzo è ora sconsigliato. Gli sviluppatori sono invitati a implementare il metodo inspectableProperties() su ModifierNodeElement se vogliono esporre le proprietà dei modificatori agli strumenti. (Ib3236)

Correzioni di bug

  • Abbiamo corretto un bug della documentazione per le annotazioni WearPreview*. (Id526d)

Versione 1.4.0-alpha02

7 febbraio 2024

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

Correzioni di bug

  • Abbiamo corretto un bug nella funzionalità di scorrimento per rivelare, in cui era possibile interagire con (e annullare) un'azione eseguita su un elemento iniziando a scorrere un altro elemento.(Ide059)
  • Abbiamo aggiornato ListHeader per supportare le regolazioni dell'altezza quando i contenuti necessitano di un'altezza aggiuntiva per adattarsi a dimensioni dei caratteri grandi. (I7290c, b/251166127)

Versione 1.4.0-alpha01

24 gennaio 2024

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

Nuove funzionalità

  • Abbiamo aggiunto l'animazione di entrata a SwipeDismissableNavHost per le transizioni in-app.(cfeb79a)
  • PositionIndicator ora viene mostrato per impostazione predefinita quando viene visualizzata una schermata per la prima volta. Questa modifica è stata introdotta per contribuire a soddisfare i requisiti qualitativi per Wear. Purtroppo, ciò significa che i test degli screenshot dovranno essere aggiornati nelle schermate che includono PositionIndicator, in quanto PositionIndicator non sarebbe stato visualizzato in precedenza. (419cef7)

Modifiche alle API

  • Abbiamo aggiunto una nuova API ripple nelle librerie wear:compose-material e wear:compose-material3 che sostituisce l'API rememberRipple, ormai obsoleta. Aggiunge anche un CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare l'utilizzo delle API rememberRipple/RippleTheme deprecate per i componenti Material. Questo elemento verrà rimosso nella prossima release stabile ed è inteso solo come ausilio temporaneo per la migrazione nei casi in cui fornisci un RippleTheme personalizzato. Visita il sito developer.android.com per informazioni sulla migrazione e ulteriori informazioni di base su questa modifica. (af92b21)
  • 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 del materiale e influirà sul costo di inizializzazione e runtime dei casi d'uso più standard. (f5c48b7)
  • 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 trasmetti a questi componenti, ti consigliamo di trasmettere null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (f8fa920)
  • Abbiamo aggiornato rememberExpandableState per salvare lo stato espandibile. In questo modo, i dati vengono memorizzati quando passi a un'altra schermata e ripristinati quando torni alla schermata originale. (5c80095)

Correzioni di bug

  • Abbiamo aggiornato l'impostazione ReduceMotion per utilizzare un listener consapevole del ciclo di vita. (7c6b122)
  • Abbiamo aggiornato il listener di TouchExplorationStateProvider in modo che sia consapevole del ciclo di vita (be28b01)
  • Abbiamo rimosso il livello materialcore per CompactButton per migliorare le prestazioni (25db8e9)
  • Abbiamo reso BasicSwipeToDismissBox più solido per gli offset NaN per evitare eccezioni (b983739)
  • Abbiamo aggiornato BasicSwipeToDismissBox per assicurarci che i valori alfa siano compresi nell'intervallo 0,1
  • 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) (d11eeb7)

Versione 1.3

Versione 1.3.1

3 aprile 2024

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

Correzioni di bug

  • Abbiamo corretto un bug nella funzionalità di scorrimento per rivelare, in cui era possibile interagire con (e annullare) un'azione eseguita su un elemento iniziando a scorrere un altro elemento. (Ide059)

Versione 1.3.0

24 gennaio 2024

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

Modifiche importanti dalla versione 1.2.0

  • La classe SwipeToDismissBoxState, l'enumerazione SwipeToDismissValue e la funzione di estensione Modifier.edgeSwipeToDismiss ora fanno parte del pacchetto androidx.wear.compose.foundation anziché del pacchetto androidx.wear.compose.material. Questa architettura aggiornata ti consente di implementare la gestione dei gesti indipendentemente da altre considerazioni di progettazione. I flussi di lavoro Material Design, come l'applicazione dei colori di un tema configurato, vengono gestiti separatamente.
  • I corsi SwipeToRevealCard e SwipeToRevealChip ti aiutano a implementare recommended swipe-to-reveal guidance. La classe SwipeToRevealSample mostra come utilizzare questi componenti.
  • La release 1.3.0-alpha02 ha introdotto una modifica che fa aumentare l'altezza degli oggetti Chip e ToggleChip per supportare meglio la scalabilità dei caratteri selezionata dall'utente. Ciò può causare un po' di clipping. Per risolvere questo problema, la forma large per MaterialTheme ora utilizza un raggio d'angolo più grande (26 dp anziché 24 dp). Gli oggetti Chip e ToggleChip utilizzano questo nuovo raggio dell'angolo per evitare il ritaglio dei contenuti negli angoli del chip e di ToggleChip.

    • La maggior parte di Chips e ToggleChips rimane invariata, data l'altezza predefinita di 52 dp. Tuttavia, gli oggetti Chip e ToggleChip che contengono più righe di testo dell'etichetta principale o secondaria o per i quali è stata sostituita l'altezza potrebbero causare l'interruzione dei test degli screenshot.

Ulteriori modifiche

Per un insieme più completo delle modifiche introdotte nella versione 1.3.0, consulta le note di rilascio beta01.

Consigli per l'implementazione

  • Se la tua app consente agli utenti di spostarsi tra i contenuti dello schermo, ad esempio in un'app basata su mappe, disattiva la gestione dello scorrimento impostando userSwipeEnabled su false nel composable SwipeDismissableNavHost e includi un pulsante che consenta agli utenti di tornare alla schermata precedente.
  • Per disattivare le animazioni per un indicatore di posizione durante le animazioni di dissolvenza in entrata e cambio di posizione all'interno di un elenco scorrevole, utilizza un oggetto SnapSpec.
  • Durante l'attesa del caricamento dei contenuti di un'app multimediale per la riproduzione, mostra un composable Placeholder vuoto.
  • Per creare una raccolta di elementi espandibili on demand, valuta la possibilità di utilizzare la classe sperimentale ExpandableStateMapping.

Versione 1.3.0-rc01

10 gennaio 2024

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

Correzioni di bug

  • Abbiamo aggiornato la forma grande MaterialTheme in modo che utilizzi un raggio dell'angolo arrotondato di 26 dp e ora verrà utilizzata da Chip e ToggleChip. Questa modifica è necessaria per supportare le regolazioni dell'altezza quando i contenuti richiedono un'altezza aggiuntiva per adattarsi a dimensioni del carattere grandi. In caso contrario, la forma a stadio esistente taglia alcuni contenuti di testo.

    Testo troncato sugli angoli
    Figura 1: testo tagliato sugli angoli.
    Testo non troncato
    Figura 2: testo non tagliato.

    Questa modifica potrebbe causare un errore nei test degli screenshot. (I2e6ae)

Versione 1.3.0-beta02

13 dicembre 2023

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

Correzioni di bug

  • Abbiamo ripristinato il movimento di scorrimento previsto in BasicSwipeToDismissBox. Questa impostazione era stata modificata in una release precedente, in modo che la parte di scorrimento della transizione avvenisse mentre il dito toccava lo schermo. (Id8e76)

Versione 1.3.0-beta01

15 novembre 2023

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

La release 1.3-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.3 include le seguenti nuove funzionalità:

  • SwipeToDismissBoxState, SwipeToDismissValue e Modifier.edgeSwipeToDismiss sono stati migrati da androidx.wear.compose.material a androidx.wear.compose.foundation, insieme all'implementazione sottostante dello scorrimento per chiudere in BasicSwipeToDismissBox. In questo modo, la gestione dei gesti per lo scorrimento per chiudere può essere utilizzata indipendentemente da Material Design, ad esempio dalla SwipeDismissableNavHost in androidx.wear.compose.navigation. È ancora consigliabile utilizzare SwipeToDismissBox di androidx.wear.compose.material con Material Design, perché estrae i colori da MaterialTheme e delega l'implementazione rimanente a BasicSwipeToDismissBox.
  • SwipeDismissableNavHost ora supporta un nuovo parametro userSwipeEnabled in modo che la gestione dello scorrimento possa essere disattivata per le schermate in cui non è richiesta.
  • BasicSwipeToDismissBox ha migliorato la gestione della messa a fuoco utilizzando HierarchicalFocusCoordinator.
  • SwipeToReveal ha nuovi composable SwipeToRevealCard e SwipeToRevealChip in Material che seguono le indicazioni UX consigliate per Card e Chip. Supporta anche l'annullamento dell'azione secondaria.
  • DefaultTextStyle ora disattiva il padding dei caratteri per garantire la coerenza su tutta la piattaforma Android.
  • Chip e ToggleChip ora regolano la loro altezza per adattarsi ai contenuti che sono aumentati di dimensioni a causa dei caratteri grandi per l'accessibilità
  • PositionIndicator ora ha specifiche di animazione individuali per le animazioni di dissolvenza in entrata, dissolvenza in uscita e cambio di posizione. Per motivi di prestazioni, ti consigliamo di disattivare l'effetto dissolvenza in entrata e il cambio di posizione quando vengono utilizzati con elenchi scorrevoli.
  • ExpandableStateMapping offre un nuovo modo per generare ExpandableStates quando devono essere creati su richiesta e non necessariamente con un ambito @Composable.
  • Placeholder ora consente il ripristino se i contenuti non sono più in stato Pronto. Inoltre, l'impostazione di riduzione del movimento ora si applica all'effetto luccichio e al movimento di cancellazione su Placeholder.

Problemi noti

  • PositionIndicator non viene visualizzato inizialmente quando viene visualizzata per la prima volta una schermata. Intendiamo apportare una modifica in una delle prime versioni alpha 1.4 in modo che venga visualizzato inizialmente, ma senza alcuna animazione.

Modifiche alle API

  • Abbiamo rinominato il livello Foundation SwipeToDismissBox in BasicSwipeToDismissBox. In questo modo, la distinzione tra il componente a livello di base e il livello Materiale SwipeToDismissBox è più chiara. Quest'ultimo estrae i colori da MaterialTheme da utilizzare nelle schermate e delega l'implementazione rimanente a BasicSwipeToDismissBox. (Ibecfc)
  • Abbiamo contrassegnato rememberExpandableStateMapping come sperimentale e migliorato il rendimento di expandableItem. (I5f6bc)
  • Abbiamo sostituito la classe SwipeToRevealAction nelle API Material SwipeToReveal Card e Chip con un'API basata su slot che utilizza i composable SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction e SwipeToRevealUndoAction. Consulta l'esempio di codice per esempi su come utilizzare la nuova API. (Ia8943)
  • Abbiamo sostituito i flag di animazione PositionIndicator con i parametri AnimationSpec. Le singole animazioni possono essere disattivate passando snap come AnimationSpec. (I6c523)

Correzioni di bug

  • Abbiamo corretto un bug attivato da testo curvo limitato quando le dimensioni sono limitate (I50efe)
  • Abbiamo risolto un potenziale arresto anomalo NaN correlato a curvedComposable (I970eb)
  • Abbiamo annullato la rimozione dell'animazione di evidenziazione della modifica della posizione su PositionIndicator. (Ieb424)
  • Abbiamo rimosso il livello material-core per il componente Chip per migliorarne il rendimento. (If2dcb)

Versione 1.3.0-alpha08

18 ottobre 2023

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

Modifiche alle API

  • Abbiamo aggiunto singoli flag agli overload di PositionIndicator per controllare diverse animazioni: showFadeInAnimation, showFadeOutAnimation e showPositionAnimation. L'API precedente è stata ritirata e inoltra le chiamate alla nuova. Per motivi di prestazioni e per garantire la coerenza dell'esperienza utente, quando PositionIndicator viene utilizzato con un elenco scorrevole, ti consigliamo di disattivare i flag showFadeInAnimation e showPositionAnimation. Se PositionIndicator viene utilizzato come indicatore autonomo, ad esempio per la modifica del volume, ti consigliamo di attivare tutte e tre le animazioni. (I44294)
  • Abbiamo ritirato i componenti Material SwipeToDismissBoxState, SwipeToDismissValue e edgeSwipeToDismiss in seguito alla migrazione della funzionalità Scorrimento per chiudere a wear.compose.foundation. Sostituisci con gli equivalenti di wear.compose.foundation. (Iee8c9)

Correzioni di bug

  • Abbiamo aggiornato i profili di base per le librerie di composizione, materiali e navigazione di Wear. (Idb060)
  • Abbiamo ripristinato una modifica del comportamento per PositionIndicator introdotta in una CL precedente, in modo che PositionIndicator venga animato quando viene visualizzata inizialmente una schermata. Intendiamo apportare una modifica simile in una delle prime versioni alpha 1.4, in modo che venga visualizzato inizialmente il PositionIndicator, ma senza alcuna animazione. (I41843)
  • Abbiamo risolto alcuni problemi di prestazioni in PositionIndicator. (I1c654, b/302399827)
  • Abbiamo ottimizzato il rendimento dell'implementazione predefinita del provider di stato di esplorazione al tocco in modo che si basi su State<Boolean> anziché sullo stato derivato. (Ieec4d)
  • Abbiamo impostato rettangoli systemGestureExclusion per Android 13 e versioni successive. (Ib1f4b)

Versione 1.3.0-alpha07

4 ottobre 2023

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

Modifiche alle API

  • Abbiamo aggiunto singoli flag a PositionIndicator per controllare diverse animazioni: showFadeInAnimation, showFadeOutAnimation e showPositionAnimation. L'API precedente è stata ritirata e inoltra le chiamate alla nuova. Per motivi di prestazioni e per garantire la coerenza dell'esperienza utente, quando PositionIndicator viene utilizzato con un elenco scorrevole, ti consigliamo di disattivare i flag showFadeInAnimation e showPositionAnimation. Se PositionIndicator viene utilizzato come indicatore autonomo, ad esempio per la modifica del volume, ti consigliamo di attivare tutte e tre le animazioni. (Ia2d63)

Correzioni di bug

  • Abbiamo apportato miglioramenti al movimento di scorrimento per rivelare l'azione aggiungendo un'animazione di dissolvenza al testo dell'azione principale e dissolvendo l'azione secondaria/modificando la scala dell'icona con l'espansione completa dello scorrimento. (Ib7223)
  • È consigliabile rendere accessibili le azioni di scorrimento per mostrare e abbiamo aggiunto azioni di accessibilità personalizzate ai nostri esempi di scorrimento per mostrare. (I42224)
  • Abbiamo migliorato il rendimento di SwipeToDismissBox, incluso il refactoring per garantire che la logica iniziale non attivi una ricomposizione. SwipeToDismissBox ora viene disegnato a schermo intero. (Ie0aa2)
  • Abbiamo corretto un bug che causava la scomparsa errata di PositionIndicator. (I2091a)
  • Miglioramento delle prestazioni di PositionIndicator grazie all'ottimizzazione delle ricomposizioni. Successivamente sono stati aggiunti nuovi flag per controllare le animazioni (fadeIn, fadeOut e positionChange) (vedi Modifiche all'API) (Ifac7d)
  • Abbiamo aggiunto test di microbenchmark per PositionIndicator (Idf875)

Versione 1.3.0-alpha06

20 settembre 2023

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

Correzioni di bug

  • Abbiamo aggiunto il supporto per Modifier.edgeSwipeToDismiss con SwipeToReveal. (I95774, b/293444286)
  • Abbiamo aggiunto esempi per i materiali SwipeToRevealChip e SwipeToRevealCard. (Ieb974)
  • Abbiamo aggiornato i profili di base per le librerie Wear Compose Foundation e Material. (I1dd1f)

Versione 1.3.0-alpha05

6 settembre 2023

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

Correzioni di bug

  • Abbiamo aggiunto la gestione in Scorri per rivelare in modo che sia possibile scorrere un solo elemento alla volta. (I3cd7a)
  • È stata migliorata la documentazione di ScalingLazyColumnDefaults per adattarla meglio al suo comportamento effettivo. (I886d3)

Versione 1.3.0-alpha04

23 agosto 2023

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

Nuove funzionalità

  • Abbiamo aggiunto il supporto per l'annullamento dell'azione secondaria di SwipeToReveal. (I7a22d)

Modifiche alle API

  • Aggiungi HorizontalPageIndicator nella libreria Wear Material3. (Ifee99)
  • È stato aggiornato lo strumento di anteprima di Wear Compose per utilizzare la libreria androidx.wear.tooling.preview. (Ib036e)

Correzioni di bug

  • Correzione di un bug nei pulsanti rotondi in cui i modificatori non venivano concatenati correttamente. (I5e162)

Versione 1.3.0-alpha03

9 agosto 2023

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

Modifiche alle API

  • Abbiamo aggiunto due nuovi composable in Material per implementare SwipeToReveal con schede e chip. Questi componenti componibili seguono le linee guida UX consigliate per il componente e semplificano l'implementazione di SwipeToReveal con i componenti esistenti in Wear Material. (I7ec65)
  • Abbiamo attivato le annotazioni FloatRange come vincoli API, che in precedenza erano indicati nei commenti. (Icb401)

Correzioni di bug

  • Abbiamo spostato la logica di scorrimento iniziale di ScalingLazyColumn all'interno di onGloballyPositioned(). (Ic90f1)
  • Ora utilizziamo drawWithCache in PositionIndicator, ProgressIndicator e SelectionControls per ottimizzare le allocazioni dei tratti. (I5f225, b/288234617)
  • Abbiamo corretto la visibilità del segno di spunta della casella di controllo negli stati disattivati. (Ib25bf)
  • Abbiamo aggiornato Placeholder per consentire il ripristino in modo da mostrare il segnaposto se i contenuti non sono più nello stato pronto. (Ibd820)
  • Abbiamo apportato alcune correzioni ai test Placeholder instabili (Idb560)

Versione 1.3.0-alpha02

26 luglio 2023

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

Modifiche alle API

  • Abbiamo fornito ExpandableStateMapping, un nuovo modo per generare ExpandableStates, per i casi in cui devono essere creati on demand, non necessariamente all'interno di un ambito @Composable (Iff9e0)
  • SwipeToDismissBox è stato migrato dal pacchetto androidx.wear.compose.material al pacchetto androidx.wear.compose.foundation. (I275fb)
  • File API aggiornati per annotare la soppressione della compatibilità. (I8e87a, b/287516207)
  • Abbiamo reso pubbliche le costanti di altezza per Chip, CompactChip e ToggleChip (Idbfde)
  • Abbiamo reso pubblici i padding orizzontale e verticale per Chip e CompactChip. (Ieeaf7)
  • È stata aggiunta la funzionalità per disattivare la gestione dello scorrimento in SwipeDismissableNavHost tramite il nuovo parametro userSwipeEnabled. (Id2a0b, b/230865655)
  • Abbiamo aggiornato la libreria di navigazione Wear Compose per utilizzare il nuovo SwipeToDismissBox di Wear Compose Foundation. (I4ff8e)

Correzioni di bug

  • Abbiamo corretto un bug dell'ordine Z per cui expandedItem non mostrava i contenuti corretti dopo aver fatto clic sul comportamento di un pulsante quando sono presenti pulsanti. (I1899d, b/289991514)
  • Migliora la gestione della messa a fuoco di SwipeToDismissBox (e quindi di SwipeDismissableNavHost) utilizzando HierarchicalFocusCoordinator (I45362, b/277852486)
  • Abbiamo corretto la gestione dei gesti in SwipeableV2 . (I89737)
  • Abbiamo finalizzato i profili di base per la release 1.2. (Id5740)
  • In seguito alla migrazione di SwipeToDismissBox a Foundation, l'implementazione di Material SwipeToDismissBox ora viene inoltrata a Foundation e fornisce i valori di colore predefiniti dal suo tema.(If8451)
  • Abbiamo aggiunto la semantica delle intestazioni a ListHeader. (Ic5420)
  • Chip e ToggleChip ora regoleranno la loro altezza per adattarsi ai contenuti che sono aumentati a causa dei caratteri grandi per l'accessibilità, se necessario. (Iaf302)
  • È stato corretto un bug nel ruolo semantico dell'area selezionabile di SplitToggleChip per l'accessibilità. (Ieed3a)
  • L'impostazione Riduci movimento ora disattiva l'effetto luccichio e il movimento di cancellazione sui segnaposto. (I91046)
  • 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.3.0-alpha01

21 giu 2023

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

Correzioni di bug

  • Come annunciato in 1.2.0-alpha07 e 1.2.0-alpha10, ora stiamo modificando DefaultTextStyle per disattivare il padding dei caratteri in modo che sia coerente su tutta la piattaforma Android. In questo modo verranno risolti alcuni casi di troncamento del testo con dimensioni del carattere grandi e potrebbero essere interessati anche i layout dello schermo, pertanto i test degli screenshot dovranno essere aggiornati. Ad esempio, qui vediamo il testo troncato (Ic6a86)
Testo tagliato con dimensioni del carattere grandi
Figura 1: testo tagliato.
  • Non è più presente quando il riempimento del carattere è disattivato:
Testo non tagliato con dimensioni carattere grandi
Figura 2: testo non tagliato.
  • Abbiamo aggiornato wear.compose.foundation in modo che sia una dipendenza API di wear.compose.material (I72004, b/285404743)
  • Abbiamo corretto un bug in SwipeToDismissBox. Le chiavi di sfondo e dei contenuti vengono ora passate al blocco di memorizzazione, in modo che vengano creati nuovi modificatori quando cambiano i contenuti o lo sfondo. (Ib876c, b/280392104)
  • Abbiamo aggiornato TimeText per utilizzare le impostazioni internazionali quando si sceglie il formato dell'ora a 12 o 24 ore. (If4a3d)
  • Abbiamo corretto un'incoerenza nei parametri predefiniti di SwipeToDismissBox contentScrimColor. (I2d70f)
  • Abbiamo migliorato la gestione del movimento in SwipeToReveal. (I28fb7)

Problemi noti

  • Il supporto delle dimensioni dei caratteri configurate dall'utente è un requisito di accessibilità. Sappiamo che i chip multilinea possono causare il troncamento del testo quando vengono visualizzati con dimensioni del carattere grandi, pertanto aggiorneremo il chip in una versione alpha 1.3 iniziale per apportare modifiche all'altezza in questi casi.

Versione 1.2

Versione 1.2.1

18 ottobre 2023

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

Correzioni di bug

  • È stato corretto un bug che causava la scomparsa errata di PositionIndicator. (7a167f)

Versione 1.2.0

9 agosto 2023

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

Modifiche importanti dalla versione 1.1.0

Versione 1.2.0-rc01

26 luglio 2023

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

Correzioni di bug

  • Abbiamo finalizzato i profili di base per la release 1.2 (ID 5740)

Versione 1.2.0-beta02

7 giugno 2023

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

Nuove funzionalità

  • Abbiamo aggiunto la nuova variabile sperimentale LocalReduceMotion CompositionLocal, che disattiva il ridimensionamento e la dissolvenza su ScalingLazyColumn. (I58024)

Correzioni di bug

  • Abbiamo aggiornato i profili di base per le librerie di materiali e la base di composizione di Wear(I4725d).
  • Abbiamo corretto un'incoerenza nei valori predefiniti per i parametri SwipeToDismissBox contentScrimColor (I2d70f)
  • Abbiamo corretto il valore predefinito DefaultTextStyle utilizzato per l'impostazione IncludeFontPadding (I737ed)

Versione 1.2.0-beta01

24 maggio 2023

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

Novità di Compose per Wear OS 1.2

La release 1.2-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.2 include le seguenti nuove funzionalità:

  • expandableItem e expandableItems sono due nuovi componenti Foundation che supportano l'espansione degli elementi all'interno di un ScalingLazyColumn. Utilizza expandableItem per un singolo elemento espandibile, ad esempio Testo in cui il numero di righe. Utilizza expandableItems per un gruppo di elementi espandibili e expandableButton per semplificare la creazione di un pulsante che si comprime dopo l'espansione dei contenuti.
  • HierarchicalFocusCoordinator: questo componente sperimentale consente di contrassegnare i sottoalberi della composizione come abilitati o disabilitati per la messa a fuoco.
  • Picker: l'API ora include userScrollEnabled per controllare se il selettore è attivo per lo scorrimento dell'utente.
  • PickerGroup: un nuovo elemento componibile per gestire più selettori contemporaneamente. Gestisce lo stato attivo tra i selettori utilizzando l'API HierarchicalFocusCoordinator e consente il centraggio automatico degli elementi del selettore.
  • Placeholder: abbiamo apportato aggiornamenti alle animazioni di luccichio e "Pulizia". L'effetto cancellatura viene ora applicato immediatamente quando i contenuti sono pronti.
  • ScalingLazyColumn: abbiamo eseguito la migrazione di ScalingLazyColumn e dei corsi associati da androidx.wear.compose.material.ScalingLazyColumn a androidx.wear.compose.foundation.lazy.ScalingLazyColumn. Esegui l'aggiornamento per utilizzare la versione Foundation.Lazy.
  • SwipeToReveal: abbiamo aggiunto il supporto sperimentale per lo scorrimento per rivelare le azioni secondarie, integrando il pattern esistente di "pressione prolungata".
  • Stepper ora ha un overload con un parametro enableRangeSemantics aggiuntivo per facilitare la disattivazione della semantica dell'intervallo predefinito.
  • Previews: abbiamo aggiunto le seguenti annotazioni personalizzate per l'anteprima dei composable sugli schermi Wear: WearPreviewSmallRound mostra l'anteprima del composable su un dispositivo piccolo e rotondo; WearPreviewLargeRound mostra l'anteprima del composable su un dispositivo rotondo di grandi dimensioni; WearPreviewSquare mostra l'anteprima del composable su un dispositivo quadrato. Inoltre, le annotazioni seguenti e di anteprima multipla: WearPreviewFontScales visualizza l'anteprima dei componenti componibili su un dispositivo indossabile con più dimensioni del carattere, mentre WearPreviewDevices visualizza l'anteprima dei componenti componibili su diversi dispositivi indossabili.
  • Abbiamo aggiunto un DefaultTextStyle a Wear Compose che imposta la proprietà PlatformTextStyle.includeFontPadding su true (questa è l'impostazione attuale). In questo modo potremo sincronizzare la disattivazione del padding dei caratteri per impostazione predefinita con le librerie Compose in una versione alpha 1.3 iniziale. Per saperne di più, consulta la pagina 1.2.0-alpha10.

Nuove funzionalità

  • Abbiamo aggiunto il supporto sperimentale per la scalabilità e l'animazione di dissolvenza disabilitate quando l'impostazione reduce_motion è attiva. (I58024)

Correzioni di bug

  • Documentazione migliorata per angularWidthDp in CurvedSize.kt (Iab75c)
  • SwipeDismissableNavHost ora registra un avviso con le potenziali cause dello stack di ritorno vuoto. Ciò avviene per evitare arresti anomali imprevisti causati da IllegalArgumentException generato quando lo stack di cronologia era vuoto. (I04a81, b/277700155)

Versione 1.2.0-alpha10

10 maggio 2023

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

Nuove funzionalità

  • Abbiamo aggiunto il supporto per lo scorrimento per rivelare, come mezzo per accedere alle azioni secondarie. Questo pattern integra il pattern "pressione prolungata", il modo esistente in cui un utente può rivelare azioni secondarie (diverse). (I60862)

Modifiche alle API

  • Abbiamo aggiunto RevealScope ai composable di azioni in SwipeToReveal, che consente di accedere all'offset in corrispondenza del quale vengono visualizzate azioni aggiuntive. (I3fd56)

Correzioni di bug

  • Risolto un problema per cui ScalingLazyColumn rimaneva bloccato sull'API Wear 33 dopo lo scorrimento rapido (Ic4599)
  • Abbiamo apportato alcuni miglioramenti delle prestazioni a PositionIndicator per ridurre i problemi di scattosità. (I35e92)
  • Abbiamo corretto un bug in Chip e CompactChip in cui il ruolo semantico non veniva più impostato su Role.Button. (I93f91, b/277326264)

Problemi noti

  • Abbiamo identificato un bug in Android Studio che causa un errore nel rendering dell'anteprima quando è annotata con @WearPreviewDevices e @WearPreviewFontScales. È previsto un rilascio della correzione a breve. Tieni presente che le altre annotazioni di anteprima di Wear funzionano come previsto in Android Studio Giraffe 2022.3.1 e versioni successive.

  • Nella versione 1.2.0-alpha07 abbiamo aggiunto DefaultTextStyle a Wear Compose, mantenendo il valore esistente di PlatformTextStyle.includeFontPadding su true. Per informazioni di base, vedi Correzione del padding dei caratteri in Compose. Modificheremo DefaultTextStyle per disattivare il padding dei caratteri in una delle prime versioni alpha 1.3, in modo da garantire la coerenza su tutta la piattaforma Android. In questo modo si risolvono alcuni casi di troncamento del testo con dimensioni del carattere grandi e si potrebbe influire anche sui layout dello schermo, pertanto è necessario aggiornare i test degli screenshot. Ad esempio, con dimensioni del carattere grandi, il testo viene troncato:

Testo tagliato con dimensioni del carattere grandi
Figura 1: testo tagliato.
  • Non è più presente quando il riempimento del carattere è disattivato:
Testo non tagliato con dimensioni carattere grandi
Figura 2: testo non tagliato.

La nuova impostazione può essere adottata ora sostituendo la tipografia nel tema. Vedi il codice di esempio.

Versione 1.2.0-alpha09

19 aprile 2023

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

Modifiche alle API

  • Aggiungi angularSizeDp all'API CurvedModifier per impostare la larghezza angolare in DP (I89a52)

Correzioni di bug

  • Abbiamo risolto i problemi di accessibilità nelle nostre demo del selettore di ora(Id0eb7)

Versione 1.2.0-alpha08

5 aprile 2023

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

Modifiche alle API

  • Abbiamo rinominato ExpandableItemsState in ExpandableState. (If85ea)
  • Abbiamo aggiunto expandableButton per semplificare la creazione di un pulsante che si comprime quando i contenuti vengono espansi e abbiamo anche aggiornato gli esempi di elementi espandibili. (Iae309)

Correzioni di bug

  • Miglioramento degli esempi espandibili per mostrare più possibilità. Animazione di expandableItem modificata per mantenere i contenuti centrati durante l'animazione. (I2f637)
  • Aggiornamento di ToggleControls per evitare ricomposizioni aggiuntive durante l'animazione manuale dei colori utilizzando State. (I5d319)

Versione 1.2.0-alpha07

22 marzo 2023

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

Modifiche alle API

  • Abbiamo spostato i componenti dell'elemento espandibile (aggiunti nella versione 1.2.0-alpha06) da Material a Foundation, poiché non avevano alcun riferimento significativo a MaterialTheme. (Ib0525)

Correzioni di bug

  • Abbiamo risolto un arresto anomalo che si verificava in una schermata utilizzando PickerGroup, assicurandoci che PickerGroup gestisca correttamente lo stato attivo quando nessun selettore è attivo. È stato aggiunto anche il supporto per lo scorrimento RSB nelle nostre demo del selettore. (If8c19)
  • Abbiamo migliorato le transizioni dei dialoghi: la transizione di introduzione è ora più fluida per corrispondere alla transizione di chiusura. (Ib5af9)
  • Abbiamo aggiunto un DefaultTextStyle a Wear Compose che imposta la proprietà PlatformTextStyle.includeFontPadding su true (questa è l'impostazione attuale). In questo modo, in futuro potremo sincronizzare la disattivazione del padding dei caratteri per impostazione predefinita con le librerie Compose. Per maggiori informazioni, consulta Correggere il padding dei caratteri in Compose. (I2aee8)
  • È stata ripristinata una dipendenza di anteprima di UpsideDownCake tramite activity-compose che impediva la pubblicazione di app sul Google Play Store. (I6443d)

Versione 1.2.0-alpha06

8 marzo 2023

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

Modifiche alle API

  • Aggiungi il componente CurvedBox, che posiziona i componenti uno sopra l'altro nel mondo curvo. (I29200)
  • Sono stati aggiunti due nuovi componenti, Elemento/i espandibile/i, per supportare un gruppo di elementi espandibili in un ScalingLazyColumn o un singolo elemento espandibile, ad esempio Testo, in cui il numero di righe si espande. (I95dd5)
  • Abbiamo aggiunto le seguenti annotazioni personalizzate per visualizzare l'anteprima dei composable sugli schermi Wear: WearPreviewSmallRound visualizza l'anteprima del composable su un dispositivo piccolo e rotondo; WearPreviewLargeRound visualizza l'anteprima del composable su un dispositivo rotondo di grandi dimensioni; WearPreviewSquare visualizza l'anteprima del composable su un dispositivo quadrato. Inoltre, le annotazioni seguenti e di anteprima multipla: WearPreviewFontScales visualizza l'anteprima dei componenti componibili su un dispositivo indossabile con più dimensioni del carattere, mentre WearPreviewDevices visualizza l'anteprima dei componenti componibili su diversi dispositivi indossabili. Per utilizzare queste anteprime, devi utilizzare l'ultima versione di Android Studio (Giraffe Canary 6) o versioni successive. Tieni presente che, se queste annotazioni non sono adatte al tuo scopo, puoi comunque utilizzare l'anteprima, che supporta ulteriori personalizzazioni tramite parametri. (I397ff)
  • Abbiamo contrassegnato HierarchicalFocusCoordinator come sperimentale in quanto è considerato un candidato per essere spostato nelle librerie di composizione principali, data la sua ampia applicabilità. (I3a768)

Correzioni di bug

  • È stato corretto un bug su HierarchicalFocusCoordinator: quando viene modificata la lambda passata per il parametro focusEnabled, ora utilizziamo correttamente quella nuova. (Icb353)
  • Abbiamo aggiornato il colore predefinito dei contenuti disattivati a Sfondo quando si utilizzano i colori primari come sfondo in Button, CompactButton, Chip, CompactChip e ToggleButton. In questo modo il contrasto viene migliorato per l'accessibilità. (I527cc)

Versione 1.2.0-alpha05

22 febbraio 2023

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

Modifiche alle API

  • API PickerGroup aggiornata per consentire la propagazione facoltativa dei vincoli minimi al composable. Se impostato su true, i vincoli minimi passati dal componibile principale saranno consentiti su PickerGroup. Se impostato su false, PickerGroup reimposterà i vincoli minimi. (I3e046)
  • Abbiamo aggiunto animateScrollToOption all'API Picker per supportare l'animazione programmatica a un'opzione specifica del selettore (I6fe67).

Correzioni di bug

  • Abbiamo aggiornato HorizontalPageIndicator per supportare i layout da destra a sinistra. (Ia4359)
  • Aggiunti test degli screenshot per il layout da destra a sinistra in HorizontalPageIndicator (I6fbb8)
  • Sono stati aggiunti altri test a SwipeDismissableNavHostTest che utilizzano TestNavHostController (I61d54)

Versione 1.2.0-alpha04

8 febbraio 2023

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

Nuove funzionalità

  • PickerGroup per gestire più selettori insieme utilizzando l'API Focus. Gestisce lo stato attivo tra i diversi selettori, consente il centraggio automatico dei selettori in base ai parametri e permette agli sviluppatori di cambiare lo stato attivo tra i diversi selettori durante la gestione degli eventi del gruppo. In modalità TalkBack, PickerGroup gestisce lo stato attivo di TalkBack spostandolo sul selettore selezionato del gruppo. (I60840)

Modifiche alle API

  • Abbiamo aggiunto un overload a Stepper con un parametro enableRangeSemantics aggiuntivo per facilitare la disattivazione della semantica dell'intervallo predefinito (Ia61d4)

Correzioni di bug

  • Consenti l'incorporamento di ScalingLazyColumn in una pagina a scorrimento orizzontale (Iec3f8, b/266555016)
  • Miglioramento dei kdoc di Stepper e pulizia dei test StepperTest. (Ic118e)
  • Dipendenza androidx.navigation aggiornata alla versione 2.5.3 (If58ed)

Versione 1.2.0-alpha03

25 gennaio 2023

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

Modifiche alle API

  • Abbiamo eseguito la migrazione di ScalingLazyColumn (e dei corsi associati) da androidx.wear.compose.material.ScalingLazyColumn a andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (vedi questo esempio per la migrazione). Questa nuova posizione corrisponde più da vicino a quella di compose.foundation.lazy.LazyColumn ed è più naturale in quanto non è un componente Material con opinioni. La modifica è in corso in preparazione di una nuova libreria Material3, su cui lavoreremo in parallelo con la libreria Material esistente. (I060e7)

Le seguenti modifiche fanno parte della migrazione di ScalingLazyColumn da Material a Foundation.Lazy:

  • Le API PositionIndicator che hanno come target Material ScalingLazyColumn sono state ritirate. Esegui l'aggiornamento a Foundation.Lazy ScalingLazyColumn. Inoltre, il campo anchorType è stato aggiunto a ScalingLazyListLayoutInfo. (I29d95)
  • ScalingLazyColumn è stato contrassegnato come deprecato nel pacchetto Wear Compose Material (I16d34)
  • Abbiamo aggiornato il modificatore ScrollAway per utilizzare ScalingLazyListState da Wear Compose Foundation.Lazy e abbiamo ritirato l'overload che utilizzava ScalingLazyListState da Wear Compose Material. (Ifc42c)
  • Abbiamo aggiornato le API Dialog per utilizzare ScalingLazyListState da Foundation.Lazy e abbiamo ritirato gli overload che utilizzavano Material ScalingLazyListState (Ic8960)
  • Abbiamo aggiornato le API Picker per utilizzare ScalingParams da Foundation.Lazy e abbiamo ritirato gli overload che utilizzavano Material ScalingParams. (Idc3d8)

Correzioni di bug

  • È stato corretto un bug che causava ricomposizioni non necessarie in ScalingLazyListState.centerItemIndex garantendo che gli aggiornamenti vengano inviati solo quando il valore cambia effettivamente (Ia9f38).
  • Abbiamo migliorato il rendimento di SwipeToDismissBox (I3933b)
  • Sono stati aggiunti test benchmark per ScalingLazyColumn in Wear Compose Foundation (Ie00f9)
  • Abbiamo aggiornato alcuni metodi delle classi ScalingLazyColumn interne in Material per utilizzare i loro equivalenti di Foundation.Lazy (I38aab)
  • Abbiamo corretto alcuni problemi nei test di Picker e aggiunto altri test per controllare lo scorrimento con offset (I6ac34).
  • Abbiamo eseguito la migrazione delle ScalingLazyColumndemo di integrazione in modo che dipendano da Foundation.Lazy anziché da Material ScalingLazyColumn (Ic6caa)
  • Abbiamo aggiunto parametri fromDate/toDate facoltativi alla nostra demo DatePicker (I961cd)

Versione 1.2.0-alpha02

11 gennaio 2023

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

Modifiche alle API

  • I test dell'interfaccia utente di Android Compose ora eseguiranno passaggi di layout per ogni frame durante l'esecuzione dei frame per raggiungere lo stato di inattività (ad es. tramite waitForIdle). Ciò potrebbe influire sui test che asseriscono singoli frame delle animazioni di layout. (I8ea08, b/222093277)
  • Il parametro minLines viene aggiunto a Wear Text per un comportamento coerente con BasicText (I24874)
  • CompactChipTapTargetPadding è stato reso pubblico in modo che venga visualizzato nella documentazione (If1e70, b/234119038)

Correzioni di bug

  • Disabilita le build multipiattaforma per i pacchetti wear.compose (Iad3d7)
  • Correggi i documenti KDocs per scrollToOption (I6f9a0)
  • PlaceholderState.rememberPlaceholderState() aggiornato per utilizzare rememberUpdatedState in modo che lo stato venga aggiornato se la lambda onContentReady. (I02635, b/260343754)
  • Abbiamo risolto un problema di tremolio del testo riscontrato nel componente Picker sfruttando la nuova strategia di composizione aggiunta a Modifier.graphicsLayer. (I99302)
  • Abbiamo corretto un bug che causava sfarfallio nella nostra demo DatePicker (I660bd)
  • Abbiamo migliorato l'accessibilità delle demo del selettore di data e ora di 12 ore (I05e12).
  • Abbiamo aggiornato le demo dei selettori di data e ora in modo che non siano interessati dalle modifiche alla barra di stato quando non sono selezionati (I4aecb).

Versione 1.2.0-alpha01

7 dicembre 2022

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

Nuove funzionalità

  • Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Pulitura" venga applicato immediatamente quando i contenuti sono pronti, anziché attendere l'inizio del ciclo di animazione successivo. Abbiamo anche apportato alcuni aggiornamenti alle animazioni di luccichio e pulizia. (I5a7f4)

Modifiche alle API

  • Abbiamo aggiunto un HierarchicalFocusCoordinatorcomponente componibile per consentire di contrassegnare i sottoalberi della composizione come abilitati o disabilitati per la messa a fuoco.(I827cb)
  • Abbiamo aggiunto una nuova proprietà per ignorare il ruolo semantico per ToggleButton.(I67132)
  • Abbiamo aggiornato TimeTextDefaults.TimeFormat12Hours per rimuovere AM/PM in TimeText. In questo modo, il valore predefinito dei parametri timeSource nell'API TimeText verrà modificato. (I1eb7f)
  • Abbiamo esteso l'API Picker per migliorare l'accessibilità per le schermate con selettore multiplo. È disponibile una nuova proprietà userScrollEnabled per controllare se il selettore è attivo per lo scorrimento dell'utente. (I3c3aa)

Correzioni di bug

  • Abbiamo modificato la larghezza del bordo predefinita per un OutlinedButton/OutlinedCompactButton da 2 dp a 1 dp in modo che corrisponda alle specifiche UX finali. (Icf84d)
  • Per ridurre l'effetto del primo elemento aggiunto a un ScalingLazyColumn vuoto che sembra scorrere in posizione, abbiamo aggiunto un autoCentering topPadding stimato quando i contenuti sono vuoti. Questa modifica calcola la quantità di spazio interno superiore necessario presupponendo un elemento iniziale di altezza 0 dp. Per ScalingLazyListAnchorType.ItemStart verrà calcolato il padding superiore corretto, mentre per ScalingLazyListAnchorType.ItemCenter questo calcolo non sarà corretto, poiché è necessaria l'altezza degli elementi per dimensionare correttamente i contenuti, il che comporta un piccolo effetto di scorrimento in posizione in base all'altezza effettiva degli elementi.(I239a4)
  • Abbiamo aggiornato la semitrasparenza dello sfondo applicata all'animazione SwipeToDismiss in modo che corrisponda alla piattaforma Wear. (I9003e)
  • Abbiamo corretto la gestione di PositionIndicator di LazyListState e ScalingLazyListState per gli elementi di elenco di dimensioni 0 per evitare errori di divisione per zero.(Ic28dd)

Versione 1.1

Versione 1.1.2

8 febbraio 2023

androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2 e androidx.wear.compose:compose-navigation:1.1.2 sono rilasciati. La versione 1.1.2 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug che causava ricomposizioni non necessarie in ScalingLazyListState.centerItemIndex garantendo che gli aggiornamenti vengano inviati solo quando il valore cambia effettivamente (Ia9f38).

Versione 1.1.1

11 gennaio 2023

androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1 e androidx.wear.compose:compose-navigation:1.1.1 sono rilasciati. La versione 1.1.1 contiene questi commit.

Correzioni di bug

  • PlaceholderState.rememberPlaceholderState() aggiornato per utilizzare rememberUpdatedState in modo che lo stato venga aggiornato se la lambda onContentReady. (I02635, b/260343754)

Versione 1.1.0

7 dicembre 2022

androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0 e androidx.wear.compose:compose-navigation:1.1.0 sono rilasciati. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

Nuove funzionalità

  • Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Pulitura" venga applicato immediatamente quando i contenuti sono pronti, anziché attendere l'inizio del ciclo di animazione successivo. Abbiamo anche apportato alcuni aggiornamenti alle animazioni di luccichio e pulizia. (I5a7f4)

Correzioni di bug

  • Abbiamo modificato la larghezza del bordo predefinita per un OutlinedButton/OutlinedCompactButton da 2 dp a 1 dp in modo che corrisponda alle specifiche UX finali. (Icf84d)
  • Per ridurre l'effetto del primo elemento aggiunto a un ScalingLazyColumn vuoto che sembra scorrere in posizione, abbiamo aggiunto un autoCentering topPadding stimato quando i contenuti sono vuoti. Questa modifica calcola la quantità di spazio interno superiore necessario presupponendo un elemento iniziale di altezza 0 dp. Per ScalingLazyListAnchorType.ItemStart verrà calcolato il padding superiore corretto, mentre per ScalingLazyListAnchorType.ItemCenter questo calcolo non sarà corretto, poiché è necessaria l'altezza degli elementi per dimensionare correttamente i contenuti, il che comporta un piccolo effetto di scorrimento in posizione in base all'altezza effettiva degli elementi.(I239a4)
  • Abbiamo aggiornato il velo di sfondo applicato all'animazione SwipeToDismiss in modo che corrisponda alla piattaforma Wear.(I9003e)
  • Abbiamo corretto la gestione di PositionIndicator di LazyListState e ScalingLazyListState per gli elementi di elenco di dimensioni 0 per evitare errori di divisione per zero.(Ic28dd)

Versione 1.1.0-rc01

9 novembre 2022

androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01 e androidx.wear.compose:compose-navigation:1.1.0-rc01 sono rilasciati. La versione 1.1.0-rc01 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiunto regole di profilo di base per Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip e OutlinedCompactChip. (I8249c)
  • Abbiamo corretto un bug in Modifier.scrollAway in modo che, se l'itemIndex specificato non è valido (ad esempio, se l'indice dell'elemento non è compreso nell'intervallo), l'TimeText venga comunque visualizzato. (I2137a)
  • Abbiamo aggiornato l'animazione SwipeToDismissBox in modo che corrisponda all'implementazione della piattaforma. Dopo l'animazione di compressione iniziale, lo schermo ora scorre verso destra una volta attivata la chiusura. (I41d34)
  • Come ottimizzazione, abbiamo aggiornato Modifier.scrollAway in modo che legga solo scrollState all'interno del blocco di misura per evitare di ricomporre il modificatore dopo ogni nuova misurazione. (I4c6f1)
  • Abbiamo aggiunto la documentazione e un esempio ai segnaposto per mostrare l'ordine corretto per Modifier.placeholder e Modifier.placeholderShimmer quando vengono applicati allo stesso elemento componibile. (Ie96f4, b/256583229)
  • Abbiamo modificato la larghezza del bordo predefinita per un OutlinedCompactChip/OutlinedChip da 2 dp a 1 dp in modo che corrisponda alle specifiche UX finali. (Ib3d8e)
  • Abbiamo corretto un bug in rememberPickerState per cui gli input aggiornati non venivano salvati, in modo che i composable non venissero aggiornati dopo le modifiche agli input. (I49ff6, b/255323197)
  • Abbiamo apportato alcuni aggiornamenti all'interfaccia utente dei segnaposto: 1) abbiamo modificato il gradiente di brillantezza portandolo a 1, 5 volte la dimensione dello schermo, 2) abbiamo aggiunto l'accelerazione (bezier cubica) della progressione della brillantezza e 3) abbiamo velocizzato l'animazione di cancellazione (250 ms). (Id29c1)
  • Abbiamo corretto un bug dell'interfaccia utente nell'effetto di cancellazione del segnaposto in cui gli sfondi di chip e schede venivano cancellati leggermente in anticipo perché non tenevano conto della posizione del componente sullo schermo. (I2c7cb)
  • Abbiamo aggiornato il disegno dello sfondo del segnaposto per unire i colori anziché sovrapporli, ove possibile, per ridurre il rischio di fusione alfa dei diversi livelli ritagliati che consentono ai colori sottostanti di trasparire sui bordi dello sfondo del segnaposto. (I2ea26)
  • Abbiamo corretto il calcolo di ScalingLazyListState.centerItemIndex/centerItemOffset in modo che, se due elementi si trovano su entrambi i lati della linea centrale del riquadro, quello più vicino venga considerato centerItem. (I30709, b/254257769)
  • Abbiamo corretto un bug in ScalingLazyListState.layoutInfo.visibleItemsInfo che segnalava offset errati durante l'inizializzazione di ScalingLazyColumn. Ora verrà restituito un elenco vuoto finché tutti gli elementi dell'elenco non saranno visibili e non avranno gli offset corretti. Il controllo di ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() confermerà che l'inizializzazione di ScalingLazyColumn è completa e che gli elementi sono visibili. (I3a3b8)

Versione 1.1.0-beta01

24 ottobre 2022

androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01 e androidx.wear.compose:compose-navigation:1.1.0-beta01 sono rilasciati. La versione 1.1.0-beta01 contiene questi commit.

Novità di Compose per Wear OS 1.1

La versione 1.1.0-beta01 di Compose for Wear OS indicava che questa release della libreria è completa e l'API è bloccata.

  • La release 1.1 di Wear Compose include le seguenti nuove funzionalità:
    • Selettore: miglioramenti dell'accessibilità al selettore in modo che le schermate di selezione multipla siano navigabili con gli screen reader e la descrizione dei contenuti sia accessibile
    • Il parametro Picker contentDescription viene ora utilizzato solo per l'opzione Picker selezionata e accetta una stringa nullable (nel commit precedente era necessario passare una mappatura dall'opzione alla descrizione dei contenuti, ma veniva utilizzata solo l'opzione selezionata).
    • Gli elementi del selettore ora sono sempre allineati al centro, correggendo un bug che si verificava quando l'impostazione gradientRatio era pari a zero e che aveva l'effetto collaterale di modificare l'allineamento.
    • Chip/ToggleChip - Abbiamo aggiornato i gradienti predefiniti per Chip/ToggleChip per allinearli alle ultime specifiche UX. ChipDefaults.gradientBackgroundChipColors è stato aggiornato per iniziare dal 50% del colore principale anziché dal 32,5%.
    • Chip/ToggleChip - Aggiunta di overload per la modifica delle forme dei chip
    • Chip/Button/ToggleButton - È stato aggiunto un nuovo stile contorno per i chip e i pulsanti e nuovi composable OutlinedChip e OutlinedButton che forniscono un Chip/Button trasparente con un bordo sottile.
    • Scheda: sono state aggiornate le sfumature predefinite per le schede per allinearle alle ultime specifiche UX. CardDefaults.cardBackgroundPainter è stato aggiornato per iniziare dal 30% del colore principale e terminare al 20% di onSurfaceVariant (in precedenza era dal 20% al 10% di onSurfaceVariant). ToggleChip.toggleChipColors passa da una sfumatura lineare dal 75% della superficie al 32,5% del colore principale, allo 0% della superficie e al 50% del colore principale.
    • Button/ToggleButton: sono state aggiunte proprietà per modificare le forme dei pulsanti.
    • Tema: sono stati aggiornati alcuni colori predefiniti in MaterialTheme per migliorare l'accessibilità, in quanto i colori originali non avevano un contrasto sufficiente, il che rendeva difficile per gli utenti distinguere gli sfondi di chip, schede e pulsanti dal colore di sfondo del tema.
    • InlineSlider/Stepper - Aggiunta dei ruoli dei pulsanti in modo che Talkback possa riconoscerli come pulsanti.
    • Struttura: PositionIndicator ora è posizionata e dimensionata in modo da occupare solo lo spazio necessario. Ciò è utile, ad esempio, se vengono aggiunte informazioni semantiche, TalkBack ora ottiene i limiti corretti di PositionIndicator sullo schermo.
    • CurvedText/TimeText: è stato aggiunto Modifier.scrollAway, che scorre un elemento verticalmente dentro/fuori dalla visualizzazione, in base allo stato di scorrimento (con overload per funzionare con Column, LazyColumn e ScalingLazyColumn). ScrollAway viene in genere utilizzato per scorrere un TimeText fuori dalla visualizzazione quando l'utente inizia a scorrere un elenco di elementi verso l'alto.
    • CurvedText/TimeText: è stato aggiunto il supporto per fontFamily, fontStyle e fontSynthesis in CurvedTextStyle, utilizzabili su curvedText e basicCurvedText
    • CurvedText/TimeText - Aggiunta di fontWeight al costruttore e al metodo di copia su CurvedTextStyle
    • ToggleControls: sono stati aggiunti controlli di attivazione/disattivazione animati per Checkbox, Switch e RadioButton da utilizzare con ToggleChip e SplitToggleChip. Questi possono essere utilizzati al posto delle icone statiche fornite da ToggleChipDefaults (switchIcon, checkboxIcon e radioIcon).
    • Segnaposto: è stato aggiunto il supporto sperimentale per i segnaposto. Questo effetto è composto da tre effetti visivi distinti progettati per funzionare insieme.
    • Innanzitutto, un effetto pennello di sfondo segnaposto utilizzato nei contenitori come Chip e Schede per disegnare sullo sfondo normale durante l'attesa del caricamento dei contenuti.
    • In secondo luogo, un modificatore (Modifier.placeholder()) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento.
    • Terzo, un effetto sfumato/luccicante del modificatore (Modifier.placeholderShimmer()) disegnato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati.
      • Tutti questi effetti sono progettati per essere coordinati e brillare e scomparire in modo orchestrato.
  • Dipendenze di Compose Core aggiornate dalla versione 1.2 alla 1.3

Modifiche alle API

  • I parametri del carattere (fontFamily, fontWeight, fontStyle e fontSynthesis) ora possono essere specificati direttamente come parametri di curvedText (Idc422).

Correzioni di bug

  • curveText e basicCurvedText ora funzioneranno correttamente con TalkBack (hanno un nodo compose-ui di dimensioni e posizionamento corretti (ma vuoto) associato, utilizzando il testo come descrizione dei contenuti) (I7af7c, b/210721259)
  • Correzione di bug per Picker quando PickerState.repeatedItems = false per aggiungere un'impostazione esplicita dei parametri di centraggio automatico nel ScalingLazyColumn interno dei selettori per garantire che sia possibile scorrere la zeroesima opzione fino al centro della visualizzazione. (I8a4d7)

Versione 1.1.0-alpha07

5 ottobre 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07 e androidx.wear.compose:compose-navigation:1.1.0-alpha07 sono rilasciati. La versione 1.1.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto il supporto sperimentale dei segnaposto. Questo effetto è composto da tre effetti visivi distinti progettati per funzionare insieme. Innanzitutto, un effetto pennello di sfondo segnaposto utilizzato nei contenitori come Chip e Schede per disegnare sullo sfondo normale durante l'attesa del caricamento dei contenuti. In secondo luogo, un modificatore (Modifier.placeholder()) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento. Terzo, un effetto sfumato/luccicante del modificatore (Modifier.placeholderShimmer()) disegnato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati. Tutti questi effetti sono progettati per essere coordinati e brillare e scomparire in modo orchestrato. (I3c339)

Modifiche alle API

  • È stato aggiunto il supporto per fontWeight, fontFamily, fontStyle e fontSynthesis in CurvedTextStyle, utilizzabile su curvedText e basicCurvedText. Questi parametri possono essere utilizzati per specificare il carattere e lo stile da utilizzare nel testo curvo.(Iaa1a8),(I72759)
  • È stato aggiornato il parametro di offset di Modifier.scrollAway a Dp per coerenza con Modifier.offset (in precedenza era in pixel). Inoltre, è stato sottoposto a refactoring come LayoutModifier per garantire efficienza. (I9f94b)
  • Nell'ambito della nuova API per i controlli dei pulsanti di attivazione/disattivazione, abbiamo rinominato RadioButton’s circleColor in ringColor. (I28fa9)
  • Abbiamo aggiunto controlli di attivazione/disattivazione animati per Checkbox, Switch e RadioButton da utilizzare con ToggleChip e SplitToggleChip. Questi possono essere utilizzati al posto delle icone statiche fornite da ToggleChipDefaults (switchIcon, checkboxIcon e radioIcon). (I8a8c4)

Versione 1.1.0-alpha06

21 settembre 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha06, androidx.wear.compose:compose-material:1.1.0-alpha06 e androidx.wear.compose:compose-navigation:1.1.0-alpha06 sono rilasciati. La versione 1.1.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto Modifier.scrollAway, che scorre un elemento verticalmente dentro e fuori dalla visualizzazione, in base allo stato di scorrimento (con overload per funzionare con Column, LazyColumn e ScalingLazyColumn). ScrollAway viene in genere utilizzato per scorrere un TimeText fuori dalla visualizzazione quando l'utente inizia a scorrere un elenco di elementi verso l'alto. (I61766)

Correzioni di bug

  • Ora PositionIndicator è posizionato e dimensionato in modo da occupare solo lo spazio necessario. Ciò è utile, ad esempio, se vengono aggiunte informazioni semantiche, TalkBack ora ottiene i limiti corretti di PositionIndicator sullo schermo. (Ie6106, b/244409133)

Versione 1.1.0-alpha05

7 settembre 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05 e androidx.wear.compose:compose-navigation:1.1.0-alpha05 sono rilasciati. La versione 1.1.0-alpha05 contiene questi commit.

Correzioni di bug

  • I ruoli dei pulsanti sono stati aggiunti a InlineSlider e Stepper in modo che TalkBack possa riconoscerli come pulsanti. (Icb46c, b/244260275)
  • Abbiamo corretto l'ordine Z degli indicatori di posizione e pagina nello scaffold. Gli indicatori ora si trovano sopra la vignetta e quindi non vengono oscurati dalla vignetta, se presente. (Ib988f, b/244207528)

Versione 1.1.0-alpha04

24 agosto 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04 e androidx.wear.compose:compose-navigation:1.1.0-alpha04 sono rilasciati. La versione 1.1.0-alpha04 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato alcuni dei colori predefiniti in MaterialTheme per migliorare l'accessibilità, in quanto i colori originali non avevano un contrasto sufficiente, il che rendeva difficile per gli utenti distinguere gli sfondi di chip, schede e pulsanti dal colore di sfondo del tema. I colori aggiornati sono surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8) e onError(0xFF202124->0xFF000000). Le modifiche ai colori, sebbene relativamente lievi, potrebbero influire sui test degli screenshot esistenti. (81ab09)

Correzioni di bug

  • Correzione di un bug logico in ScalingLazyColumn che potrebbe impedire il completamento dell'inizializzazione degli elenchi con un numero ridotto (in genere esattamente 2) di elementi dell'elenco e, di conseguenza, la loro trasparenza. (504347)

Versione 1.1.0-alpha03

10 agosto 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03 e androidx.wear.compose:compose-navigation:1.1.0-alpha03 sono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto un nuovo stile contornato per Chips e Buttons e nuovi composable OutlinedChip e OutlinedButton che forniscono un Chip/Button trasparente con un bordo sottile. (Id5972)

Modifiche alle API

  • Aggiunta di overload per la modifica delle forme dei pulsanti (Icccde)

Correzioni di bug

  • Abbiamo corretto le dimensioni dell'area di controllo del pulsante di attivazione/disattivazione di ToggleChip perché non corrispondevano alle specifiche UX. Le specifiche UX prevedono uno spazio di 4 dp tra l'etichetta e un'area dell'icona di controllo del pulsante di attivazione/disattivazione di 24 x 24 dp, per una larghezza totale di 28 dp. Tuttavia, l'implementazione fornisce erroneamente l'area di controllo del pulsante di attivazione/disattivazione 36x24.dp. In questo modo, vengono sottratti 8 dp di area utilizzabile per l'etichetta di testo. NOTA: questa correzione di bug offre spazio aggiuntivo per l'etichetta di testo e di conseguenza può influire (positivamente) sul layout del testo per il testo in overflow. Se hai test degli screenshot che includono ToggleChips, potrebbe essere necessario aggiornarli. (I514c8, b/240548670)

Versione 1.1.0-alpha02

27 luglio 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02 e androidx.wear.compose:compose-navigation:1.1.0-alpha02 sono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Abbiamo cambiato le dipendenze di Compose for Wear OS dalle librerie Compose di base dalla versione 1.2.0 alla 1.3.0-alpha0X

Modifiche alle API

  • Aggiunti overload per la modifica delle forme dei chip (I02e87)

Correzioni di bug

  • Abbiamo animato la visibilità della vignetta quando viene mostrato/nascosto Dialogo, in modo che sia coerente con l'animazione di ridimensionamento esistente. (Ida33e)
  • Abbiamo corretto un bug per cui si poteva verificare una divisione per zero con alcuni comportamenti di scorrimento. (I86cb6)
  • È stato corretto un bug in ChipDefaults.childChipColor() per garantire che il colore di sfondo disattivato sia completamente trasparente. (I2b3c3, b/238057342)

Versione 1.1.0-alpha01

29 giugno 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01 e androidx.wear.compose:compose-navigation:1.1.0-alpha01 sono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.

Modifiche alle API

  • Il parametro contentDescription del selettore ora viene utilizzato solo per l'opzione del selettore selezionata e accetta una stringa nullable (in precedenza era necessario passare una mappatura dall'opzione alla descrizione dei contenuti, ma veniva utilizzata solo l'opzione selezionata). (Ife6a7)
  • Abbiamo apportato miglioramenti all'accessibilità del selettore in modo che le schermate di selezione multipla siano navigabili con gli screen reader e la descrizione dei contenuti sia accessibile (I64edb).

Correzioni di bug

  • Abbiamo aggiornato le regole del profilo di base incluse nella libreria Wear Compose (I9c694)
  • Abbiamo corretto la direzione del gradiente per i chip in modalità da destra a sinistra. Era dall'alto a sinistra verso il basso a destra, ora è dall'alto a destra verso il basso a sinistra. (Ic2e77)
  • Abbiamo aggiornato i gradienti predefiniti per Chip/ToggleChip/Card per allinearli alle ultime specifiche UX. ChipDefaults.gradientBackgroundChipColors è stato aggiornato per iniziare dal 50% del colore principale anziché dal 32,5%. CardDefaults.cardBackgroundPainter è stato aggiornato in modo che inizi dal 30% del colore principale e termini al 20% di onSurfaceVariant (in precedenza era dal 20% al 10% di onSurfaceVariant). ToggleChip.toggleChipColors passa da una sfumatura lineare dal 75% di superficie al 32,5% di colore principale, allo 0% di superficie e al 50% di colore principale. (I43bbd)
  • Abbiamo aggiunto un colore di sfondo (MaterialTheme.color.surface) dietro Chip/ToggleChips con sfondi sfumati per garantire che siano visibili correttamente nell'improbabile eventualità che venga utilizzato un colore chiaro dietro. (Ibe1a4, b/235937657)
  • Gli elementi del selettore ora sono sempre allineati al centro, correggendo un bug che si verificava quando l'impostazione gradientRatio era pari a zero e che aveva l'effetto collaterale di modificare l'allineamento. (I712b8)

Versione 1.0

Versione 1.0.2

7 settembre 2022

androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2 e androidx.wear.compose:compose-navigation:1.0.2 sono rilasciati. La versione 1.0.2 contiene questi commit.

Correzioni di bug

  • Abbiamo corretto l'ordine Z degli indicatori di posizione e pagina nello scaffold. Gli indicatori ora si trovano sopra la vignetta e quindi non vengono oscurati dalla vignetta, se presente. (Ib988f, b/244207528)

Versione 1.0.1

24 agosto 2022

androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1 e androidx.wear.compose:compose-navigation:1.0.1 sono rilasciati. La versione 1.0.1 contiene questi commit.

Correzioni di bug

  • Correzione di un bug logico in ScalingLazyColumn che potrebbe impedire il completamento dell'inizializzazione degli elenchi con un numero ridotto (in genere esattamente 2) di elementi dell'elenco e, di conseguenza, la loro trasparenza. (076c61)

Versione 1.0.0

27 luglio 2022

androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0 e androidx.wear.compose:compose-navigation:1.0.0 sono rilasciati. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

  • Questa è la prima release stabile di Compose per Wear OS (scopri di più).
  • Compose for Wear OS si basa sulle librerie Compose di base e fornisce componenti aggiuntivi specifici per i dispositivi indossabili e, se opportuno, implementazioni alternative dei componenti Compose di base personalizzate per i dispositivi indossabili.
  • Per un elenco dei componenti chiave di Wear Compose, consulta le note di rilascio di (Compose for Wear OS Beta01).

Correzioni di bug

  • Abbiamo animato la visibilità della vignetta quando viene mostrato/nascosto Dialogo, in modo che sia coerente con l'animazione di ridimensionamento esistente. (Ida33e)
  • Abbiamo corretto un bug per cui si poteva verificare una divisione per zero con alcuni comportamenti di scorrimento. (I86cb6)
  • È stato corretto un bug in ChipDefaults.childChipColor() per garantire che il colore di sfondo disattivato sia completamente trasparente. (I2b3c3, b/238057342)

Versione 1.0.0-rc02

22 giugno 2022

androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02 e androidx.wear.compose:compose-navigation:1.0.0-rc02 sono rilasciati. La versione 1.0.0-rc02 contiene questi commit.

Correzioni di bug

  • Abbiamo corretto la direzione del gradiente per le schede in modalità da destra a sinistra (RTL). Prima era dall'alto a sinistra verso il basso a destra, ora è dall'alto a destra verso il basso a sinistra. (Ic2e77)
  • Abbiamo aggiornato i gradienti predefiniti per Chip/ToggleChip/Card per allinearli alle ultime specifiche UX. ChipDefaults.gradientBackgroundChipColors è stato aggiornato per iniziare dal 50% del colore principale anziché dal 32,5%. CardDefaults.cardBackgroundPainter è stato aggiornato per iniziare dal 30% del colore principale e terminare al 20% di onSurfaceVariant (in precedenza era dal 20% al 10% su SurfaceVariant). ToggleChip.toggleChipColors passa da una sfumatura lineare del 75% di superficie al 32,5% di colore principale, allo 0% di superficie e al 50% di colore principale. (I43bbd)
  • Abbiamo aggiunto un colore di sfondo (MaterialTheme.color.surface) dietro Chip/ToggleChips con sfondi sfumati per garantire che siano visibili correttamente nell'improbabile eventualità che venga utilizzato un colore chiaro dietro. (Ibe1a4, b/235937657)
  • Abbiamo aggiornato le regole del profilo di base incluse nella libreria Wear Compose (I9c694)

Versione 1.0.0-rc01

15 giugno 2022

androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01 e androidx.wear.compose:compose-navigation:1.0.0-rc01 sono rilasciati. La versione 1.0.0-rc01 contiene questi commit.

Modifiche alle API

  • Le interfacce nelle librerie Compose ora sono create utilizzando i metodi di interfaccia predefiniti di jdk8 (I5bcf1)

Correzioni di bug

  • Abbiamo rimosso la chiamata esplicita a fillMaxWidth() nell'intestazione dell'elenco perché non è necessaria e può causare problemi se un ScalinglazyColumn ha una combinazione di componenti ListHeader() e Chip(), poiché la larghezza tende ad aumentare/diminuire quando gli elementi ListHeader vengono visualizzati/nascosti. (I37144, b/235074035)
  • Abbiamo corretto un bug in ScalingLazyColumn che poteva causare il mancato disegno corretto degli elementi dell'elenco fino allo scorrimento se il primo elemento dell'elenco era sufficientemente grande (incluso il padding) (Ic6159, b/234328517)
  • Abbiamo apportato una piccola modifica all'ScalingLazyColumn quando gli elementi raggiungono il bordo dello schermo per adattarsi agli aggiornamenti delle specifiche UX. Valori precedenti CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> nuovi valori CubicBezierEasing(0.3f, 0f, 0.7f, 1f). Per mantenere il comportamento precedente, puoi eseguire l'override di scalingParams di ScalingLazyColumn (Ie375c).
  • Abbiamo aggiunto spaziatura interna a CompactChip per garantire che le dimensioni del target di tocco siano almeno di 48 dp di altezza, in modo da rispettare le linee guida per l'accessibilità di Material. Ciò potrebbe influire su tutti i layout che utilizzano CompactChips, in quanto occuperanno spazio aggiuntivo. (I3d57c)

Versione 1.0.0-beta03

1 giugno 2022

androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03 e androidx.wear.compose:compose-navigation:1.0.0-beta03 sono rilasciati. La versione 1.0.0-beta03 contiene questi commit.

Nuove funzionalità

  • Abbiamo reso disponibile ScalingLazyColumn in modalità @Preview. (I3b3b6, b/232947354)

Modifiche alle API

  • Abbiamo modificato il valore predefinito della proprietà ScalingLazyColumn.horizontalAlignment da Inizio a CenterHorizontally per garantire che gli elementi dell'elenco non riempiano l'intera larghezza della colonna e siano allineati per la massima visibilità. Per tornare al set di comportamenti precedente horizontalAlignment = Alignment.Start.(I9ed4b)

Problemi noti

  • L'altezza del tocco/tocco di CompactChip è inferiore alle linee guida per l'accessibilità di Material. Questo problema verrà corretto nella prossima release (15 giugno). Se utilizzi CompactChip, questo influenzerà i tuoi layout, in quanto ora CompactChip avrà un padding aggiuntivo sopra e sotto. Modifica e testa i layout o consulta i commenti relativi al bug per una soluzione alternativa per utilizzare il comportamento esistente. (b/234332135)

Correzioni di bug

  • Nuova demo per animare l'aggiunta o la rimozione di un testo iniziale su un TimeText. (I16d75)
  • Aggiungi test per HorizontalPageIndicator.PagesState (I64ed0)
  • Aggiornamento di TimeText in linea con le specifiche UX (Ib7ea1)

Versione 1.0.0-beta02

18 maggio 2022

androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02 e androidx.wear.compose:compose-navigation:1.0.0-beta02 sono rilasciati. La versione 1.0.0-beta02 contiene questi commit.

Nuove funzionalità

  • Ora il selettore risponde sempre agli eventi di scorrimento anche in modalità di sola lettura. In questo modo gli utenti non devono prima selezionare un selettore toccandolo prima di poter scorrere. In modalità di sola lettura, le opzioni diverse da quella attualmente selezionata sono oscurate da un riempimento in gradientColor. (I72925)
  • Abbiamo modificato il comportamento dell'esperienza utente di Chip/ToggleChip/CompactChip/SplitToggleChip per impedire l'esecuzione di fillMaxWidth per impostazione predefinita. Al contrario, si espanderanno per adattarsi ai contenuti. Per mantenere il comportamento precedente, aggiungi semplicemente modifier = Modifier.fillMaxWidth()(I60a2c, b/232206371)

Correzioni di bug

  • Il costruttore CurvedTextStyle che accetta un TextStyle ora rispetta anche fontWeight. Questo potrebbe essere aggiunto ai metodi di copia e al costruttore nelle revisioni future dell'API. (Ieebb9)
  • Miglioramenti dello scorrimento dai bordi. Quando viene utilizzato Modifier.edgeSwipeToDismiss e viene attivato uno scorrimento verso sinistra dall'area del bordo, lo scorrimento per chiudere non viene più attivato quando la direzione dello scorrimento cambia verso destra. In precedenza, era possibile attivare lo scorrimento per chiudere scorrendo verso sinistra e poi verso destra.(I916ea)
  • HorizontalPageIndicator ora mostra fino a 6 pagine sullo schermo. Se ci sono più di 6 pagine in totale, viene visualizzato un indicatore a metà pagina a sinistra o a destra, con una transizione fluida tra le pagine.(I2ac29)
  • Miglioramento del comportamento di snap predefinito su ScalingLazyColumn e Picker (I49539)
  • Miglioramenti dello scorrimento dai bordi. Quando viene utilizzato Modifier.edgeSwipeToDismiss, lo scorrimento per chiudere viene attivato solo quando il primo tocco avviene sul bordo e si scorre verso destra. In precedenza, era possibile attivare lo scorrimento per chiudere scorrendo da qualsiasi parte dello schermo se uno scorrimento raggiunge l'inizio.(I8ca2a)

Versione 1.0.0-beta01

11 maggio 2022

androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01 e androidx.wear.compose:compose-navigation:1.0.0-beta01 sono rilasciati. La versione 1.0.0-beta01 contiene questi commit.

Contenuto di Compose per Wear OS 1.0

La versione 1.0.0-beta01 di Compose for Wear OS segna una tappa importante, in quanto la libreria è completa e l'API è bloccata.

I componenti di Wear Compose Material nella versione 1.0 includono:

  • Tema Material: utilizzato in sostituzione di Compose for Mobile MaterialTheme, fornisce i colori, le forme e la tipografia per la creazione di componenti su dispositivi indossabili che implementano le linee guida UX di Wear Material Design pronte all'uso.
  • Button, CompactButton e ToggleButton: il pulsante offre un singolo spazio per inserire un'icona, un'immagine o un breve testo (massimo 3 caratteri). Di forma circolare con dimensioni consigliate per pulsanti predefiniti, grandi o piccoli. CompactButton offre un singolo spazio per inserire qualsiasi contenuto (icona, immagine o testo) ed è di forma circolare con dimensioni dello sfondo molto piccole. CompactButton ha un padding trasparente facoltativo intorno allo sfondo che aumenta l'area selezionabile. ToggleButton è un pulsante che offre un singolo spazio per inserire qualsiasi contenuto (testo breve, icona o immagine) e ha stati di attivazione/disattivazione (selezionato/deselezionato) con colori e icone diversi per mostrare se è selezionato o meno
  • Schede: utilizzate per visualizzare informazioni sulle applicazioni, ad esempio le notifiche. Design flessibile per diversi casi d'uso con AppCard e TitleCard che offrono layout diversi e supporto per le immagini come contenuti delle schede o sfondi.
  • Chip: componenti a forma di stadio simili ai pulsanti, ma con un'area più ampia e più slot per consentire l'inserimento di etichette, etichette secondarie e icone. In diverse dimensioni e con il supporto delle immagini come sfondi.
  • ToggleChips e SplitToggleChips: un chip con uno stato selezionato/deselezionato e l'aggiunta di uno slot ToggleControl per mostrare un'icona come un interruttore o un pulsante di opzione per mostrare lo stato selezionato del componente. Inoltre, il SplitToggleChip ha due aree toccabili, una cliccabile e una attivabile/disattivabile.
  • CircularProgressIndicator: indicatore di avanzamento Wear Material con due varianti. Il primo esprime la proporzione di completamento di un'attività in corso e supporta un intervallo nella traccia circolare tra gli angoli iniziale e finale. Il secondo indica un avanzamento indeterminato per un tempo di attesa non specificato.
  • curvedText: fa parte del DSL per la descrizione di CurvedLayouts, insieme a curvedRow e curvedColumn, per disporre i componenti intorno ai dispositivi circolari. Per maggiori dettagli su CurvedLayout e CurvedModifier (che svolge un ruolo simile ai modificatori nel mondo non curvo e consente la configurazione di vari aspetti di layout, spaziatura interna, gradienti e così via), vedi Wear Component Foundation di seguito.
  • Finestra di dialogo, avviso e conferma: la finestra di dialogo mostra una finestra di dialogo a schermo intero, sovrapposta a qualsiasi altro contenuto, e supporta lo scorrimento per chiudere. Occupa un singolo spazio che dovrebbe contenere contenuti della finestra di dialogo Material per Wear, come avvisi o conferme. L'avviso è un contenuto di dialogo con spazi per icona, titolo e messaggio. Ha overflow per due pulsanti negativi e positivi visualizzati uno accanto all'altro o uno spazio per uno o più chip impilati verticalmente. La conferma è un contenuto della finestra di dialogo che mostra un messaggio per una determinata durata. Ha uno spazio per un'icona o un'immagine (che può essere animata).
  • HorizontalPageIndicator: mostra la posizione orizzontale della pagina in modo appropriato per il fattore di forma indossabile. Progettato per occupare l'intero schermo e mostrare un indicatore curvo sui dispositivi rotondi. Può essere utilizzato con il visualizzatore di pagine di Accompanist.
  • Icona: un'implementazione di Icona per Wear che prende il colore e l'alfa dal tema Material di Wear. Per un'icona su cui è possibile fare clic, vedi Pulsante o Chip.
  • Selettore: mostra un elenco scorribile di elementi tra cui scegliere. Per impostazione predefinita, gli elementi vengono ripetuti "all'infinito" in entrambe le direzioni. Può essere visualizzato in modalità di sola lettura per nascondere le opzioni non selezionate.
  • PositionIndicator: mostra la posizione di scorrimento o un'altra indicazione di posizione in modo appropriato per il fattore di forma del dispositivo indossabile. Progettato per occupare l'intero schermo e mostra un indicatore curvo sui dispositivi rotondi.
  • Scaffold: implementa la struttura di base del layout visivo di Wear Material Design. Questo componente fornisce un'API per assemblare diversi componenti Wear Material (come TimeText, PositionIndicator e Vignette) che compongono la schermata, garantendo una strategia di layout corretta e raccogliendo i dati necessari affinché questi componenti funzionino correttamente insieme.
  • ScalingLazyColumn: un componente di elenco scorrevole con effetto scalatura/occhio di pesce che costituisce una parte fondamentale del linguaggio di progettazione Material per Wear. Fornisce effetti di ridimensionamento e trasparenza agli elementi dei contenuti. ScalingLazyColumn è progettato per gestire un numero potenzialmente elevato di elementi di contenuti, che vengono materializzati e composti solo quando necessario.
  • Cursore: consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene visualizzato come una barra, che può essere visualizzata facoltativamente con i separatori.
  • Stepper: un componente a schermo intero che consente agli utenti di effettuare una selezione da un intervallo di valori, utilizzando i pulsanti di aumento/diminuzione nella parte superiore e inferiore dello schermo, con uno spazio al centro per il testo o un chip.
  • SwipeToDismissBox: gestisce il gesto di scorrimento per ignorare. Occupa un solo spazio per lo sfondo (visualizzato solo durante lo scorrimento) e i contenuti in primo piano. Può essere combinato facoltativamente con la libreria di navigazione androidx utilizzando SwipeDismissableNavHost (vedi la libreria di navigazione Wear Compose di seguito).
  • Testo: un'implementazione Wear del componente di testo Material di Compose, che prende il colore e l'alfa dal tema Material di Wear
  • TimeText: un componente per mostrare l'ora e lo stato dell'applicazione nella parte superiore dello schermo. Si adatta alla forma dello schermo utilizzando testo curvo sugli schermi rotondi.
  • Vignetta: un trattamento dello schermo da utilizzare nello Scaffold che sfoca la parte superiore e inferiore dello schermo quando vengono utilizzati contenuti scorrevoli.

  • Sono inclusi anche i seguenti componenti di Wear Compose Foundation:

  • CurvedLayout - Wear Foundation CurvedLayout è un composable di layout che posiziona i suoi elementi secondari in un arco, ruotandoli in base alle necessità. È simile a un layout a riga curvato in un segmento di un anello. Tieni presente che il contenuto di un CurvedLayout non è una lambda componibile, ma una DSL (lingua specifica del dominio). Tutti gli elementi nel DSL di CurvedLayout supportano un parametro modificatore facoltativo, creato da CurvedModifier.

  • basicCurvedText: un elemento nel DSL CurvedLayout, basicCurvedText consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare). basicCurvedText può essere creato solo all'interno di CurvedLayout per garantire la migliore esperienza, ad esempio la possibilità di specificare il posizionamento e l'utilizzo di CurvedModifiers. Tieni presente che nella maggior parte dei casi è consigliabile utilizzare curvedText, poiché utilizza i temi Material.

  • curvedComposable: esegue il wrapping dei contenuti componibili normali in modo che possano essere utilizzati con CurvedLayout. Se curvedComposable contiene più elementi, questi verranno disegnati uno sopra l'altro (come una scatola). Per posizionare più composable lungo una curva, racchiudili in curvedComposable.

  • curvedRow e curvedColumn: simili a Row e Column, curvedRow e curvedColumn possono essere nidificati all'interno di un CurvedLayout per disporre gli elementi in base alle esigenze. Per un curvedRow, è possibile specificare la direzione del layout angolare e l'allineamento radiale. Per un curvedColumn, è possibile specificare l'allineamento angolare e la direzione radiale.

  • CurvedModifier: tutti i componenti curvi accettano un parametro di modifica che può essere creato utilizzando CurvedModifier. Sono supportati sfondo, dimensioni, spessore e spaziatura interna.

  • Da Wear Compose Navigation è incluso anche il seguente componente:

  • SwipeDismissableNavHost: fornisce un punto nella gerarchia di Compose in cui si verifica la navigazione autonoma, con la navigazione all'indietro fornita da un gesto di scorrimento. I contenuti vengono visualizzati all'interno di un SwipeToDismissBox, che mostra il livello di navigazione corrente. Durante un gesto di scorrimento per chiudere, il livello di navigazione precedente (se presente) viene mostrato in background.

  • Per ulteriori dettagli su ciò che è stato rilasciato, consulta le note di rilascio precedenti per le varie versioni alpha.

Modifiche alle API

  • Aggiunte funzioni CurvedModifier.padding*. Vengono utilizzati per specificare lo spazio aggiuntivo da aggiungere intorno a un componente curvo. (I4dbb4)
  • Rimozione della classificazione interna CompositionLocal (I42490)
  • Abbiamo aggiunto valori costanti per le dimensioni delle icone Button, CompactButton e ToggleButton, come indicazione (I57cab)
  • Aggiungi il parametro abilitato a AppCard e TitleCard. Ora hanno un'API simile alle schede androidx.compose.material. Se il parametro è impostato su false, non sarà possibile fare clic sulla scheda. (Idc48d, b/228869805)

Correzioni di bug

  • Lo stepper ora disattiva i pulsanti di decremento e incremento quando sono stati raggiunti i limiti inferiore/superiore (e applica ContentAlpha.disabled a iconColor) (I4be9f)
  • Abbiamo aggiunto un riempimento di 1 dp intorno ai contenuti del selettore quando vengono disegnati con un gradiente per evitare il jitter sul testo visualizzato durante lo scorrimento. (I0b7b9)
  • Aggiungi test degli screenshot per PositionIndicator (I5e8bc)
  • Aggiungi altri test per AppCard e TitleCard (I85391, b/228869805)

Versione 1.0.0-alpha21

20 aprile 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21 e androidx.wear.compose:compose-navigation:1.0.0-alpha21 sono rilasciati. La versione 1.0.0-alpha21 contiene questi commit.

Nuove funzionalità

  • Sono stati aggiunti nuovi modificatori curvi per specificare lo sfondo di un elemento curvo: CurvedModifier.background, .radialGradientBackground e .angularGradientBackground (I8f392)
  • Consente di specificare la modalità di overflow del testo curvo (taglio/ellissi/visibile). (I8e7aa)
  • È stato aggiunto il modificatore CurvedModifier.weight, simile a quello di Scrivi. Può essere utilizzato per i figli di curvedRow e CurvedLayout (per la larghezza) e per i figli di curvedColumn (per l'altezza). (I8abbd)
  • Sono stati aggiunti i modificatori CurvedModifier.size, .angularSize e .radialSize per specificare le dimensioni di un elemento curvo. (I623c7)

Modifiche alle API

  • Riordina i parametri per garantire che lo sfondo preceda il colore in modo coerente nell'API Wear Compose (I43208)
  • Sono stati rimossi i parametri clockwise e insideOut e sostituiti con costanti più espressive nelle nuove classi. La direzione del layout curvo ora può essere LayoutDirection e viene ereditata se non specificata (If0e6a)
  • Abbiamo sostituito autoCenter: Boolean con autoCenter: AutoCentringParams per risolvere un problema dell'API con ScalingLazyColumn. (Ia9c90)
  • Abbiamo rinominato iconTintColor e toggleControlTintColor in iconColor e toggleControlColor in tutta l'API (Chip/ToggleChip/Dialog/Slider/Stepper/...) perché il colore viene applicato allo slot icon/toggleControl. (Ied238)
  • Riscrivi l'enum PageIndicatorStyle nella classe di valori (I2dc72)
  • Abbiamo aggiunto RowScope/ColumnScope/BoxScope ad alcuni slot dei nostri componenti componibili per indicare agli sviluppatori quali sono i presupposti dei layout. In questo modo, gli sviluppatori potranno utilizzare modificatori aggiuntivi su alcuni contenuti degli slot ed evitare di fornire elementi di layout aggiuntivi. Inoltre, abbiamo apportato alcuni aggiornamenti minori ai colori di AppCard/TitleCard, in modo che timeColor e appColor abbiano come valore predefinito contentColor. Se necessario, è comunque possibile eseguire l'override di tutte queste proprietà singolarmente. (I26b59)
  • Oggetto SwipeToDismissBoxState.Companion reso privato (I39e84)
  • Correggi l'ordine dei parametri per InlineSlider e Stepper. Una semplice modifica per rispettare le linee guida delle API (I11fec)
  • Abbiamo rimosso l'oggetto Risparmio per SwipeToDismissBoxState perché non è stato utilizzato. (Ifb54e)
  • Abbiamo aggiornato CompactChip per allinearlo alle specifiche UX più recenti. Il padding è stato ridotto a orizzontale = 12 dp e verticale = 0 dp. Il carattere dell'etichetta è stato modificato da pulsante a didascalia1. Le dimensioni consigliate per le icone sono 20 x 20 quando sono presenti sia l'icona che l'etichetta e 24 x 24 per un chip compatto solo con l'icona. Per il caso d'uso solo con l'icona, abbiamo anche fatto in modo che l'icona sia allineata al centro. (Iea2be)
  • Abbiamo aggiunto una serie di nuovi campi a ScalingLazyListLayoutInfo per consentire agli sviluppatori di conoscere l'importo di contentPadding e autoCenteringPadding che è stato applicato. Questi valori possono essere utili agli sviluppatori per calcolare lo scorrimento (I7577b).
  • Abbiamo implementato le transizioni di entrata/uscita per Dialog. È stato aggiunto un parametro showDialog e ora la finestra di dialogo controlla la propria visibilità (in questo modo la finestra di dialogo può eseguire le animazioni di introduzione e chiusura quando viene mostrata/nascosta). Tieni presente che l'animazione finale non viene eseguita quando l'utente esce dalla finestra di dialogo tramite scorrimento per chiudere. Abbiamo anche aggiunto un valore predefinito per lo stato nell'overload SwipeToDismissBox aggiunto di recente. (I682a0)
  • Per supportare meglio l'internazionalizzazione e l'accessibilità, abbiamo modificato ToggleChip e SplitToggleChip in modo che non abbiano più un valore predefinito per lo slot toggleControl. Abbiamo anche modificato ToggleChipDefaults in modo che i seguenti metodi restituiscano ora ImageVector anziché Icon (tieni presente che, poiché non restituiscono più @Composables, iniziano con la lettera minuscola), SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon() e RadioIcon()->radioIcon(). In questo modo, gli sviluppatori possono creare i propri composable Icon() con un set contentDescription appropriato. (I5bb5b)
  • Abbiamo aggiunto un parametro SwipeDismissableNavHostState a SwipeDismissableNavHost. Ciò supporta l'utilizzo dello scorrimento dai bordi sugli schermi utilizzati come destinazioni di navigazione, perché ora SwipeToDismissBoxState può essere sollevato e utilizzato per inizializzare sia SwipeDismissableNavHostState sia Modifier.edgeSwipeToDismiss sugli schermi che richiedono lo scorrimento dai bordi. (I819f5, b/228336555)

Correzioni di bug

  • Assicurati che i layout curvi vengano aggiornati quando necessario. (Ie8bfa, b/229079150)
  • Correzione di bug per https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
  • Sono state rimosse le annotazioni sperimentali non necessarie (I88d7e).

Versione 1.0.0-alpha20

6 aprile 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20 e androidx.wear.compose:compose-navigation:1.0.0-alpha20 sono rilasciati. La versione 1.0.0-alpha20 contiene questi commit.

Nuove funzionalità

  • Aggiungi il modificatore edgeSwipeToDismiss per SwipeToDismiss. Consente l'attivazione di swipeToDismiss solo sul bordo sinistro dell'area visibile. Utilizzato quando il centro dello schermo deve essere in grado di gestire lo scorrimento orizzontale, ad esempio lo scorrimento bidimensionale di una mappa o lo scorrimento orizzontale tra le pagine.(I3fcec, b/200699800)

Modifiche alle API

  • Implementazione di base di CurvedModifiers, che apre la strada all'introduzione di modi per personalizzare i contenuti curvi (ma non sono ancora disponibili CurvedModifiers e la possibilità di creare modificatori personalizzati potrebbe essere disponibile in un secondo momento) (I9b8df)
  • EdgeSwipeAggiornamento della documentazione sui modificatori e dei valori predefiniti per una migliore comprensione .(I6d00d)
  • Aggiungi lo slot PageIndicator a Scaffold. Aggiungendo PageIndicator direttamente in Scaffold, possiamo assicurarci che venga visualizzato correttamente sui dispositivi circolari. (Ia6042)
  • Rimuovi le icone predefinite dai parametri InlineSlider e Stepper. In questo modo gli sviluppatori potranno prestare maggiore attenzione ai requisiti di localizzazione e accessibilità. Gli utilizzi delle icone predefinite sono stati mostrati nelle demo e nei campioni. (I7e6fd)
  • Sostituisci i nomi dei parametri iniziali e finali con Start e End in TimeText (Iaac32)
  • Abbiamo aggiunto un overload SwipeToDismissBox con un parametro onDismissed per supportare l'utilizzo comune dell'attivazione di un evento di navigazione al termine del gesto di scorrimento. (I50353, b/226565726)
  • Rimozione di ExperimentalWearMaterialApi annotazioni dall'utilizzo di TimeText (Ide520)
  • Abbiamo contrassegnato le interfacce di ambito e informazioni di ScalingLazyList/Column come sigillate, in quanto non sono destinate all'implementazione da parte di sviluppatori esterni. Ciò ci consentirà di aggiungere nuovi membri in futuro senza modifiche che causano interruzioni binarie. (I7d99f)
  • Abbiamo aggiunto una nuova proprietà flingBehaviour al selettore e un metodo PickerDefaults.flingBehaviour() per abilitare la configurazione del comportamento di scorrimento, ad esempio l'aggiunta del supporto RSB. PickerState ora implementa l'interfaccia ScrollableState. (Ib89c7)

Correzioni di bug

  • Aggiorna le regole del profilo di base di Android Runtime (ART) per le librerie Wear Compose. ART può sfruttare le regole del profilo sui dispositivi per compilare in anticipo un sottoinsieme specifico dell'applicazione per migliorarne le prestazioni. Tieni presente che questa operazione non avrà alcun effetto sulle applicazioni sottoposte a debug. (Iaa8ef)
  • Migliorare la documentazione (I2c051)

Versione 1.0.0-alpha19

23 marzo 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19 e androidx.wear.compose:compose-navigation:1.0.0-alpha19 sono rilasciati. La versione 1.0.0-alpha19 contiene questi commit.

Modifiche alle API

  • CurvedRow è stato rinominato CurvedLayout e rielaborato per essere un ambito con un DSL. Utilizzando questo DSL, è possibile specificare layout curvi più complessi utilizzando una serie di curvedRow e curvedColumn nidificati (che sono gli equivalenti di riga e colonna per i layout curvi). All'interno di questi elementi di layout, è possibile utilizzare tre elementi: curvedComposable (per aggiungere qualsiasi @Composable), basicCurvedText (testo curvo di base) e curvedText (testo curvo che tiene conto del materiale di usura). (Ib776a)
  • Rendi configurabile il lato per PositionIndicator. Ora è possibile configurare la posizione dell'indicatore di posizione di base in modo che sia alla fine (in base alla direzione del layout), opposta alla barra laterale destra (tenendo conto della rotazione dello schermo, in modo da posizionarsi in modo opposto alla barra laterale destra fisica) o nelle posizioni assolute sinistra e destra. (I2f1f3)
  • Per SwipeToDismissBox, abbiamo rinominato SwipeDismissTarget.Original in SwipeToDismissValue.Default e SwipeDismissTarget.Dismissal in SwipeToDismissValue.Dismissed. Abbiamo anche spostato SwipeToDismissBoxDefaults.BackgroundKey e SwipeToDismissBoxDefaults.ContentKey rispettivamente in SwipeToDismissKeys.Background e SwipeToDismissKeys.Content. (I47a36)
  • Abbiamo aggiunto una modalità di sola lettura al selettore per le schermate con più selettori in cui è possibile modificare un solo selettore alla volta. Quando il selettore è di sola lettura, mostra l'opzione attualmente selezionata e un'etichetta, se ne è stata fornita una. (I879de)
  • SwipeToDismissBoxState è stato sottoposto a refactoring per limitare l'ambito di ExperimentalWearMaterialApi a Modifier.swipeable e SwipeableState, che ora vengono utilizzati internamente. SwipeToDismissBoxState ora ha currentValue, targetValue, isAnimationRunning e snapTo membri per supportare i casi d'uso comuni. Comunicaci se hai bisogno di altre proprietà. È stato corretto anche il comportamento di SwipeableState nel caso in cui l'offset di scorrimento rientri in un errore di arrotondamento di un ancoraggio. (I58302)

Correzioni di bug

  • Codice semplificato e corretto per rilevare se è possibile scorrere i contenuti di un ScalingLazyColumn (utilizzato per decidere se visualizzare o meno una barra di scorrimento) (I7bce0)
  • È stato corretto un bug nell'indicatore di posizione quando viene utilizzato con più di uno stato e si passa da uno all'altro (I320b5)
  • Abbiamo aggiornato la tipografia/i caratteri del tema predefinito di Compose for Wear OS in modo che corrispondano alle nostre ultime indicazioni UX. Da notare che display1 (40.sp) e display2 (34.sp) ora sono più piccoli dei valori precedenti e sono stati apportati vari altri aggiornamenti minori all'altezza e alla spaziatura delle righe. (Ie3077)
  • Abbiamo aggiunto resistenza a SwipeToDismissBox in modo che il movimento si verifichi solo quando scorri per chiudere e non nella direzione opposta. (Ifdfb9)
  • Abbiamo modificato alcuni valori predefiniti dei parametri per le funzioni CircularProgressIndicator per allinearli alle linee guida UX di Wear Material Design. Per la versione con indicatore di caricamento/indeterminato, sono stati aggiornati le dimensioni (da 40 a 24 dp), il colore dell'indicatore (da primary a onBackground), la trasparenza del colore della traccia (da 30% a 10%) e la larghezza del tratto (da 4 a 3 dp). Per la versione Progress/Determinate, la trasparenza di trackColor (dal 30% al 10%) è stata aggiornata. (I659cc)
  • Abbiamo aggiornato i parametri di scalabilità predefiniti di ScalingLazyColumn in linea con le ultime specifiche UX di Wear Material Design. A livello visivo, gli elementi dell'elenco vengono scalati più vicino al centro dell'elenco, ma la scalabilità è inferiore rispetto a prima sul bordo dell'elenco. (Ica8f3)
  • Alcuni aggiustamenti a ScalingLazyColumnDefaults.snapFlingBehavior per migliorare la fine dell'animazione (If3260)

Versione 1.0.0-alpha18

9 marzo 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18 e androidx.wear.compose:compose-navigation:1.0.0-alpha18 sono rilasciati. La versione 1.0.0-alpha18 contiene questi commit.

Modifiche alle API

  • Diversi miglioramenti a PositionIndicator: ShowResult è stato rinominato PositionIndicatorVisibility. Alcuni miglioramenti delle prestazioni per evitare ricalcoli quando non necessari (Iaed9d)
  • La colorazione consigliata per SplitToggleChip è stata aggiornata. Ora i SplitToggleChip hanno uno sfondo a tinta unita quando sono selezionati o deselezionati, mentre la colorazione di ToggleControl è l'indicazione principale per capire se il componente è selezionato o meno. Abbiamo aggiunto un nuovo ToggleDefaults.splitToggleChipColors() per supportare la nuova combinazione di colori. Abbiamo anche semplificato i metodi toggleChipColors() rimuovendo splitBackgroundOverlayColor (I7e66e).
  • Abbiamo aggiunto unadjustedSize a ScalingLazyListItemInfo perché non è sicuro calcolare le dimensioni originali dell'articolo utilizzando le dimensioni scalate e il fattore di scalabilità a causa della precisione dei calcoli con numeri in virgola mobile. (I54657, b/221079441)
  • Aggiungi HorizontalPageIndicator. Rappresenta il numero totale di pagine e una pagina selezionata. Potrebbe essere lineare o curvo, a seconda della forma del dispositivo. Supporta anche la forma personalizzata dell'indicatore, che definisce la rappresentazione visiva di ogni indicatore. (Iac898)
  • Abbiamo aggiornato PickerState in modo che numberOfOptions possa essere aggiornato. Ciò supporta casi d'uso come un DatePicker, in cui il numero di giorni del mese cambia a seconda del mese selezionato. Il parametro del costruttore per PickerState è stato modificato in initialNumberOfOptions di conseguenza. (Iad066)
  • Nascondi PositionIndicator quando è una barra di scorrimento e non è possibile scorrere. (Id0a7f)
  • Per garantire la coerenza con Scaffold, il nostro componente Dialogo a schermo intero ora mostra un PositionIndicator e un Vignette. Ora utilizziamo anche ScalingLazyColumn anziché Column, il che significa che i contenuti della finestra di dialogo si trovano ora in ScalingLazyListScope (e in genere devono essere racchiusi tra item { /* content */ }). Di conseguenza, la finestra di dialogo supporta il parametro verticalArrangement. (Idea13)
  • Abbiamo modificato il nome della proprietà toggleIcon di ToggleChip e SplitToggleChip in toggleControl per allinearlo meglio a Material Design e aiutare così designer e sviluppatori a navigare nell'API. (If5921, b/220129803)
  • Abbiamo aggiunto una nuova voce caption3 alla tipologia del tema Material Wear.Caption3 è un carattere piccolo utilizzato per i testi in formato lungo come i testi legali. (I74b13, b/220128356)

Correzioni di bug

  • Interrompi l'animazione di snapping quando arriviamo. (Idb69d)
  • Anima le modifiche in PositionIndicator. (I94cb9)
  • In base ai feedback sull'interfaccia utente e sull'esperienza utente, abbiamo modificato il ScalingLazyColumn centraggio automatico in modo che fornisca solo lo spazio sufficiente per garantire che gli elementi con indice ScalingLazyListState.initialCenterItemIndex o superiore possano essere completamente scorribili fino al centro del riquadro visibile. In questo modo, gli sviluppatori possono posizionare uno o due elementi inizialmente al centro, che non sono scorrevoli al centro. Ciò significa che un autoCenter'ing ScalingLazyColumn non potrà scorrere al di sopra di initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2)
  • Abbiamo aggiunto una demo per un selettore della data e corretto un bug in PickerState in cui l'opzione inizialmente selezionata non veniva applicata finché il selettore non veniva visualizzato. (Id0d7e)
  • Per ridurre il ritaglio degli elementi ScalingLazyColumn più larghi sugli schermi circolari, abbiamo aumentato il padding orizzontale predefinito dei contenuti da 8 a 10 dp. (I0d609)
  • Assicurati che PositionIndicator venga visualizzato durante lo scorrimento. (Ied9a2)

Versione 1.0.0-alpha17

23 febbraio 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17 e androidx.wear.compose:compose-navigation:1.0.0-alpha17 sono rilasciati. La versione 1.0.0-alpha17 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto il supporto degli snap che possono essere utilizzati con ScalingLazyColumn. Imposta flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) per attivare il supporto di snap. (I068d3, b/217377069)
  • Abbiamo aggiunto demo per il selettore utilizzato per selezionare un orario nel formato 24 ore o 12 ore. (Ie5552)

Modifiche alle API

  • Risolto un problema con gli stili e i caratteri personalizzati di TimeText sul dispositivo quadrato (Iea76e)
  • ScalingLazyListLayoutInfo ora ha le proprietà reverseLayout, viewportSize e di orientamento corrispondenti a quelle di LazyListLayoutInfo (I4f258, b/217917020)
  • ScalingLazyColumn ora ha una proprietà userScrollEnabled corrispondente a quella di LazyList (I164d0, b/217912513)
  • Per impostazione predefinita, i selettori ora hanno una sfumatura nella parte superiore e inferiore (Iab92a).

Correzioni di bug

  • Abbiamo modificato ScalingLazyColumn in modo che non occupi più tutto lo spazio del contenitore principale. Le dimensioni verranno invece determinate dalle dimensioni dei contenuti. In questo modo, il comportamento è coerente con quello di LazyColumn. Se vuoi ripristinare il vecchio comportamento, passa Modifier.fillMaxWidth()/width()/widthIn() a ScalingLazyColumn (I51bf8).
  • Abbiamo migliorato il messaggio di eccezione in SwipeDismissableNavHost.kt che veniva attivato se lo stack di navigazione era vuoto. (I1b1dc)

Versione 1.0.0-alpha16

9 febbraio 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16 e androidx.wear.compose:compose-navigation:1.0.0-alpha16 sono rilasciati. La versione 1.0.0-alpha16 contiene questi commit.

Nuove funzionalità

  • Aggiungi CircularProgressIndicator. Gli indicatori di avanzamento mostrano la durata di un processo o un tempo di attesa non specificato. Supporta uno spazio (intaglio) per TimeText o altri componenti se utilizzato a schermo intero. (Iab8da)

Modifiche alle API

  • I selettori ora hanno un parametro flingBehavior, il cui valore predefinito fa sì che si aggancino all'opzione più vicina durante lo scorrimento. (I09000)
  • API per numeri interi aggiuntiva per InlineSlider e Stepper (I1b5d6)

Correzioni di bug

  • Abbiamo modificato l'initialCenterItemIndex predefinito per ScalingLazyListState da 0 a 1. Ciò significa che, a meno che non venga sostituito nella costruzione dello stato con ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), il secondo elemento dell'elenco (index == 1) verrà posizionato al centro della visualizzazione all'inizializzazione e il primo (index == 0) verrà posizionato prima. In questo modo, l'effetto visivo predefinito è migliore, in quanto la maggior parte dell'area visibile è riempita con elementi di elenco. (I0c623, b/217344252)
  • Abbiamo ridotto il ScalingLazyColumn predefinito extraPadding fornito per garantire che ci siano molti elementi di elenco da cui attingere (anche quando riduciamo le dimensioni di alcuni di essi) dal 10% al 5%. In questo modo si evita di comporre elementi di elenco aggiuntivi che potrebbero non essere visualizzati nel riquadro. Se vengono utilizzati parametri scalingParams non standard (ad esempio, un ridimensionamento più estremo), lo sviluppatore può regolare il padding aggiuntivo utilizzando viewportVerticalOffsetResolver. (I76be4)
  • Risolvere un problema con TimeText su più righe su un dispositivo quadrato (Ibd3fb)
  • Abbiamo modificato ScalingLazyColumn in modo che non occupi più tutto lo spazio del contenitore principale. Le dimensioni verranno invece determinate dalle dimensioni dei contenuti. In questo modo, il comportamento è coerente con quello di LazyColumn. Se vuoi ripristinare il comportamento precedente, passa Modifier.fillMaxSize() a ScalingLazyColumn. NOTA: questa modifica è incompleta e verrà completata in una modifica successiva nella prossima release alpha. (I3cbfa)

Versione 1.0.0-alpha15

26 gennaio 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15 e androidx.wear.compose:compose-navigation:1.0.0-alpha15 sono rilasciati. La versione 1.0.0-alpha15 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto una nuova proprietà autoCentering a ScalingLazyColumn. Se impostato su true (valore predefinito), tutti gli elementi, inclusi il primo e l'ultimo, possono essere scorri in modo che siano visibili al centro della finestra di visualizzazione degli elenchi. Tieni presente che, se utilizzi il centraggio automatico, probabilmente vorrai impostare il padding dei contenuti verticali su 0 dp. Se vengono forniti sia il centraggio automatico sia il riempimento verticale dei contenuti, entrambi genereranno spazio aggiuntivo prima del primo e dopo l'ultimo elemento dell'elenco, consentendo di scorrere ancora più in basso. (I2a282, b/214922490)
  • Abbiamo aggiunto un componente Dialog che consente a qualsiasi elemento componibile di attivare una finestra di dialogo a schermo intero che si trova sopra gli altri contenuti. Quando viene visualizzata, la finestra di dialogo supporta lo scorrimento per chiuderla e mostra i contenuti del relativo elemento principale in background durante il gesto di scorrimento. I contenuti della finestra di dialogo devono essere Alert o Confirmation (rinominati dai componenti precedenti AlertDialog e ConfirmationDialog) - Alert, Confirmation e Dialog si trovano tutti nel pacchetto androidx.wear.compose.material.dialog. Avviso e Conferma possono essere utilizzati come destinazioni di navigazione. Inoltre, è stato aggiunto ColumnScope ai parametri di avviso e conferma, se necessario. (Ia9014)
  • Abbiamo rimosso onSurfaceVariant2 dai colori del tema Material di Compose per WearOS e sostituito gli utilizzi nella libreria con onSurfaceVariant. (Icd592)
  • È stato aggiunto un metodo per selezionare in modo programmatico un'opzione nel PickerState. Ora è possibile specificare anche l'opzione selezionata inizialmente durante la creazione di un PickerState. (I92bdf)
  • Abbiamo aggiunto il supporto per la personalizzazione del comportamento di scorrimento rapido di ScalingLazyColumn. (I1ad2e, b/208842968)
  • Abbiamo aggiunto NavController.currentBackStackEntryAsState() alla raccolta Wear.Compose.Navigation. (If9028, b/212739653)
  • Aggiunti Modifier.onRotaryScrollEvent() e Modifier.onPreRotaryScrollEvent() per i dispositivi Wear con un pulsante laterale rotante.(I18bf5, b/210748686)

Versione 1.0.0-alpha14

12 gennaio 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14 e androidx.wear.compose:compose-navigation:1.0.0-alpha14 sono rilasciati. La versione 1.0.0-alpha14 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto diversi metodi a ScalingLazyListState per consentire agli sviluppatori di controllare lo scorrimento di elementi specifici dell'elenco e di impostare l'elemento iniziale dell'elenco e l'offset.

    Nell'ambito di questa modifica, abbiamo anche modificato ScalingLazyList in modo che sia orientato al centro dell'area visibile di ScalingLazyList anziché all'inizio dell'area visibile.

    È stata aggiunta una nuova proprietà anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter a ScalingLazyList per controllare se il centro (ScalingLazyListAnchorType.ItemCenter) o Edge (ScalingLazyListAnchorType.ItemStart) deve essere allineato alla linea centrale del riquadro visibile.

    Di conseguenza, ScalingLazyListItemInfo.offset e ScalingLazyListItemInfo.adjustedOffset sono cambiati e ora riflettono l'offset dell'elemento rispetto sia alla posizione dell'elemento dell'elenco sia a anchorType dell'elenco. Ad esempio, per un ScalingLazyColumn con anchorType di ItemCenter e un elemento di elenco posizionato con il centro sulla linea centrale del riquadro visibile, l'offset sarebbe 0.

    I nuovi metodi sono scrollTo, animatedScrollTo, centerItemIndex e centerItemOffset. (I61b61)

  • Abbiamo aggiunto un gestore del pulsante Indietro a SwipeDismissableNavHost, in modo che la pressione del pulsante Indietro consenta di passare al livello precedente nella gerarchia di navigazione. (I5b086, b/210205624)

Versione 1.0.0-alpha13

15 dicembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13 e androidx.wear.compose:compose-navigation:1.0.0-alpha13 sono rilasciati. La versione 1.0.0-alpha13 contiene questi commit.

Modifiche alle API

  • Abbiamo reso RangeIcons interno (a cui fanno riferimento internamente InlineSlider e Stepper). (I927ec)

Correzioni di bug

  • È stato risolto un problema per cui SwipeDismissableNavHost aggiungeva una destinazione alla gerarchia di composizione prima che raggiungesse lo stato del ciclo di vita CREATED, causando un IllegalStateException. Questa correzione era un prerequisito per l'aggiornamento della dipendenza da navigation-compose a 2.4.0-beta02 e versioni successive. (I40a2b, b/207328687)

  • È stata aggiunta una classe enum Drawables per ottenere risorse disegnabili all'interno della libreria Wear Compose, in modo che la reflection non sia più necessaria. È stato corretto un bug che causava la rimozione delle risorse disegnabili della libreria quando minifyEnabled=true o shrinkResources=true). (Ib2a98)

  • Sono stati aggiunti test per Stepper in Wear Compose (I2d03a)

  • Sono stati aggiunti esempi per SwipeDismissableNavHost in Wear Compose Navigation. (I85f06)

Versione 1.0.0-alpha12

1° dicembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12 e androidx.wear.compose:compose-navigation:1.0.0-alpha12 sono rilasciati. La versione 1.0.0-alpha12 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto un componente Stepper che consente agli utenti di effettuare una selezione da un intervallo di valori. Lo stepper è un controllo a schermo intero con pulsanti di aumento e diminuzione nella parte superiore e inferiore e uno spazio al centro (previsto per un chip o un testo). Se necessario, le icone dei pulsanti possono essere personalizzate. (I625fe)

  • Abbiamo aggiunto due nuovi componenti componibili per la visualizzazione delle finestre di dialogo: AlertDialog attende una risposta dall'utente e mostra un titolo, un'icona, un messaggio e a) due pulsanti per scelte semplici positive/negative o b) chip o chip di attivazione/disattivazione impilati verticalmente per scelte più flessibili, ConfirmationDialog mostra un riconoscimento con un timeout. Questa semplice finestra di dialogo ha spazi per un titolo e un'icona (animata). (Ic2cf8)

Modifiche alle API

  • Aggiungi unità (millisecondi) ai valori suggeriti per la durata della finestra di dialogo. (I09b48)

Versione 1.0.0-alpha11

17 novembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11 e androidx.wear.compose:compose-navigation:1.0.0-alpha11 sono rilasciati. La versione 1.0.0-alpha11 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto un componente selettore che consente all'utente di selezionare un elemento da un elenco scorrevole. Per impostazione predefinita, l'elenco degli elementi selezionabili viene ripetuto "all'infinito" in entrambe le direzioni, per dare l'impressione di un cilindro rotante visto di lato. Nelle versioni successive verranno aggiunte due funzionalità: lo snapping a un valore dopo uno scorrimento rapido e l'aggiunta di una funzione a PickerState per impostare/scorrere fino al valore corrente. (I6461b)

Modifiche alle API

  • Sono stati aggiunti uno ScalingLazyItemScope e alcuni nuovi modificatori fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight per consentire il dimensionamento degli elementi dell'elenco in base alle dimensioni del contenitore principale. Gli elementi possono essere impostati in modo da riempire tutto lo spazio o una frazione delle dimensioni dell'elemento principale. In questo modo viene esposta una funzionalità già disponibile in LazyRow/Column (I4612f)
  • È stato aggiunto il supporto a ScalingLazyColumn per consentire agli elementi di avere una chiave. Sono stati aggiunti anche metodi pratici per consentire l'aggiunta di elementi da array ed elenchi. (Ic1f89)

Correzioni di bug

  • Altri esempi per TimeText (I8cb64)

Versione 1.0.0-alpha10

3 novembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10 e androidx.wear.compose:compose-navigation:1.0.0-alpha10 sono rilasciati. La versione 1.0.0-alpha10 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto un InlineSlider per la composizione di usura. InlineSlider 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. (If0148)

  • Dai un'occhiata al nuovo codelab di Compose per WearOS.

Modifiche alle API

  • Macrobenchmark ora ha un minSdkVersion di 23. (If2655)

Correzioni di bug

  • Aggiorna la gestione delle transizioni in SwipeDismissableNavHost in un SideEffect (I04994, b/202863359)
  • Aggiornamento della gestione delle transizioni in SwipeDismissableNavHost (I1cbe0, b/202863359)

Versione 1.0.0-alpha09

27 ottobre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha09, androidx.wear.compose:compose-material:1.0.0-alpha09 e androidx.wear.compose:compose-navigation:1.0.0-alpha09 sono rilasciati. La versione 1.0.0-alpha09 contiene questi commit.

Nuove funzionalità

  • Abbiamo lanciato l'Anteprima per gli sviluppatori di Compose su Wear OS. Consulta il nostro post del blog, che esamina i principali composable e fornisce link ad altre risorse per iniziare a utilizzarli.

Modifiche alle API

  • Abbiamo aggiunto il supporto per consentire agli sviluppatori di personalizzare tutti i colori nel tema Wear Material Design Color. (I4759b, b/199754668)

Correzioni di bug

  • Aggiunti esempi di SwipeToDismissBox che mantengono lo stato (Ibaffe)
  • Sono stati aggiunti link alle guide di developer.android.com da KDocs per CurvedText, TimeText e SwipeToDismissBox. (I399d4)
  • SwipeDismissableNavHost ora genera un'eccezione se non è presente una destinazione corrente (indica che NavGraph non è stato creato con la funzione di utilità wear.compose.navigation.composable) (I91403)
  • Sono stati aggiunti documentazione ed esempi aggiuntivi per l'utilizzo dell'origine temporale in TimeText (I4f6f0)

Versione 1.0.0-alpha08

13 ottobre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha08, androidx.wear.compose:compose-material:1.0.0-alpha08 e androidx.wear.compose:compose-navigation:1.0.0-alpha08 sono rilasciati. La versione 1.0.0-alpha08 contiene questi commit.

Modifiche alle API

  • Abbiamo rinominato le proprietà AppCard e TitleCard body in content e le abbiamo spostate alla fine dell'elenco delle proprietà per consentire di fornirle come lambda finale. Inoltre, bodyColor è stato rinominato in contentColor per coerenza con i nuovi nomi degli slot. (I57e78)

Correzioni di bug

  • Sono stati aggiunti link alle guide di developer.android.com da KDocs per i componenti pulsante, scheda, chip, tema, indicatore di posizione e colonna pigra di scalabilità. (I22428)
  • Correzione di un problema per cui a volte WearOS SwipeToDismissBox non gestisce gli scorrimenti. (I9387e)
  • Aggiunti esempi per Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip (Iddc15)
  • Sono stati aggiunti test delle prestazioni di microbenchmark per Card, Chip, ToggleChip, TimeText e ScalingLazyColumn. (If2fe9)

Versione 1.0.0-alpha07

29 settembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha07, androidx.wear.compose:compose-material:1.0.0-alpha07 e androidx.wear.compose:compose-navigation:1.0.0-alpha07 sono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto un componente CurvedText in Material, che consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare). (I19593)

Modifiche alle API

  • Aggiunti test per TimeText (Idfead)
  • Trasforma ArcPaddingValues in un'interfaccia. (Iecd4c)
  • Aggiunta animazione a SwipeToDismissBox (I9ad1b)
  • È stato aggiunto il parametro hasBackground all'API SwipeToDismissBox in modo che il gesto di scorrimento possa essere disattivato quando non sono presenti contenuti di sfondo da visualizzare. (I313d8)
  • rememberNavController() ora accetta un insieme facoltativo di istanze Navigator che verranno aggiunte al NavController restituito per supportare meglio i navigatori opzionali come quelli di Accompanist Navigation Material. (I4619e)
  • Fai riferimento a NamedNavArgument da navigation-common e rimuovi la copia da wear.compose.navigation. (I43af6)

Correzioni di bug

  • È stato risolto il problema di instabilità del test CurvedRow sui dispositivi più piccoli. (If7941)
  • È stato risolto un possibile sfarfallio su CurvedRow quando i contenuti vengono aggiornati e viene garantita la misurazione della riga curva (Ie4e06)
  • ChipDefaults.gradientBackgroundChipColors() è stato aggiornato in linea con le modifiche alle specifiche UX. La sfumatura ora inizia con MaterialTheme.colors.primary con alpha 32,5% e termina con MaterialTheme.colors.surface con alpha 0% su uno sfondo di MaterialTheme.colors.surface con alpha 75%. (Id1548)
  • Abbiamo aggiornato i colori di ToggleChips quando è nello stato selezionato in modo che corrispondano alle ultime indicazioni delle specifiche UX di Wear Material Design. Se selezionati, i ToggleChip ora hanno uno sfondo sfumato da MaterialTheme.color.surface @ 0% alpha, in alto a sinistra, a MaterialTheme.color.primary @ 32% alpha, in basso a destra, su uno sfondo di MaterialTheme.color.surface @ 75% alpha. Ciò comporta una differenza più sottile tra la casella di controllo selezionata e deselezionata per il ToggleChip. (Idd40b)

Versione 1.0.0-alpha06

15 settembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06 e androidx.wear.compose:compose-navigation:1.0.0-alpha06 sono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto un composable dell'applicazione di primo livello Scaffold che fornisce una struttura per la gestione della posizione di PositionIndicators (come Scorrimento o Volume), un'area nella parte superiore dello schermo per visualizzare l'ora e lo stato dell'applicazione e supporta anche una vignetta per sfocare il bordo superiore e inferiore dello schermo per i contenuti scorrevoli. L'area principale dello scaffold è quella in cui vengono inseriti i contenuti dell'applicazione. (I5e0bf)
  • È stata aggiunta l'implementazione di TimeText per Wear Compose (I5654c)

Libreria di navigazione di Wear Compose

  • Abbiamo aggiunto la prima release della libreria Wear Compose Navigation, che fornisce l'integrazione tra le librerie Wear Compose e Androidx Navigation. Fornisce un modo semplice per navigare tra le funzioni @Composable come destinazioni nella tua applicazione.

  • Questa release iniziale offre:

    • Un composable SwipeDismissableNavHost che ospita un grafico di navigazione e fornisce la navigazione indietro tramite i gesti di scorrimento
    • NavGraphBuilder.composable per facilitare la creazione di grafici di navigazione
    • rememberSwipeDismissableNavController() per consentire l'innalzamento dello stato
  • Esempio di utilizzo in cui creiamo due schermate e ci spostiamo tra di esse:

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • Wear Compose Navigation è pacchettizzato come libreria separata, in modo che le semplici applicazioni Wear Compose che implementano la propria navigazione personalizzata non debbano dipendere dalla libreria Androidx Navigation.

Modifiche alle API

  • SwipeDismissableNavHost aggiornato per supportare rememberSaveable impostando l'identità della chiave per lo sfondo e i contenuti (I746fd)
  • Abbiamo aggiunto un adattatore PositionIndicator in grado di gestire LazyListState (I21b88).
  • Aggiornamento di SwipeToDismissBox per supportare rememberSaveable (Ie728b)
  • Abbiamo aggiunto il supporto di reverseLayout a ScalingLazyColumn. Ciò consente di invertire la direzione di scorrimento e il layout (I9e2fc).
  • performGesture e GestureScope sono stati ritirati e sostituiti da performTouchInput e TouchInjectionScope. (Ia5f3f, b/190493367)
  • Abbiamo rinominato VignetteValue in VignettePosition e VignetteValue.Both in VignettePosition.TopAndBottom. (I57ad7)
  • Abbiamo rinominato ScalingLazyColumnState in ScalingLazyListState, ScalingLazyColumnItemInfo in ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo in ScalingLazyListLayoutInfo e ScalingLazyColumnScope in ScalingLazyListScope nel caso in cui decidessimo di aggiungere un'implementazione di ScalingLazyRow in futuro. (I22734)

Correzioni di bug

  • È stata aggiornata la documentazione di CompactChip per descrivere cosa succede se non vengono forniti né un'icona né un'etichetta. (I4ba88)
  • Abbiamo apportato alcune modifiche ai componenti delle schede Wear. (I6b3d0)
    1. La spaziatura della scheda del titolo tra il titolo e il corpo è stata ridotta da 8 dp a 2 dp.
    2. Il carattere dell'intestazione della scheda del titolo è stato modificato da corpo a titolo3.
    3. La sfumatura dello sfondo della scheda è stata modificata per rendere lo sfondo più scuro.

Versione 1.0.0-alpha05

1° settembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha05 e androidx.wear.compose:compose-material:1.0.0-alpha05 sono stati rilasciati. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche alle API

  • Contrassegna ArcPaddingValues come @Stable (I57deb)
  • ScalingLazyColumnState ora implementa l'interfaccia ScrollableState, che consente agli sviluppatori di accedere in modo programmatico allo scorrimento del componente. (I47dbc)

Correzioni di bug

  • Abbiamo ridotto la spaziatura tra l'icona e il testo in Chip e ToggleChip per allinearli agli aggiornamenti delle specifiche UX. (I83802)

Versione 1.0.0-alpha04

18 agosto 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha04 e androidx.wear.compose:compose-material:1.0.0-alpha04 sono stati rilasciati. La versione 1.0.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Sono stati aggiunti uno SwipeToDismissBox e un modificatore scorrevole che possono essere utilizzati per supportare un gesto di scorrimento per chiudere da sinistra a destra. Sebbene indipendente dai componenti di navigazione, questo elemento dovrebbe essere utilizzato per uscire da una schermata e passare a un'altra. Aggiunti test di integrazione per la demo dello scorrimento per chiudere. (I7bbaa)
  • Abbiamo aggiunto le interfacce ScalingLazyColumnItemInfo e ScalingLazyColumnLayoutInfo alla classe ScalingLazyColumnState per consentire agli sviluppatori di conoscere le posizioni e le dimensioni effettive degli elementi in ScalingLazyColumn dopo l'applicazione del ridimensionamento. Abbiamo anche corretto un bug relativo al modo in cui veniva calcolato lo scaling quando il padding dei contenuti "superiori" veniva applicato a ScalingLazyColumn. (I27c07)

Modifiche alle API

  • Aggiungi la classe CurvedTextStyle per specificare le opzioni di stile del testo curvo. Simile a TextStyle, ma ora supporta solo colore, fontSize e background. In futuro verranno aggiunte altre opzioni di stile. (I96ac3)
  • Abbiamo aggiunto le interfacce ScalingLazyColumnItemInfo e ScalingLazyColumnLayoutInfo alla classe ScalingLazyColumnState per consentire agli sviluppatori di conoscere le posizioni e le dimensioni effettive degli elementi in ScalingLazyColumn dopo l'applicazione del ridimensionamento. Abbiamo anche corretto un bug relativo al modo in cui veniva calcolato lo scaling quando il padding dei contenuti "superiori" veniva applicato a ScalingLazyColumn. (I27c07)
  • Aggiunta di @ExperimentalWearMaterialApi all'enumerazione SwipeDismissTarget, parte dell'API SwipeToDismissBox. (I48b5e)

Correzioni di bug

  • Aggiunto materiale di test per SwipeToDismissBox (I9febc)

Versione 1.0.0-alpha03

4 agosto 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha03 e androidx.wear.compose:compose-material:1.0.0-alpha03 sono stati rilasciati. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • È stato aggiunto il componente CurvedText, che consente agli sviluppatori di scrivere facilmente testo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare) (Id1267).
  • Abbiamo rinominato CardDefaults.imageBackgroundPainter() in CardDefaults.imageWithScrimBackgroundPainter() per indicare chiaramente che l'immagine di sfondo avrà un velo sopra. (I53206)
  • Aggiunta del componente ScalingLazyColumn che fornisce un componente di elenco per Wear Material che offre una visualizzazione a occhio di pesce con i contenuti dell'elenco che si riducono di dimensioni e diventano trasparenti man mano che si avvicinano al bordo del componente. (I7070c)

Correzioni di bug

  • Abbiamo modificato il colore predefinito dei contenuti appName in AppCard in risposta a un aggiornamento delle specifiche UX. Il colore predefinito per appName ora è MaterialTheme.colors.onSurfaceVariant. Inoltre, è stata aggiunta una descrizione del parametro mancante per lo spazio del titolo. (Ic4ad1)

Versione 1.0.0-alpha02

21 luglio 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha02 e androidx.wear.compose:compose-material:1.0.0-alpha02 sono stati rilasciati. La versione 1.0.0-alpha02 contiene questi commit.

Nuove funzionalità

  • È stata aggiunta una nuova classe CurvedRow per disporre i composable in un arco (I29941)
  • È stato aggiunto un nuovo tipo di scheda da utilizzare nelle applicazioni (TitleCard). È stato aggiunto anche il supporto per le immagini come sfondo delle schede per enfatizzarne i contenuti (I53b0f).

Modifiche alle API

  • Aggiunta del supporto dell'allineamento radiale a CurvedRow (simile all'allineamento verticale in una riga) (Id9de5)
  • Aggiungi una nuova classe CurvedRow ai composable disposti ad arco (I29941)
  • È stato aggiunto un nuovo tipo di scheda da utilizzare nelle applicazioni (TitleCard). È stato aggiunto anche il supporto per le immagini come sfondo delle schede per enfatizzarne i contenuti (I53b0f).
  • Sono state aggiunte icone di attivazione/disattivazione (casella di controllo, opzione e pulsanti di opzione) a ToggleChipDefaults per consentire agli sviluppatori di configurare più facilmente ToggleChip e SplitToggleChips (I7b639).
  • Il padding dei contenuti iniziali e finali per le chip è stato aggiornato in modo che sia sempre di 14 dp, indipendentemente dalla presenza o meno di un'icona (in precedenza era di 12 dp se era presente un'icona e di 14 dp in caso contrario) (I34c86)

Correzioni di bug

  • Aggiungi test per CurvedRow (I93cdb)
  • Collegamento delle dipendenze di Wear Compose a Compose 1.0.0-rc01. (Ie6bc9)
  • È stata modificata la gestione del disegno dell'immagine di sfondo in Schede e Chip in modo che l'immagine venga ritagliata anziché allungata per mantenere le proporzioni. (I29b41)
  • Sono state aggiunte altre demo e test di integrazione per Button e ToggleButton. (5e27ed2)
  • Sono stati aggiunti altri test dei chip per coprire i colori dei contenuti per imageBackgroundChips (Ia9183)

Versione 1.0.0-alpha01

1° luglio 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha01 e androidx.wear.compose:compose-material:1.0.0-alpha01 sono stati rilasciati. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

Wear Compose è una libreria basata su Kotlin e Compose che supporta Wear Material Design, un'estensione di Material Design per i dispositivi indossabili WearOS. Questa prima release alpha contiene implementazioni funzionali preliminari di quanto segue:

  • Tema Material: configura in modo coerente colori, tipografia e forme in tutti i componenti utilizzati di questa libreria.
  • Chip, CompactChip: i chip hanno la forma di uno stadio e sono disponibili varianti per visualizzare contenuti di icone, etichette ed etichette secondarie.
  • - ToggleChip, SplitToggleChip: un tipo speciale di chip che include uno spazio per un'icona di attivazione/disattivazione a due stati, ad esempio un pulsante di opzione o una casella di controllo. Inoltre, SplitToggleChip ha due aree toccabili, una selezionabile e una attivabile/disattivabile.
  • Button, CompactButton: i pulsanti hanno forma circolare, con un singolo spazio per un'icona o un testo minimo (massimo 3 caratteri).
  • ToggleButton: un pulsante che attiva o disattiva un'azione, con un singolo spazio per l'icona o il testo minimale (massimo 3 caratteri).
  • Scheda, AppCard: di forma rettangolare con angoli arrotondati, offre spazi per contenuti come icona dell'app, ora, titolo e corpo.

Le versioni future amplieranno il set di widget aggiungendo il supporto per selettori, slider, elenchi, indicatori di pagina, dialoghi, indicatori di scorrimento, toast e altro ancora di Wear Material Design.

Inoltre, verrà fornito supporto per altre funzionalità specifiche per i dispositivi indossabili, come layout e testo curvi, nonché scaffolding per consentire agli sviluppatori di creare facilmente app/overlay per dispositivi indossabili.

Wear Compose Material è progettato con gli stessi principi di Compose Material, anche se è destinato ai dispositivi indossabili. La libreria Wear Compose Material deve essere utilizzata al posto della libreria Compose Material quando si sviluppa per un dispositivo indossabile.

Le due librerie "Material" devono essere considerate reciprocamente esclusive e non devono essere combinate nella stessa app. Se gli sviluppatori includono la libreria Compose Material nelle loro dipendenze, significa che a) mancano componenti nella libreria Wear Compose Material. Comunicaci di cosa hai bisogno oppure b) stai utilizzando un componente che non consigliamo per l'uso su un dispositivo indossabile.