Compose per Wear

  
Scrivi applicazioni Jetpack Compose per dispositivi indossabili fornendo funzionalità per supportare dispositivi, dimensioni, forme e gesti di navigazione specifici per i dispositivi indossabili.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Versione alpha
11 dicembre 2024 1.4.0 - - 1.5.0-alpha07

Dichiarazione delle dipendenze

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

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

Alla moda

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

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

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

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")
    
    // 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.0")

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

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

    // 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 ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.

Feedback

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

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.

Wear Compose Material3 versione 1.0

Versione 1.0.0-alpha30

11 dicembre 2024

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

Modifiche all'API

  • Il modificatore scrollTransform per TransformingLazyColumn è stato sottoposto a refactoring, il che ha attivato una modifica dell'API. (I0c6dc)
  • Abbiamo aggiornato IconToggleButtonShapes e TextToggleButtonShapes in modo da avere due parametri di forma diversi, uncheckedPressed e checkedPressed (I85dbd)
  • Le opzioni di mese/giorno non valide sono ora visibili in DatePicker, con un nuovo invalidPickerContentColor, quando si utilizzano minDate o maxDate. (If4541)
  • Abbiamo aggiornato l'API Stepper per fornire gli slot increaseIcon e decreaseIcon, i cui contenuti possono essere creati come di consueto dal componente componibile Icon. (Id35da)
  • Abbiamo aggiornato dynamicColorScheme rimuovendo il parametro facoltativo defaultColorScheme e ora restituiamo ColorScheme nullable. Ciò significa che chi chiama deve gestire esplicitamente il caso di riserva quando non viene fornita una combinazione di colori dinamica. (I6d62e)
  • Abbiamo aggiornato le dimensioni delle icone in ButtonDefaults per l'utilizzo con CompactButton. Un CompactButton contenente solo un'icona deve utilizzare ButtonDefaults.SmallIconSize = 24.dp, mentre un CompactButton contenente sia l'icona sia il testo deve utilizzare ButtonDefaults.ExtraSmallIconSize = 20.dp. È consigliabile che CompactButton inserisca un a capo nei contenuti (anziché riempire la larghezza massima) e i sample sono stati aggiornati per dimostrarlo. (I0582c)
  • Abbiamo aggiunto EdgeButtonDefaults con le dimensioni consigliate per le icone per i 4 diversi EdgeButtonSizes. Inoltre, abbiamo aggiornato il layout di EdgeButton in modo che abbia una spaziatura inferiore leggermente più grande rispetto a quella superiore, il che migliora l'aspetto sia dei contenuti di icone che di testo. (Id772a)
  • Abbiamo aggiunto il movimento a LinearProgressIndicator e abbiamo esposto LinearProgressIndicatorContent, che fornisce i contenuti visivi senza animazioni. (Idee99)
  • Abbiamo aggiunto un nuovo composable CircularProgressIndicatorContent per visualizzare i contenuti visivi di CircularProgressIndicator senza animazioni. (Ie33d4)
  • TransformingLazyColumn ora fornisce la composizione LocalTransformingLazyColumnItemScope locale che Card, Button e ListHeader ora utilizzano per trasformarsi automaticamente quando vengono inseriti in un TransformingLazyColumn. I chiamanti possono disattivare il morphing automatico utilizzando il nuovo wrapper TransformExclusion. (I1652f)
  • Abbiamo aggiornato il tipo di ButtonDefaults.shape in RoundedCornerShape (Iccdf2)

Correzioni di bug

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

Versione 1.0.0-alpha29

13 novembre 2024

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

Modifiche all'API

  • Abbiamo aggiornato TimeText per fornire contenuti predefiniti che mostrano l'ora. (Id23b3)
  • Abbiamo semplificato ScrollInfoProvider per PagerState rimuovendo il parametro orientation, che non è più necessario. Il nuovo comportamento prevede che TimeText rimanga in posizione sia per la paginazione orizzontale sia per quella verticale. (I71767)
  • LocalHapticFeedback ora fornisce un'implementazione predefinita di HapticFeedback quando l'API Vibratore indica che le tecnologie aptica sono supportate. I seguenti elementi sono stati aggiunti a HapticFeedbackType: Confirm, ContextClick, GestureEnd, GestureThresholdActivate, Reject, SegmentFrequentTick, SegmentTick, ToggleOn, ToggleOff, VirtualKey. I componenti di Wear Compose che possono essere selezionati con un clic prolungato, come Button, IconButton, TextButton e Card, ora eseguono il feedback aptico LONG_PRESS quando è stato fornito un gestore del clic prolungato. (I5083d)

Correzioni di bug

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

Versione 1.0.0-alpha28

30 ottobre 2024

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

Modifiche all'API

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

Correzioni di bug

  • È stata aggiunta una durata minima dell'animazione per IconToggleButton e TextToggleButton al clic (Ieb333)
  • È stata aggiunta la durata minima per l'animazione delle forme IconButton e TextButton (Iebcee)
  • Stato dell'opzione di ripetizione corretto in DatePicker. (I3587c)
  • È stata aggiunta l'animazione per le finestre di dialogo di avviso e conferma. (I173b1)

Versione 1.0.0-alpha27

16 ottobre 2024

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.0.0-alpha26

2 ottobre 2024

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.0.0-alpha25

18 settembre 2024

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

Modifiche all'API

  • Abbiamo aggiunto un indicatore di avanzamento circolare indeterminato. (I427a7)
  • Abbiamo aggiunto il supporto per il superamento del progresso (>100%) sia per CircularProgressIndicator che per SegmentedCircularProgressIndicator. Quando l'avanzamento supera 1,0, viene indicato dal nuovo colore overflowTrack. (Iaaa3d)
  • I pulsanti rotondi IconToggleButton e TextToggleButton ora supportano una nuova variante di animazione delle forme, in cui forme diverse rappresentano gli stati selezionato, deselezionato e premuto. La precedente variante della forma animata per lo stato appena premuto continuerà a essere supportata. (I29f03)
  • Abbiamo rimosso il supporto per l'utilizzo di EdgeButton con Column, a causa della necessità di specificare esplicitamente l'altezza di EdgeButton in ScreenScaffold. (Ie353d)
  • Abbiamo aggiunto il supporto di Wear Compose LazyColumn con il nostro ScreenScaffold (e abbiamo aggiunto un'implementazione di ScrollInfoProvider per LazyColumnState). (Ib8d29)
  • Abbiamo combinato LocalTextMaxLines, LocalTextAlign e LocalTextOverflow in un'unica composizione locale LocalTextConfiguration per fornire una soluzione più scalabile in futuro. (I5edbc)
  • Abbiamo aggiunto arc-large come tipo di carattere aggiuntivo, riservato alle stringhe di testo brevi delle intestazioni nella parte superiore o inferiore dello schermo, ad esempio nelle sovrapposizioni di conferma. (I60e3e)
  • Abbiamo aggiunto valori predefiniti a Pulsante per le dimensioni consigliate delle icone grandi ed extra large e per il padding dei contenuti. (I84675)

Correzioni di bug

  • Abbiamo aggiornato i colori di IconButton e TextButton. (I48324)
  • Abbiamo modificato i sovraccarichi di Button di base in modo che siano allineati verticalmente al centro per garantire la coerenza con gli altri sovraccarichi. Per ripristinare il comportamento precedente, utilizza Modifier.align dal menu RowScope. (I66e57)

Versione 1.0.0-alpha24

4 settembre 2024

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.0.0-alpha23

14 maggio 2024

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.0.0-alpha22

1° maggio 2024

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.0.0-alpha21

17 aprile 2024

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

  • Questa release è stata attivata a causa di un problema tecnico nella release precedente che ha causato la mancanza di jar di origine. Non ci sono nuovi commit in questa release.

Versione 1.0.0-alpha20

3 aprile 2024

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

Correzioni di bug

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

Versione 1.0.0-alpha19

6 marzo 2024

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

Modifiche all'API

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

Versione 1.0.0-alpha18

21 febbraio 2024

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

Modifiche all'API

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

Versione 1.0.0-alpha17

7 febbraio 2024

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

Modifiche all'API

  • Abbiamo aggiornato l'API Button in modo che utilizzi buttonColors per impostazione predefinita e abbiamo rimosso il valore duplicato filledButtonColors. (I4fe3b)
  • Abbiamo riorganizzato i pattern predefiniti per ButtonColors, IconButtonColors e TextButtonColors creando internamente un'istanza memorizzata nella cache e riducendo l'utilizzo di CompositionLocal. (I5f51c)
  • Abbiamo rimosso il sovraccarico di rememberUpdatedState nei classi di colore specifici del componente e contrassegnato i metodi di accesso all'interno dei classi di colore come interni. (If6571)

Correzioni di bug

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

Versione 1.0.0-alpha16

24 gennaio 2024

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

Nuove funzionalità

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

Modifiche all'API

  • Abbiamo aggiunto RadioButton/SplitRadioButton come contenitori per i controlli di selezione, come il controllo Radio. Questo pulsante è diverso da ToggleButton esistente in quanto RadioButton è selezionabile (e opera all'interno di un gruppo di selezione), mentre ToggleButton è attivabile/disattivabile (ed è indipendente). (I61275)
  • Stiamo rimuovendo LocalContentAlpha dalla libreria Wear Compose Material3 per garantire la coerenza con la libreria Compose Material3. (I49a0a)
  • I componenti Wear Material e Wear Material3 che espongono un MutableInteractionSource nella loro API sono stati aggiornati in modo da esporre un MutableInteractionSource nullable che per impostazione predefinita è null. Non sono presenti modifiche semantiche: se passi null, significa che non vuoi eseguire l'elevazione di MutableInteractionSource, che verrà creato all'interno del componente, se necessario. La modifica in null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri di creare un'istanza solo quando è necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi MutableInteractionSource che passi a questi componenti, ti consigliamo di passare null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (Ib90fc, b/298048146)
  • Aggiunge la nuova API Ripple nelle librerie wear:compose-material e wear:compose-material3, che sostituisce la precedente rememberRipple. Aggiunge anche un CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare l'utilizzo delle API rememberRipple/RippleTheme deprecate da parte dei componenti Material. Questo parametro verrà rimosso nella prossima release stabile e ha lo scopo di essere solo un aiuto temporaneo per la migrazione nei casi in cui fornisci un RippleTheme personalizzato. Visita la pagina developer.android.com per informazioni sulla migrazione e ulteriori informazioni sulle motivazioni alla base di questa modifica. (af92b21)
  • Abbiamo apportato piccoli miglioramenti all'API HorizontalPageIndicator e alla relativa documentazione. (I60efc)
  • Abbiamo aggiornato ColorScheme in modo che sia immutabile, rendendo meno efficienti i singoli aggiornamenti dei colori, ma migliorando l'utilizzo più comune dei colori. Il motivo alla base di questa modifica è che la maggior parte delle app non ha l'aggiornamento dei singoli colori come caso d'uso principale. Questa operazione è ancora possibile, ma la ricompozione sarà più frequente rispetto a prima. Di conseguenza, ridurremo in modo significativo la quantità di abbonamenti di stato in tutto il codice materiale e influiremo sul costo di inizializzazione e di runtime di casi d'uso più standard. (Ibc2d6)
  • Sono state aggiornate le API ToggleButton e SplitToggleButton per consentire la personalizzazione dei colori disattivati. Inoltre, i token Material Design vengono ora utilizzati per i valori di colore e tipografia. (If087c)
  • Aggiornamento dei colori di sfondo delle immagini dei pulsanti per utilizzare i token Material Design. (Iba215)
  • Abbiamo modificato i componenti Checkbox, Switch e RadioButton in modo che siano solo di visualizzazione, rimuovendo la gestione dei clic. Poiché si prevede che questi componenti vengano utilizzati in (Split)ToggleButton, che gestisce il clic, ora sono indicati in modo più chiaro come solo di visualizzazione (e non sono destinati all'uso autonomo su Wear). (I2322e)

Correzioni di bug

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

Versione 1.0.0-alpha15

15 novembre 2023

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.0.0-alpha14

18 ottobre 2023

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

Modifiche all'API

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

Versione 1.0.0-alpha13

4 ottobre 2023

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

Modifiche all'API

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

Versione 1.0.0-alpha12

20 settembre 2023

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

Modifiche all'API

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

Versione 1.0.0-alpha11

6 settembre 2023

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

Correzioni di bug

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

Versione 1.0.0-alpha10

23 agosto 2023

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

Nuove funzionalità

  • Aggiungi HorizontalPageIndicator nella raccolta Wear Material3. (Ifee99)

Modifiche all'API

  • Aggiorna il codice dei pulsanti per utilizzare i token di design Material3. (I92fe4)
  • Le API Wear Material 3 Stepper e Slider sono state dichiarate sperimentali perché i dettagli dell'interfaccia utente sono ancora in fase di definizione. (I84d54)
  • Abbiamo rimosso le dimensioni ExtraSmall dai formati TextButton e TextToggleButton perché si applicano solo al formato IconButton. (Ibc7d5)

Correzioni di bug

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

Versione 1.0.0-alpha09

9 agosto 2023

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

Nuove funzionalità

  • Abbiamo aggiunto ToggleButton per il materiale 3 (I6bed6)

Modifiche all'API

  • Abbiamo attivato l'annotazione FloatRange come vincoli dell'API , che erano stati precedentemente indicati nei commenti. (Icb401)
  • Abbiamo aggiornato la tipografia di Wear Material3 in modo che rispetti le linee guida più recenti di Material3. (I1bad6)

Correzioni di bug

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

Versione 1.0.0-alpha08

26 luglio 2023

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

Nuove funzionalità

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.0.0-alpha07

21 giu 2023

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

Nuove funzionalità

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

Correzioni di bug

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

Versione 1.0.0-alpha06

7 giugno 2023

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

Correzioni di bug

  • Abbiamo aggiornato TextButton in modo che utilizzi la funzione di estensione toDisabledColor per correggere i valori alfa disattivati. (I814c8)

Versione 1.0.0-alpha05

24 maggio 2023

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

Nuove funzionalità

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

Modifiche all'API

  • Abbiamo spostato il parametro dell'etichetta del pulsante alla fine per supportare la sintassi lambda finale e abbiamo rimosso il parametro del ruolo (poiché può essere ignorato utilizzando Modifier.semantics). I costruttori ButtonColors sono ora pubblici. (Ie1b6d)

Versione 1.0.0-alpha04

10 maggio 2023

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

Nuove funzionalità

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

Versione 1.0.0-alpha03

19 aprile 2023

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

Modifiche all'API

  • Abbiamo aggiunto il componente Pulsante Material 3, il nostro pulsante a forma di stadio, precedentemente denominato Chip nella raccolta di Materiale di Compose per Wear (è stato rinominato Pulsante per coerenza con la raccolta di Materiale di Compose 3). Il pulsante predefinito ha uno sfondo riempito e sono disponibili varianti per FilledTonal (sfondo attenuato), Con bordi (trasparente con un bordo sottile) e Secondario (sfondo trasparente e senza bordo, utilizzato per le azioni supplementari con la minore evidenza). I pulsanti rotondi per contenuti di testo e icone semplici seguiranno in una release futura.(Ia6942)

Versione 1.0.0-alpha02

5 aprile 2023

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

Correzioni di bug

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

Versione 1.0.0-alpha01

22 marzo 2023

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

Nuove funzionalità

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

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

  • Le librerie Wear Material e Wear Material 3 sono mutuamente esclusive e non devono essere mescolate nella stessa app, principalmente perché fanno riferimento a temi diversi che potrebbero portare a incoerenze impreviste.

Versione 1.5 di Wear Compose

Versione 1.5.0-alpha07

11 dicembre 2024

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

Modifiche all'API

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

Correzioni di bug

  • Abbiamo aggiornato le velocità di rotazione minime e massime per i dispositivi con target U e versioni successive. (I33559)
  • Abbiamo corretto un arresto anomalo che si verificava se un elemento in TransformingLazyColumn non conteneva composabili (Idb99d)
  • Abbiamo aggiunto il supporto ScrollFeedbackProvider per la tecnologia aptica rotante su Android Vanilla Ice Cream. (Ibc553)
  • Abbiamo aumentato la tolleranza al tocco quando si utilizza SwipeToReveal per ridurre le probabilità di attivare accidentalmente uno scorrimento quando si scorre verticalmente. (Ic0672)
  • Abbiamo aggiornato SwipeDismissableNavHost in modo che utilizzi PredictiveBackHandler, se disponibile, a partire dall'API 35. 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 rilasciato. La versione 1.5.0-alpha06 contiene questi commit.

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

Correzioni di bug

  • Abbiamo aggiornato Modifier.rotaryScrollable in modo da utilizzare focusTargetWithSemantics per un migliore supporto della semantica in rotazione. (Ief0a0)
  • Abbiamo aggiornato la dipendenza minima dell'API a 1.7.4 per le librerie Compose. (I88b46)
  • Abbiamo disattivato la trasformazione 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 rilasciato. La versione 1.5.0-alpha05 contiene questi commit.

Modifiche all'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 su 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 di rendering del carattere TransformingLazyColumn quando l'altezza dei contenuti è inferiore a quella dello schermo. (I6c3e1)
  • ScrollInfoProvder per TransformingLazyColumn ora monitora correttamente il primo elemento. (I1e4a3)
  • TransformingLazyColumnState ora salva il proprio stato (anchorItemIndex e anchorItemScrollOffset). (I3d265)

Versione 1.5.0-alpha04

16 ottobre 2024

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

Modifiche all'API

  • Abbiamo rinominato la piattaforma Wear Compose Foundation LazyColumn in TransformingLazyColumn per distinguere meglio questa piattaforma dalla piattaforma Compose Foundation LazyColumn. (I0608b)
  • È stato aggiunto il supporto del controllo rotativo per i cercapersone orizzontali/verticali, consentendo agli utenti di navigare nei cercapersone utilizzando dispositivi di input rotatori. (I9770d)
  • Abbiamo aggiornato il nuovo PagerDefaults per chiarire che il selettore di pagine si aggancia alla pagina per impostazione predefinita. (Iff7d0)
  • TransformingLazyColumnItemScrollProgress ora è una classe di valore che dovrebbe migliorare il rendimento. (Ic399e)
  • TransformingLazyColumn ora supporta i controlli rotatori per impostazione predefinita. (I05206)
  • TransformingLazyColumnState ora supporta scrollToItem. (I507b3)
  • @ExperimentalWearFoundationApi è stato rimosso dall'API SwipeToReveal (I34a66)

Versione 1.5.0-alpha03

2 ottobre 2024

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

Modifiche all'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 è ancora lo scorrimento per visualizzare solo con 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 sostituire canScrollForward e canScrollBackward. Ora lo scorrimento si interrompe quando il primo o l'ultimo elemento è esattamente al centro dello schermo. (Ia77d7)
  • Abbiamo aggiunto nuovi componenti HorizontalPager e VerticalPager che risolvono problemi comuni, come la gestione dell'attenzione e l'interazione con lo scorrimento del sistema per ignorare che potrebbero verificarsi su Wear. (I2902b)
  • Abbiamo aggiunto il supporto di LazyColumn per esporre key e contentType del cliente tramite layoutItems. (I1bd9c)

Correzioni di bug

  • Abbiamo aggiornato le animazioni di testo curve per renderle più fluide, utilizzando i flag di pittura. (I73a15)
  • Abbiamo aggiornato la documentazione di Material Dialog 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 rilasciato. La versione 1.5.0-alpha02 contiene questi commit.

Modifiche all'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 per cui lo scorrimento rotatorio è ora disattivato in ScalingLazyColumn quando il flag userScrollEnabled è impostato su false. (I490ab, b/360295825)
  • Abbiamo corretto un bug relativo al rientro verticale imprevisto del testo curvo. L'altezza del testo curvo ora corrisponde più da vicino allo spazio effettivo utilizzato dal testo. Tieni presente che questa operazione potrebbe interrompere i test degli screenshot che coinvolgono il testo curvo (Iaa6ef).
  • Abbiamo ripristinato una correzione di bug in Dialog in cui il callback onDismissRequest veniva chiamato quando showDialog era impostato su false, perché in alcuni casi onDismissRequest veniva chiamato più volte. (I64656)

Versione 1.5.0-alpha01

4 settembre 2024

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

Modifiche all'API

  • Abbiamo aggiunto un nuovo LazyColumn alla libreria Wear Compose Foundation con le API LazyColumnState e LazyColumnScope associate. Questo rappresenta la base per creare 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 ridimensionamento e trasformazione. (Ie229a)
  • La versione HierarchicalFocusCoordinator è stata promossa a stabile. (I31035)
  • Abbiamo aggiunto il supporto della spaziatura tra le lettere al testo curvo. (I3c740)
  • È stato aggiunto un parametro rotationLocked a CurvedLayout.curvedComposable per interrompere la rotazione dei componenti. (I66898)
  • L'API LocalUseFallbackRippleImplementation temporanea da materiale usurato e materiale usurato3 è stata rimossa (I62282)
  • WearDevices.SQUARE è stato rimosso dall'anteprima multipla di @WearPreviewDevices (I11c02)

Correzioni di bug

  • SwipeToReveal ora posiziona gli elementi rivelati nella parte visibile dello schermo. Questo è 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 del nuovo parametro rotationLocked in curvedComposable. (Ifbd57)
  • È stato corretto un arresto anomalo durante il passaggio di NaN a performFling di ScalingLazyColumnSnapFlingBehavior. (Ic13da)
  • Bug corretto nel modificatore delle dimensioni del layout curvo (I0fedf)
  • Abbiamo aggiunto il supporto per la spaziatura delle lettere specificata in "sp". (I9f6e3)
  • Abbiamo corretto un bug nella finestra di dialogo Material2 per 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 la sua finalità. È stata rinominata la funzione correlata per calcolare le coordinate in base a questo flag. (I3a330)

Versione 1.4

Versione 1.4.0

4 settembre 2024

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

Modifiche importanti dalla versione 1.3.0

  • ScalingLazyColumn e Picker ora supportano l'input rotatorio per impostazione predefinita. Ti consigliamo di rimuovere la gestione esplicita del controllo rotatorio e di fare riferimento al comportamento predefinito del sistema. Se necessario, utilizza il parametro rotaryScrollableBehavior per configurare il comportamento di scorrimento o di agganci. Per il comportamento di agganci, ti consigliamo di fornire funzionalità di scorrimento con tocco e di agganci utilizzando il parametro flingBehavior.
  • Modifier.rotaryScrollable è un nuovo modificatore che collega gli eventi rotatori 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 viene ora mostrato per impostazione predefinita quando viene visualizzata per la prima volta una schermata.

Modifiche aggiuntive

Versione 1.4.0-rc01

21 agosto 2024

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

  • Abbiamo aggiornato le dipendenze di Compose alla versione 1.7.0-rc01 e abbiamo bloccato la navigazione di Compose per Wear OS su androidx.lifecycle 2.8.3

Versione 1.4.0-beta03

12 giugno 2024

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

Correzioni di bug

  • Abbiamo aggiornato Modifier.rotaryScrollable sostituendo 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 riferimento della libreria Wear Compose. (I3cbc3)

Versione 1.4.0-beta02

29 maggio 2024

androidx.wear.compose:compose-*:1.4.0-beta02 viene rilasciato. 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 rilasciato. La versione 1.4.0-beta01 contiene questi commit.

La versione 1.4-beta01 di Compose per Wear OS indica che questa versione 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 rotatori 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 rotatorio per impostazione predefinita. Utilizza il parametro rotaryScrollableBehavior per configurare il comportamento di scorrimento o di agganciamento. Per il comportamento di agganci, ti consigliamo di fornire l'aggancio anche tramite il parametro flingBehavior per lo scorrimento tocco.
  • SwipeDismissableNavHost ora fornisce un'animazione di entrata per le transizioni in-app.
  • PositionIndicator viene ora mostrato per impostazione predefinita quando viene visualizzata per la prima volta una schermata.
  • SelectableChip e SplitSelectableChip sono stati aggiunti come variante di ToggleChip. Utilizzali con RadioButton per fornire una semantica selezionabile anziché una semantica attivabile/disattivabile per l'accessibilità
  • ListHeader ora supporta le regolazioni dell'altezza quando i contenuti richiedono un'altezza maggiore per adattarsi a caratteri di grandi dimensioni.

Correzioni di bug

  • Abbiamo corretto un bug per cui 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 rilasciato. La versione 1.4.0-alpha08 contiene questi commit.

Modifiche all'API

  • Abbiamo apportato le seguenti modifiche alla nuova API rotante: abbiamo rinominato Modifier.rotary in Modifier.rotaryScrollable; abbiamo rinominato 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 di rotazione: abbiamo rinominato RotaryScrollableLayoutInfoProvider in RotarySnapLayoutInfoProvider (in quanto questo provider è necessario solo per la rotazione con scatto); abbiamo modificato il tipo del parametro snapOffset in RotaryScrollableDefaults.snapBehavior snapOffset da Int a Dp. (Iddebe)
  • Abbiamo rinominato il parametro clickInteractionSource in SplitSelectableChip.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 la spaziatura orizzontale per PositionIndicator a 2 dp (in precedenza 5 dp) per correggere un bug che causava l'accavallamento di PositionIndicator (barra di scorrimento) sui contenuti scorrevoli. Tieni presente che questa modifica dovrebbe interrompere gli screenshot esistenti che includono il carattere PositionIndicator a causa della modifica del padding. (I57472)
  • Abbiamo migliorato la documentazione della nuova API per i dispositivi rotanti descrivendo le differenze tra i dispositivi rotanti a bassa risoluzione e quelli ad alta risoluzione. (I63abe)
  • Abbiamo risolto un'eccezione di 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 rilasciato. La versione 1.4.0-alpha07 contiene questi commit.

Modifiche all'API

  • Abbiamo aggiunto Modifier.rotary, un nuovo modificatore che collega gli eventi rotatori 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 rotatorio per impostazione predefinita, con nuovi sovraccarichi che includono il parametro rotaryBehavior per specificare la configurazione di scorrimento o snap. Se il parametro rotaryBehavior è impostato su snap, è consigliabile fornire lo snap anche tramite il parametro flingBehavior per lo scorrimento tocco. (I2ef6f)
  • Le origini NestedScroll Trascinamento e Fling vengono sostituite da UserInput e SideEffect per supportare la definizione estesa di queste origini, che ora includono le animazioni (Side Effect), la rotella del mouse e la tastiera (UserInput). (I40579)
  • Abbiamo aggiunto SelectableChip e SplitSelectableChip per distinguere meglio i controlli di attivazione/disattivazione come Switch/Checkbox dai controlli selezionabili come RadioButton. Questo sostituisce le sovraccaricamenti di ToggleChip/SplitToggleChip aggiunti in precedenza con i parametri selectionControl. (Ia0217)
  • Il modificatore della visibilità di IndeterminateStrokeWidth in ProgressIndicatorDefaults è stato aggiornato in pubblico. (I5b5a4)

Versione 1.4.0-alpha06

3 aprile 2024

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

Correzioni di bug

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

Versione 1.4.0-alpha05

20 marzo 2024

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

Modifiche all'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 diminuendo 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 rilasciato. La versione 1.4.0-alpha04 contiene questi commit.

Modifiche all'API

  • Abbiamo aggiunto un nuovo sovraccarico per ToggleChip e SplitToggleChip che accetta un parametro selectionControl anziché il parametro toggleControl. Deve essere utilizzato con il controllo RadioButton per fornire una semantica selezionabile anziché una semantica attivabile/disattivabile per l'accessibilità (I1d6d9)
  • Abbiamo aggiornato i nomi dei parametri per la nuova sovraccarica selectionControl 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 rilasciato. La versione 1.4.0-alpha03 contiene questi commit.

Modifiche all'API

  • Il wrapper Modifier.inspectable è stato deprecato. Questa API crea più invalidazioni del modificatore del necessario, pertanto il suo utilizzo è 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 nella documentazione relativo alle annotazioni WearPreview*. (Id526d)

Versione 1.4.0-alpha02

7 febbraio 2024

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

Correzioni di bug

  • Abbiamo corretto un bug nella funzionalità scorri per visualizzare, che consentiva di interagire con (e annullare) un'azione confermata su un elemento iniziando a scorrere un altro elemento.(Ide059)
  • Abbiamo aggiornato ListHeader per supportare le regolazioni dell'altezza quando i contenuti richiedono un'altezza maggiore per adattarsi a caratteri di grandi dimensioni. (I7290c, b/251166127)

Versione 1.4.0-alpha01

24 gennaio 2024

androidx.wear.compose:compose-*:1.4.0-alpha01 viene rilasciato. 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 viene ora mostrato per impostazione predefinita quando viene visualizzata per la prima volta una schermata. Questa modifica è stata introdotta per contribuire a soddisfare le linee guida sulla qualità per Wear. Purtroppo, ciò significa che i test degli screenshot dovranno essere aggiornati nelle schermate che includono PositionIndicator, poiché in precedenza PositionIndicator non sarebbe stato visualizzato. (419cef7)

Modifiche all'API

  • Abbiamo aggiunto una nuova API Ripple nelle librerie wear:compose-material e wear:compose-material3 che sostituisce rememberRipple, ormai deprecata. Aggiunge anche un CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare l'utilizzo delle API rememberRipple/RippleTheme deprecate da parte dei componenti Material. Questo parametro verrà rimosso nella prossima release stabile e ha lo scopo di essere solo un aiuto temporaneo per la migrazione nei casi in cui fornisci un RippleTheme personalizzato. Visita la pagina developer.android.com per informazioni sulla migrazione e ulteriori informazioni sulle motivazioni alla base di questa modifica. (af92b21)
  • Abbiamo aggiornato ColorScheme in modo che sia immutabile, rendendo meno efficienti i singoli aggiornamenti dei colori, ma migliorando l'utilizzo più comune dei colori. Il motivo alla base di questa modifica è che la maggior parte delle app non ha l'aggiornamento dei singoli colori come caso d'uso principale. Questa operazione è ancora possibile, ma la ricompozione sarà più frequente rispetto a prima. Di conseguenza, ridurremo in modo significativo la quantità di abbonamenti di stato in tutto il codice materiale e influiremo sul costo di inizializzazione e di runtime di 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 con valori null che per impostazione predefinita è null. Non sono presenti modifiche semantiche: se passi null, significa che non vuoi eseguire l'elevazione di MutableInteractionSource, che verrà creato all'interno del componente, se necessario. La modifica in null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri di creare un'istanza solo quando è necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi MutableInteractionSource che passi a questi componenti, ti consigliamo di passare null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (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 a quella originale. (5c80095)

Correzioni di bug

  • Abbiamo aggiornato l'impostazione ReduceMotion in modo da utilizzare un ascoltatore consapevole del ciclo di vita. (7c6b122)
  • Abbiamo aggiornato l'listener di TouchExplorationStateProvider in modo che tenga conto del ciclo di vita (be28b01)
  • Abbiamo rimosso il livello MaterialCore per CompactButton per migliorare le prestazioni (25db8e9)
  • Abbiamo reso BasicSwipeToDismissBox più robusto agli offset NaN per evitare eccezioni (b983739)
  • Abbiamo aggiornato BasicSwipeToDismissBox per assicurarci che i valori alfa rientrino 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 erano duplicati) (d11eeb7)

Versione 1.3

Versione 1.3.1

3 aprile 2024

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

Correzioni di bug

  • Abbiamo corretto un bug nella funzionalità scorri per visualizzare, che consentiva di interagire con (e annullare) un'azione confermata 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 rilasciato. 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 di Material Design, come l'applicazione dei colori di un tema configurato, vengono gestiti separatamente.
  • Le classi SwipeToRevealCard e SwipeToRevealChip ti aiutano a implementare recommended swipe-to-reveal guidance. La classe SwipeToRevealSample mostra come utilizzare questi componenti.
  • La versione 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 certo ritaglio. Per risolvere il problema, la forma large per MaterialTheme ora utilizza un raggio di curvatura maggiore (26 dp anziché 24 dp). Gli oggetti Chip e ToggleChip utilizzano questo nuovo raggio di angolo per evitare di ritagliare i contenuti agli angoli di Chip e 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 della versione beta01.

Consigli per l'implementazione

  • Se la tua app consente agli utenti di eseguire la panoramica dei 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 passare alla schermata precedente.
  • Per disattivare le animazioni per un indicatore di posizione durante le animazioni di aumento dell'intensità e di modifica della posizione all'interno di un elenco scorrevole, utilizza un oggetto SnapSpec.
  • Mentre aspetti che un'app multimediale carichi i contenuti per la riproduzione, mostra un componente componibile Placeholder vuoto.
  • Per creare una raccolta di elementi espandibili su richiesta, ti consigliamo di utilizzare la classe sperimentale ExpandableStateMapping.

Versione 1.3.0-rc01

10 gennaio 2024

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

Correzioni di bug

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

    Testo troncato agli angoli
    Figura 1: testo troncato agli angoli.
    Testo non troncato
    Figura 2: testo non troncato.

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

Versione 1.3.0-beta02

13 dicembre 2023

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

Correzioni di bug

  • Abbiamo ripristinato il movimento di scorrimento previsto in BasicSwipeToDismissBox. Questo comportamento è stato modificato in una release precedente, in modo che la parte di scorrimento della transizione si verificasse mentre il dito toccava lo schermo. (Id8e76)

Versione 1.3.0-beta01

15 novembre 2023

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

La versione 1.3-beta01 di Compose per Wear OS indica che questa versione della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear Compose 1.3 include le seguenti nuove funzionalità:

  • È stata eseguita la migrazione di SwipeToDismissBoxState, SwipeToDismissValue e Modifier.edgeSwipeToDismiss da androidx.wear.compose.material a androidx.wear.compose.foundation, insieme all'implementazione di 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 dal SwipeDismissableNavHost in androidx.wear.compose.navigation. Si consiglia comunque di utilizzare SwipeToDismissBox di androidx.wear.compose.material con Material Design, perché estrae i colori da MaterialTheme e poi 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 dell'attenzione utilizzando HierarchicalFocusCoordinator.
  • SwipeToReveal ha nuovi composabili SwipeToRevealCard e SwipeToRevealChip in Material che seguono le indicazioni sull'esperienza utente consigliate per Card e Chip. Supporta anche l'annullamento dell'azione secondaria.
  • DefaultTextStyle ora disattiva l'interno dei caratteri per garantire la coerenza sulla piattaforma Android.
  • Chip e ToggleChip ora regolano la propria altezza per adattarsi ai contenuti che sono aumentati a causa dei caratteri grandi per l'accessibilità
  • PositionIndicator ora dispone di specifiche di animazione individuali per le animazioni di comparsa, scomparsa e di cambio di posizione. Per motivi di prestazioni, ti consigliamo di disattivare l'effetto di dissolvenza e la modifica della posizione quando li utilizzi 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 Riduci movimento ora si applica all'effetto tremolio e alla modalità Spostamento graduale su Placeholder.

Problemi noti

  • PositionIndicator non viene inizialmente visualizzato quando viene visualizzata per la prima volta una schermata. Abbiamo intenzione di apportare una modifica in una versione alpha 1.4 iniziale in modo che venga mostrata inizialmente, ma senza animazione.

Modifiche all'API

  • Abbiamo rinominato il livello base SwipeToDismissBox in BasicSwipeToDismissBox. In questo modo, la distinzione tra il componente a livello di base e il componente a livello di materiale è più chiara SwipeToDismissBox. Quest'ultimo estrae i colori da MaterialTheme da utilizzare negli scrim 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 composabili SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction e SwipeToRevealUndoAction. Consulta il codice di esempio 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 dal testo curvo limitato quando le dimensioni sono limitate (I50efe)
  • Abbiamo risolto un potenziale arresto anomalo NaN relativo a curvedComposable (I970eb)
  • Abbiamo annullato la rimozione dell'animazione di evidenziazione della modifica della posizione il giorno PositionIndicator. (Ieb424)
  • Abbiamo rimosso il livello material-core per il chip di materiale per migliorarne il rendimento. (If2dcb)

Versione 1.3.0-alpha08

18 ottobre 2023

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

Modifiche all'API

  • Abbiamo aggiunto singoli flag ai sovraccarichi di PositionIndicator per controllare animazioni diverse: showFadeInAnimation, showFadeOutAnimation e showPositionAnimation. L'API precedente è stata ritirata e inoltra le chiamate alla nuova. Per motivi di prestazioni e coerenza dell'esperienza utente, quando PositionIndicator viene utilizzato con un elenco scorrevole, consigliamo di disattivare i flag showFadeInAnimation e showPositionAnimation. Se PositionIndicator viene utilizzato come indicatore autonomo, ad esempio per la regolazione 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à Scorri per chiudere in wear.compose.foundation. Sostituisci con gli equivalenti di wear.compose.foundation. (Iee8c9)

Correzioni di bug

  • Abbiamo aggiornato i profili di riferimento per le librerie Wear Compose Foundation, Material e Navigation. (Idb060)
  • Abbiamo ripristinato una modifica del comportamento di PositionIndicator introdotta in una CL precedente, in modo che PositionIndicator fosse animato quando una schermata veniva visualizzata inizialmente. Abbiamo intenzione di apportare una modifica simile in una versione alpha 1.4 iniziale, in modo che il PositionIndicator venga visualizzato inizialmente, ma senza animazione. (I41843)
  • Abbiamo risolto alcuni problemi di prestazioni in PositionIndicator. (I1c654, b/302399827)
  • Abbiamo ottimizzato il rendimento dell'implementazione predefinita del provider dello stato dell'esplorazione tocco in modo che si basi su State<Boolean> anziché sullo stato derivato. (Ieec4d)
  • Abbiamo impostato i 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 rilasciato. La versione 1.3.0-alpha07 contiene questi commit.

Modifiche all'API

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

Correzioni di bug

  • Abbiamo apportato miglioramenti allo scorrimento per rivelare il movimento aggiungendo un'animazione di dissolvenza al testo dell'azione principale e attenuando l'azione secondaria/modificando la scala dell'icona all'espansione completa dello scorrimento. (Ib7223)
  • Ti consigliamo di rendere accessibili le azioni Scorri per scoprire e abbiamo aggiunto azioni di accessibilità personalizzate ai nostri esempi di Scorri per scoprire. (I42224)
  • Abbiamo migliorato il rendimento di SwipeToDismissBox, incluso il refactoring per assicurarci che la logica iniziale non attivi una ricostituzione. SwipeToDismissBox ora viene visualizzato nelle dimensioni a schermo intero. (Ie0aa2)
  • Abbiamo corretto un bug che causava la scomparsa errata del simbolo PositionIndicator. (I2091a)
  • Miglioramento del rendimento di PositionIndicator mediante l'ottimizzazione delle ricostruzioni. Successivamente sono stati aggiunti nuovi flag per controllare le animazioni (fadeIn, fadeOut e positionChange) (vedi Modifiche all'API) (Ifac7d)
  • Abbiamo aggiunto i test di microbenchmark per PositionIndicator (Idf875)

Versione 1.3.0-alpha06

20 settembre 2023

androidx.wear.compose:compose-*:1.3.0-alpha06 viene rilasciato. 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 riferimento 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 rilasciato. La versione 1.3.0-alpha05 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiunto la gestione in Scorri per visualizzare in modo da poter 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 rilasciato. La versione 1.3.0-alpha04 contiene questi commit.

Nuove funzionalità

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

Modifiche all'API

  • Aggiungi HorizontalPageIndicator nella raccolta Wear Material3. (Ifee99)
  • Aggiornamento degli strumenti di anteprima di Wear Compose per l'utilizzo della libreria androidx.wear.tooling.preview. (Ib036e)

Correzioni di bug

  • Risolto un bug nei pulsanti rotondi per cui i modificatori non venivano collegati correttamente. (I5e162)

Versione 1.3.0-alpha03

9 agosto 2023

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

Modifiche all'API

  • Abbiamo aggiunto due nuovi composabili in Material per l'implementazione di SwipeToReveal con schede e chip. Questi composabili seguono le indicazioni UX consigliate per il componente e consentono agli sviluppatori di implementare più facilmente SwipeToReveal con i componenti esistenti in Wear Material. (I7ec65)
  • Abbiamo attivato le annotazioni FloatRange come vincoli dell'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 di tratti. (I5f225, b/288234617)
  • Abbiamo corretto la visibilità del segno di spunta nelle caselle di controllo in stato disattivato. (Ib25bf)
  • Abbiamo aggiornato Placeholder per consentire la reimpostazione in modo da mostrare il segnaposto se i contenuti non sono più nello stato di disponibilità. (Ibd820)
  • Abbiamo apportato alcune correzioni ai test Placeholder non affidabili (Idb560)

Versione 1.3.0-alpha02

26 luglio 2023

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

Modifiche all'API

  • Abbiamo fornito ExpandableStateMapping, un nuovo modo per generare ExpandableStates, per i casi in cui devono essere creati su richiesta, non necessariamente nell'ambito di un ambito @Composable (Iff9e0)
  • È stata eseguita la migrazione di SwipeToDismissBox 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 margini orizzontali e verticali 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 relativo all'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)
  • Migliorare la gestione dell'attenzione di SwipeToDismissBox (e quindi di SwipeDismissableNavHost) utilizzando HierarchicalFocusCoordinator (I45362, b/277852486)
  • Abbiamo apportato una correzione alla gestione dei gesti in SwipeableV2 . (I89737)
  • Abbiamo finalizzato i profili di riferimento per la nostra release 1.2. (Id5740)
  • A seguito della migrazione di SwipeToDismissBox a Foundation, l'implementazione di Material SwipeToDismissBox ora viene inoltrata a Foundation e fornisce i valori di colore predefiniti dal relativo tema.(If8451)
  • Abbiamo aggiunto la semantica delle intestazioni a ListHeader. (Ic5420)
  • Chip e ToggleChip ora regolano la propria altezza per adattarsi ai contenuti che sono aumentati a causa di caratteri grandi per l'accessibilità, se necessario. (Iaf302)
  • È stato corretto un bug nel ruolo semantico dell'area tocabile di SplitToggleChip, per l'accessibilità. (Ieed3a)
  • L'impostazione Riduci movimento ora disattiva l'effetto tremolio e l'animazione di scorrimento sui segnaposto. (I91046)
  • Stepper e InlineSlider ora supportano i clic ripetuti con 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 rilasciato. La versione 1.3.0-alpha01 contiene questi commit.

Correzioni di bug

  • Come annunciato in 1.2.0-alpha07 e 1.2.0-alpha10, stiamo modificando il DefaultTextStyle per disattivare l'interno del carattere in modo che sia coerente sulla piattaforma Android. In questo modo verranno risolti alcuni casi di ritaglio del testo con caratteri di grandi dimensioni e potrebbero essere interessati anche i layout dello schermo, pertanto i test degli screenshot devono essere aggiornati. Ad esempio, qui vediamo il ritaglio del testo (Ic6a86)
Testo troncato con dimensioni dei caratteri grandi
Figura 1: testo troncato.
  • Non è più presente quando la spaziatura dei caratteri è disattivata:
Testo non troncato con caratteri di grandi dimensioni
Figura 2: testo non troncato.
  • 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 remember in modo che vengano creati nuovi modificatori quando i contenuti o lo sfondo cambiano. (Ib876c, b/280392104)
  • Abbiamo aggiornato TimeText in modo che utilizzi le impostazioni internazionali quando si sceglie il formato per l'ora in 12 o 24 ore. (If4a3d)
  • Abbiamo corretto un'incongruenza 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 a più righe possono causare il ritaglio del testo quando vengono visualizzati con caratteri di grandi dimensioni, pertanto aggiorneremo 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 rilasciato. La versione 1.2.1 contiene questi commit.

Correzioni di bug

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

Versione 1.2.0

9 agosto 2023

androidx.wear.compose:compose-*:1.2.0 viene rilasciato. 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 rilasciato. La versione 1.2.0-rc01 contiene questi commit.

Correzioni di bug

  • Abbiamo finalizzato i profili di riferimento per la nostra release 1.2 (Id5740)

Versione 1.2.0-beta02

7 giugno 2023

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

Nuove funzionalità

  • Abbiamo aggiunto la nuova variabile sperimentale LocalReduceMotion CompositionLocal che disattiva la scalabilità e lo sfumamento su ScalingLazyColumn. (I58024)

Correzioni di bug

  • Abbiamo aggiornato i profili di riferimento per le librerie di Material e Wear Compose Foundation(I4725d)
  • Abbiamo corretto un'incongruenza 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 rilasciato. La versione 1.2.0-beta01 contiene questi commit.

Novità di Scrivi per Wear OS 1.2

La versione 1.2-beta01 di Compose per Wear OS indica che questa versione 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 composable sperimentale consente di contrassegnare i sottoalberi della composizione come con o senza stato attivo.
  • Picker: l'API ora include userScrollEnabled per controllare se il selettore è attivo per lo scorrimento dell'utente.
  • PickerGroup: un nuovo composable per gestire più selettori contemporaneamente. Gestisce lo stato attivo tra i selettori utilizzando l'API HierarchicalFocusCoordinator e consente il centratura automatica degli elementi del selettore.
  • Placeholder: abbiamo apportato aggiornamenti alle animazioni Shimmer e "Cancella". L'effetto di cancellazione 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 visualizzare come mezzo per accedere alle azioni secondarie, integrando il pattern esistente di "pressione prolungata".
  • Stepper: ora ha un sovraccarico con un parametro enableRangeSemantics aggiuntivo per semplificare la disattivazione della semantica dell'intervallo predefinita.
  • Previews: abbiamo aggiunto le seguenti annotazioni personalizzate per l'anteprima dei composabili sulle schermate Wear: WearPreviewSmallRound mostra l'anteprima del composable su un dispositivo piccolo e rotondo; WearPreviewLargeRound mostra l'anteprima del composable su un dispositivo grande e rotondo; WearPreviewSquare mostra l'anteprima del composable su un dispositivo quadrato. Inoltre, le seguenti annotazioni con più anteprime: WearPreviewFontScales mostra l'anteprima dei composabili su un dispositivo Wear con più dimensioni dei caratteri, mentre WearPreviewDevices mostra l'anteprima dei composabili su diversi dispositivi Wear.
  • Abbiamo aggiunto un DefaultTextStyle a Wear Compose che imposta per impostazione predefinita la proprietà PlatformTextStyle.includeFontPadding su true (questa è l'impostazione corrente). In questo modo potremo sincronizzare la disattivazione dell'interno del carattere per impostazione predefinita con le librerie Compose in una versione alpha 1.3 precedente. Per ulteriori informazioni, consulta 1.2.0-alpha10.

Nuove funzionalità

  • Abbiamo aggiunto il supporto sperimentale per la disattivazione della scalabilità e dell'animazione di dissolvenza 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 di un backstack vuoto. Questo viene fatto per evitare arresti anomali imprevisti causati da IllegalArgumentException, che è stato lanciato quando la pila di ritorno era vuota. (I04a81, b/277700155)

Versione 1.2.0-alpha10

10 maggio 2023

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

Nuove funzionalità

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

Modifiche all'API

  • Abbiamo aggiunto RevealScope ai composabili di azioni in SwipeToReveal, che consente di accedere all'offset in cui vengono visualizzate altre azioni. (I3fd56)

Correzioni di bug

  • È stato risolto un problema relativo al blocco di ScalingLazyColumn sull'API Wear 33 dopo il fling (Ic4599)
  • Abbiamo apportato alcuni miglioramenti alle prestazioni di PositionIndicator per ridurre il jitter. (I35e92)
  • Abbiamo corretto un bug in Chip e CompactChip per 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 di rendering dell'anteprima quando è annotata con @WearPreviewDevices e @WearPreviewFontScales. È prevista la pubblicazione di una correzione a breve. Tieni presente che le altre annotazioni di anteprima per Wear OS 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 lo sfondo, vedi Correggere l'interno del carattere in Compose. Modificheremo DefaultTextStyle per disattivare l'interno del carattere in una versione alpha 1.3 iniziale, in modo da garantire la coerenza sulla piattaforma Android. In questo modo verranno risolti alcuni casi di ritaglio del testo con caratteri di grandi dimensioni e potrebbero essere interessati anche i layout dello schermo, pertanto i test degli screenshot dovranno essere aggiornati. Ad esempio, con caratteri di grandi dimensioni, il testo viene tagliato qui:

Testo troncato con dimensioni dei caratteri grandi
Figura 1: testo troncato.
  • Non è più presente quando il rientro dei caratteri è disattivato:
Testo non troncato con caratteri di grandi dimensioni
Figura 2: testo non troncato.

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

Versione 1.2.0-alpha09

19 aprile 2023

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

Modifiche all'API

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

Correzioni di bug

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

Versione 1.2.0-alpha08

5 aprile 2023

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

Modifiche all'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 aggiornato gli esempi di elementi espandibili. (Iae309)

Correzioni di bug

  • Esempi espandibili migliorati per mostrare più possibilità. Animazione modificata di expandableItem per mantenere i contenuti al centro durante l'animazione. (I2f637)
  • Aggiornamento di ToggleControls per evitare ricostruzioni aggiuntive quando si animano manualmente i colori utilizzando State. (I5d319)

Versione 1.2.0-alpha07

22 marzo 2023

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

Modifiche all'API

  • Abbiamo spostato i componenti Elemento espandibile (aggiunti nella versione 1.2.0-alpha06) da Material a Componenti di base, poiché non avevano un riferimento significativo a MaterialTheme. (Ib0525)

Correzioni di bug

  • Abbiamo risolto un arresto anomalo che si verificava in una schermata che utilizza PickerGroup, assicurandoci che PickerGroup gestisca correttamente lo stato attivo quando nessun selettore ha lo stato attivo. È stato aggiunto anche il supporto dello scorrimento della barra di scorrimento verticale nelle demo del selettore. (If8c19)
  • Abbiamo migliorato le transizioni dei dialoghi: la transizione introduttiva è ora più fluida per abbinarsi alla transizione di chiusura. (Ib5af9)
  • Abbiamo aggiunto un DefaultTextStyle a Wear Compose che imposta per impostazione predefinita la proprietà PlatformTextStyle.includeFontPadding su true (questa è l'impostazione corrente). In questo modo, in futuro potremo sincronizzare la disattivazione dell'interno dei caratteri per impostazione predefinita con le librerie di Compose. Per maggiori informazioni, consulta l'articolo Correggere l'interno dei caratteri in Compose. (I2aee8)
  • È stata ripristinata una dipendenza dall'anteprima UpsideDownCake tramite activity-compose che bloccava 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 rilasciato. La versione 1.2.0-alpha06 contiene questi commit.

Modifiche all'API

  • Aggiungi il componente CurvedBox, che sovrappone i componenti nel mondo curvo. (I29200)
  • Sono stati aggiunti gli elementi espandibili: due nuovi componenti per supportare un gruppo di elementi espandibili in un ScalingLazyColumn o un singolo elemento espandibile, ad esempio il testo in cui il numero di righe aumenta. (I95dd5)
  • Abbiamo aggiunto le seguenti annotazioni personalizzate per visualizzare l'anteprima dei composabili sugli schermi Wear: WearPreviewSmallRound mostra l'anteprima del composable su un dispositivo piccolo e rotondo; WearPreviewLargeRound mostra l'anteprima del composable su un dispositivo grande e rotondo; WearPreviewSquare mostra l'anteprima del composable su un dispositivo quadrato. Inoltre, le seguenti annotazioni con più anteprime: WearPreviewFontScales mostra l'anteprima dei composabili su un dispositivo Wear con più dimensioni dei caratteri, mentre WearPreviewDevices mostra l'anteprima dei composabili su diversi dispositivi Wear. Per utilizzare queste anteprime, devi utilizzare la versione più recente di Android Studio (Giraffe Canary 6) o successive. Tieni presente che, se queste annotazioni non sono adatte alle tue finalità, puoi comunque utilizzare Anteprima, che supporta ulteriori personalizzazioni tramite i parametri. (I397ff)
  • Abbiamo contrassegnato HierarchicalFocusCoordinator come sperimentale, anche se è considerato un candidato per essere spostato nelle librerie di composizione di base, data la sua ampia applicabilità. (I3a768)

Correzioni di bug

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

Versione 1.2.0-alpha05

22 febbraio 2023

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

Modifiche all'API

  • L'API PickerGroup è stata aggiornata per consentire la propagazione facoltativa delle limitazioni minime al composable. Se impostato su true, i vincoli minimi passati dal componibile principale saranno consentiti in PickerGroup. Se impostato su false, PickerGroup reimposta i vincoli minimi. (I3e046)
  • Abbiamo aggiunto animateScrollToOption all'API Picker per supportare l'animazione programmatica per un'opzione del selettore specifica (I6fe67)

Correzioni di bug

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

Versione 1.2.0-alpha04

8 febbraio 2023

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

Nuove funzionalità

  • PickerGroup per gestire più selettori contemporaneamente utilizzando l'API di messa a fuoco. Gestisce lo stato attivo tra i diversi selettori, attiva il centratura automatica dei selettori in base ai parametri e consente agli sviluppatori di spostare lo stato attivo tra i diversi selettori durante la gestione degli eventi del gruppo. In modalità TalkBack, il tasto PickerGroup gestisce lo stato attivo di TalkBack spostandolo sul selettore selezionato dal gruppo. (I60840)

Modifiche all'API

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

Correzioni di bug

  • Consenti l'inserimento di ScalingLazyColumn all'interno di una pagina con scorrimento orizzontale (Iec3f8, b/266555016)
  • Miglioramento dei kdocs 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 rilasciato. La versione 1.2.0-alpha03 contiene questi commit.

Modifiche all'API

  • Abbiamo eseguito la migrazione di ScalingLazyColumn (e dei relativi corsi) 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. Il cambiamento è in corso in vista della creazione 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 in modo che utilizzi ScalingLazyListState di Wear Compose Foundation.Lazy e abbiamo ritirato l'overload che prendeva 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 in modo che utilizzino ScalingParams da Foundation.Lazy e abbiamo ritirato gli overload che utilizzavano Material ScalingParams. (Idc3d8)

Correzioni di bug

  • Abbiamo corretto un bug che causava ricostruzioni non necessarie in ScalingLazyListState.centerItemIndex assicurandoci che invii aggiornamenti solo quando il valore cambia effettivamente (Ia9f38)
  • Abbiamo migliorato il rendimento di SwipeToDismissBox (I3933b)
  • Sono stati aggiunti test di benchmark per ScalingLazyColumn in Wear Compose Foundation (Ie00f9)
  • Abbiamo aggiornato alcuni metodi delle classi ScalingLazyColumn interne in Material per utilizzare i relativi equivalenti di Foundation.Lazy (I38aab)
  • Abbiamo risolto alcuni problemi nei test del selettore e aggiunto altri test per verificare lo scorrimento con offset (I6ac34)
  • Abbiamo eseguito la migrazione dei demo di integrazione di ScalingLazyColumn in modo che dipendano da Foundation.Lazy anziché dal materiale 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 rilasciato. La versione 1.2.0-alpha02 contiene questi commit.

Modifiche all'API

  • Ora i test dell'interfaccia utente di Android Compose eseguono passaggi di layout per ogni frame durante l'esecuzione dei frame per raggiungere lo stato inattivo (ad es. tramite waitForIdle). Ciò potrebbe influire sui test che eseguono verifiche sui singoli frame delle animazioni del 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

  • Disattivare le build multipiattaforma per i pacchetti wear.compose (Iad3d7)
  • Correggi i documenti di k per scrollToOption (I6f9a0)
  • PlaceholderState.rememberPlaceholderState() aggiornato per utilizzare rememberUpdatedState in modo che lo stato venga aggiornato se la funzione lambda onContentReady. (I02635, b/260343754)
  • Abbiamo risolto un problema di jitter 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 in formato 12 ore (I05e12)
  • Abbiamo aggiornato le demo dei selettori di data e ora in modo che non siano interessati dalle modifiche all'RSB quando non sono selezionati (I4aecb)

Versione 1.2.0-alpha01

7 dicembre 2022

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

Nuove funzionalità

  • Abbiamo aggiornato la funzionalità sperimentale dei segnaposto in modo che l'effetto "Cancella" 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 sfarfallio e di scomparsa. (I5a7f4)

Modifiche all'API

  • Abbiamo aggiunto un componente composable HierarchicalFocusCoordinatorper consentire di contrassegnare i sottoalberi della composizione come con o senza stato attivo.(I827cb)
  • Abbiamo aggiunto una nuova proprietà per sostituire il ruolo semantico per ToggleButton.(I67132)
  • Abbiamo aggiornato TimeTextDefaults.TimeFormat12Hours per rimuovere AM/PM in TimeText. In questo modo, verrà modificato il valore predefinito dei parametri timeSource nell'API TimeText. (I1eb7f)
  • Abbiamo esteso l'API Picker per migliorare l'accessibilità delle schermate con più selettori. Esiste 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 nella posizione corretta, abbiamo aggiunto un valore stimato di autoCentering topPadding quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura superiore necessaria assumendo un elemento iniziale di altezza 0,0 dp. Per ScalingLazyListAnchorType.ItemStart verrà calcolato il padding superiore corretto, mentre per ScalingLazyListAnchorType.ItemCenter questo calcolo sarà errato perché l'altezza degli elementi è necessaria per dimensionare correttamente i contenuti, con un piccolo effetto di scorrimento in base all'altezza reale degli elementi.(I239a4)
  • Abbiamo aggiornato lo scrim di sfondo applicato all'animazione SwipeToDismiss in modo che corrisponda alla piattaforma Wear. (I9003e)
  • Abbiamo corretto la gestione di PositionIndicator per LazyListState e ScalingLazyListState per gli elementi dell'elenco di dimensione 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 vengono rilasciati. La versione 1.1.2 contiene questi commit.

Correzioni di bug

  • Abbiamo corretto un bug che causava ricostruzioni non necessarie in ScalingLazyListState.centerItemIndex assicurandoci che invii aggiornamenti 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 vengono 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 funzione 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 vengono rilasciati. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

Nuove funzionalità

  • Abbiamo aggiornato la funzionalità sperimentale dei segnaposto in modo che l'effetto "Cancella" 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 sfarfallio e di scomparsa. (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 nella posizione corretta, abbiamo aggiunto un valore stimato di autoCentering topPadding quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura superiore necessaria assumendo un elemento iniziale di altezza 0,0 dp. Per ScalingLazyListAnchorType.ItemStart verrà calcolato il padding superiore corretto, mentre per ScalingLazyListAnchorType.ItemCenter questo calcolo sarà errato perché l'altezza degli elementi è necessaria per dimensionare correttamente i contenuti, con un piccolo effetto di scorrimento in base all'altezza reale degli elementi.(I239a4)
  • Abbiamo aggiornato lo scrim di sfondo applicato all'animazione SwipeToDismiss in modo che corrisponda alla piattaforma Wear.(I9003e)
  • Abbiamo corretto la gestione di PositionIndicator per LazyListState e ScalingLazyListState per gli elementi dell'elenco di dimensione 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 vengono rilasciati. La versione 1.1.0-rc01 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiunto regole per i profili di riferimento per Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip e OutlinedCompactChip. (I8249c)
  • Abbiamo corretto un bug in Modifier.scrollAway in modo che, se il valore itemIndex specificato non è valido (ad esempio se l'indice dell'elemento non è compreso nell'intervallo), TimeText venga comunque visualizzato. (I2137a)
  • Abbiamo aggiornato l'animazione SwipeToDismissBox in modo che corrisponda all'implementazione della piattaforma. Dopo l'animazione iniziale di compressione, lo schermo ora scorre verso destra una volta attivato il rifiuto. (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 documentazione e un esempio ai segnaposto per mostrare l'ordine corretto di Modifier.placeholder e Modifier.placeholderShimmer quando applicati allo stesso composable. (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, pertanto i composabili non venivano aggiornati dopo le modifiche agli input. (I49ff6, b/255323197)
  • Abbiamo apportato alcuni aggiornamenti all'interfaccia utente dei segnaposto: 1) modifica della sfumatura di sfarfallamento in 1, 5 volte le dimensioni dello schermo, 2) aggiunta di un'attenuazione (cubic bezier) della progressione di sfarfallamento e 3) accelerazione dell'animazione di scomparsa (250 ms). (Id29c1)
  • Abbiamo corretto un bug dell'interfaccia utente nell'effetto di scomparsa dei segnaposto, per cui gli sfondi di chip e schede scomparivano leggermente in anticipo a causa della mancata considerazione 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 che la miscelazione alfa dei diversi livelli ritagliati consenta ai colori sottostanti di trasparire ai bordi dello sfondo del segnaposto. (I2ea26)
  • Abbiamo corretto il calcolo di ScalingLazyListState.centerItemIndex/centerItemOffset in modo che, se due elementi si trovano ai lati della linea di mezzeria della visualizzazione, quello più vicino venga considerato centerItem. (I30709, b/254257769)
  • Abbiamo corretto un bug in ScalingLazyListState.layoutInfo.visibleItemsInfo che registrava offset errati durante l'inizializzazione di ScalingLazyColumn. Ora verrà restituito un elenco vuoto finché tutti gli elementi dell'elenco non saranno visibili e avranno gli offset corretti. La presenza di ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() confermerà che l'inizializzazione di ScalingLazyColumn è completata 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 vengono rilasciati. La versione 1.1.0-beta01 contiene questi commit.

Novità di Scrivi per Wear OS 1.1

La versione 1.1.0-beta01 di Compose per Wear OS ha indicato che questa release della libreria è completa di funzionalità e che l'API è bloccata.

  • La release 1.1 di Wear Compose include la seguente nuova funzionalità:
    • Selettore: miglioramenti all'accessibilità del selettore in modo che le schermate con più selettori siano navigabili con gli screen reader e la descrizione dei contenuti sia accessibile
    • Il parametro selettore contentDescription viene ora utilizzato solo per l'opzione selettore 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. È stato corretto un bug che causava la modifica dell'allineamento quando si impostava gradientRatio su zero.
    • Chip/ToggleChip: abbiamo aggiornato i gradienti predefiniti per Chip/ToggleChip in modo che siano in linea con le ultime specifiche UX. ChipDefaults.gradientBackgroundChipColors è stato aggiornato in modo da iniziare dal 50% del colore principale anziché dal 32,5%.
    • Chip/ToggleChip - Sono stati aggiunti sovraccarichi per la modifica delle forme dei chip
    • Chip/Button/ToggleButton - È stato aggiunto un nuovo stile con bordi per i chip e i pulsanti e nuovi composabili OutlinedChip e OutlinedButton che forniscono un Chip/Button trasparente con un bordo sottile.
    • Scheda: sono stati aggiornati i gradienti predefiniti per le schede in modo che siano in linea con le ultime specifiche UX. CardDefaults.cardBackgroundPainter è stato aggiornato in modo da 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 del 75% di superficie al 32,5% di colore principale a 0% di superficie al 50% di 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 e gli utenti avevano difficoltà a distinguere gli sfondi di chip/schede/pulsanti dal colore di sfondo del tema.
    • InlineSlider/Stepper: i ruoli dei pulsanti sono stati aggiunti in modo che Talkback possa riconoscerli come pulsanti.
    • Struttura di base: PositionIndicator ora è posizionato e ridimensionato in modo da occupare solo lo spazio necessario. Questo è utile, ad esempio, se vengono aggiunte informazioni semantiche, ora TalkBack riceve i limiti corretti del PositionIndicator sullo schermo.
    • CurvedText/TimeText - È stato aggiunto Modifier.scrollAway, che consente di scorrere un elemento verticalmente in/fuori dalla visualizzazione in base allo stato di scorrimento (con sovraccarichi per lavorare con Column, LazyColumn e ScalingLazyColumn). ScrollAway viene in genere utilizzato per far 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, utilizzabile su curvedText e basicCurvedText
    • CurvedText/TimeText - È stato aggiunto fontWeight al metodo di copia e al costruttore di CurvedTextStyle
    • ToggleControls: sono stati aggiunti i controlli di attivazione/disattivazione animati Checkbox, Switch e RadioButton da utilizzare con ToggleChip e SplitToggleChip. Possono essere utilizzate al posto delle icone statiche fornite da ToggleChipDefaults (switchIcon, checkboxIcon e radioIcon).
    • Segnaposto: è stato aggiunto il supporto sperimentale dei segnaposto. Sono presenti tre effetti visivi distinti progettati per interagire tra loro.
    • Innanzitutto, un effetto di pennello di sfondo segnaposto utilizzato in contenitori come Chip e Schede per disegnare sopra lo sfondo normale in 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.
    • In terzo luogo, un effetto modificatore sfumato/tremolante (Modifier.placeholderShimmer()) che viene 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 avere un effetto scintillante e svanire in modo orchestrato.
  • Le dipendenze di Compose di base sono state aggiornate dalla versione 1.2 alla versione 1.3

Modifiche all'API

  • I parametri dei caratteri (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 (sono associati a un nodo compose-ui di dimensioni e posizionamento corretti (ma vuoto), che utilizza il testo come descrizione dei contenuti) (I7af7c, b/210721259)
  • Correzione di bug al Picker quando PickerState.repeatedItems = false per aggiungere un'impostazione esplicita dei parametri di autocentratura all'ScalingLazyColumn interno dei selettori per garantire che sia possibile scorrere l'opzione zero 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 vengono rilasciati. La versione 1.1.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto il supporto sperimentale dei segnaposto. Sono presenti tre effetti visivi distinti progettati per interagire tra loro. Innanzitutto, un effetto di pennello di sfondo segnaposto utilizzato in contenitori come Chip e Schede per disegnare sopra lo 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. In terzo luogo, un effetto modificatore sfumato/tremolante (Modifier.placeholderShimmer()) che viene 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 avere un effetto scintillante e svanire in modo orchestrato. (I3c339)

Modifiche all'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 per il testo curvo.(Iaa1a8),(I72759)
  • Aggiornamento del parametro di offset di Modifier.scrollAway in 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 di controllo a pulsante, abbiamo rinominato RadioButton’s circleColor in ringColor. (I28fa9)
  • Abbiamo aggiunto i controlli di attivazione/disattivazione animati Checkbox, Switch e RadioButton da utilizzare con ToggleChip e SplitToggleChip. Possono essere utilizzate 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 vengono rilasciati. La versione 1.1.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto Modifier.scrollAway, che consente di scorrere un elemento verticalmente in/fuori dalla visualizzazione in base allo stato di scorrimento (con sovraccarichi per lavorare con Column, LazyColumn e ScalingLazyColumn). ScrollAway viene in genere utilizzato per far 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 ridimensionato in modo da occupare solo lo spazio necessario. Questo è utile, ad esempio, se vengono aggiunte informazioni semantiche, ora TalkBack riceve i limiti corretti del 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 vengono 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 in Scaffold. Ora gli indicatori verranno posizionati sopra la miniatura e quindi non saranno oscurati dalla miniatura, 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 vengono rilasciati. La versione 1.1.0-alpha04 contiene questi commit.

Modifiche all'API

  • Abbiamo aggiornato alcuni dei colori predefiniti in MaterialTheme per migliorare l'accessibilità, in quanto i colori originali non avevano un contrasto sufficiente e gli utenti avevano difficoltà a distinguere gli sfondi di chip/schede/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 variazioni di colore, sebbene relativamente sottili, potrebbero influire sui test degli screenshot esistenti. (81ab09)

Correzioni di bug

  • È stato corretto un bug logico in ScalingLazyColumn che poteva causare il mancato completamento dell'inizializzazione degli elenchi con un numero ridotto (in genere esattamente 2) di elementi, rendendoli di conseguenza trasparenti. (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 vengono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.

Nuove funzionalità

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

Modifiche all'API

  • Sono stati aggiunti sovraccarichi per la modifica delle forme dei pulsanti (Icccde)

Correzioni di bug

  • Abbiamo corretto le dimensioni dell'area di controllo dell'opzione di attivazione/disattivazione di ToggleChip perché non corrispondevano alle specifiche UX. Le specifiche UX richiedono uno spazio di 4 dp tra l'etichetta e un'area dell'icona di controllo dell'opzione di attivazione/disattivazione di 24 x 24 dp, per una larghezza totale di 28 dp. Tuttavia, l'implementazione indica erroneamente un'area di controllo dell'opzione 36x24 dp. Ciò comporta la rimozione di 8 dp di area dell'etichetta di testo utilizzabile. NOTA: questa correzione del bug offre spazio aggiuntivo per l'etichetta del testo e, di conseguenza, può influire (in modo positivo) sul layout del testo per il testo fuori misura. Se hai test di screenshot che includono ToggleChips, potrebbero dover essere aggiornati. (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 vengono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Abbiamo modificato le dipendenze di Compose per Wear OS dalle librerie di Compose di base da 1.2.0 a 1.3.0-alpha0X

Modifiche all'API

  • Sono stati aggiunti sovraccarichi per la modifica delle forme dei chip (I02e87)

Correzioni di bug

  • Abbiamo animato la visibilità della vignetta quando viene mostrata/nascosta la finestra di dialogo, per garantire la coerenza con l'animazione di ridimensionamento esistente. (Ida33e)
  • Abbiamo corretto un bug per cui poteva verificarsi 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 vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.

Modifiche all'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à di Picker in modo che le schermate con più selettori siano navigabili con gli screen reader e la descrizione dei contenuti sia accessibile (I64edb)

Correzioni di bug

  • Abbiamo aggiornato le regole del profilo di riferimento incluse nella libreria Wear Compose (I9c694)
  • Abbiamo corretto la direzione del gradiente per i chip in modalità da destra a sinistra. In precedenza 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 in modo che siano in linea con le ultime specifiche UX. ChipDefaults.gradientBackgroundChipColors è stato aggiornato in modo da iniziare dal 50% del colore principale anziché dal 32,5%. CardDefaults.cardBackgroundPainter è stato aggiornato in modo da 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 del 75% di superficie al 32,5% di colore principale a 0% di superficie al 50% di colore principale. (I43bbd)
  • Abbiamo aggiunto un colore di sfondo (MaterialTheme.color.surface) dietro Chip/ToggleChips con sfondi a gradiente per assicurarci che siano correttamente visibili nell'improbabile caso in cui venga utilizzato un colore chiaro dietro. (Ibe1a4, b/235937657)
  • Gli elementi del selettore ora sono sempre allineati al centro. È stato corretto un bug che causava la modifica dell'allineamento quando si impostava gradientRatio su zero. (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 vengono rilasciati. La versione 1.0.2 contiene questi commit.

Correzioni di bug

  • Abbiamo corretto l'ordine z degli indicatori di posizione e pagina in Scaffold. Ora gli indicatori verranno posizionati sopra la miniatura e quindi non saranno oscurati dalla miniatura, 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 vengono rilasciati. La versione 1.0.1 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug logico in ScalingLazyColumn che poteva causare il mancato completamento dell'inizializzazione degli elenchi con un numero ridotto (in genere esattamente 2) di elementi, rendendoli trasparenti. (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 vengono 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 per Wear OS si basa sulle librerie di Compose di base e fornisce componenti aggiuntivi specifici per i dispositivi indossabili e, se opportuno, implementazioni alternative dei componenti di Compose di base personalizzate per i dispositivi indossabili.
  • Per un elenco dei componenti principali di Wear Compose, consulta le note di rilascio di Compose per Wear OS Beta01.

Correzioni di bug

  • Abbiamo animato la visibilità della vignetta quando viene mostrata/nascosta la finestra di dialogo, per garantire la coerenza con l'animazione di ridimensionamento esistente. (Ida33e)
  • Abbiamo corretto un bug per cui poteva verificarsi 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 vengono 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). In precedenza era dall'alto a sinistra verso il basso a destra, ora è dall'alto a destra verso il basso a sinistra. (Ic2e77)
  • Abbiamo aggiornato le sfumature predefinite per Chip/ToggleChip/Card in modo che siano in linea con le ultime specifiche UX. ChipDefaults.gradientBackgroundChipColors è stato aggiornato in modo da iniziare dal 50% del colore principale anziché dal 32,5%. CardDefaults.cardBackgroundPainter è stato aggiornato in modo da iniziare dal 30% del valore 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 a 0% di superficie al 50% di colore principale. (I43bbd)
  • Abbiamo aggiunto un colore di sfondo (MaterialTheme.color.surface) dietro Chip/ToggleChips con sfondi a gradiente per assicurarci che siano correttamente visibili nell'improbabile caso in cui venga utilizzato un colore chiaro dietro. (Ibe1a4, b/235937657)
  • Abbiamo aggiornato le regole del profilo di riferimento 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 vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.

Modifiche all'API

  • Le interfacce nelle librerie di composizione ora vengono 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 contiene una combinazione di componenti ListHeader() e Chip(), poiché la larghezza tenderà ad aumentare/diminuire man mano che 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 l'elemento dell'elenco 0 era abbastanza grande (incluso il padding) (Ic6159, b/234328517)
  • Abbiamo apportato un piccolo aggiustamento all'attenuazione ScalingLazyColumn quando gli elementi raggiungono il bordo dello schermo in modo che corrispondano 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 vecchio comportamento, puoi eseguire l'override del scalingParams di ScalingLazyColumn (Ie375c)
  • Abbiamo aggiunto spaziatura interna a CompactChip per garantire che le dimensioni del target di tocco siano di almeno 48 dp di altezza per soddisfare le linee guida sull'accessibilità di Material. Ciò potrebbe influire su eventuali layout che utilizzi con CompactChips, poiché occuperanno più spazio. (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 vengono rilasciati. La versione 1.0.0-beta03 contiene questi commit.

Nuove funzionalità

  • Abbiamo fatto in modo che ScalingLazyColumn funzioni in modalità Scrivi @Preview. (I3b3b6, b/232947354)

Modifiche all'API

  • Abbiamo modificato il valore predefinito della proprietà ScalingLazyColumn.horizontalAlignment da Inizio a CenterHorizontally per assicurarci che, quando gli elementi dell'elenco non riempiono l'intera larghezza della colonna, vengano allineati per una visibilità massima. Per tornare al comportamento precedente, imposta horizontalAlignment = Alignment.Start.(I9ed4b)

Problemi noti

  • L'altezza del tocco/tocco di CompactChip è inferiore a quella indicata nelle linee guida sull'accessibilità di Material. Questo problema verrà corretto nella prossima release (15 giugno). Se utilizzi CompactChip, questa modifica influisce sui tuoi layout, in quanto ora i chip compatti avranno spaziatura aggiuntiva sopra e sotto. Modifica e testa i layout o consulta i commenti del 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 in un TimeText. (I16d75)
  • Aggiungere test per HorizontalPageIndicator.PagesState (I64ed0)
  • Aggiornamento di TimeText in base alle 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 vengono 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 uno shim in gradientColor. (I72925)
  • Abbiamo modificato il comportamento UX di Chip/ToggleChip/CompactChip/SplitToggleChip per impedire che esegua fillMaxWidth per impostazione predefinita. ma si espanderanno in base 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 il fontWeight(questo può essere aggiunto ai metodi di copia e del costruttore nelle revisioni future dell'API) (Ieebb9)
  • Miglioramenti allo scorrimento laterale. 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 mostrato un indicatore di metà pagina a sinistra o a destra, con una transizione fluida tra le pagine.(I2ac29)
  • Miglioramento del comportamento predefinito degli snap su ScalingLazyColumn e Picker (I49539)
  • Miglioramenti allo scorrimento laterale. Quando viene utilizzato Modifier.edgeSwipeToDismiss, lo scorrimento per chiudere si attiva solo quando il primo tocco viene eseguito 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 raggiungeva 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 vengono rilasciati. La versione 1.0.0-beta01 contiene questi commit.

Funzionalità di Compose per Wear OS 1.0

La versione 1.0.0-beta01 di Compose per Wear OS rappresenta un traguardo importante, in quanto la libreria è completa di funzionalità e l'API è bloccata.

I componenti Wear Compose Material nella versione 1.0 includono:

  • Tema Materiale: utilizzato come sostituto di Compose per il mobile MaterialTheme, fornisce i colori, le forme e la tipografia per creare componenti sui dispositivi indossabili che implementano immediatamente le linee guida UX di Wear Material Design.
  • Button, CompactButton e ToggleButton: il pulsante offre un singolo slot 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 extra piccole. CompactButton ha un'area di a capo trasparente facoltativa 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 colorazioni e icone diverse per indicare 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 il supporto delle immagini come contenuti delle schede o sfondi.
  • Chip: componenti a forma di stadio simili ai pulsanti, ma con un'area più grande e più spazi per etichette, etichette secondarie e icone. In diverse dimensioni e con il supporto delle immagini come sfondi.
  • ToggleChips e SplitToggleChips: un chip con stato selezionato/deselezionato e l'aggiunta di uno slot ToggleControl per mostrare un'icona come un pulsante di attivazione/disattivazione o di opzione per mostrare lo stato selezionato del componente. Inoltre, SplitToggleChip ha due aree toccabili, una cliccabile e una attivabile/disattivabile.
  • CircularProgressIndicator: indicatore di avanzamento in Wear Material con due varianti. Il primo esprime la proporzione di completamento di un'attività in corso e supporta un intervallo nel percorso 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 attorno a dispositivi circolari. Consulta la sezione Componenti Wear di base di seguito per maggiori dettagli su CurvedLayout e CurvedModifier (questi elementi svolgono un ruolo simile ai modificatori nel mondo non curvo e consentono di configurare vari aspetti di layout, spaziatura, gradienti e così via).
  • 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. Richiede un singolo slot che dovrebbe contenere contenuti soggettivi della finestra di dialogo di Materiale Wear, ad esempio Avviso o Conferma. Avviso è un contenuto della finestra di dialogo con opinioni con slot per icona, titolo e messaggio. Ha sovraccarichi per due pulsanti negativi e positivi mostrati affiancati o uno slot per uno o più chip impilati verticalmente. La conferma è un contenuto della finestra di dialogo con opinioni 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 al fattore di forma del dispositivo indossabile. Progettato per occupare l'intero schermo e mostrare un indicatore curvo sui dispositivi rotondi. Può essere utilizzato con il visualizzatore della pagina Accompagnatore.
  • Icon: un'implementazione di Icon per Wear che prende il colore e l'alfa dal tema Material di Wear. Per un'icona cliccabile, consulta Pulsante o Chip.
  • Selettore: mostra un elenco scorrevole di elementi tra cui scegliere. Per impostazione predefinita, gli elementi verranno ripetuti "infinitamente" in entrambe le direzioni. Può essere visualizzato in modalità di sola lettura per nascondere le opzioni non selezionate.
  • Indicatore posizione: mostra la posizione di scorrimento o un'altra indicazione di posizione in modo appropriato al 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 layout visivo di base di Wear Material Design. Questo componente fornisce un'API per mettere insieme diversi componenti Wear Material (come TimeText, PositionIndicator e Vignette) per la costruzione della schermata, garantendo una strategia di layout appropriata e raccogliendo i dati necessari per il corretto funzionamento dei componenti.
  • ScalingLazyColumn: un componente dell'elenco con scaling/effetto fisheye scorrevole che costituisce una parte fondamentale del linguaggio Wear Material Design. 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.
  • Dispositivo di scorrimento: 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 con i separatori.
  • Dispositivo di scorrimento: 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. Richiede un singolo slot per lo sfondo (visualizzato solo durante il gesto di scorrimento) e per i contenuti in primo piano. Se vuoi, puoi combinarla con la libreria di navigazione androidx utilizzando SwipeDismissableNavHost (vedi la libreria di navigazione Wear Compose di seguito).
  • Testo: un'implementazione per Wear del componente di testo Materiale di Compose, che prende il colore e l'alpha dal tema Materiale 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 il testo curvo su schermi rotondi.
  • Vignetta: un trattamento dello schermo da utilizzare in Scaffold che sfoca la parte superiore e inferiore dello schermo quando sono in uso contenuti scorrevoli.

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

  • CurvedLayout - Wear Foundation CurvedLayout è un layout composable che posiziona i suoi elementi secondari in un arco, ruotandoli in base alle esigenze. È simile a un layout di riga curvo in un segmento di un anello. Tieni presente che i contenuti di un CurvedLayout non sono una funzione lambda componibile, ma un linguaggio specifico per il dominio (DSL). Tutti gli elementi del DSL di CurvedLayout supportano un parametro modificatore facoltativo, creato da CurvedModifier.

  • basicCurvedText: un elemento del DSL CurvedLayout, basicCurvedText consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (in genere 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 è preferibile utilizzare curvedText, poiché utilizza il tema Material.

  • curvedComposable: inserisce un a capo nei normali contenuti componibili in modo che possano essere utilizzati con CurvedLayout. Se curvedComposable contiene più elementi, questi verranno disegnati uno sopra l'altro (come una casella). Per inserire più composabili lungo una curva, racchiudi ciascuno con curvedComposable.

  • rigaCurve e colonnaCurve: simili a riga e colonna, 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 di 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 modificatore che può essere creato utilizzando CurvedModifier: sono supportati sfondo, dimensioni, spessore e spaziatura interna.

  • Il seguente componente è incluso anche in Navigazione nella composizione su Wear:

  • SwipeDismissableNavHost: fornisce un punto nella gerarchia di Compose per la navigazione autonoma, con la navigazione a ritroso fornita da un gesto di scorrimento. I contenuti vengono visualizzati in un SwipeToDismissBox, che mostra il livello di navigazione corrente. Durante un gesto di scorrimento per chiudere, il livello di navigazione precedente (se presente) viene visualizzato in background.

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

Modifiche all'API

  • Funzioni CurvedModifier.padding* aggiunte. Vengono utilizzati per specificare lo spazio aggiuntivo da aggiungere attorno a un componente curvo. (I4dbb4)
  • È stata rimossa la classe interna CompositionLocal (I42490)
  • Abbiamo aggiunto valori costanti per le dimensioni delle icone Button, CompactButton e ToggleButton come linee guida (I57cab)
  • Aggiungi il parametro abilitato a AppCard e TitleCard. Ora hanno un'API simile a androidx.compose.material Cards. Se il parametro è impostato su false, la scheda non sarà cliccabile. (Idc48d, b/228869805)

Correzioni di bug

  • Ora il cursore disattiva i pulsanti di aumento e diminuzione quando vengono raggiunti i limiti inferiore/superiore (e applica ContentAlpha.disabled a iconColor) (I4be9f)
  • Abbiamo aggiunto un'area di a capo di 1 dp attorno ai contenuti del selettore quando viene disegnato con un gradiente per evitare il jitter del testo visualizzato quando si scorre. (I0b7b9)
  • Aggiungi test di screenshot per PositionIndicator (I5e8bc)
  • Aggiungere 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 vengono 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/elisione/visibile). (I8e7aa)
  • È stato aggiunto il modificatore CurvedModifier.weight, simile a quello in Componi. Può essere utilizzato per gli elementi secondari di curvedRow e CurvedLayout (per la larghezza) e per gli elementi secondari 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 all'API

  • Riordina i parametri per assicurarti che lo sfondo sia prima del colore in modo coerente nell'API Wear Compose (I43208)
  • Sono stati rimossi i parametri clockwise e insideOut e sostituiti con costanti più espressive nei nuovi gruppi. La direzione del layout curvo ora può essere consapevole di 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 nell'intera API (Chip/ToggleChip/Dialog/Slider/Stepper/...) poiché il colore viene applicato allo slot icon/toggleControl. (Ied238)
  • Riscrivere l'enum PageIndicatorStyle nella classe di valore (I2dc72)
  • Abbiamo aggiunto RowScope/ColumnScope/BoxScope ad alcuni slot dei nostri Composable per indicare agli sviluppatori quali sono le ipotesi relative ai layout. In questo modo, gli sviluppatori potranno utilizzare modificatori aggiuntivi su alcuni contenuti degli slot ed evitare di dover 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, queste proprietà possono essere sostituite singolarmente. (I26b59)
  • L'oggetto SwipeToDismissBoxState.Companion è stato impostato come privato (I39e84)
  • Correggi l'ordine dei parametri per InlineSlider e Stepper. Una semplice modifica per rispettare le linee guida dell'API (I11fec)
  • Abbiamo rimosso l'oggetto Saver per SwipeToDismissBoxState perché non veniva utilizzato. (Ifb54e)
  • Abbiamo aggiornato CompactChip per allinearlo alle ultime specifiche UX. I margini sono stati ridotti a orizzontale = 12 dp e verticale = 0 dp. Il carattere dell'etichetta è stato modificato da pulsante a intestazione1. Le dimensioni consigliate per le icone sono 20 x 20 quando sono presenti sia l'icona sia l'etichetta e 24 x 24 per un chip compatto con solo icona. Per il caso d'uso solo icona, abbiamo anche verificato che l'icona sia allineata al centro. (Iea2be)
  • Abbiamo aggiunto una serie di nuovi campi a ScalingLazyListLayoutInfo per consentire agli sviluppatori di conoscere la quantità di contentPadding e autoCenteringPadding applicata. Questi valori possono essere utili per gli sviluppatori durante il calcolo di scorrimento/spostamento (I7577b)
  • Abbiamo implementato le transizioni in/out per la finestra di dialogo. È stato aggiunto un parametro showDialog e la finestra di dialogo ora controlla la propria visibilità (in questo modo, la finestra di dialogo può eseguire le animazioni di apertura e chiusura quando è mostrata/nascosta). Tieni presente che l'animazione di chiusura 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'i18n e l'a11y, 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 ora restituiscano ImageVector anziché Icon (tieni presente che, poiché non restituiscono più @Composables, ora iniziano con lettere minuscole), SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon() e RadioIcon()->radioIcon(). In questo modo, incoraggiamo gli sviluppatori a creare i propri composabili Icon() con un insieme contentDescription appropriato. (I5bb5b)
  • Abbiamo aggiunto un parametro SwipeDismissableNavHostState a SwipeDismissableNavHost. Questo supporta l'utilizzo del gesto di scorrimento laterale nelle schermate utilizzate come destinazioni di navigazione, perché ora SwipeToDismissBoxState può essere sollevato e utilizzato per inizializzare sia SwipeDismissableNavHostState sia Modifier.edgeSwipeToDismiss nelle schermate che richiedono il gesto di scorrimento laterale. (I819f5, b/228336555)

Correzioni di bug

  • Assicurati che i layout curvi vengano aggiornati, se necessario. (Ie8bfa, b/229079150)
  • Correzione del 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 vengono rilasciati. La versione 1.0.0-alpha20 contiene questi commit.

Nuove funzionalità

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

Modifiche all'API

  • Implementazione di base di CurvedModifiers, che apre la strada all'introduzione di modi per personalizzare i contenuti curvi (ma non sono ancora stati forniti CurvedModifiers e la possibilità di creare modificatori personalizzati potrebbe essere disponibile in un secondo momento) (I9b8df)
  • Aggiornamento della documentazione e dei valori predefiniti degli EdgeSwipemodificatori per una migliore comprensione .(I6d00d)
  • Aggiungi lo slot PageIndicator in Scaffold. Aggiungendo PageIndicator direttamente in Scaffold, possiamo assicurarci che venga mostrato correttamente sui dispositivi circolari. (Ia6042)
  • Rimuovi le icone predefinite dai parametri InlineSlider e Stepper. In questo modo gli sviluppatori saranno più attenti ai requisiti di localizzazione e accessibilità. Gli utilizzi delle icone predefinite sono stati mostrati in demo e sample. (I7e6fd)
  • Sostituisci i nomi dei parametri Trailing e Leading con Start e End in TimeText (Iaac32)
  • Abbiamo aggiunto un sovraccarico 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)
  • Sono state rimosse le annotazioni ExperimentalWearMaterialApi dall'utilizzo di TimeText (Ide520)
  • Abbiamo contrassegnato le interfacce di ambito e di informazioni ScalingLazyList/Column come sigillate perché non sono destinate all'implementazione da parte di sviluppatori esterni. In questo modo, in futuro potremo aggiungere nuovi membri senza modifiche che comportino la rottura del codice binario. (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 riferimento 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 al fine di migliorarne le prestazioni. Tieni presente che questo non avrà alcun effetto sulle applicazioni di 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 vengono rilasciati. La versione 1.0.0-alpha19 contiene questi commit.

Modifiche all'API

  • CurvedRow è stato rinominato in CurvedLayout e modificato in modo da essere un ambito con un DSL. Con questo DSL, è possibile specificare layout curvi più complessi utilizzando una serie di curvedRow e curvedColumn nidificati (che sono gli equivalenti del layout curvo di Riga e Colonna). All'interno di questi elementi di layout è possibile utilizzare tre elementi: curvedComposable (per aggiungere qualsiasi @Composable), basicCurvedText (testo curvo della base) e curvedText (testo curvo sensibile al materiale di Wear). (Ib776a)
  • Rendi configurabile il lato per PositionIndicator. Ora la posizione di base di PositionIndicator può essere configurata come End (in base alla direzione del layout), OppositeRsb (tiene conto della rotazione dello schermo per posizionarsi di fronte alla barra di scorrimento laterale fisica) o le posizioni assolute Sinistra e Destra. (I2f1f3)
  • Per SwipeToDismissBox, abbiamo rinominato SwipeDismissTarget.Originale 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 modificarne uno alla volta. Quando il selettore è di sola lettura, viene visualizzata l'opzione attualmente selezionata e un'etichetta, se è stata fornita. (I879de)
  • SwipeToDismissBoxState è stato sottoposto a refactoring per limitare l'ambito di ExperimentalWearMaterialApi a Modifier.swipeable e SwipeableState, che ora vengono utilizzati internamente. SwipeToDismissBoxState ora dispone di membri currentValue, targetValue, isAnimationRunning e snapTo per supportare i casi d'uso comuni. Comunicaci se hai bisogno di rendere disponibili altre proprietà. È stato corretto anche il comportamento di SwipeableState nel caso in cui l'offset scorrimento rientri in un errore di arrotondamento di un'ancora. (I58302)

Correzioni di bug

  • Codice semplificato e corretto per rilevare se i contenuti di un ScalingLazyColumn possono essere scorrevoli (utilizzato per decidere se mostrare o meno un cursore) (I7bce0)
  • È stato corretto un bug relativo all'indicatore di posizione quando viene utilizzato con più stati e si passa da uno all'altro (I320b5)
  • Abbiamo aggiornato la tipografia/i caratteri del tema predefinito di Scrivi per Wear OS in modo che corrispondano alle nostre ultime indicazioni sull'esperienza utente. Da notare che display1 (40.sp) e display2 (34.sp) ora sono più piccoli rispetto ai valori precedenti e sono stati apportati vari altri aggiornamenti minori all'altezza e allo spazio interlinea. (Ie3077)
  • Abbiamo aggiunto la 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 dei parametri predefiniti per le funzioni CircularProgressIndicator in modo che siano in linea con le indicazioni UX di Wear Material Design. Per la versione Spinner/Indeterminant sono stati aggiornati le dimensioni (40->24 dp), indicatorColor (primary->onBackground), la trasparenza di trackColor (30%->10%) e la larghezza del tratto (4->3 dp). Per la versione Progress/Determinate, la trasparenza di trackColor (30%-> 10%) è stata aggiornata. (I659cc)
  • Abbiamo aggiornato i parametri di scalabilità predefiniti di ScalingLazyColumn in linea con le ultime specifiche UX di Wear Material Design. Visivamente, gli elementi dell'elenco iniziano a essere scalati più vicino al centro dell'elenco, ma meno rispetto al bordo dell'elenco rispetto a prima. (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 vengono rilasciati. La versione 1.0.0-alpha18 contiene questi commit.

Modifiche all'API

  • Diversi miglioramenti a PositionIndicator: ShowResult è stato rinominato PositionIndicatorVisibility. Alcuni miglioramenti delle prestazioni per evitare ricomputi quando non sono necessari (Iaed9d)
  • La colorazione consigliata per il SplitToggleChip è stata aggiornata. SplitToggleChip ora ha uno sfondo a tinta unita quando è selezionato o deselezionato, con la colorazione di ToggleControl che indica principalmente 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 il colore dell'overlay dello sfondo diviso (I7e66e)
  • Abbiamo aggiunto unadjustedSize a ScalingLazyListItemInfo perché non è sicuro calcolare le dimensioni originali dell'articolo utilizzando le dimensioni e il fattore di scala a causa della precisione matematica dei numeri in virgola mobile. (I54657, b/221079441)
  • Aggiungi HorizontalPageIndicator. Rappresenta un numero totale di pagine e una pagina selezionata. Può essere lineare o curvo, a seconda della forma del dispositivo. Supporta anche la forma dell'indicatore personalizzato, che definisce la modalità di visualizzazione di ciascun indicatore. (Iac898)
  • Abbiamo aggiornato PickerState in modo che il valore numberOfOptions possa essere aggiornato. Questo supporta casi d'uso come un DatePicker, quando il numero di giorni del mese cambia a seconda del mese selezionato. Di conseguenza, il parametro del costruttore di PickerState è stato modificato in initialNumberOfOptions. (Iad066)
  • Nascondi PositionIndicator quando è presente una barra di scorrimento e non è possibile scorrere. (Id0a7f)
  • Per coerenza con Scaffold, il nostro componente Dialog 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 sono 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 allinearci meglio a Material Design al fine di aiutare designer e sviluppatori a navigare nell'API. (If5921, b/220129803)
  • Abbiamo aggiunto una nuova voce, caption3, alla tipologia di temi Wear Material.Caption3 è un carattere piccolo utilizzato per i testi nel formato lungo, come i testi legali. (I74b13, b/220128356)

Correzioni di bug

  • Interrompi l'animazione di aggancio quando è attiva. (Idb69d)
  • Anima le modifiche in PositionIndicator. (I94cb9)
  • In base al feedback UI/UX, abbiamo modificato l'opzione di centratura automatica ScalingLazyColumn in modo che fornisca solo lo spazio sufficiente per garantire che gli elementi con indice ScalingLazyListState.initialCenterItemIndex o superiore possano essere completamente scorrevoli fino al centro del viewport. In questo modo, gli sviluppatori possono posizionare uno o due elementi relativi all'elemento inizialmente al centro che non sono scorrevoli al centro. Ciò significa che un ScalingLazyColumn con autocentratura non potrà scorrere sopra il initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2)
  • Abbiamo aggiunto una demo per un selettore della data e abbiamo corretto un bug in PickerState per cui l'opzione inizialmente selezionata non veniva applicata finché non veniva visualizzato il selettore. (Id0d7e)
  • Per ridurre il ritaglio degli elementi ScalingLazyColumn più larghi su schermi circolari, abbiamo aumentato il padding orizzontale dei contenuti predefinito da 8 a 10 dp. (I0d609)
  • Assicurati che il segno 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 vengono rilasciati. La versione 1.0.0-alpha17 contiene questi commit.

Nuove funzionalità

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

Modifiche all'API

  • Risolto un problema con i caratteri e gli stili personalizzati TimeText su un 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 in alto e in basso (Iab92a)

Correzioni di bug

  • Abbiamo modificato ScalingLazyColumn in modo che non riempia più tutto lo spazio nel relativo elemento principale. Le dimensioni verranno prese in base alle dimensioni dei contenuti. Ciò lo rende coerente con il comportamento 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 la pila di navigazione a ritroso era vuota. (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 vengono 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 un'interruzione (taglio) per TimeText o altri componenti se utilizzato a schermo intero. (Iab8da)

Modifiche all'API

  • I selettori ora hanno un parametro flingBehavior, il cui valore predefinito consente di passare all'opzione più vicina durante lo scorrimento/il movimento brusco. (I09000)
  • API di numeri interi aggiuntiva per InlineSlider e Stepper (I1b5d6)

Correzioni di bug

  • Abbiamo modificato il valore predefinito di initialCenterItemIndex per ScalingLazyListState da 0 a 1. Ciò significa che, a meno che non venga sostituito durante la costruzione dello stato con ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), il secondo elemento dell'elenco (indice == 1) verrà posizionato al centro del viewport all'inizializzazione e il primo (indice == 0) verrà posizionato prima. In questo modo, puoi usufruire di un effetto visivo predefinito migliore, poiché la maggior parte dell'area visibile sarà riempita con gli elementi dell'elenco. (I0c623, b/217344252)
  • Abbiamo ridotto il valore predefinito ScalingLazyColumn fornito per garantire che siano disponibili molti elementi dell'elenco da disegnare (anche quando riduciamo le dimensioni di alcuni) dal 10% al 5%.extraPadding In questo modo eviterai di comporre elementi dell'elenco aggiuntivi che potrebbero non essere visualizzati nell'area visibile. Se vengono utilizzati parametri di ridimensionamento non standard (ad esempio un ridimensionamento più estremo), lo sviluppatore può regolare il padding aggiuntivo utilizzando viewportVerticalOffsetResolver. (I76be4)
  • Risolto un problema con TimeText su più righe su un dispositivo quadrato (Ibd3fb)
  • Abbiamo modificato ScalingLazyColumn in modo che non riempia più tutto lo spazio nel relativo elemento principale. Le dimensioni verranno prese in base alle dimensioni dei contenuti. Ciò lo rende coerente con il comportamento di LazyColumn. Se vuoi ripristinare il vecchio comportamento, passa Modifier.fillMaxSize() a ScalingLazyColumn. NOTA: questa modifica non è completa e verrà affrontata 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 vengono rilasciati. La versione 1.0.0-alpha15 contiene questi commit.

Modifiche all'API

  • Abbiamo aggiunto una nuova proprietà autoCentering a ScalingLazyColumn. Se il valore è true (impostazione predefinita), tutti gli elementi, inclusi il primo e l'ultimo, possono essere scorrevoli in modo che siano visibili al centro dell'area visibile degli elenchi. Tieni presente che, se utilizzi il centratura automatica, ti consigliamo di impostare il padding verticale dei contenuti su 0,0 dp. Se vengono forniti sia il centro automatico sia il padding verticale dei contenuti, verrà reso disponibile uno spazio aggiuntivo prima del primo e dopo l'ultimo elemento dell'elenco, consentendo di scorrere ancora di più. (I2a282, b/214922490)
  • Abbiamo aggiunto un componente Dialog che consente a qualsiasi composable di attivare una finestra di dialogo a schermo intero sopra altri contenuti. Quando viene visualizzata, la finestra di dialogo supporta lo scorrimento per chiudere e mostra i contenuti della finestra principale in background durante il gesto di scorrimento. I contenuti della finestra di dialogo dovrebbero essere Alert o Confirmation (rinominati dai componenti precedenti AlertDialog e ConfirmationDialog). Alert, Confirmation e Dialog sono 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 il colore onSurfaceVariant2 dai colori del tema Material di Compose per Wear OS e abbiamo sostituito gli utilizzi nella raccolta con onSurfaceVariant. (Icd592)
  • È stato aggiunto un metodo per selezionare ed eseguire codice in modo programmatico un'opzione nel PickerState. L'opzione selezionata inizialmente può ora essere specificata anche durante la creazione di un PickerState. (I92bdf)
  • Abbiamo aggiunto il supporto per la personalizzazione del comportamento di lancio del ScalingLazyColumn. (I1ad2e, b/208842968)
  • Abbiamo aggiunto NavController.currentBackStackEntryAsState() alla raccolta Wear.Compose.Navigation. (If9028, b/212739653)
  • Sono stati aggiunti Modifier.onRotaryScrollEvent() e Modifier.onPreRotaryScrollEvent() per i dispositivi Wear con un pulsante laterale girevole.(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 vengono rilasciati. La versione 1.0.0-alpha14 contiene questi commit.

Nuove funzionalità

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

    Nell'ambito di questa modifica, abbiamo anche modificato ScalingLazyList in modo che sia orientato attorno al centro dell'area visibile 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 di mezzeria della visualizzazione.

    Di conseguenza, ScalingLazyListItemInfo.offset e ScalingLazyListItemInfo.adjustedOffset sono cambiati e ora riflettono l'offset dell'elemento rispetto alla posizione dell'elemento dell'elenco e all'anchorType dell'elenco. Ad esempio, per un ScalingLazyColumn con anchorType pari a ItemCenter e un elemento dell'elenco posizionato con il centro sulla linea di mezzeria della visualizzazione, l'offset sarà 0.

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

  • Abbiamo aggiunto un gestore del pulsante Indietro a SwipeDismissableNavHost, in modo che premendo Indietro si vada 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 vengono rilasciati. La versione 1.0.0-alpha13 contiene questi commit.

Modifiche all'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 avesse raggiunto lo stato di ciclo di vita CREATED, con conseguente IllegalStateException. Questa correzione era un prerequisito per aggiornare la dipendenza da navigation-compose a 2.4.0-beta02 e versioni successive. (I40a2b, b/207328687)

  • È stata aggiunta una classe enum Drawables per ottenere risorse drawable all'interno della libreria Wear Compose, in modo che la riflessione non sia più necessaria. Questo corregge un bug per cui gli elementi drawable della libreria venivano rimossi quando minifyEnabled=true o shrinkResources=true). (Ib2a98)

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

  • Sono stati aggiunti esempi per SwipeDismissableNavHost nella navigazione di composizione di Wear. (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 vengono 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. Il cursore è un controllo a schermo intero con pulsanti per aumentare e diminuire in alto e in basso e uno spazio al centro (dovrebbe contenere un chip o un testo). Le icone dei pulsanti possono essere personalizzate, se necessario. (I625fe)

  • Abbiamo aggiunto due nuovi composabili 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 semplici scelte positive/negative oppure b) chip o chip di attivazione/disattivazione impilati verticalmente per scelte più flessibili, ConfirmationDialog mostra un messaggio di conferma con un timeout. Questa semplice finestra di dialogo ha spazi per un titolo e un'icona (animata). (Ic2cf8)

Modifiche all'API

  • Aggiungi le 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 vengono 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 di elementi selezionabili viene ripetuto "infinitamente" in entrambe le direzioni, per dare l'impressione di un cilindro in rotazione visto di lato. Nelle release successive verranno aggiunte due funzionalità: aggancio a un valore dopo uno scorrimento/un movimento brusco e aggiunta di una funzione a PickerState per impostare/scorrere fino al valore corrente. (I6461b)

Modifiche all'API

  • È stato aggiunto ScalingLazyItemScope e alcuni nuovi modificatori fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight per consentire di impostare le dimensioni degli elementi dell'elenco in base alle dimensioni del contenitore principale. Gli elementi possono essere impostati in modo da riempire tutte o una parte delle dimensioni dell'elemento principale. Vengono esposte le funzionalità già disponibili in LazyRow/Column (I4612f)
  • È stato aggiunto il supporto a ScalingLazyColumn per consentire agli elementi di avere una chiave. Sono stati aggiunti anche metodi di utilità per consentire l'aggiunta di elementi da array ed elenchi. (Ic1f89)

Correzioni di bug

  • Esempi aggiuntivi 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 vengono rilasciati. La versione 1.0.0-alpha10 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto un cursore in linea per la composizione su Wear. 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 all'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)
  • Aggiorna la 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 vengono 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 comandi principali e contiene link ad altre risorse per iniziare a utilizzarli.

Modifiche all'API

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

Correzioni di bug

  • Sono stati 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 errore se non è presente una destinazione corrente (indica che il NavGraph non è stato creato con la funzione di utilità wear.compose.navigation.composable) (I91403)
  • Sono stati aggiunti esempi e documentazione aggiuntiva per l'utilizzo dell'origine ora 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 vengono rilasciati. La versione 1.0.0-alpha08 contiene questi commit.

Modifiche all'API

  • Abbiamo rinominato le proprietà body AppCard e TitleCard in content e le abbiamo spostate alla fine dell'elenco delle proprietà per consentire di fornirle come lambda finale. Inoltre, è stato rinominato bodyColor 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 lazy con scalabilità. (I22428)
  • Correzione del problema per cui a volte SwipeToDismissBox di WearOS non gestiva i gesti di scorrimento. (I9387e)
  • Sono stati aggiunti esempi per Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip (Iddc15)
  • Sono stati aggiunti test di prestazioni 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 vengono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto un componente di testo curvo 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 all'API

  • Sono stati aggiunti test per TimeText (Idfead)
  • Trasforma ArcPaddingValues in un'interfaccia. (Iecd4c)
  • È stata aggiunta un'animazione a SwipeToDismissBox (I9ad1b)
  • È stato aggiunto il parametro hasBackground all'API SwipeToDismissBox per consentire di disattivare il gesto di scorrimento 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 facoltativi, come quelli del materiale di navigazione per l'accompagnatore. (I4619e)
  • Fai riferimento a NamedNavArgument da navigation-common e rimuovi la copia da wear.compose.navigation. (I43af6)

Correzioni di bug

  • È stato corretto l'instabilità del test CurvedRow sui dispositivi più piccoli. (If7941)
  • È stato corretto un possibile sfarfallio in CurvedRow quando i contenuti vengono aggiornati e viene garantito che la riga curva venga rimisurata (Ie4e06)
  • ChipDefaults.gradientBackgroundChipColors() è stato aggiornato in linea con le modifiche alle specifiche UX. Ora il gradiente inizia con MaterialTheme.colors.primary con un'alfa del 32,5% e termina con MaterialTheme.colors.surface con un'alfa dello 0% su uno sfondo di MaterialTheme.colors.surface con un'alfa del 75%. (Id1548)
  • Abbiamo aggiornato i colori dei chip di attivazione/disattivazione quando sono nello stato selezionato in modo che corrispondano alle indicazioni più recenti delle specifiche UX di Wear Material Design. Quando sono selezionati, i chip di attivazione ora hanno uno sfondo sfumato da MaterialTheme.color.surface con un'alfa dello 0% in alto a sinistra a MaterialTheme.color.primary con un'alfa del 32% in basso a destra su uno sfondo di MaterialTheme.color.surface con un'alfa del 75%. Ciò comporta una differenza più sottile tra selezionato e deselezionato per 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 vengono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto Scaffold, un componente composable di primo livello che fornisce una struttura per gestire la posizione degli indicatori di posizione (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 i bordi superiore e inferiore dello schermo per i contenuti scorrevoli. L'area principale di Scaffold è dove vengono posizionati i contenuti dell'applicazione. (I5e0bf)
  • È stata aggiunta l'implementazione di TimeText per la composizione su Wear (I5654c)

Raccolta di navigazione di Wear Compose

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

  • Questa release iniziale fornisce:

    • Un composable SwipeDismissableNavHost che ospita un grafico di navigazione e fornisce la navigazione a ritroso tramite gesti di scorrimento
    • NavGraphBuilder.composable per aiutarti a creare grafici di navigazione
    • rememberSwipeDismissableNavController() per consentire lo stato di sollevamento
  • Esempio di utilizzo in cui creiamo due schermate e passiamo da una all'altra:

    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")
            }
        }
    }
    
  • La navigazione di Wear Compose è pacchettizzata come libreria separata in modo che le semplici applicazioni Wear Compose che implementano la propria navigazione creata manualmente non debbano dipendere dalla libreria Androidx Navigation.

Modifiche all'API

  • SwipeDismissableNavHost è stato aggiornato per supportare rememberSaveable impostando l'identità della chiave per lo sfondo e i contenuti (I746fd)
  • Abbiamo aggiunto un adattatore PositionIndicator che può gestire LazyListState (I21b88)
  • SwipeToDismissBox è stato aggiornato per supportare rememberSaveable (Ie728b)
  • Abbiamo aggiunto il supporto di reverseLayout a ScalingLazyColumn. In questo modo è possibile 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

  • La documentazione di CompactChip è stata aggiornata per descrivere cosa succede se non vengono fornite né un'icona né un'etichetta. (I4ba88)
  • Abbiamo apportato alcune modifiche ai componenti delle schede Wear. (I6b3d0)
    1. Lo spazio tra il titolo e il corpo della scheda Titolo è stato ridotto da 8 dp a 2 dp.
    2. Il carattere dell'intestazione di TitleCard è passato da body a title3.
    3. Il gradiente di sfondo della scheda è stato modificato 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 vengono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche all'API

  • Contrassegna ArcPaddingValues come @Stable (I57deb)
  • ScalingLazyColumnState ora implementa l'interfaccia ScrollableState, che offre agli sviluppatori l'accesso programmatico allo scorrimento del componente. (I47dbc)

Correzioni di bug

  • Abbiamo ridotto lo spazio 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 vengono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto un riquadro SwipeToDismissBox e un modificatore scorrevole che possono essere utilizzati per supportare un gesto di scorrimento da sinistra a destra per chiudere. Sebbene sia indipendente dai componenti di navigazione, è previsto che venga utilizzato per uscire da una schermata e passare a un'altra. Sono stati aggiunti test di integrazione per dimostrare la funzionalità di 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 della scalabilità. Abbiamo anche corretto un bug relativo al modo in cui veniva calcolato il ridimensionamento quando il padding dei contenuti "top" viene applicato a ScalingLazyColumn. (I27c07)

Modifiche all'API

  • Aggiungi la classe CurvedTextStyle per specificare le opzioni di stile di testo curvo. Simile a TextStyle, ma ora supporta solo color, 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 della scalabilità. Abbiamo anche corretto un bug relativo al modo in cui veniva calcolato il ridimensionamento quando il padding dei contenuti "top" viene applicato a ScalingLazyColumn. (I27c07)
  • È stato aggiunto @ExperimentalWearMaterialApi all'enum SwipeDismissTarget, che fa parte dell'API SwipeToDismissBox. (I48b5e)

Correzioni di bug

  • È stato 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 vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche all'API

  • È stato aggiunto il componente CurvedText, che consente agli sviluppatori di scrivere facilmente il testo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare) (Id1267)
  • Abbiamo rinominato CardDefaults.imageBackgroundPainter() in CardDefaults.imageWithScrimBackgroundPainter() per chiarire che l'immagine di sfondo avrà una maschera sopra. (I53206)
  • Aggiunta del componente ScalingLazyColumn che fornisce un componente elenco per Wear Material che offre una visualizzazione fisheye 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 di appName in Scheda app in risposta a un aggiornamento delle specifiche UX. Il colore predefinito per appName ora è MaterialTheme.colors.onSurfaceVariant. Inoltre, è stata aggiunta una descrizione della documentazione 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 vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.

Nuove funzionalità

  • È stata aggiunta una nuova classe CurvedRow per disporre i composabili in un arco (I29941)
  • È stato aggiunto un nuovo tipo di scheda da utilizzare nelle applicazioni (TitleCard), nonché il supporto per l'utilizzo di immagini come sfondo delle schede per metterne in evidenza i contenuti (I53b0f)

Modifiche all'API

  • Aggiunta del supporto dell'allineamento radiale a RigheCurve (simile all'allineamento verticale in una riga) (Id9de5)
  • Aggiungere una nuova classe CurvedRow per disporre i composabili in un arco (I29941)
  • È stato aggiunto un nuovo tipo di scheda da utilizzare nelle applicazioni (TitleCard), nonché il supporto per l'utilizzo di immagini come sfondo delle schede per metterne in evidenza i contenuti (I53b0f)
  • Sono state aggiunte le icone di attivazione/disattivazione (casella di controllo, pulsanti di opzione e pulsanti di attivazione/disattivazione) a ToggleChipDefaults per semplificare la configurazione di ToggleChip e SplitToggleChips (I7b639)
  • Le spaziature iniziali e finali dei contenuti dei chip sono state aggiornate in modo che siano sempre pari a 14 dp, indipendentemente dal fatto che il chip contenga o meno un'icona (in precedenza erano pari a 12 dp se era presente un'icona e a 14 dp se non era presente) (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 della pittura dell'immagine di sfondo in Schede e Chip in modo che l'immagine venga ritagliata anziché allungata per mantenere le proporzioni dell'immagine. (I29b41)
  • Sono stati aggiunti altri esempi 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 vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

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

  • Tema Material: configura i colori, la tipografia e le forme in modo coerente nei componenti utilizzati da questa libreria.
  • Chip, Chip compatto: i chip sono a forma di stadio e sono disponibili varianti per includere contenuti di icone, etichette ed etichette secondarie.
  • - ToggleChip, SplitToggleChip: un tipo di chip specializzato che include uno slot 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 cliccabile e una attivabile/disattivabile.
  • Button, CompactButton: i pulsanti sono di forma circolare, con un singolo spazio per i contenuti per un'icona o un testo minimo (massimo 3 caratteri).
  • Pulsante di attivazione/disattivazione: un pulsante che attiva o disattiva un'azione, con un singolo spazio per un'icona o un testo minimo (massimo 3 caratteri).
  • Scheda, SchedaApp: forma rettangolare con angoli arrotondati, che offre spazi per contenuti come icona dell'app, ora, titolo e testo.

Le versioni future estenderanno l'insieme di widget aggiungendo il supporto per selettori, cursori, elenchi, indicatori di pagina, finestre di dialogo, indicatori di scorrimento, avvisi e altro ancora in Wear Material Design.

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

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

Le due librerie "Material" devono essere considerate mutuamente esclusive e non devono essere mescolate nella stessa app. Se gli sviluppatori si trovano a includere la libreria Compose Material nelle loro dipendenze, ciò potrebbe indicare che a) mancano componenti nella libreria Wear Compose Material, quindi comunicaci di cosa hai bisogno oppure b) stai utilizzando un componente che non consigliamo per l'utilizzo su un dispositivo indossabile.