Wear Compose

  
Scrivi applicazioni Jetpack Compose per dispositivi indossabili tramite che forniscono funzionalità per supportare dispositivi indossabili, dimensioni, forme e gesti di navigazione.
Aggiornamento più recente Release stabile Candidato per l'uscita Versione beta Release alpha
4 settembre 2024 1.4.0 - - 1.5.0-alpha01

Dichiarazione delle dipendenze

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

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

Alla moda

dependencies {
    implementation "androidx.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 saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.

Feedback

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

Crea un nuovo numero

Consulta la documentazione di Issue Tracker per ulteriori informazioni.

Wear Compose Material3 versione 1.0

Versione 1.0.0-alpha24

4 settembre 2024

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

Modifiche alle API

  • Abbiamo aggiunto uno schema di movimento al tema Material3. Verrà utilizzato dai componenti della raccolta per applicare le specifiche dell'animazione, ad esempio le molle, per il movimento espressivo. (I54ff3)
  • Abbiamo aggiunto i componenti AppScaffold e ScreenScaffold alla libreria Material3, che includono funzionalità per coordinare la disposizione dei livelli e le transizioni di TimeText e ScrollIndicator. AppScaffold offre componenti di scaffold di alto livello che si trovano sopra tutti gli schermi. Di conseguenza, l'aggiunta di TimeText a AppScaffold consente di rimanere in posizione durante lo scorrimento da una schermata all'altra. Le schermate possono ignorare o nascondere a loro volta il testo relativo all'ora. ScreenScaffold fornisce uno spazio 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 di pollice fissa basata sui contenuti iniziali dell'elenco, al fine di evitare variazioni di dimensioni quando vengono caricati contenuti lenti nell'elenco. (Ic228d)
  • Abbiamo modificato l'API ScrollAway in modo che ScreenStage sia una classe di valore anziché una classe enum, per consentire l'aggiunta di altre fasi in futuro, se necessario. (I48c93)
  • Abbiamo aggiunto EdgeButton, un pulsante distintivo specifico di Wear con una forma che segue la curvatura della parte inferiore dello schermo (I16369)
  • Abbiamo aggiunto un nuovo spazio su ScreenScaffold per un pulsante nella parte inferiore (ad esempio EdgeButton), che verrà mostrato e ridimensionato a seconda dei contenuti scorrevoli (I032eb)
  • Abbiamo aggiunto Modifier.scrollTransform e Modifier.targetMorphingHeight per aggiungere effetti di movimento Material3 agli elementi in LazyColumn. (Ie229a).
  • Abbiamo aggiunto SegmentedCircularProgressIndicator come variante il giorno CircularProgressIndicator. La variante segmentata mostra un singolo valore di avanzamento in tutti i segmenti oppure mostra che ogni segmento è attivato/disattivato. (I6e059)
  • Abbiamo aggiunto LinearProgressIndicator come alternativa al modello CircularProgressIndicator esistente. (I89182)
  • Abbiamo aggiunto AlertDialog, che fornisce layout per presentare prompt importanti all'utente. Sono incluse varianti per una coppia di pulsanti di conferma/ignora o un singolo pulsante in basso (in genere un EdgeButton) sotto una pila di opzioni. Entrambe le varianti hanno spazi per icona, titolo e testo aggiuntivo per fornire ulteriori dettagli. (Ieb873)
  • Abbiamo aggiunto OpenOnPhoneDialog, che deve essere utilizzato per indicare un'azione che continuerà sul telefono dell'utente. OpenOnPhoneDialog viene ignorato dopo un timeout specificato. (I978fd)
  • Abbiamo aggiunto Confirmation, un componente della finestra di dialogo che contiene spazi per un'icona e testo curvo o lineare. Vengono fornite varianti specifiche per i messaggi di operazione riuscita/non riuscita. Le conferme vengono ignorate automaticamente dopo un timeout. (Ib43e8)
  • Abbiamo aggiunto uno sfondo a TimeText per mitigare i problemi di sovrapposizione dei contenuti sottostanti e di TimeText, oscurando l'ora. (Ia11fd)
  • Abbiamo aggiunto LevelIndicator, che mostra il valore di un'impostazione come il volume e può essere utilizzato con il componente Stepper esistente per creare una schermata del volume. LevelIndicator è simile a ScrollIndicator, ma viene visualizzato sul lato opposto dello schermo e ha uno spessore del tratto più ampio e un colore dell'indicatore diverso per impostazione predefinita. (I8a4ac)
  • Abbiamo aggiunto TimePicker, con layout che prevedono un formato di 24 ore (con o senza secondi) o di 12 ore con selezione am/pm. (Ia5124)
  • Abbiamo aggiunto DatePicker, con configurazione per l'ordinamento delle colonne (ad es. giorno-mese-anno, mese-giorno-anno o anno-mese-giorno) e date min/max facoltative. (Ibf13b).
  • Abbiamo aggiunto un parametro di peso alla funzione text di TimeText. Nei casi in cui TimeText è composto da più di un elemento di testo, questa opzione consente di controllare la modalità di distribuzione dello spazio. (I36700)
  • Abbiamo aggiunto RadioButton e SplitRadioButton. Questi componenti semplificano l'API precedente combinando sia (Split)SelectableButton che il controllo radio secondario (If7ae8)
  • Abbiamo aggiunto CheckboxButton e SplitCheckboxButton. Questi componenti semplificano l'API precedente combinando sia il controllo (Dividi)ToggleButton che 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 superamento. (Iff30a).
  • Abbiamo aggiunto ButtonGroupper combinare 2 o 3 pulsanti in modo che la pressione dei pulsanti produca un'animazione coordinata. (Ie27db)
  • Abbiamo aggiunto un'animazione della forma facoltativa per IconButton e TextButton quando viene premuto. (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 ora mantengano le dimensioni dei componenti per impostazione predefinita. La configurazione del forcedSize = null adotta invece il Painter.instrinsicSize. (Ic57af)
  • Abbiamo aggiunto il clic prolungato ai pulsanti (Ib613d)
  • Anche il supporto dei clic lunghi è stato aggiunto a IconButton e TextButton. (I38891)
  • Il supporto del clic lungo è stato aggiunto alle Schede. (I305d5)
  • Abbiamo aggiunto LocalTextMaxLines, LocalTextAlign, LocalTextOverflow come CompositionLocals e li abbiamo utilizzati come valori predefiniti dei parametri su Text. Ora la composizione locale può essere utilizzata da componenti come CheckboxButton, SwitchButton e RadioButton per implementare le indicazioni relative all'esperienza utente, ma i parametri possono essere sostituiti dagli sviluppatori, se necessario. (Iab841)
  • Abbiamo aggiunto Placeholder per contribuire a mascherare i contenuti di componenti quali 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 e LocalTextOverflow per implementare le indicazioni relative all'esperienza utente. Questi parametri possono essere sostituiti direttamente dagli sviluppatori in Text, se necessario (Ie51f7)
  • Abbiamo cambiato lo spessore del tratto predefinito di LevelIndicator in 6dp per differenziarlo da ScrollIndicator che ha uno spessore del tratto di 4dp. (If6f63).
  • Abbiamo risolto un problema in TimeText, pertanto sono supportati angoli di orientamento più ampi. (Ie489f)
  • È stato risolto un problema durante la ricomposizione di EdgeButton. (I4cdca)
  • Sono stati corretti i layout dei pulsanti di attivazione/disattivazione di suddivisione quando viene fornita una spaziatura interna dei contenuti personalizzata. (Ia33d3)
  • Valori di avanzamento piccoli arrotondati almeno alla larghezza della linea dell'indicatore di avanzamento. (I3bd84)

Versione 1.0.0-alpha23

14 maggio 2024

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

Modifiche alle API

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

Correzioni di bug

  • Abbiamo corretto un bug per cui i pulsanti selezionabili annunciato di toccare due volte per passare quando sono già selezionati. (I7ed88)

Versione 1.0.0-alpha22

1° maggio 2024

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

Modifiche alle API

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

Correzioni di bug

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

Versione 1.0.0-alpha21

17 aprile 2024

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

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

Versione 1.0.0-alpha20

3 aprile 2024

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

Correzioni di bug

  • Abbiamo regolato l'Eco con lo stato attivo e premuto per migliorare il contrasto. (I59f0a)
  • Abbiamo aggiunto la spaziatura tra le etichette principali e secondarie in Button, ToggleButton e RadioButton, a seguito delle ultime modifiche agli stili tipografici e all'altezza delle righe. (I2c0ba)

Versione 1.0.0-alpha19

6 marzo 2024

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

Modifiche alle API

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

Versione 1.0.0-alpha18

21 febbraio 2024

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

Modifiche alle API

  • Abbiamo eseguito il refactoring del pattern predefinito per CardColors, ToggleButtonColors e SplitToggleButtonColors mediante la creazione interna di istanze memorizzate nella cache e la riduzione dell'utilizzo di CompositionLocal. (If3fec)

Versione 1.0.0-alpha17

7 febbraio 2024

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

Modifiche alle API

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

Correzioni di bug

  • Abbiamo aggiornato Modifier.minimumInteractiveComponentSize per utilizzare Modifier.node. (Iba6b7)

Versione 1.0.0-alpha16

24 gennaio 2024

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

Nuove funzionalità

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

Modifiche alle API

  • Abbiamo aggiunto RadioButton/SplitRadioButton come contenitori per i controlli di selezione, ad esempio il radiocomando. A differenza dell'elemento ToggleButton esistente, il criterio RadioButton è selezionabile (e opera all'interno di un gruppo di selezione), mentre ToggleButton è attivabile/disattivabile (ed è indipendente). (I61275)
  • Stiamo rimuovendo LocalContentAlpha dalla raccolta Material3 di Wear Compose per garantire la coerenza con la raccolta Compose Material3. (I49a0a)
  • I componenti Wear material3 e Wear che presentano un MutableInteractionSource nella relativa API sono stati aggiornati per esporre un MutableInteractionSource con valore nullo che per impostazione predefinita è null. Non ci sono modifiche semantiche: passare un valore nullo significa che non vuoi issare MutableInteractionSource e, se necessario, verrà creato all'interno del componente. Il passaggio a null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi il valore MutableInteractionSource che passi a questi componenti, ti consigliamo di trasmettere un valore nullo. È inoltre consigliabile apportare modifiche simili nei tuoi componenti. (Ib90fc, b/298048146)
  • Aggiunge una nuova API ripple nelle librerie wear:compose-material e wear:compose-material3 che sostituisce la versione rememberRipple deprecata. Viene inoltre aggiunto un CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare l'utilizzo delle API rememberRipple/RippleTheme deprecate per i componenti Material. Verrà rimosso nella prossima release stabile ed è destinato solo a essere un aiuto temporaneo per la migrazione nei casi in cui fornisci un RippleTheme personalizzato. Visita il sito developer.android.com per avere informazioni sulla migrazione e altre informazioni di base relative a questa modifica. (af92b21).
  • Abbiamo apportato piccoli miglioramenti all'API HorizontalPageIndicator e alla relativa documentazione. (I60efc)
  • Abbiamo aggiornato ColorScheme affinché sia immutabile, rendendo gli aggiornamenti dei singoli colori meno efficienti, ma rendendo più efficiente l'utilizzo più comune dei colori. Il ragionamento alla base di questa modifica è che la maggior parte delle app non avrebbe l'aggiornamento dei singoli colori come caso d'uso principale. Questo è ancora possibile, ma si ricomincerà più di prima, a sua volta diminuiremo significativamente la quantità di abbonamenti statali attraverso tutto il codice materiale e inciderà sull'inizializzazione e sul costo 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, ora vengono utilizzati i token Material Design per i valori di colore e tipografia. (If087c)
  • Sono stati aggiornati i colori di sfondo dell'immagine del pulsante per utilizzare i token Material Design. (Iba215).
  • Abbiamo modificato i componenti Checkbox, Switch e RadioButton in modo che siano di sola visualizzazione, rimuovendo la gestione dei clic. Questi componenti dovrebbero essere utilizzati in (Split)ToggleButton, che gestisce il clic, quindi ora sono più chiaramente indicati come componenti di sola visualizzazione (e non sono destinati all'utilizzo autonomo su Wear). (I2322e)

Correzioni di bug

  • Abbiamo aggiunto token per i valori di movimento relativi a durate e easing nel materiale di Wear Compose 3. (I437cd)
  • Abbiamo corretto un bug in ToggleButton, SplitToggleButton, Checkbox, Switch e RadioButton per impedire la ripetizione degli annunci di accessibilità (in precedenza, i ruoli semantici erano duplicati). (Ica281)
  • Abbiamo rimosso lo strato materialcore per CompactButton per migliorare le prestazioni. (7902858)

Versione 1.0.0-alpha15

15 novembre 2023

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

Modifiche alle API

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

Correzioni di bug

  • Abbiamo rimosso lo strato material-core per Material3 Button per migliorare le prestazioni. (I55555)

Versione 1.0.0-alpha14

18 ottobre 2023

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

Modifiche alle API

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

Versione 1.0.0-alpha13

4 ottobre 2023

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

Modifiche alle 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

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

Modifiche alle API

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

Versione 1.0.0-alpha11

6 settembre 2023

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

Correzioni di bug

  • Abbiamo aggiornato gli elementi tipografici per le schede Material3 in TitleMedium. (I597bd)
  • Abbiamo aggiornato gli elementi tipografici e l'allineamento per i ListHeader e le ListSubheader di Material3. (Ib5ceb)

Versione 1.0.0-alpha10

23 agosto 2023

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

Nuove funzionalità

  • Aggiungi HorizontalPageIndicator alla raccolta Wear Material3. (Ifee99)

Modifiche alle API

  • Aggiorna il codice di Buttons per utilizzare i token di design Material3. (I92fe4)
  • Dichiarazione delle API Wear Material 3 Stepper e Cursore come sperimentali, in quanto i dettagli dell'interfaccia utente sono ancora in fase di finalizzazione. (I84d54)
  • Abbiamo rimosso le taglie ExtraSmall dal round TextButton e TextToggleButton perché questa taglia si applica solo alla IconButton. (Ibc7d5).

Correzioni di bug

  • Abbiamo aggiornato le indicazioni sulla tipografia per TextToggleButton per utilizzare LabelLarge per LargeButtonSize (Ib10fa).
  • Abbiamo aggiornato le indicazioni sulla tipologiagrafia per TextButton in modo che utilizzi LabelLarge per LargeButtonSize (I8f3a7)
  • Abbiamo impostato il touch target minimo della scheda su 48 dp per l'accessibilità. (Ieb9b1)
  • Aggiunta di AppCard con demo immagine, rimozione dell'AppCard con demo in background (Id735f)
  • È stato corretto un bug nei pulsanti rotondi in cui i modificatori non erano concatenati correttamente. (I5e162).

Versione 1.0.0-alpha09

9 agosto 2023

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

Nuove funzionalità

  • Abbiamo aggiunto ToggleButton per material3 (I6bed6)

Modifiche alle API

  • Abbiamo attivato l'annotazione FloatRange come vincolo API , che era stata precedentemente indicata nei commenti. (Icb401)
  • Abbiamo aggiornato gli elementi tipografici per Wear Material3 per rispettare le ultime linee guida 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à delle caselle di controllo negli stati disattivati. (Ib25bf)

Versione 1.0.0-alpha08

26 luglio 2023

Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha08. 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 Material3, un pulsante di attivazione/disattivazione circolare con un singolo spazio rispettivamente per l'icona e il testo. Per ToggleButton di diverse dimensioni, ti consigliamo di utilizzare Modifier.touchTargetAwareSize con le dimensioni fornite nei rispettivi pulsanti di attivazione/disattivazione. (I9f015)
  • Abbiamo aggiunto ListHeader e ListSubheader ai nostri componenti Material3. (Ibaefe)
  • Abbiamo aggiunto Material3 SwipeToDismissBox, che chiama la nuova base SwipeToDismissBox e fornisce i valori di colore predefiniti del tema. (I275fb)
  • Abbiamo aggiunto il InlineSlider di Material3 a Wear Compose. Consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene mostrato come una barra tra i valori minimo e massimo dell'intervallo, da cui gli utenti possono selezionare un singolo valore. La funzionalità InlineSlider è ideale per regolare impostazioni quali volume o luminosità. (I7085f)

Modifiche alle API

  • Abbiamo aggiornato il tema "Forme" in Wear Material 3 in modo che utilizzi il tema RoundedCornerShape anziché Forma. (Idb133)
  • Abbiamo reso pubbliche le costanti di altezza per il pulsante (Idbfde)
  • File API aggiornati per annotare l'eliminazione della compatibilità (I8e87a, b/287516207)
  • Abbiamo aggiornato InlineSliderColors nel materiale 3 di Wear Compose in modo che abbia un costruttore pubblico e proprietà pubbliche. (I6b632).
  • Abbiamo aggiornato tutte le classi di colore nel materiale 3 di Wear Compose in modo che abbiano costruttori pubblici e proprietà pubbliche. (I17702)
  • Abbiamo reso pubbliche le spaziature interne verticali e orizzontali di Pulsante. (Ieeaf7)

Correzioni di bug

  • Il pulsante ora regolerà l'altezza per adattarsi ai contenuti cresciuti grazie ai caratteri grandi per l'accessibilità, quando 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 la 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

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

Nuove funzionalità

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

Correzioni di bug

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

Versione 1.0.0-alpha06

7 giugno 2023

Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha06. 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 i valori alpha disattivati corretti. (I814c8)

Versione 1.0.0-alpha05

24 maggio 2023

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

Nuove funzionalità

  • Abbiamo aggiunto TextButton a Material3, un pulsante circolare con un singolo slot per il testo. Per le diverse dimensioni di TextButton, consigliamo di utilizzare Modifier.touchTargetAwareSize e ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize e LargeButtonSizeIcon forniti in TextButtonDefaults. Il valore predefinito TextButton non ha bordo e uno sfondo trasparente per le azioni con poca enfasi. Per le azioni che richiedono molta enfasi, usa filledTextButtonColors; per un'enfasi media, con contorno TextButton, imposta il bordo su ButtonDefaults.outlinedButtonBorder; per una via di mezzo tra contorni e pieni, usa filledTonalTextButtonColors. (I667e4)
  • Abbiamo aggiunto Card, OutlinedCard, AppCard e TitleCard alla raccolta Material3 di Wear Compose. Puoi anche assegnare l'aspetto delineato a AppCard e TitleCard utilizzando CardDefaults.outlinedCardColors e CardDefaults.outlinedCardBorder(I80e72)

Modifiche alle API

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

Versione 1.0.0-alpha04

10 maggio 2023

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

Nuove funzionalità

  • Abbiamo aggiunto IconButton a Material3, un pulsante circolare con un singolo slot per un'icona/immagine. Esistono quattro varianti: IconButton, FilledIconButton, FilledTonalIconButton e OutlinedIconButton. Per le diverse dimensioni 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 delle icone per una determinata dimensione del pulsante. (I721d4)

Versione 1.0.0-alpha03

19 aprile 2023

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

Modifiche alle API

  • Abbiamo aggiunto il componente Pulsante Material 3, il nostro pulsante a forma di stadio che in precedenza si chiamava Chip nella libreria Material di Wear Compose (è stato rinominato in Pulsante per coerenza con la libreria Compose Material 3). Il pulsante predefinito ha uno sfondo pieno e sono disponibili varianti dei pulsanti per FilledTonal (sfondo disattivato), con contorno (trasparente con un bordo sottile) e secondario (sfondo trasparente e senza bordo, utilizzato per azioni supplementari con la minore evidenza). I pulsanti rotondi per icone e contenuti di testo semplici seguiranno in una versione futura.(Ia6942)

Versione 1.0.0-alpha02

5 aprile 2023

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

Correzioni di bug

  • Abbiamo aggiunto un DefaultTextStyle al materiale Wear Compose 3 che imposta PlatformTextStyle.includeFontPadding per impostazione predefinita su true (l'impostazione attuale). In questo modo potremo sincronizzare la disattivazione della spaziatura interna dei caratteri per impostazione predefinita con le librerie Compose (vedi Correggere la spaziatura interna dei caratteri in Compose per lo sfondo). (I7e461).

Versione 1.0.0-alpha01

22 marzo 2023

Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha01. 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 Material 3 Compose su Android. Questa prima release alpha contiene le prime implementazioni funzionali dei seguenti elementi:

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

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

Wear Compose versione 1.5

Versione 1.5.0-alpha01

4 settembre 2024

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

Modifiche alle API

  • Abbiamo aggiunto un nuovo LazyColumn alla libreria di Wear Compose Foundation con le API LazyColumnState e LazyColumnScope associate. Questo funge da base per creare effetti personalizzabili di scala e morphing con Wear Compose. (Ib3b22).
  • Abbiamo aggiunto una versione indicizzata di itemsIndexed in LazyColumnScope come parte della nuova API LazyColumn. (Ib4a57).
  • Abbiamo aggiunto LazyColumn modificatori per supportare i comportamenti di scalabilità e morphing. (Ie229a).
  • HierarchicalFocusCoordinator è stato promosso alla versione stabile. (I31035)
  • Abbiamo aggiunto il supporto per la spaziatura tra le lettere nel testo curvo. (I3c740)
  • È stato aggiunto un parametro rotationLocked a CurvedLayout.curvedComposable per interrompere la rotazione dei componenti. (I66898)
  • L'API LocalUseFallbackRippleImplementation temporanea da materiale di usura3 è stata rimossa (I62282)
  • WearDevices.SQUARE rimosso dall'anteprima multipla @WearPreviewDevices (I11c02)

Correzioni di bug

  • SwipeToReveal ora posiziona gli elementi visualizzati 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 ricadano mai fuori dallo schermo. (I38929)
  • Ora SwipeToReveal reimposta lastActionType su Nessuno al termine di animatedTo. (I59b03)
  • È stata migliorata la documentazione per il nuovo parametro rotationLocked su curvedComposable. (Ifbd57).
  • È stato risolto un problema di arresto anomalo durante il passaggio di NaN in performFling di ScalingLazyColumnSnapFlingBehavior. (Ic13da).
  • È stato corretto il bug relativo al modificatore di dimensione del layout curvo (I0fedf)
  • Abbiamo aggiunto il supporto per la spaziatura tra le lettere specificata in "sp". (I9f6e3).
  • Abbiamo corretto un bug in Material2 Dialog per cui il callback onDismissRequest non veniva chiamato quando la finestra di dialogo è diventata invisibile (I64656).
  • Il nome LayoutCoordinates.introducesFrameOfReference è stato rinominato in LayoutCoordinates.introducesMotionFrameOfReference per rispecchiare meglio il suo scopo. Funzione correlata rinominata per calcolare le coordinate in base al flag. (I3a330)

Versione 1.4

Versione 1.4.0

4 settembre 2024

Viene rilasciato androidx.wear.compose:compose-*:1.4.0. 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. È consigliabile rimuovere la gestione rotatoria esplicita e rimandare al comportamento predefinito del sistema. Se necessario, utilizza il parametro rotaryScrollableBehavior per configurare il comportamento di scorrimento o di scatto. Per questo tipo di comportamento, è consigliabile fornire questo tipo di comportamento utilizzando il parametro flingBehavior.
  • Modifier.rotaryScrollable è un nuovo modificatore che collega gli eventi rotativi a contenitori scorrevoli, che consente agli utenti di scorrere utilizzando una corona o una cornice rotante sul proprio dispositivo Wear OS.
  • SwipeDismissableNavHost ora fornisce un'animazione delle voci per le transizioni in-app.
  • Ora, la PositionIndicator è visualizzata per impostazione predefinita alla prima visualizzazione di una schermata.

Modifiche aggiuntive

Versione 1.4.0-rc01

21 agosto 2024

Viene rilasciato androidx.wear.compose:compose-*:1.4.0-rc01. 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 Wear Compose su androidx.lifecycle 2.8.3

Versione 1.4.0-beta03

12 giugno 2024

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

Correzioni di bug

  • Abbiamo aggiornato Modifier.rotaryScrollable per sostituire l'uso di "attivabile" con "focusTarget" che migliora il rendimento. (ID294b)
  • Abbiamo risolto un problema per cui ProgressIndicator ha ripetuto il suo annuncio in TalkBack. (I94563)
  • Abbiamo aggiornato i profili di base della libreria Wear Compose. (I3cbc3)

Versione 1.4.0-beta02

29 maggio 2024

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

Correzioni di bug

  • Abbiamo aumentato la larghezza dei confini trasmessi agli screen reader dal testo curvo per risolvere i problemi di troncamento (Id865f).
  • Abbiamo limitato il limite dell'intervallo HorizontalPageIndicator trasmesso agli screen reader: in precedenza, l'indicatore occupava lo schermo intero (Id8d7a).

Versione 1.4.0-beta01

14 maggio 2024

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

La versione 1.4-beta01 di Compose per Wear OS indica che questa release della libreria è completa di funzionalità e l'API è bloccata (tranne nei casi contrassegnati come sperimentali). Wear Compose 1.4 include le seguenti nuove funzionalità:

  • Abbiamo aggiunto Modifier.rotaryScrollable, un nuovo modificatore che collega gli eventi rotativi a contenitori scorrevoli, che consente agli utenti di scorrere tramite una corona o una cornice 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 aggancio. Per il comportamento di posizionamento, si consiglia di fornire lo scatto tramite il parametro flingBehavior anche per lo scorrimento al tocco.
  • SwipeDismissableNavHost ora fornisce un'animazione delle voci per le transizioni in-app.
  • Ora, la PositionIndicator è visualizzata per impostazione predefinita alla prima visualizzazione di una schermata.
  • SelectableChip e SplitSelectableChip sono stati aggiunti come variante su ToggleChip. Utilizza questa opzione con RadioButton per fornire una semantica selezionabile anziché una semantica attivabile per l'accessibilità
  • ListHeader ora supporta le regolazioni dell'altezza quando i contenuti hanno bisogno di un'altezza extra per adattarsi a caratteri di grandi dimensioni.

Correzioni di bug

  • Abbiamo corretto un bug per cui i chip selezionabili annunciato il tocco due volte per attivare/disattivare l'opzione quando sono già selezionati. (I7ed88)

Versione 1.4.0-alpha08

1° maggio 2024

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

Modifiche alle API

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

Correzioni di bug

  • Abbiamo aggiornato la spaziatura interna orizzontale per PositionIndicator a 2 dp (invece di 5 dp), per correggere un bug in cui la barra di scorrimento PositionIndicator si sovrappone a contenuti scorrevoli. Tieni presente che questa modifica dovrebbe danneggiare gli screenshot esistenti che includono PositionIndicator a causa della modifica della spaziatura interna. (I57472)
  • Abbiamo migliorato la documentazione della nuova API rotary descrivendo le differenze tra i dispositivi rotativi a bassa risoluzione e ad alta risoluzione. (I63abe)
  • In SwipeDismissableNavHost abbiamo risolto un'eccezione fuori intervallo che poteva essere attivata quando i valori alpha interpolati erano inferiori a zero. (Ib75a1, b/335782510)

Versione 1.4.0-alpha07

17 aprile 2024

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

Modifiche alle API

  • Abbiamo aggiunto Modifier.rotary, un nuovo modificatore che collega gli eventi rotativi a contenitori scorrevoli, che consente agli utenti di scorrere tramite una corona o una cornice rotante sul proprio dispositivo Wear OS. Inoltre, ScalingLazyColumn e Selettore ora supportano l'input rotatorio per impostazione predefinita, con nuovi sovraccarichi che includono il parametro rotaryBehavior per specificare la configurazione di scorrimento o aggancio. Se il parametro rotaryBehavior è impostato su Snap, si consiglia di fornire lo scatto anche tramite il parametro flingBehavior per lo scorrimento al tocco. (I2ef6f)
  • Le origini di trascinamento e scorrimento di NestedScroll verranno sostituite da UserInput e SideEffect per adeguarsi alla definizione estesa di queste origini che ora includono animazioni (effetto collaterale), rotellina del mouse e tastiera (UserInput). (I40579)
  • Abbiamo aggiunto SelectableChip e SplitSelectableChip per rendere più chiara la distinzione tra controlli di attivazione/disattivazione come Switch/Checkbox e controlli selezionabili come RadioButton. Questo sostituisce gli sovraccarichi di ToggleChip/SplitToggleChip aggiunti in precedenza con i parametri selectionControl. (Ia0217)
  • Modificatore di visibilità di IndeterminateStrokeWidth aggiornato in ProgressIndicatorDefaults a pubblico. (I5b5a4).

Versione 1.4.0-alpha06

3 aprile 2024

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

Correzioni di bug

  • Abbiamo aggiunto una bozza interna di supporto rotatorio, come parte del più ampio impegno di migrazione del comportamento del Rotary ad AndroidX da Horologist. (I617d1)
  • Abbiamo aggiunto una bozza interna di supporto della tecnologia aptica, come parte del più ampio impegno di migrazione del comportamento del Rotary ad AndroidX da Horologist. (I5568a)

Versione 1.4.0-alpha05

20 marzo 2024

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

Modifiche alle API

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

Correzioni di bug

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

Versione 1.4.0-alpha04

6 marzo 2024

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

Modifiche alle API

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

Versione 1.4.0-alpha03

21 febbraio 2024

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

Modifiche alle API

  • Il wrapper Modifier.inspectable è stato deprecato. Questa API creerà più invalidazioni del modificatore del necessario, pertanto ne sconsigliamo l'utilizzo. Consigliamo agli sviluppatori di implementare il metodo inspectableProperties() su ModifierNodeElement se vogliono esporre le proprietà di modifica agli strumenti. (Ib3236)

Correzioni di bug

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

Versione 1.4.0-alpha02

7 febbraio 2024

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

Correzioni di bug

  • Abbiamo corretto un bug nello scorrimento per scoprire la visibilità, a causa del quale era possibile interagire con (e annullare) un'azione impegnata su un elemento iniziando a far scorrere un altro elemento.(Ide059)
  • Abbiamo aggiornato ListHeader per supportare le regolazioni dell'altezza quando i contenuti necessitano di un'altezza extra per adattarsi a caratteri di grandi dimensioni. (I7290c, b/251166127)

Versione 1.4.0-alpha01

24 gennaio 2024

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

Nuove funzionalità

  • Abbiamo aggiunto l'animazione della voce a SwipeDismissableNavHost per le transizioni in-app.(cfeb79a)
  • Ora, la PositionIndicator è visualizzata per impostazione predefinita alla prima visualizzazione di una schermata. Questa modifica è stata introdotta per contribuire a rispettare le norme sulla qualità di Wear. Purtroppo, ciò significa che i test relativi agli screenshot dovranno essere aggiornati nelle schermate che includono PositionIndicator, poiché questo PositionIndicator non sarebbe stato visualizzato in precedenza. (419 cef7).

Modifiche alle API

  • Abbiamo aggiunto una nuova API Ripple nelle librerie wear:compose-material e wear:compose-material3 che sostituisce la versione rememberRipple deprecata. Viene inoltre aggiunto un CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare l'utilizzo delle API rememberRipple/RippleTheme deprecate per i componenti Material. Verrà rimosso nella prossima release stabile ed è destinato solo a essere un aiuto temporaneo per la migrazione nei casi in cui fornisci un RippleTheme personalizzato. Visita il sito developer.android.com per avere informazioni sulla migrazione e altre informazioni di base relative a questa modifica. (af92b21).
  • Abbiamo aggiornato ColorScheme affinché sia immutabile, rendendo gli aggiornamenti dei singoli colori meno efficienti, ma rendendo più efficiente l'utilizzo più comune dei colori. Il ragionamento alla base di questa modifica è che la maggior parte delle app non avrebbe l'aggiornamento dei singoli colori come caso d'uso principale. Questo è ancora possibile, ma si ricomincerà più di prima, a sua volta diminuiremo significativamente la quantità di abbonamenti statali in tutto il codice materiale e inciderà sull'inizializzazione e sul costo di runtime di casi d'uso più standard. (F5c48b7).
  • I componenti Wear material e Wear material3 che presentano un MutableInteractionSource nella relativa API sono stati aggiornati per esporre un MutableInteractionSource con valore nullo che per impostazione predefinita è null. Non ci sono modifiche semantiche: passare un valore nullo significa che non vuoi issare MutableInteractionSource e, se necessario, verrà creato all'interno del componente. Il passaggio a null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi il valore MutableInteractionSource che passi a questi componenti, ti consigliamo di trasmettere un valore nullo. È inoltre consigliabile apportare modifiche simili nei tuoi componenti. (F8fa920).
  • Abbiamo aggiornato rememberExpandableState per salvare lo stato espandibile. In questo modo, i dati vengono memorizzati quando si passa a un'altra schermata e ripristinati quando torni alla schermata originale. (5c80095)

Correzioni di bug

  • Abbiamo aggiornato l'impostazione ReduceMotion per utilizzare un listener sensibile al ciclo di vita. (7c6b122).
  • Abbiamo aggiornato il listener di TouchExplorationStateProvider per essere consapevole del ciclo di vita (be28b01)
  • Abbiamo rimosso lo strato materialcore per CompactButton per migliorare le prestazioni (25db8e9)
  • Abbiamo reso BasicSwipeToDismissBox più affidabile per le compensazioni NaN per evitare eccezioni (b983739)
  • Abbiamo aggiornato BasicSwipeToDismissBox per garantire che i valori alpha rientrino nell'intervallo 0,1
  • Abbiamo corretto un bug in ToggleButton, SplitToggleButton, Checkbox, Switch e RadioButton in modo che gli annunci sull'accessibilità non vengano ripetuti (in precedenza, i ruoli semantici erano duplicati) (d11eeb7)

Versione 1.3

Versione 1.3.1

3 aprile 2024

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

Correzioni di bug

  • Abbiamo corretto un bug nello scorrimento per scoprire, nel quale era possibile interagire con (e annullare) un'azione impegnata su un elemento iniziando a far scorrere un altro elemento. (Ide059)

Versione 1.3.0

24 gennaio 2024

Viene rilasciato androidx.wear.compose:compose-*:1.3.0. 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 consente di implementare la gestione dei gesti in modo indipendente da altre considerazioni sulla progettazione. I flussi di lavoro di Material Design, come l'applicazione di colori da un tema configurato, vengono gestiti separatamente.
  • I corsi SwipeToRevealCard e SwipeToRevealChip ti aiutano a implementare il recommended swipe-to-reveal guidance. La classe SwipeToRevealSample dimostra come utilizzare questi componenti.
  • La nostra release 1.3.0-alpha02 ha introdotto una modifica che fa aumentare l'altezza degli oggetti Chip e ToggleChip per supportare meglio il ridimensionamento dei caratteri selezionati dall'utente. Ciò può causare alcuni tagli. Per risolvere il problema, la forma large per MaterialTheme ora utilizza un raggio d'angolo più grande (26 dp invece di 24 dp). Gli oggetti Chip e ToggleChip utilizzano questo nuovo raggio d'angolo per evitare di ritagliare contenuti sugli angoli di Chip e ToggleChip.

    • La maggior parte dei valori Chips e ToggleChips non ha subito modifiche, 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 ignorata l'altezza, potrebbero causare l'interruzione dei test degli screenshot.

Modifiche aggiuntive

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 spostarsi all'interno dei contenuti dello schermo, ad esempio in un'app basata su mappa, disattiva la gestione dello scorrimento impostando userSwipeEnabled su false nel componibile 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 dissolvenza in entrata e di modifica della posizione all'interno di un elenco a scorrimento, utilizza un oggetto SnapSpec.
  • Mentre attendi che un'app multimediale carichi i contenuti per la riproduzione, mostra un elemento componibile Placeholder vuoto.
  • Per creare una raccolta di elementi espandibili on demand, valuta la possibilità di utilizzare la classe sperimentale ExpandableStateMapping.

Versione 1.3.0-rc01

10 gennaio 2024

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

Correzioni di bug

  • Abbiamo aggiornato la forma grande MaterialTheme per utilizzare un raggio d'angolo arrotondato di 26 dp, che ora verrà utilizzata da Chip e ToggleChip. Questa modifica è necessaria per supportare le regolazioni dell'altezza quando i contenuti necessitano di un'altezza aggiuntiva per adattarsi a caratteri di grandi dimensioni, altrimenti la forma attuale dello stadio blocca alcuni contenuti di testo.

    Testo troncato agli angoli
    Figura 1: testo troncato agli angoli.
    di Gemini Advanced.
    Testo non troncato
    Figura 2: testo non troncato.

    Questa modifica potrebbe causare un'interruzione dei test degli screenshot. (I2e6ae).

Versione 1.3.0-beta02

13 dicembre 2023

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

Correzioni di bug

  • Abbiamo ripristinato il movimento di scorrimento previsto in BasicSwipeToDismissBox. Questa transizione è stata modificata in una release precedente, in modo che la transizione della slide si sia verificata mentre il dito toccava lo schermo. (Id8e76)

Versione 1.3.0-beta01

15 novembre 2023

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

La versione 1.3-beta01 di Compose per Wear OS indica che questa release della libreria è completa di funzionalità e l'API è bloccata (tranne nei casi contrassegnati come sperimentali). 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 alla sottostante implementazione con scorrimento per ignorare in BasicSwipeToDismissBox. In questo modo, la gestione dei gesti per lo scorrimento per ignorare può essere utilizzata indipendentemente da Material Design, ad esempio da SwipeDismissableNavHost in androidx.wear.compose.navigation. Ti consigliamo comunque di utilizzare SwipeToDismissBox di androidx.wear.compose.material con Material Design, perché estrae i colori da MaterialTheme e delega l'implementazione rimanente a BasicSwipeToDismissBox.
  • SwipeDismissableNavHost ora supporta un nuovo parametro userSwipeEnabled per cui la gestione dello scorrimento può essere disattivata per le schermate in cui non è richiesta.
  • BasicSwipeToDismissBox ha migliorato la gestione della messa a fuoco utilizzando HierarchicalFocusCoordinator.
  • SwipeToReveal ha nuovi componibili SwipeToRevealCard e SwipeToRevealChip in Material che seguono le linee guida UX consigliate per Card e Chip. Inoltre, supporta l'annullamento dell'azione secondaria.
  • DefaultTextStyle ora disattiva la spaziatura interna dei caratteri per garantire la coerenza su tutta la piattaforma Android.
  • Chip e ToggleChip ora regolano l'altezza per adattarsi ai contenuti che sono aumentati grazie all'accessibilità dei caratteri grandi
  • Ora PositionIndicator dispone di specifiche per singole animazioni per le animazioni di dissolvenza in entrata, dissolvenza in uscita e cambio di posizione. Per migliorare le prestazioni, consigliamo di disattivare le dissolvenze in entrata e i cambiamenti di posizione quando utilizzati con elenchi scorrevoli.
  • ExpandableStateMapping fornisce un nuovo modo per generare ExpandableStates quando devono essere creati on demand e non necessariamente con un ambito @Composable.
  • Placeholder ora consente la reimpostazione se i contenuti non sono più nello stato Pronto. Inoltre, l'impostazione Riduci il movimento ora viene applicata all'effetto scintillante e al movimento a comparsa di Placeholder.

Problemi noti

  • PositionIndicator non viene mostrato inizialmente alla prima visualizzazione di una schermata. Abbiamo intenzione di apportare una modifica in una delle prime versioni della versione 1.4 alpha in modo che venga mostrata inizialmente, ma senza alcuna animazione.

Modifiche alle API

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

Correzioni di bug

  • Abbiamo corretto un bug attivato da una curvatura limitata quando la dimensione è limitata (I50efe)
  • Abbiamo risolto un potenziale arresto anomalo NaN relativo a curvedComposable (I970eb)
  • Abbiamo ripristinato la rimozione dell'animazione di evidenziazione della modifica della posizione il giorno PositionIndicator. (Ieb424)
  • Abbiamo rimosso lo strato Material-core per il materiale chip per migliorarne le prestazioni. (If2dcb)

Versione 1.3.0-alpha08

18 ottobre 2023

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

Modifiche alle API

  • Abbiamo aggiunto singoli flag agli sovraccarichi di PositionIndicator per controllare diverse animazioni: showFadeInAnimation, showFadeOutAnimation e showPositionAnimation. L'API precedente è stata deprecata e inoltra le chiamate a quella nuova. Per motivi di prestazioni e per coerenza UX, quando PositionIndicator viene utilizzato con un elenco scorrevole, ti consigliamo di disattivare i flag showFadeInAnimation e showPositionAnimation. Se PositionIndicator viene utilizzato come indicatore autonomo, ad esempio per la variazione di volume, ti consigliamo di attivare tutte e tre le animazioni. (I44294)
  • Abbiamo ritirato il materiale SwipeToDismissBoxState, SwipeToDismissValue e edgeSwipeToDismiss in seguito alla migrazione della funzionalità Scorri per ignorare a wear.compose.foundation. Sostituiscila con gli equivalenti wear.compose.foundation. (Iee8c9)

Correzioni di bug

  • Abbiamo aggiornato i profili di base per gli elementi di base di Wear Compose, i materiali e le librerie di navigazione. (Idb060)
  • Abbiamo ripristinato un cambiamento di comportamento per PositionIndicator introdotto in un CL precedente, in modo che PositionIndicator fosse animato alla prima visualizzazione di una schermata. Abbiamo intenzione di apportare una modifica simile nella versione alpha 1.4 iniziale, in modo che l'elemento PositionIndicator venga inizialmente visualizzato, ma senza alcuna animazione. (I41843)
  • Abbiamo risolto alcuni problemi di prestazioni in PositionIndicator. (I1c654, b/302399827)
  • Abbiamo ottimizzato le prestazioni dell'implementazione predefinita del fornitore dello stato di esplorazione touch in base a State<Boolean> anziché allo stato derivato. (Ieec4d)
  • Abbiamo impostato systemGestureExclusion rettangoli per Android 13 e versioni successive. (Ib1f4b).

Versione 1.3.0-alpha07

4 ottobre 2023

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

Modifiche alle API

  • Abbiamo aggiunto singoli flag a PositionIndicator per controllare diverse animazioni: showFadeInAnimation, showFadeOutAnimation e showPositionAnimation. L'API precedente è stata deprecata e inoltra le chiamate a quella nuova. Per motivi di prestazioni e per coerenza UX, quando PositionIndicator viene utilizzato con un elenco scorrevole, ti consigliamo di disattivare i flag showFadeInAnimation e showPositionAnimation. Se PositionIndicator viene utilizzato come indicatore autonomo, ad esempio per la variazione di 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 con l'espansione con scorrimento completo. (Ib7223)
  • È consigliabile rendere accessibili le azioni Scorri per scoprire e abbiamo aggiunto azioni di accessibilità personalizzate agli esempi di scorrimento per scoprire. (I42224)
  • Abbiamo migliorato le prestazioni di SwipeToDismissBox, incluso il refactoring per garantire che la logica iniziale non attivi una ricomposizione. L'elemento SwipeToDismissBox è ora disegnato a schermo intero. (Ie0aa2).
  • Abbiamo corretto un bug che si verifica quando l'icona PositionIndicator è scomparsa per errore. (I2091a)
  • Prestazioni di PositionIndicator migliorate mediante l'ottimizzazione delle ricomposizioni. Successivamente sono stati aggiunti nuovi flag per controllare le animazioni (fadeIn, fadeOut e positionChange) (vedi Modifiche all'API) (Ifac7d)
  • Abbiamo aggiunto test Microbenchmark per PositionIndicator (Idf875)

Versione 1.3.0-alpha06

20 settembre 2023

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

Correzioni di bug

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

Versione 1.3.0-alpha05

6 settembre 2023

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

Correzioni di bug

  • Abbiamo aggiunto una funzionalità di gestione nello scorrimento per scoprire, in modo che sia possibile far scorrere un solo elemento alla volta. (I3cd7a)
  • È stata migliorata la documentazione di ScalingLazyColumnDefaults per una migliore corrispondenza del comportamento effettivo. (I886d3)

Versione 1.3.0-alpha04

23 agosto 2023

Viene rilasciato androidx.wear.compose:compose-*:1.3.0-alpha04. 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 alle API

  • Aggiungi HorizontalPageIndicator alla raccolta Wear Material3. (Ifee99)
  • Strumenti anteprima di Wear Compose aggiornati per usare la raccolta androidx.wear.tooling.preview. (Ib036e)

Correzioni di bug

  • È stato corretto un bug nei pulsanti rotondi in cui i modificatori non erano concatenati correttamente. (I5e162).

Versione 1.3.0-alpha03

9 agosto 2023

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

Modifiche alle API

  • Abbiamo aggiunto due nuovi componibili in Material per l'implementazione di SwipeToReveal con le carte e i chip. Questi componibili seguono le linee guida UX consigliate per il componente e semplificano l'implementazione di SwipeToReveal con i componenti esistenti in Wear Material per gli sviluppatori. (I7ec65)
  • Abbiamo attivato le annotazioni FloatRange come vincoli API, che in precedenza erano indicate 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 l'allocazione dei tratti. (I5f225, b/288234617)
  • Abbiamo corretto la visibilità delle caselle di controllo negli stati disattivati. (Ib25bf)
  • Abbiamo aggiornato Placeholder per consentire la reimpostazione della visualizzazione del segnaposto se i contenuti non sono più in stato Pronto. (Ibd820)
  • Abbiamo apportato alcune correzioni ai test Placeholder irregolari (Idb560)

Versione 1.3.0-alpha02

26 luglio 2023

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

Modifiche alle API

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

Correzioni di bug

  • Abbiamo corretto un bug dell'ordine z per cui expandedItem non mostrava i contenuti corretti dopo aver fatto clic sul comportamento di un pulsante quando è presente. (I1899d, b/289991514)
  • Migliora la gestione della messa a fuoco 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 base per la versione 1.2. (ID5740)
  • A seguito della migrazione di SwipeToDismissBox alla base, l'implementazione SwipeToDismissBox del materiale viene inoltrata alla base e fornisce i valori di colore predefiniti del relativo tema.(If8451)
  • Abbiamo aggiunto la semantica dell'intestazione a ListHeader. (Ic5420)
  • Quando necessario, Chip e ToggleChip regoleranno la propria altezza per adattarsi ai contenuti cresciuti a causa dell'accessibilità dei caratteri grandi. (Iaf302)
  • È stato corretto un bug nel ruolo semantico dell'area toccabile di SplitToggleChip per l'accessibilità. (Ieed3a).
  • L'impostazione di riduzione del movimento ora disattiva l'effetto scintillante e il movimento a comparsa sui segnaposto. (I91046)
  • Stepper e InlineSlider ora supportano i clic ripetuti con la pressione prolungata in modo da poter aumentare o diminuire rapidamente il valore di Stepper e InlineSlider tenendo premuti i pulsanti + o -. (I27359)

Versione 1.3.0-alpha01

21 giu 2023

Viene rilasciato androidx.wear.compose:compose-*:1.3.0-alpha01. 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 DefaultTextStyle per disattivare la spaziatura interna dei caratteri in modo che sia coerente su tutta la piattaforma Android. Questa operazione risolve alcuni casi di ritaglio del testo con caratteri di grandi dimensioni e potrebbe influire anche sul layout dello schermo, pertanto è necessario aggiornare i test degli screenshot. Ad esempio, qui il testo viene troncato (Ic6a86).
di Gemini Advanced.
Testo troncato con caratteri di grandi dimensioni
Figura 1: testo troncato.
  • Non è più presente quando la spaziatura interna dei caratteri è disattivata:
di Gemini Advanced.
Testo non tagliato 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 dello sfondo e dei contenuti vengono ora passate al blocco di memoria 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 per la scelta del formato per il formato 12 o 24 ore. (If4a3d).
  • Abbiamo corretto un'incoerenza nei parametri predefiniti di SwipeToDismissBox contentScrimColor. (I2d70f)
  • Abbiamo migliorato la gestione del movimento in SwipeToReveal. (I28fb7)

Problemi noti

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

Versione 1.2

Versione 1.2.1

18 ottobre 2023

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

Correzioni di bug

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

Versione 1.2.0

9 agosto 2023

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

Modifiche importanti dalla versione 1.1.0

Versione 1.2.0-rc01

26 luglio 2023

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

Correzioni di bug

  • Abbiamo finalizzato i profili di base per la versione 1.2 (Id5740).

Versione 1.2.0-beta02

7 giugno 2023

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

Nuove funzionalità

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

Correzioni di bug

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

Versione 1.2.0-beta01

24 maggio 2023

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

Contenuti di Compose per Wear OS 1.2

La versione 1.2-beta01 di Compose per Wear OS indica che questa release della libreria è completa di funzionalità e l'API è bloccata (tranne nei casi contrassegnati come sperimentali). Wear Compose 1.2 include le seguenti nuove funzionalità:

  • expandableItem e expandableItems sono due nuovi componenti Foundation che supportano gli elementi espandibili all'interno di un elemento ScalingLazyColumn. Utilizza expandableItem per un singolo elemento espandibile, ad esempio il testo contenente 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 componibile sperimentale consente di contrassegnare sottoalberi della composizione come messa a fuoco attivata o messa a fuoco disattivata.
  • Picker: l'API ora include userScrollEnabled per controllare se il selettore è attivo per lo scorrimento da parte degli utenti.
  • PickerGroup: un nuovo componibile per la gestione di più selettori insieme. Gestisce lo stato attivo tra i selettori utilizzando l'API HierarchicalFocusCoordinator e attiva la centratura automatica degli elementi del selettore.
  • Placeholder - abbiamo apportato aggiornamenti alle animazioni scintillanti e a "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 un supporto sperimentale per la funzionalità di scorrimento per mostrare gli annunci come mezzo per accedere ad azioni secondarie, integrando il modello esistente di "pressione prolungata".
  • Stepper: ora ha un sovraccarico con un parametro enableRangeSemantics aggiuntivo per facilitare la disattivazione della semantica dell'intervallo predefinito.
  • Previews - abbiamo aggiunto le seguenti annotazioni personalizzate per la visualizzazione in anteprima degli elementi componibili sulle schermate Wear: WearPreviewSmallRound visualizza l'anteprima del componibile su un dispositivo piccolo e rotondo; WearPreviewLargeRound visualizza l'anteprima del componibile su un dispositivo rotondo di grandi dimensioni; WearPreviewSquare visualizza l'anteprima del componibile su un dispositivo quadrato. Inoltre, le seguenti annotazioni in anteprima multipla: WearPreviewFontScales visualizza l'anteprima dei componibili su un dispositivo Wear con più dimensioni dei caratteri, mentre WearPreviewDevices mostra l'anteprima dei componibili su diversi dispositivi indossabili.
  • Abbiamo aggiunto un DefaultTextStyle a Compose di Wear che imposta la proprietà PlatformTextStyle.includeFontPadding per impostazione predefinita su true (questa è l'impostazione attuale). In questo modo potremo sincronizzare la disattivazione della spaziatura interna dei caratteri per impostazione predefinita con le librerie Compose in una versione alpha 1.3. Per ulteriori informazioni, vedi 1.2.0-alpha10.

Nuove funzionalità

  • Abbiamo aggiunto un supporto sperimentale per la disattivazione del ridimensionamento e della dissolvenza dell'animazione quando è attiva l'impostazione ridurre_motion. (I58024)

Correzioni di bug

  • Documentazione migliorata per angularWidthDp in CurvedSize.kt (Iab75c)
  • SwipeDismissableNavHost ora registra un avviso con potenziali cause di un backstack vuoto. Questo viene fatto per evitare arresti anomali imprevisti causati da IllegalArgumentException che è stato generato quando il backstack era vuoto. (I04a81, b/277700155)

Versione 1.2.0-alpha10

10 maggio 2023

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

Nuove funzionalità

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

Modifiche alle API

  • Abbiamo aggiunto RevealScope agli elementi componibili delle azioni in SwipeToReveal, che consente di accedere all'offset in cui vengono visualizzate le azioni aggiuntive. (I3fd56)

Correzioni di bug

  • Risolto un problema per cui ScalingLazyColumn si bloccava sull'API Wear 33 dopo lo scorrimento (Ic4599)
  • Abbiamo apportato alcuni miglioramenti alle prestazioni di PositionIndicator per ridurre i blocchi. (I35e92).
  • Abbiamo corretto un bug nel chip e in CompactChip per cui il ruolo semantico non era più impostato su Role.Button. (I93f91, b/277326264)

Problemi noti

  • Abbiamo identificato un bug in Android Studio che causa un errore nella visualizzazione dell'anteprima se annotato con @WearPreviewDevices e @WearPreviewFontScales. A breve è prevista una correzione per il rilascio. Tieni presente che le altre annotazioni relative all'anteprima di Wear OS funzionano come previsto in Android Studio Giraffe 2022.3.1 e versioni successive.

  • Nella versione 1.2.0-alpha07 abbiamo aggiunto il parametro DefaultTextStyle a Wear Compose, mantenendo l'attuale valore PlatformTextStyle.includeFontPadding su true. Per lo sfondo, vedi Correggere la spaziatura interna dei caratteri in Compose. Modificheremo il metodo DefaultTextStyle per disattivare la spaziatura interna dei caratteri in una delle prime versioni alpha della versione 1.3, in modo da mantenere la coerenza su tutta la piattaforma Android. Questa operazione risolve alcuni casi di ritaglio del testo con caratteri di grandi dimensioni e potrebbe influire anche sul layout dello schermo, pertanto i test degli screenshot devono essere aggiornati. Ad esempio, con caratteri di grandi dimensioni, il testo viene troncato qui:

di Gemini Advanced.
Testo troncato con caratteri di grandi dimensioni
Figura 1: testo troncato.
  • Non è più presente quando la spaziatura interna dei caratteri è disattivata:
di Gemini Advanced.
Testo non tagliato con caratteri di grandi dimensioni
Figura 2: testo non troncato.

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

Versione 1.2.0-alpha09

19 aprile 2023

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

Modifiche alle API

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

Correzioni di bug

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

Versione 1.2.0-alpha08

5 aprile 2023

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

Modifiche alle API

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

Correzioni di bug

  • Campioni espandibili migliorati per mostrare più possibilità. Animazione di expandableItem modificata per mantenere i contenuti centrati nell'animazione. (I2f637)
  • È stato aggiornato ToggleControls per evitare ricomposizioni aggiuntive quando si anima manualmente i colori utilizzando lo stato. (I5d319)

Versione 1.2.0-alpha07

22 marzo 2023

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

Modifiche alle API

  • Abbiamo spostato i componenti degli elementi espandibili (aggiunti nella versione 1.2.0-alpha06) dal materiale all'elemento di base, poiché non avevano riferimenti significativi a MaterialTheme. (Ib0525).

Correzioni di bug

  • Abbiamo corretto un arresto anomalo che si è verificato in una schermata utilizzando PickerGroup, assicurando che PickerGroup gestisca correttamente lo stato attivo quando nessun selettore è impostato sullo stato attivo. Inoltre, nelle nostre demo sul selettore è stato aggiunto il supporto per lo scorrimento RSB. (If8c19).
  • Abbiamo migliorato le transizioni delle finestre di dialogo. Ora la transizione introduttiva è più fluida rispetto alla transizione finale. (Ib5af9)
  • Abbiamo aggiunto un DefaultTextStyle a Compose di Wear che imposta la proprietà PlatformTextStyle.includeFontPadding per impostazione predefinita su true (questa è l'impostazione attuale). In questo modo potremo sincronizzare la disattivazione della spaziatura interna dei caratteri per impostazione predefinita con le librerie Compose in futuro. Vedi (Correggere la spaziatura interna dei caratteri in Compose) per lo sfondo. (I2aee8)
  • È stata ripristinata una dipendenza dall'anteprima UpsideDownCake tramite la composizione dell'attività che ha bloccato la pubblicazione delle app sul Google Play Store. (I6443d)

Versione 1.2.0-alpha06

8 marzo 2023

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

Modifiche alle API

  • Aggiungi il componente CurvedBox, che posiziona i componenti uno sopra l'altro nel mondo curvo. (I29200)
  • Aggiunta di elementi espandibili: due nuovi componenti che supportano un gruppo di elementi espandibili in un elemento ScalingLazyColumn o un singolo elemento espandibile, ad esempio il testo in cui si espande il numero di righe. (I95dd5)
  • Abbiamo aggiunto le seguenti annotazioni personalizzate per la visualizzazione in anteprima dei componibili sulle schermate Wear: WearPreviewSmallRound visualizza l'anteprima del componibile su un piccolo dispositivo rotondo; WearPreviewLargeRound visualizza l'anteprima del componibile su un dispositivo rotondo di grandi dimensioni; WearPreviewSquare visualizza l'anteprima del componibile su un dispositivo quadrato. Inoltre, le seguenti annotazioni in anteprima multipla: WearPreviewFontScales visualizza l'anteprima dei componibili su un dispositivo Wear con più dimensioni dei caratteri, mentre WearPreviewDevices mostra l'anteprima dei componibili su diversi dispositivi indossabili. Per utilizzare queste anteprime, devi avere l'ultima versione di Android Studio (Giraffe Canary 6) o versioni successive. Tieni presente che se queste annotazioni non sono adatte al tuo scopo, l'anteprima può comunque essere utilizzata e supporta ulteriori personalizzazioni tramite i parametri. (I397ff)
  • Abbiamo contrassegnato HierarchicalFocusCoordinator come un esperimento mentre viene considerato come candidato per lo spostamento nelle librerie di composizione principali, data la sua ampia applicabilità. (I3a768)

Correzioni di bug

  • È stato corretto un bug su HierarchicalFocusCoordinator: quando la funzione lambda passata per il parametro focusEnabled viene modificata, ora viene utilizzato correttamente il nuovo parametro. (Icb353)
  • Abbiamo aggiornato il colore predefinito dei contenuti disattivati in Sfondo quando vengono utilizzati colori primari come sfondo in Button, CompactButton, Chip, CompactChip e ToggleButton. Questo migliora il contrasto per l'accessibilità. (I527cc)

Versione 1.2.0-alpha05

22 febbraio 2023

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

Modifiche alle API

  • L'API PickerGroup è stata aggiornata per consentire la propagazione dei vincoli minimi al componibile facoltativamente. Se impostato su true, i vincoli minimi passati dal componibile padre saranno consentiti nell'PickerGroup. Se il criterio viene impostato su false, PickerGroup reimposterà i vincoli minimi. (I3e046).
  • Abbiamo aggiunto animateScrollToOption all'API Picker per supportare l'animazione programmatica per un'opzione specifica del selettore (I6fe67)

Correzioni di bug

  • Abbiamo aggiornato HorizontalPageIndicator per supportare i layout da destra a sinistra. (Ia4359)
  • Sono stati aggiunti i test degli 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

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

Nuove funzionalità

  • PickerGroup per la gestione di più selettori insieme utilizzando l'API focus. Gestisce lo stato attivo tra i diversi selettori, consente la centratura automatica dei selettori in base ai parametri e consente agli sviluppatori di spostare l'elemento attivo tra diversi selettori gestendo gli eventi dal gruppo. In modalità TalkBack, l'PickerGroup gestisce lo stato attivo di TalkBack spostando lo stato attivo sul selettore selezionato dal gruppo. (I60840)

Modifiche alle 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 di nidificare ScalingLazyColumn all'interno di una pagina a scorrimento orizzontale (Iec3f8, b/266555016)
  • Miglioramento dei kdocs Stepper e StepperTest testa la pulizia. (Ic118e)
  • Dipendenza androidx.navigation aggiornata alla versione 2.5.3 (If58ed)

Versione 1.2.0-alpha03

25 gennaio 2023

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

Modifiche alle API

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

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

  • PositionIndicator API che hanno come target il materiale ScalingLazyColumn è stata ritirata. Esegui l'aggiornamento a Foundation.Lazy ScalingLazyColumn. Inoltre, il campo anchorType è stato aggiunto a ScalingLazyListLayoutInfo. (I29d95)
  • L'app ScalingLazyColumn è stata contrassegnata come deprecata nel pacchetto Material di Wear Compose (I16d34)
  • Abbiamo aggiornato il modificatore ScrollAway per utilizzare ScalingLazyListState di Wear Compose Foundation.Lazy e ritirato il sovraccarico che richiedeva ScalingLazyListState dal materiale di Wear Compose. (Ifc42c).
  • Abbiamo aggiornato le API Dialog per utilizzare ScalingLazyListState da Foundation.Lazy e ritirato gli sovraccarichi che utilizzavano Material ScalingLazyListState (Ic8960)
  • Abbiamo aggiornato le API del selettore in modo da utilizzare ScalingParams da Foundation.Lazy e abbiamo ritirato gli sovraccarichi che utilizzavano Material ScalingParams. (Idc3d8)

Correzioni di bug

  • Abbiamo corretto un bug che causava ricomposizioni non necessarie in ScalingLazyListState.centerItemIndex assicurando che esegua il push degli aggiornamenti solo quando il valore cambia effettivamente (Ia9f38)
  • Abbiamo migliorato le prestazioni di SwipeToDismissBox (I3933b)
  • Sono stati aggiunti test benchmark per ScalingLazyColumn in Wear Compose Foundation (Ie00f9)
  • Abbiamo aggiornato alcuni metodi interni delle classi ScalingLazyColumn in Material per utilizzare gli equivalenti di Foundation.Lazy (I38aab)
  • Abbiamo risolto alcuni problemi nei test del selettore e aggiunto altri test per controllare lo scorrimento con offset (I6ac34)
  • Abbiamo eseguito la migrazione delle demo di integrazione ScalingLazyColumn in modo che dipendono da Foundation.Lazy anziché da Material ScalingLazyColumn (Ic6caa)
  • Abbiamo aggiunto parametri fromDate/toDate facoltativi alla nostra demo DatePicker (I961cd)

Versione 1.2.0-alpha02

11 gennaio 2023

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

Modifiche alle API

  • I test della UI di Android Compose ora eseguiranno passaggi del layout per ogni frame durante l'esecuzione dei frame per diventare inattivi (ad esempio tramite waitForIdle). Ciò potrebbe influire sui test che asseriscono su singoli frame di animazioni di layout. (I8ea08, b/222093277)
  • Il parametro minLines viene aggiunto a Wear Text per un comportamento coerente con BasicText (I24874)
  • CompactChipTapTargetPadding è stato reso pubblico in modo da apparire nella documentazione (If1e70, b/234119038)

Correzioni di bug

  • Disabilita le build multipiattaforma per wear.compose pacchetti (Iad3d7)
  • Correggi kdocs per scrollToOption (I6f9a0)
  • PlaceholderState.rememberPlaceholderState() aggiornato per utilizzare rememberUpdatedState a questo stato che verrà aggiornato se lambda onContentReady. (I02635, b/260343754)
  • Abbiamo risolto un problema di tremolio del testo rilevato nel componente Picker sfruttando la nuova strategia di composizione aggiunta a Modifier.graphicsLayer. (I99302)
  • Abbiamo corretto un bug che causava lo sfarfallio della nostra demo di DatePicker (I660bd)
  • Abbiamo migliorato l'accessibilità per le demo dei selettori di data e ora di 12 ore (I05e12).
  • Abbiamo aggiornato le nostre demo sui selettori di data e ora in modo che i selettori non siano interessati dalle modifiche RSB se deselezionati (I4aecb)

Versione 1.2.0-alpha01

7 dicembre 2022

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

Nuove funzionalità

  • Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Cancella" venga applicato immediatamente quando i contenuti sono pronti, invece di dover aspettare l'inizio del successivo loop dell'animazione. Abbiamo anche apportato alcuni aggiornamenti alle animazioni scintillanti e a comparsa. (I5a7f4)

Modifiche alle API

  • Abbiamo aggiunto un elemento componibile HierarchicalFocusCoordinatorcomponibile per consentire di contrassegnare sottoalberi della composizione come messa a fuoco attivata o messa a fuoco disattivata.(I827cb)
  • Abbiamo aggiunto una nuova proprietà per eseguire l'override del ruolo semantico per ToggleButton.(I67132)
  • Abbiamo aggiornato TimeTextDefaults.TimeFormat12Hours per rimuovere AM/PM in TimeText. Verrà modificato il valore predefinito dei parametri timeSource nell'API TimeText. (I1eb7f)
  • Abbiamo esteso l'API Picker per migliorare l'accessibilità per gli schermi con multi-selettore. È disponibile una nuova proprietà userScrollEnabled per controllare se il selettore è attivo per lo scorrimento da parte degli utenti. (I3c3aa)

Correzioni di bug

  • Abbiamo modificato la larghezza predefinita del bordo per un elemento 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 elemento ScalingLazyColumn vuoto che sembra scorrere fino in posizione, abbiamo aggiunto un numero stimato di autoCentering topPadding quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura interna superiore necessaria partendo dal presupposto che un elemento iniziale abbia altezza pari a 0.dp. Per ScalingLazyListAnchorType.ItemStart verrà calcolata la spaziatura interna superiore corretta per ScalingLazyListAnchorType.ItemCenter questo calcolo non sarà corretto poiché l'altezza degli elementi è necessaria per ridimensionare correttamente i contenuti, generando un piccolo effetto di scorrimento in base all'altezza reale degli elementi.(I239a4)
  • Abbiamo aggiornato la cornice di sfondo applicata all'animazione SwipeToDismiss in modo che corrisponda alla piattaforma Wear. (I9003e)
  • Abbiamo corretto la gestione di PositionIndicator di LazyListState e ScalingLazyListState per gli elementi dell'elenco con dimensione 0 ed evitare errori di divisione per zero.(Ic28dd)

Versione 1.1

Versione 1.1.2

8 febbraio 2023

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

Correzioni di bug

  • Abbiamo corretto un bug che causava ricomposizioni non necessarie in ScalingLazyListState.centerItemIndex assicurando che esegua il push degli aggiornamenti solo quando il valore cambia effettivamente (Ia9f38)

Versione 1.1.1

11 gennaio 2023

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

Correzioni di bug

  • PlaceholderState.rememberPlaceholderState() aggiornato per utilizzare rememberUpdatedState a questo stato che verrà aggiornato se lambda onContentReady. (I02635, b/260343754)

Versione 1.1.0

7 dicembre 2022

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

Modifiche importanti dalla versione 1.0.0

Nuove funzionalità

  • Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Cancella" venga applicato immediatamente quando i contenuti sono pronti, invece di dover aspettare l'inizio del successivo loop dell'animazione. Abbiamo anche apportato alcuni aggiornamenti alle animazioni scintillanti e a comparsa. (I5a7f4)

Correzioni di bug

  • Abbiamo modificato la larghezza predefinita del bordo per un elemento 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 elemento ScalingLazyColumn vuoto che sembra scorrere fino in posizione, abbiamo aggiunto un numero stimato di autoCentering topPadding quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura interna superiore necessaria partendo dal presupposto che un elemento iniziale abbia altezza pari a 0.dp. Per ScalingLazyListAnchorType.ItemStart verrà calcolata la spaziatura interna superiore corretta per ScalingLazyListAnchorType.ItemCenter questo calcolo non sarà corretto poiché l'altezza degli elementi è necessaria per ridimensionare correttamente i contenuti, generando un piccolo effetto di scorrimento in base all'altezza reale degli elementi.(I239a4)
  • Abbiamo aggiornato la cornice di sfondo applicata all'animazione SwipeToDismiss in modo che corrisponda alla piattaforma Wear.(I9003e)
  • Abbiamo corretto la gestione di PositionIndicator di LazyListState e ScalingLazyListState per gli elementi dell'elenco con dimensione 0 ed evitare errori di divisione per zero.(Ic28dd)

Versione 1.1.0-rc01

9 novembre 2022

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

Correzioni di bug

  • Abbiamo aggiunto regole di base del profilo per Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip e OutlinedCompactChip. (I8249c)
  • Abbiamo corretto un bug in Modifier.scrollAway, pertanto se il valore itemIndex specificato non è valido (ad esempio, se l'indice di quell'elemento non rientra nell'intervallo), ora verrà ancora visualizzato TimeText. (I2137a)
  • Abbiamo aggiornato l'animazione SwipeToDismissBox in modo che corrisponda all'implementazione della piattaforma. Dopo l'animazione di compressione iniziale, lo schermo ora scorre verso destra una volta attivata l'opzione di chiusura. (I41d34)
  • Nell'ambito dell'ottimizzazione, abbiamo aggiornato Modifier.scrollAway in modo che legga solo il valore 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 componibile. (Ie96f4, b/256583229)
  • Abbiamo modificato la larghezza predefinita del bordo per un elemento 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, quindi gli input componibili non venivano aggiornati dopo le modifiche agli input. (I49ff6, b/255323197)
  • Abbiamo apportato alcuni aggiornamenti all'interfaccia utente dei segnaposto, 1) abbiamo modificato il gradiente di shimmer in 1,5 volte la dimensione dello schermo, 2) aggiunto l'allentamento (bezier cubico) della progressione dello shimmer e 3) velocizzare l'animazione di cancellazione (250 ms). (ID29c1)
  • Abbiamo corretto un bug dell'interfaccia utente nell'effetto wipeOff del segnaposto per cui gli sfondi di chip e schede venivano cancellati leggermente prima perché non prendeva in considerazione la posizione del componente sullo schermo. (I2c7cb)
  • Abbiamo aggiornato il disegno di sfondo segnaposto per unire i colori anziché sovrapporre i colori, ove possibile, per ridurre il rischio che la combinazione alfa dei diversi livelli ritagliati lasci passare i colori sottostanti sui bordi dello sfondo segnaposto. (I2ea26).
  • Abbiamo corretto il calcolo di ScalingLazyListState.centerItemIndex/centerItemOffset in modo che, se due elementi si trovano ai lati della linea centrale dell'area visibile, quello più vicino verrà considerato centerItem. (I30709, b/254257769)
  • Abbiamo corretto un bug in ScalingLazyListState.layoutInfo.visibleItemsInfo che segnalava offset errati durante l'inizializzazione di ScalingLazyColumn. Ora verrà restituito un elenco vuoto finché tutti gli elementi dell'elenco non sono visibili e non presentano gli offset corretti. Controlla se ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() per confermare che l'inizializzazione di ScalingLazyColumn è completa e gli elementi sono visibili. (I3a3b8)

Versione 1.1.0-beta01

24 ottobre 2022

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

Contenuti di Compose per Wear OS 1.1

La versione 1.1.0-beta01 di Compose per Wear OS indicava che questa release della libreria è stata completata e l'API era bloccata.

  • La release Wear Compose 1.1 include le seguenti nuove funzionalità:
    • Selettore: sono stati apportati miglioramenti dell'accessibilità al selettore in modo che le schermate del selettore siano navigabili con gli screen reader e che la descrizione dei contenuti sia accessibile.
    • Il parametro contentDescription del selettore viene ora utilizzato solo per l'opzione selettore selezionata e accetta una stringa con valore nullo (nel commit precedente era necessario passare una mappatura dall'opzione alla descrizione del contenuto, ma è stata utilizzata solo l'opzione selezionata).
    • Gli elementi del selettore sono ora sempre allineati al centro. La correzione di un bug quando si impostava gradientRatio su zero ha avuto l'effetto collaterale di modificare l'allineamento.
    • Chip/ToggleChip - Abbiamo aggiornato i gradienti predefiniti per Chip/ToggleChip per renderli in linea con la più recente specifica UX. ChipDefaults.gradientBackgroundChipColors è stato aggiornato in modo da iniziare dal 50% della quota 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 contorno per chip e pulsanti e nuovi componibili OutlinedChip e OutlinedButton che forniscono una Chip/Button trasparente con un bordo sottile.
    • Scheda: sono stati aggiornati i gradienti predefiniti per le schede al fine di renderli in linea con le specifiche UX più recenti. CardDefaults.cardBackgroundPainter è stato aggiornato in modo da iniziare dal 30% di quella principale e terminare al 20% di onSurfaceVariant (in precedenza era compreso tra 20% e 10% onSurfaceVariant). ToggleChip.toggleChipColors passa da un gradiente lineare del 75% di superficie al 32,5% di superficie primaria allo 0% di superficie al 50% di primaria.
    • Button/ToggleButton: sono state aggiunte proprietà per la modifica delle forme dei pulsanti.
    • Tema: è stato aggiornato una serie di colori predefiniti in MaterialTheme al fine di migliorare l'accessibilità poiché i colori originali non avevano un contrasto sufficiente, con conseguente difficoltà per gli utenti nel distinguere gli sfondi di chip, schede e pulsanti da quelli del tema.
    • InlineSlider/Stepper - Sono stati aggiunti i ruoli dei pulsanti in modo che Talkback possa riconoscerli come pulsanti.
    • Scaffold - PositionIndicator ora è posizionato e dimensionato in modo da occupare solo lo spazio necessario. Questo è utile, ad esempio, se vengono aggiunte informazioni semantiche, TalkBack ora riceve i limiti corretti dell'elemento PositionIndicator sullo schermo.
    • CurvedText/TimeText: è stato aggiunto Modifier.scrollAway, che consente di far scorrere un elemento verticalmente verso l'interno/l'esterno della visualizzazione in base allo stato di scorrimento (con sovraccarichi per funzionare con Column, LazyColumn e ScalingLazyColumn). ScrollAway in genere viene utilizzato per far scorrere un TimeText fuori dalla visualizzazione mentre l'utente inizia a scorrere un elenco di elementi verso l'alto.
    • CurvedText/TimeText - Supporto aggiunto per fontFamily, fontStyle e fontSynthesis in CurvedTextStyle, utilizzabile su curvedText e basicCurvedText
    • CurvedText/TimeText - Aggiunta di fontWeight al costruttore e al metodo di copia in CurvedTextStyle
    • ToggleControls - Sono stati aggiunti i controlli di attivazione/disattivazione animati di Checkbox, Switch e RadioButton da utilizzare con ToggleChip e SplitToggleChip. Queste icone possono essere utilizzate al posto delle icone statiche fornite da ToggleChipDefaults (switchIcon, checkboxIcon e radioIcon).
    • Segnaposto: è stato aggiunto il supporto sperimentale dei segnaposto. che offre tre effetti visivi distinti progettati per essere usati insieme.
    • Innanzitutto, un effetto pennello per lo sfondo segnaposto utilizzato in contenitori come chip e schede per disegnare sullo sfondo normale quando si attende il 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 gradiente/effetto scintillante del modificatore (Modifier.placeholderShimmer()) tracciato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati.
      • Tutti questi effetti sono progettati per essere coordinati, brillanti e spazzati via in modo orchestrato.
  • Dipendenze di Core Compose aggiornate da 1.2 a 1.3

Modifiche alle API

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

Correzioni di bug

  • curveText e basicCurvedText ora funzioneranno correttamente con TalkBack (hanno un nodo Composer di dimensioni e posizioni (ma vuoto) associato che utilizza il testo come descrizione del contenuto) (I7af7c, b/210721259)
  • Correzione di bug in Picker quando PickerState.repeatedItems = false per aggiungere un'impostazione esplicita dei parametri di centratura automatica nella sezione ScalingLazyColumn interna dei selettori per garantire che sia possibile scorrere l'opzione zero fino al centro della vista. (I8a4d7).

Versione 1.1.0-alpha07

5 ottobre 2022

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

Nuove funzionalità

  • Abbiamo aggiunto il supporto sperimentale dei segnaposto. che offre tre effetti visivi distinti progettati per essere usati insieme. Innanzitutto, un effetto pennello per lo sfondo segnaposto utilizzato in contenitori come chip e schede per disegnare sullo sfondo normale quando si attende il 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 gradiente/effetto scintillante del modificatore (Modifier.placeholderShimmer()) tracciato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati. Tutti questi effetti sono progettati per essere coordinati, brillanti e spazzati via in modo orchestrato. (I3c339)

Modifiche alle API

  • 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 con il testo curvo.(Iaa1a8),(I72759)
  • È stato aggiornato il parametro di offset di Modifier.scrollAway a Dp per garantire la coerenza con Modifier.offset (in precedenza era in pixel). Inoltre, è stato sottoposto a refactoring come LayoutModifier per l'efficienza. (I9f94b)
  • Nell'ambito della nuova API dei controlli di attivazione/disattivazione, 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. Queste icone possono essere utilizzate al posto delle icone statiche fornite da ToggleChipDefaults (switchIcon, checkboxIcon e radioIcon). (I8a8c4)

Versione 1.1.0-alpha06

21 settembre 2022

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

Nuove funzionalità

  • Abbiamo aggiunto Modifier.scrollAway, che consente di far scorrere un elemento verticalmente verso l'interno/l'esterno della visualizzazione, in base allo stato di scorrimento (con sovraccarichi per funzionare con Column, LazyColumn e ScalingLazyColumn). In genere, ScrollAway viene utilizzato per far scorrere un TimeText fuori dalla visualizzazione mentre l'utente inizia a scorrere un elenco di elementi verso l'alto. (I61766)

Correzioni di bug

  • PositionIndicator ora è posizionato e dimensionato in modo da occupare solo lo spazio necessario. Questo è utile, ad esempio, se vengono aggiunte informazioni semantiche, TalkBack ora riceve i limiti corretti dell'elemento PositionIndicator sullo schermo. (Ie6106, b/244409133)

Versione 1.1.0-alpha05

7 settembre 2022

Vengono rilasciate le funzionalità 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. 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 nella piattaforma. Ora gli indicatori sono posizionati sopra la vignetta e non saranno oscurati dalla vignetta, se presente. (Ib988f, b/244207528)

Versione 1.1.0-alpha04

24 agosto 2022

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

Modifiche alle API

  • Abbiamo aggiornato una serie di colori predefiniti in MaterialTheme al fine di migliorare l'accessibilità poiché i colori originali non avevano un contrasto sufficiente, con conseguente difficoltà per gli utenti a distinguere gli sfondi di chip/schede/pulsanti da quelli del tema. I colori aggiornati sono superfici(0xFF202124->0xFF303133), onprimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), PrimaryVariant(0xFF669DF6->0xFF20x0FF20Error20x0FF20). Le modifiche dei colori, anche se relativamente lievi, potrebbero influire sui test di screenshot esistenti. (81ab09)

Correzioni di bug

  • Correggi un bug logico in ScalingLazyColumn che causava la visualizzazione di elenchi con un numero ridotto (in genere esattamente 2) di voci di elenco che non completavano l'inizializzazione e, di conseguenza, la trasparenza. (504347)

Versione 1.1.0-alpha03

10 agosto 2022

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

Nuove funzionalità

  • Abbiamo aggiunto un nuovo stile con contorno per Chips e Buttons e nuovi componibili OutlinedChip e OutlinedButton che forniscono un elemento trasparente Chip/Button con un bordo sottile. (ID5972)

Modifiche alle API

  • Sono stati aggiunti sovraccarichi per la modifica della forma dei pulsanti (ICcde)

Correzioni di bug

  • Abbiamo corretto le dimensioni dell'area di controllo di attivazione/disattivazione di ToggleChip perché non corrispondeva alle sue specifiche UX. La specifica UX richiede uno spazior di 4.dp tra l'etichetta e un'area di icona di controllo di attivazione/disattivazione 24x24.dp per una larghezza totale di 28.dp. Tuttavia, l'implementazione fornisce erroneamente l'area di controllo di attivazione/disattivazione 36x24.dp. Vengono eliminati 8.dp dell'area di etichetta di testo utilizzabile. NOTA: questa correzione di bug offre spazio aggiuntivo per l'etichetta di testo e, di conseguenza, può influire (positivamente) sul layout del testo per il testo in eccesso. Se hai dei test di screenshot che includono ToggleChips, potrebbe essere necessario aggiornarli. (I514c8, b/240548670)

Versione 1.1.0-alpha02

27 luglio 2022

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

Nuove funzionalità

  • Abbiamo cambiato le dipendenze di Compose per Wear OS nelle librerie Compose principali dalla versione 1.2.0 alla 1.3.0-alpha0X

Modifiche alle API

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

Correzioni di bug

  • Abbiamo animato la visibilità della vignetta quando mostri/nascondi la finestra di dialogo, in modo da mantenere la coerenza con l'animazione di ridimensionamento esistente. (Ida33e)
  • Abbiamo corretto un bug per cui poteva verificarsi un errore di divisione per zero con alcuni comportamenti di scorrimento durante lo 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

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

Modifiche alle API

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

Correzioni di bug

  • Abbiamo aggiornato le regole del profilo di base incluse nella libreria Wear Compose (I9c694)
  • Abbiamo corretto la direzione del gradiente per Chip in modalità da destra a sinistra. Era in alto a sinistra->in basso a destra, ora è in alto a destra->in basso a sinistra. (Ic2e77).
  • Abbiamo aggiornato i gradienti predefiniti per Chip/ToggleChip/Card per renderli in linea con le specifiche UX più recenti. ChipDefaults.gradientBackgroundChipColors è stato aggiornato in modo da iniziare dal 50% della quota principale anziché dal 32,5%. CardDefaults.cardBackgroundPainter è stato aggiornato in modo da iniziare dal 30% di quella principale e terminare al 20% di onSurfaceVariant (in precedenza era compreso tra 20% e 10% onSurfaceVariant). ToggleChip.toggleChipColors passa da un gradiente lineare del 75% di superficie al 32,5% di superficie primaria allo 0% di superficie al 50% di primaria. (I43bbd)
  • Abbiamo aggiunto un colore di sfondo (MaterialTheme.color.surface) dietro a Chip/ToggleChips con sfondi sfumati per garantire che siano correttamente visibili nell'improbabile caso in cui dietro venga usato un colore chiaro. (Ibe1a4, b/235937657)
  • Gli elementi del selettore sono ora sempre allineati al centro. La correzione di un bug quando si impostava gradientRatio su zero ha avuto l'effetto collaterale di modificare l'allineamento. (I712b8)

Versione 1.0

Versione 1.0.2

7 settembre 2022

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

Correzioni di bug

  • Abbiamo corretto l'ordine z degli indicatori di posizione e pagina nella piattaforma. Ora gli indicatori sono posizionati sopra la vignetta e non saranno oscurati dalla vignetta, se presente. (Ib988f, b/244207528)

Versione 1.0.1

24 agosto 2022

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

Correzioni di bug

  • Correggi un bug logico in ScalingLazyColumn che causava la visualizzazione di elenchi con un numero ridotto (in genere esattamente 2) di voci di elenco che non completavano l'inizializzazione e, di conseguenza, la trasparenza. (076c61)

Versione 1.0.0

27 luglio 2022

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

Funzionalità principali di 1.0.0

  • Questa è la prima release stabile di Compose per Wear OS (scopri di più).
  • Compose per Wear OS si basa sulle librerie Compose principali che forniscono componenti aggiuntivi specifici per indossabili e, ove appropriato, implementa implementazioni alternative dei componenti principali di Compose su misura per i dispositivi indossabili.
  • Per un elenco dei componenti principali in Wear Compose, consulta le note di rilascio (Compose per Wear OS Beta01).

Correzioni di bug

  • Abbiamo animato la visibilità della vignetta quando mostri/nascondi la finestra di dialogo, in modo da mantenere la coerenza con l'animazione di ridimensionamento esistente. (Ida33e)
  • Abbiamo corretto un bug per cui poteva verificarsi un errore di divisione per zero con alcuni comportamenti di scorrimento durante lo 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

Vengono rilasciate le funzionalità 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. 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). Era in alto a sinistra->in basso a destra e ora è in alto a destra->in basso a sinistra. (Ic2e77).
  • Abbiamo aggiornato i gradienti predefiniti per Chip/ToggleChip/Card per renderli in linea con la più recente specifica UX. ChipDefaults.gradientBackgroundChipColors è stato aggiornato in modo da iniziare dal 50% della quota principale anziché dal 32,5%. CardDefaults.cardBackgroundPainter è stato aggiornato in modo da iniziare dal 30% di quello principale e terminare al 20% di onSurfaceVariant (in precedenza il 20-10% era onSurfaceVariant). ToggleChip.toggleChipColors passa da un gradiente lineare del 75% di superficie al 32,5% di superficie primaria allo 0% di superficie e al 50% di primario. (I43bbd)
  • Abbiamo aggiunto un colore di sfondo (MaterialTheme.color.surface) dietro a Chip/ToggleChips con sfondi sfumati per garantire che siano correttamente visibili nell'improbabile caso in cui dietro venga usato un colore chiaro. (Ibe1a4, b/235937657)
  • Abbiamo aggiornato le regole del profilo di base incluse nella libreria Wear Compose (I9c694)

Versione 1.0.0-rc01

15 giugno 2022

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

Modifiche alle API

  • Le interfacce nelle librerie di scrittura vengono ora create utilizzando i metodi predefiniti dell'interfaccia jdk8 (I5bcf1)

Correzioni di bug

  • Abbiamo rimosso la chiamata esplicita a fillMaxWidth() nell'intestazione dell'elenco perché non è necessaria e può causare problemi se un ScalinglazyColumn ha una combinazione di componenti ListHeader() e Chip(), poiché la larghezza tenderà a crescere/ridurre quando ListHeader elementi vengono fatti scorrere verso l'interno o all'esterno della visualizzazione. (I37144, b/235074035)
  • Abbiamo corretto un bug in ScalingLazyColumn che poteva causare errori di visualizzazione degli elementi dell'elenco fino allo scorrimento se il 0° elemento dell'elenco era abbastanza grande (inclusa la spaziatura interna) (Ic6159, b/234328517)
  • Abbiamo apportato una piccola modifica all'easing di ScalingLazyColumn in quanto gli elementi raggiungono il bordo dello schermo per soddisfare gli aggiornamenti delle specifiche UX. Valori precedenti CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> nuovi valori CubicBezierEasing(0.3f, 0f, 0.7f, 1f). Per mantenere il comportamento precedente, puoi eseguire l'override di scalingParams di ScalingLazyColumn (Ie375c)
  • Abbiamo aggiunto una spaziatura interna a CompactChip per garantire che le dimensioni del target del tocco siano alte almeno 48 dp, in modo da rispettare le linee guida sull'accessibilità dei materiali. Ciò potrebbe influire su eventuali layout che utilizzi CompactChips, in quanto occuperanno più spazio. (I3d57c).

Versione 1.0.0-beta03

1 giugno 2022

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

Nuove funzionalità

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

Modifiche alle API

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

Problemi noti

  • L'altezza al tocco/tocco di CompactChip è inferiore a quella delle linee guida sull'accessibilità dei materiali. Questo problema verrà corretto nella prossima release (15 giugno). Se utilizzi CompactChip, ciò influirà sui tuoi layout, poiché ora i CompactChips avranno una spaziatura interna aggiuntiva sopra e sotto. Modifica e testa i tuoi layout o leggi i commenti sui bug per trovare una soluzione alternativa per utilizzare il comportamento esistente. (b/234332135)

Correzioni di bug

  • Nuova demo per animare l'aggiunta o la rimozione di un testo iniziale su TimeText. (I16d75)
  • Aggiungi test per HorizontalPageIndicator.PagesState (I64ed0)
  • Aggiornamento di TimeText più vicino alle specifiche UX (Ib7ea1)

Versione 1.0.0-beta02

18 maggio 2022

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

Nuove funzionalità

  • Il selettore ora risponde sempre agli eventi di scorrimento anche in modalità di sola lettura. In questo modo non sarà necessario che gli utenti selezionino un selettore toccando prima di 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 l'esecuzione di fillMaxWidth per impostazione predefinita. ma cresceranno per adattarsi ai contenuti. Per mantenere il comportamento precedente, aggiungi semplicemente modifier = Modifier.fillMaxWidth()(I60a2c, b/232206371)

Correzioni di bug

  • Il costruttore CurvedTextStyle che utilizza un TextStyle ora rispetta anche il valore fontWeight(questo può essere aggiunto al costruttore e ai metodi di copia nelle revisioni future dell'API) (Ieebb9)
  • Miglioramenti dello scorrimento sui bordi. Quando si utilizza Modifier.edgeSwipeToDismiss e si attiva uno scorrimento verso sinistra dall'area perimetrale, non si attiva più lo scorrimento per ignorare quando la direzione dello scorrimento verso destra cambia. In precedenza era possibile attivare lo scorrimento per chiudere scorrendo verso sinistra e poi verso destra.(I916ea)
  • Ora HorizontalPageIndicator mostra fino a 6 pagine sullo schermo. Se ci sono più di sei pagine in totale, viene visualizzato un indicatore di metà dimensione a sinistra o a destra, con una transizione uniforme tra le pagine.(I2ac29)
  • Miglioramento del comportamento di agganciamento predefinito su ScalingLazyColumn e Picker (I49539)
  • Miglioramenti dello scorrimento sui bordi. Quando si usa Modifier.edgeSwipeToDismiss, l'opzione "scorri per chiudere" si attiva solo quando il primo tocco arriva sul bordo e viene fatto scorrere verso destra. In precedenza, era possibile attivare lo scorrimento per ignorare lo scorrimento da qualsiasi parte dello schermo se viene raggiunto l'inizio dello scorrimento.(I8ca2a)

Versione 1.0.0-beta01

11 maggio 2022

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

Contenuti di Compose per Wear OS 1.0

L'1.0.0-beta01 di Compose per Wear OS segna un traguardo importante perché la raccolta è stata completata e l'API è bloccata.

I componenti Material di Wear Compose nella release 1.0 includono:

  • Tema Material: utilizzato in sostituzione di Compose per MaterialTheme per dispositivi mobili, fornisce i colori, le forme e la tipografia per la costruzione dei componenti sugli indossabili che implementano immediatamente le linee guida per l'esperienza utente di Wear Material Design.
  • Button, CompactButton e ToggleButton: il pulsante offre uno spazio singolo per acquisire un'icona, un'immagine o un breve testo (massimo 3 caratteri). Forma circolare con dimensioni consigliate per pulsanti predefiniti, grandi o piccoli. CompactButton offre un unico spazio per inserire qualsiasi contenuto (icona, immagine o testo) ed è di forma circolare con sfondo di dimensioni molto ridotte. CompactButton presenta una spaziatura interna trasparente facoltativa intorno allo sfondo che aumenta l'area cliccabile. ToggleButton è un pulsante che offre un unico spazio per prendere qualsiasi contenuto (testo breve, icona o immagine) e presenta stati on/off (selezionati/deselezionati) con colori e icone diverse per mostrare la selezione o meno.
  • Schede. Vengono utilizzate per visualizzare informazioni sulle applicazioni, ad esempio le notifiche. Design flessibile per diversi casi d'uso con AppCard e TitleCard, che offrono diversi layout e supporto per le immagini come contenuti delle schede o sfondi.
  • Chip: componenti a forma di stadio simili ai pulsanti, ma con un'area più ampia e diversi spazi per etichette, etichette secondarie e icone. In diverse dimensioni e con supporto per immagini come sfondi.
  • triggerChips e SplitToggleChips: un chip con uno stato selezionato/deselezionato e l'aggiunta di uno spazio ToggleControl per mostrare un'icona, ad esempio un interruttore o un pulsante di opzione, per mostrare lo stato selezionato del componente. Inoltre, l'SplitToggleChip ha due aree toccabili, una cliccabile e una attivabile.
  • Indicatore di avanzamento circolare: indicatore di avanzamento del materiale indossabile con due varianti. Il primo esprime la proporzione di completamento di un'attività in corso e supporta uno spazio vuoto nella pista circolare tra gli angoli di inizio e fine. Il secondo indica l'avanzamento indeterminato per un tempo di attesa non specificato.
  • CurdText: fa parte del DSL per descrivere CurvedLayouts, insieme a curvedRow e curvedColumn, allo scopo di disporre i componenti attorno a dispositivi circolari. Consulta la sezione Elementi di base di Wear di seguito per maggiori dettagli su CurvedLayout e CurvedModifier (questo svolge un ruolo simile ai modificatori in ambienti non curvi e consente di configurare vari aspetti di layout, spaziatura interna, gradienti e così via).
  • Finestra di dialogo, avviso e conferma: la finestra di dialogo mostra una finestra di dialogo a schermo intero, sovrapposta a qualsiasi altro contenuto, e supporta la funzione di scorrimento per ignorare. È necessario un unico spazio che dovrebbe essere indicato come contenuto della finestra di dialogo Materiale Wear, come Avviso o Conferma. L'avviso è contenuto di finestre di dialogo con spazi per icona, titolo e messaggio. Presenta sovraccarichi per due pulsanti negativi e positivi mostrati uno accanto all'altro o uno slot per uno o più chip impilati verticalmente. La conferma è il contenuto di una finestra di dialogo che mostra un messaggio per un determinato periodo di tempo. Presenta uno spazio per un'icona o un'immagine (che potrebbe essere animata).
  • HorizontalPageIndicator: mostra la posizione orizzontale della pagina in un modo appropriato al fattore di forma Wearable. Progettato per acquisire la visione a schermo intero e mostrare un indicatore curvo sui dispositivi rotondi. Possono essere utilizzati con il visualizzatore della pagina del file Accompanist.
  • Icona: un'implementazione Wear di Icona che prende colore e alfa dal tema materiale Wear. Per un'icona cliccabile, vedi Pulsante o Chip.
  • Selettore: visualizza un elenco scorrevole di elementi da cui scegliere. Per impostazione predefinita, gli elementi verranno ripetuti "all'infinito" in entrambe le direzioni. Può essere visualizzato in modalità di sola lettura per nascondere le opzioni non selezionate.
  • Indicatore di posizione: mostra la posizione di scorrimento o altre indicazioni della posizione in un modo appropriato al fattore di forma Indossabile. Progettato per la visualizzazione a schermo intero e mostra un indicatore curvo sui dispositivi rotondi.
  • Scaffold: implementa la struttura del layout visivo di base di Wear Material Design. Questo componente fornisce un'API per mettere insieme diversi componenti Wear Material (ad esempio TimeText, PositionIndicator e Vignette) per creare lo schermo, garantire una strategia di layout adeguata e raccogliere i dati necessari affinché questi componenti funzionino correttamente insieme.
  • ScalingLazyColumn: un componente a scorrimento di ridimensionamento/elenco fisheye che costituisce una parte fondamentale del linguaggio Wear Material Design. Fornisce effetti di scalabilità e trasparenza per gli elementi dei contenuti. ScalingLazyColumn è progettato per essere in grado di gestire un numero potenzialmente elevato 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 mostrato sotto forma di barra, che può essere visualizzata facoltativamente con separatori.
  • Stepper: componente a schermo intero che consente agli utenti di effettuare una selezione da un intervallo di valori, utilizzando i pulsanti Aumenta/diminuisci in alto e in basso dello schermo, con un'area al centro per Testo o un Chip.
  • Scorri per ignorare: gestisce il gesto di scorrimento per ignorare. Ha un'unica area per lo sfondo (visualizzato solo durante il gesto di scorrimento) e i contenuti in primo piano. Facoltativamente, può essere combinata con la libreria di navigazione Androidx utilizzando SwipeDismissableNavHost (vedi la libreria di navigazione Wear Compose di seguito).
  • Testo: un'implementazione Wear del componente Compose Material Text, che prende colori e alfa dal tema Material Wear
  • TimeText: un componente per mostrare l'ora e lo stato dell'applicazione nella parte superiore dello schermo. Si adatta alla forma dello schermo utilizzando testo curvo su schermi rotondi.
  • Vignettatura: un trattamento dello schermo da utilizzare nella piattaforma che sfoca la parte superiore e la parte inferiore dello schermo quando sono in uso contenuti scorrevoli.

  • In Wear Compose Foundation sono inclusi anche i seguenti componenti:

  • Layout curvo: Wear Foundation CurvedLayout è un layout componibile che posiziona i componenti secondari in un arco, ruotandoli secondo necessità. È un layout simile a un layout riga ricurvo in un segmento di una annulus. Tieni presente che i contenuti di un CurvedLayout non sono un linguaggio lambda componibile, bensì una lingua DSL (lingua specifica del dominio). Tutti gli elementi del DSL di CurvedLayout supportano un parametro di modifica facoltativo creato a partire da CurvedModifier.

  • basicCurvedText: un elemento dell'DSL di CurvedLayout, basicCurvedText consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito ai bordi di uno schermo circolare). basicCurvedText può essere creato solo all'interno di CurvedLayout per garantire la migliore esperienza, come la possibilità di specificare il posizionamento e l'utilizzo di CurvedModifiers. Nella maggior parte dei casi è necessario utilizzare CurdText, in quanto utilizza la tematizzazione Material.

  • CurdComposable: esegue il wrapping del normale contenuto componibile in modo che possa essere utilizzato con CurvedLayout. Se curvedComposable ha diversi elementi all'interno, questi verranno disegnati uno sopra l'altro (come un riquadro). Per inserire più elementi componibili lungo una curva, aggrega ognuno con curvedComposable.

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

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

  • Anche il seguente componente è incluso nella navigazione di Wear Compose:

  • ScorriIgnorabileNavHost: fornisce un punto nella gerarchia di Scrittura per una navigazione autonoma, con navigazione a ritroso tramite un gesto di scorrimento. I contenuti vengono visualizzati all'interno di un elemento SwipeToDismissBox, che mostra il livello di navigazione corrente. Durante un gesto di scorrimento per ignorare, viene visualizzato in background il livello di navigazione precedente (se presente).

  • Consulta le note di rilascio precedenti relative alle varie release alpha per ulteriori dettagli su ciò che è stato pubblicato.

Modifiche alle API

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

Correzioni di bug

  • Stepper ora disattiva i pulsanti di diminuzione e aumento quando sono stati raggiunti i limiti inferiore/superiore (e applica ContentAlpha.disable a iconColor) (I4be9f)
  • Abbiamo aggiunto una spaziatura interna di 1 dp intorno ai contenuti del selettore se disegnati con una sfumatura, per evitare il tremolio del testo visualizzato durante lo scorrimento. (I0b7b9)
  • Aggiungi test di screenshot per PositionIndicator (I5e8bc)
  • Aggiungi altri test per AppCard e TitleCard (I85391, b/228869805)

Versione 1.0.0-alpha21

20 aprile 2022

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

Nuove funzionalità

  • Aggiunti nuovi modificatori curvi per specificare lo sfondo di un elemento curvo: CurvedModifier.background, .radialGradientBackground e .angularGradientBackground (I8f392)
  • Consenti di specificare la modalità extra di testo curvo (clip/ellipsis/visible). (I8e7aa)
  • Aggiunto il modificatore CurvedModifier.weight, simile a quello in Compose. Può essere utilizzata negli elementi secondari di curvedRow e CurvedLayout (per la larghezza) e agli elementi secondari di CurdColumn (per l'altezza). (I8abbd)
  • Sono stati aggiunti i modificatori CurvedModifier.size, .angularSize e .radialSize per specificare la dimensione di un elemento curvo. (I623c7).

Modifiche alle API

  • Riordina i parametri per assicurarti che lo sfondo sia prima del colore in modo coerente in tutta l'API Wear Compose (I43208)
  • Rimosso in senso orario e Parametri insideOut e sostituiti con costanti più espressive nelle nuove classi. La direzione del layout curva ora può essere LayoutDirection e viene ereditata se non specificata (If0e6a)
  • Abbiamo sostituito autoCenter: Boolean con autoCenter: AutoCentringParams per risolvere un problema dell'API con ScalingLazyColumn. (Ia9c90)
  • iconTintColor e toggleControlTintColor sono stati rinominati in iconColor e toggleControlColor in tutta l'API (Chip/ToggleChip/Dialog/Slider/Stepper/...) poiché il colore viene applicato all'area icon/toggleControl. (Ied238)
  • Riscrivi l'enum PageIndicatorStyle nella classe di valore (I2dc72)
  • Abbiamo aggiunto RowScope/ColumnScope/BoxScope ad alcune aree dei nostri componibili per indicare agli sviluppatori le ipotesi di layout. In questo modo, gli sviluppatori potranno usare modificatori aggiuntivi in alcuni contenuti delle aree annuncio e non sarà necessario fornire altri elementi di layout. Inoltre, abbiamo apportato alcuni aggiornamenti di minore entità ai colori AppCard/TitleCard in modo che timeColor e appColor siano impostati su contentColor per impostazione predefinita. Queste proprietà possono comunque essere sostituite singolarmente, se necessario. (I26b59).
  • L'oggetto SwipeToDismissBoxState.Companion è stato reso 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 era utilizzato. (Ifb54e).
  • Abbiamo aggiornato CompactChip per integrarlo con la più recente specifica UX. La spaziatura interna è stata ridotta a orizzontale = 12.dp e verticale = 0.dp. Il carattere per l'etichetta è stato modificato da pulsante a didascalia 1. Le dimensioni consigliate per le icone sono 20 x 20 quando sono presenti sia l'icona che l'etichetta e 24 x 24 per le icone con chip compatto. Solo per il caso d'uso delle icone, ci siamo assicurati che siano allineate 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. Possono essere utili agli sviluppatori per il calcolo di scorrimento/scorrimento (I7577b)
  • Abbiamo implementato le transizioni in/out per Dialog. È 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 introduzione e chiusura quando la finestra di dialogo viene mostrata/nascosta). Tieni presente che l'animazione di chiusura non viene eseguita quando l'utente esce dalla finestra di dialogo tramite scorrimento per ignorare. Abbiamo anche aggiunto un valore predefinito per lo stato nel sovraccarico di SwipeToDismissBox aggiunto di recente. (I682a0)
  • Per un supporto migliore i18n e a11y abbiamo modificato ToggleChip e SplitToggleChip in modo che non abbiano più un'impostazione predefinita per lo slot toggleControl. Abbiamo modificato anche ToggleChipDefaults in modo che i seguenti metodi ora restituiscano ImageVector anziché Icon (tieni presente che, poiché non restituiscono più @Composables, sono stati modificati per iniziare con lettere minuscole), SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon() e RadioIcon()->radioIcon(). Questo consente e incoraggia gli sviluppatori a creare i propri componibili Icon() con un set contentDescription appropriato. (I5bb5b)
  • Abbiamo aggiunto un parametro SwipeDismissableNavHostState a SwipeDismissableNavHost. Questo supporta l'uso dello scorrimento dei bordi sulle schermate utilizzate come destinazioni di navigazione, perché ora SwipeToDismissBoxState può essere sollevato e utilizzato per inizializzare SwipeDismissableNavHostState e Modifier.edgeSwipeToDismiss su schermate che richiedono lo scorrimento dei bordi. (I819f5, b/228336555)

Correzioni di bug

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

Versione 1.0.0-alpha20

6 aprile 2022

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

Nuove funzionalità

  • Aggiungi il modificatore edgeSwipeToDismiss per SwipeToDismiss. Consente a swipeToDismiss di essere attivo solo sul bordo sinistro dell'area visibile. Questa opzione viene utilizzata quando il centro dello schermo deve essere in grado di gestire il paging orizzontale, ad esempio lo scorrimento in 2D di una mappa o lo scorrimento orizzontale da una pagina all'altra.(I3fcec, b/200699800)

Modifiche alle API

  • Implementazione di base di CurvedModifiers, che apre la strada per introdurre modi per personalizzare i contenuti curvi (ma non sono ancora forniti CurvedModifiers e la possibilità di creare modificatori personalizzati potrebbe essere disponibile in seguito) (I9b8df)
  • EdgeSwipeAggiornamento della documentazione del modificatore e dei valori predefiniti per una migliore comprensione .(I6d00d)
  • Aggiungi PageIndicator slot a Scaffold. Aggiungendo l'elemento PageIndicator direttamente a Scaffold, possiamo garantire che verrà visualizzato correttamente sui dispositivi circolari. (Ia6042)
  • Rimuovi le icone predefinite dai parametri InlineSlider e stepper. Ciò aiuterà gli sviluppatori a essere più attenti ai requisiti di localizzazione e accessibilità. Gli utilizzi delle icone predefinite sono stati mostrati nelle demo e negli esempi. (I7e6fd)
  • Sostituisci i nomi dei parametri finali e iniziali con Inizio e Fine in TimeText (Iaac32)
  • Abbiamo aggiunto un sovraccarico di SwipeToDismissBox con un parametro onDismissed per supportare l'uso comune dell'attivazione di un evento di navigazione quando il gesto di scorrimento è stato completato. (I50353, b/226565726)
  • Annotazioni ExperimentalWearMaterialApi rimosse dall'utilizzo di TimeText (Ide520)
  • Abbiamo contrassegnato ScalingLazyList/Column l'ambito e le interfacce informative come sigillati poiché non sono destinati all'implementazione da sviluppatori esterni e questo ci consentirà di aggiungere nuovi membri in futuro senza modifiche binarie che provocano errori. (I7d99f)
  • Abbiamo aggiunto una nuova proprietà flingBehaviour al selettore e un metodo PickerDefaults.flingBehaviour() per abilitare la configurazione del comportamento fling, ad esempio l'aggiunta del supporto RSB. Ora PickerState implementa l'interfaccia ScrollableState. (Ib89c7).

Correzioni di bug

  • Aggiorna le regole del profilo di base ART (Android Runtime) 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 migliorare le prestazioni dell'applicazione. Tieni presente che ciò non avrà alcun effetto sulle applicazioni di cui è possibile eseguire il debug. (Iaa8ef)
  • Migliora la documentazione (I2c051)

Versione 1.0.0-alpha19

23 marzo 2022

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

Modifiche alle API

  • CurvedRow è stato rinominato in CurvedLayout e rielaborato per essere un ambito con un DSL. Utilizzando questa DSL, è possibile specificare layout curvi più complessi utilizzando una serie di elementi curvedRow e curvedColumn nidificati (che sono gli equivalenti dei layout curvi di riga e colonna). All'interno di questi elementi di layout, è possibile utilizzare tre elementi: curvedComposable (per aggiungere qualsiasi tipo di @Composable), basicCurvedText (testo curvo di base) e curvedText (testo curvo a contatto con l'usura del materiale). (Ib776a)
  • Rendi configurabile il lato per PositionIndicator. La posizione di base dell'indicatore di posizione può essere configurata su End (sensore alla direzione del layout), opposto a destra (prende in considerazione la rotazione dello schermo per posizionarsi opposta all'RSB fisico) o i valori assoluti Sinistra e Esatto. (I2f1f3)
  • Per SwipeToDismissBox, abbiamo rinominato SwipeDismissTarget.Original in SwipeToDismissValue.Default e SwipeDismissTarget.Dismissal in SwipeToDismissValue.Dismissed. Abbiamo anche spostato SwipeToDismissBoxDefaults.BackgroundKey e SwipeToDismissBoxDefaults.ContentKey rispettivamente in SwipeToDismissKeys.Background e SwipeToDismissKeys.Content. (I47a36)
  • Abbiamo aggiunto una modalità di sola lettura al selettore, per le schermate con più selettori in cui è possibile modificare un solo selettore alla volta. Quando il selettore è di sola lettura, visualizza l'opzione attualmente selezionata e un'etichetta, se disponibile. (I879de)
  • È stato eseguito il refactoring di SwipeToDismissBoxState per limitare l'ambito di ExperimentalWearMaterialApi a Modifier.swipeable e SwipeableState, che ora vengono utilizzati internamente. SwipeToDismissBoxState ora include membri currentValue, targetValue, isAnimationRunning e snapTo per supportare casi d'uso comuni. Contattaci se hai bisogno di rendere disponibili altre proprietà. È stato inoltre corretto il comportamento di SwipeableState nel caso in cui l'offset dello scorrimento del dito si trovi all'interno di un errore di arrotondamento di un ancoraggio. (I58302)

Correzioni di bug

  • Codice semplificato e fisso per rilevare se è possibile scorrere i contenuti di un ScalingLazyColumn (utilizzato per stabilire se viene visualizzata una barra di scorrimento o meno) (I7bce0)
  • È stato corretto un bug relativo all'indicatore di posizione quando utilizzato con più stati e nel passaggio da uno all'altro (I320b5)
  • Abbiamo aggiornato l'impostazione predefinita di Scrivi per la tipografia e i caratteri del tema Wear OS in modo che corrisponda alle nostre ultime indicazioni relative all'esperienza utente. Di nota che display1 (40.sp) e display2 (34.sp) sono ora più piccoli dei loro valori precedenti e sono stati apportati vari altri aggiornamenti minori all'altezza della riga e all'interlinea. (Ie3077).
  • Abbiamo aggiunto una maggiore resistenza a SwipeToDismissBox, in modo che il movimento si verifichi solo quando si scorre per ignorare e non nella direzione opposta. (Ifdfb9)
  • Abbiamo modificato alcuni dei valori dei parametri predefiniti per le funzioni CircularProgressIndicator al fine di allinearli con le indicazioni relative all'esperienza utente di Wear Material Design. Per la versione Spinner/Indeterminant, le dimensioni (40->24.dp), l'indicatoreColor (primary->onBackground), la trasparenza trackColor (30%->10%) e lo spessore del tratto (4->3dp) sono stati aggiornati. Per la versione Progress/Determinate, la trasparenza trackColor (30%->10%) è stata aggiornata. (I659cc)
  • Abbiamo aggiornato i parametri di scalabilità predefiniti di ScalingLazyColumn in linea con le più recenti specifiche UX di Wear Material Design. Visivamente, ciò si traduce in un ridimensionamento degli elementi dell'elenco che iniziano a essere scalati più vicino al centro dell'elenco, ma che vengono scalati meno a livello del bordo dell'elenco rispetto a prima. (Ica8f3)
  • Alcune modifiche a ScalingLazyColumnDefaults.snapFlingBehavior per migliorare la fine dell'animazione (If3260)

Versione 1.0.0-alpha18

9 marzo 2022

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

Modifiche alle API

  • Diversi miglioramenti a PositionIndicator: ShowResult rinominata PositionIndicatorVisibility. Alcuni miglioramenti delle prestazioni per evitare i ricalcoli quando non necessari (Iaed9d)
  • La colorazione consigliata per SplitToggleChip è stata aggiornata. Gli SplitToggleChip ora hanno uno sfondo in tinta unita quando selezionato o deselezionato, con il colore del SwitchControl che indica 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 lo strumento splitBackgroundOverlayColor (I7e66e).
  • Abbiamo aggiunto unadjustedSize a ScalingLazyListItemInfo poiché non è sicuro calcolare la dimensione originale dell'elemento utilizzando le dimensioni scalate e il fattore di scala a causa della precisione matematica del calcolo in virgola mobile. (I54657, b/221079441)
  • Aggiungi HorizontalPageIndicator. Rappresenta il numero totale di pagine e una pagina selezionata. Può essere lineare o curva, a seconda della forma del dispositivo. Supporta anche la forma personalizzata degli indicatori, che definisce il modo in cui ogni indicatore è rappresentato visivamente. (Iac898)
  • Abbiamo aggiornato PickerState in modo da poter aggiornare numberOfOptions. Sono supportati casi d'uso come DatePicker, in cui il numero di giorni del mese cambia in base al mese selezionato. Il parametro del costruttore per PickerState è stato modificato di conseguenza ininitialNumberOfOptions. (Iad066)
  • Nascondi PositionIndicator se è una barra di scorrimento e non puoi scorri. (Id0a7f)
  • Per garantire la coerenza con Scaffold, il nostro componente Finestra di dialogo a schermo intero ora mostra PositionIndicator e Vignette. Ora utilizziamo anche ScalingLazyColumn anziché Column, il che significa che i contenuti della finestra di dialogo si trovano ora in ScalingLazyListScope (e in genere devono essere racchiusi dall'elemento { /* content */ }). La finestra di dialogo supporta il parametro verticalArrangement di conseguenza. (Idea13)
  • Abbiamo cambiato il nome della proprietà ToggleChip e SplitToggleChip in activateIcon per allinearci meglio con Material Design e aiutare così progettisti e sviluppatori a navigare nell'API. (If5921, b/220129803)
  • Abbiamo aggiunto una nuova voce caption3 alla tipologia di tema dei materiali Wear.Caption3 è un piccolo carattere utilizzato per la scrittura di contenuti extra lunghi come i testi legali. (I74b13, b/220128356)

Correzioni di bug

  • Interrompi l'animazione di agganciamento una volta lì. (Idb69d)
  • Anima le modifiche in PositionIndicator. (I94cb9)
  • In base al feedback dell'UI/UX abbiamo modificato il centraggio automatico di ScalingLazyColumn in modo che offra solo spazio sufficiente per garantire lo scorrimento completo degli elementi con indice ScalingLazyListState.initialCenterItemIndex o superiore fino al centro dell'area visibile. In questo modo gli sviluppatori possono posizionare inizialmente al centro uno o due elementi relativi all'elemento, che non possono essere fatti scorrere verso il centro. Ciò significa che un ScalingLazyColumn di Centro automatico non sarà in grado di scorrere sopra initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2)
  • Abbiamo aggiunto una demo per un selettore della data e corretto un bug in PickerState per cui inizialmenteSelectedOption non veniva applicato fino alla visualizzazione del selettore. (Id0d7e)
  • Per ridurre il ritaglio di elementi ScalingLazyColumn più ampi sugli schermi circolari, abbiamo aumentato la spaziatura interna predefinita dei contenuti da 8 a 10 dp. (I0d609)
  • Assicurati che venga visualizzata l'icona PositionIndicator quando scorri. (Ied9a2)

Versione 1.0.0-alpha17

23 febbraio 2022

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

Nuove funzionalità

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

Modifiche alle API

  • Risolvi un problema relativo a TimeText caratteri personalizzati e Stili su un dispositivo quadrato (Iea76e)
  • ScalingLazyListLayoutInfo ora ha reverseLayout, viewportSize e proprietà di orientamento corrispondenti a quelle di LazyListLayoutInfo (I4f258, b/217917020)
  • Ora ScalingLazyColumn ha una proprietà userScrollEnabled corrispondente a quella di LazyList (I164d0, b/217912513)
  • Ora i selettori hanno un gradiente nella parte superiore e inferiore per impostazione predefinita (Iab92a)

Correzioni di bug

  • Abbiamo modificato ScalingLazyColumn in modo che non occupi più tutto lo spazio dell'elemento principale. Piuttosto, prenderà le sue dimensioni da quelle dei suoi contenuti. Ciò la rende coerente con il comportamento di LazyColumn. Se vuoi reintegrare il vecchio comportamento, passa Modifier.fillMaxWidth()/width()/widthIn() al ScalingLazyColumn (I51bf8)
  • Abbiamo migliorato il messaggio di eccezione in SwipeDismissableNavHost.kt che viene attivato se il backstack di navigazione era vuoto. (I1b1dc)

Versione 1.0.0-alpha16

9 febbraio 2022

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

Nuove funzionalità

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

Modifiche alle API

  • Ora i selettori hanno un parametro flingBehavior. Il valore predefinito li consente di agganciarsi all'opzione più vicina durante lo scorrimento o lo scorrimento. (I09000)
  • API intera aggiuntiva per InlineSlider e Stepper (I1b5d6)

Correzioni di bug

  • Abbiamo modificato il valore predefinitoInitialCenterItemIndex per ScalingLazyListState da 0->1. Ciò significa che, a meno che non venga eseguito l'override della costruzione dello stato con ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), il secondo elemento dell'elenco (indice == 1) verrà posizionato al centro dell'area visibile all'inizializzazione e il primo elemento (indice == 0) verrà posizionato prima. Ciò consente un migliore effetto visivo predefinito pronto all'uso, in quanto la maggior parte dell'area visibile sarà riempita con elementi dell'elenco. (I0c623, b/217344252)
  • Abbiamo ridotto il valore predefinito di ScalingLazyColumn extraPadding fornito per garantire che ci siano molti elementi dell'elenco da disegnare (anche quando ne stiamo riducendo alcune di dimensioni) dal 10% al 5%. In questo modo eviterai di comporre altri elementi dell'elenco che potrebbero non essere visualizzati nell'area visibile. Se vengono utilizzati scalingParam non standard (ad esempio scalabilità più estrema), lo sviluppatore può regolare la spaziatura interna aggiuntiva utilizzando viewportVerticalOffsetResolver. (I76be4)
  • Risolvere un problema relativo a TimeText su più righe su un dispositivo quadrato (Ibd3fb)
  • Abbiamo modificato ScalingLazyColumn in modo che non occupi più tutto lo spazio dell'elemento principale. Piuttosto, prenderà le sue dimensioni da quelle dei suoi contenuti. Ciò la rende coerente con il comportamento di LazyColumn. Se vuoi reintegrare il comportamento precedente, passa Modifier.fillMaxSize() alla ScalingLazyColumn. NOTA: questa modifica è incompleta e verrà risolta con una modifica successiva nella prossima release alpha. (I3cbfa)

Versione 1.0.0-alpha15

26 gennaio 2022

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

Modifiche alle API

  • Abbiamo aggiunto una nuova proprietà autoCentering a ScalingLazyColumn. Se impostato su true (valore predefinito), è possibile far scorrere tutti gli elementi, inclusi il primo e l'ultimo, in modo che siano visibili al centro dell'area visibile degli elenchi. Tieni presente che, se utilizzi la centratura automatica, probabilmente vorrai impostare la spaziatura interna dei contenuti verticali su 0.dp. Se vengono fornite sia la centratura automatica sia la spaziatura interna dei contenuti verticale, entrambe avranno spazio aggiuntivo prima del primo e dopo l'ultimo elemento dell'elenco, consentendo un ulteriore scorrimento. (I2a282, b/214922490)
  • Abbiamo aggiunto un componente Dialog che consente a qualsiasi componibile di attivare una finestra di dialogo a schermo intero che si trova sopra altri contenuti. Quando è visualizzata, la finestra di dialogo supporta lo scorrimento per ignorare e mostrerà i contenuti dell'elemento 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 utilizzate come destinazioni di navigazione. Inoltre, è stato aggiunto ColumnScope ai parametri di avviso e conferma, se necessario. (Ia9014)
  • Abbiamo rimosso onSurfaceVariant2 da Compose per i colori dei temi materiali per WearOS e sostituito gli utilizzi nella raccolta con onSurfaceVariant. (Icd592).
  • È stato aggiunto un metodo per selezionare in modo programmatico un'opzione su PickerState. Ora l'opzione selezionata inizialmente può essere specificata anche durante la creazione di un PickerState. (I92bdf)
  • Abbiamo aggiunto il supporto per la personalizzazione del comportamento scorrevole di 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 rotante.(I18bf5, b/210748686)

Versione 1.0.0-alpha14

12 gennaio 2022

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

Nuove funzionalità

  • Abbiamo aggiunto diversi metodi a ScalingLazyListState per consentire agli sviluppatori di controllare lo scorrimento fino a specifici elementi dell'elenco, nonché di impostare la voce iniziale dell'elenco e l'offset.

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

    Una nuova proprietà anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter è stata aggiunta a ScalingLazyList per controllare se il centro (ScalingLazyListAnchorType.ItemCenter) o Edge (ScalingLazyListAnchorType.ItemStart) deve essere allineato alla linea centrale dell'area visibile.

    Di conseguenza, i valori ScalingLazyListItemInfo.offset e ScalingLazyListItemInfo.adjustedOffset sono cambiati e ora rifletteranno l'offset dell'elemento rispetto alla posizione dell'elemento e al anchorType dell'elenco. Ad es. per ScalingLazyColumn con anchorType di ItemCenter e un elemento dell'elenco posizionato con il centro sulla linea centrale dell'area visibile, l'offset sarà 0.

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

  • Abbiamo aggiunto un gestore di pulsanti Indietro a SwipeDismissableNavHost, in modo che premendo Indietro passi al livello precedente nella gerarchia di navigazione. (I5b086, b/210205624)

Versione 1.0.0-alpha13

15 dicembre 2021

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

Modifiche alle API

  • Abbiamo reso RangeIcons interno (cucito internamente da InlineSlider e Stepper). (I927ec)

Correzioni di bug

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

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

  • Test aggiunti per Stepper in Wear Compose (I2d03a)

  • Sono stati aggiunti campioni per SwipeDismissableNavHost nella navigazione di Wear Compose. (I85f06)

Versione 1.0.0-alpha12

1 dicembre 2021

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

Nuove funzionalità

  • Abbiamo aggiunto un componente Passaggi che consente agli utenti di effettuare una selezione da un intervallo di valori. Stepper è un controllo a schermo intero con pulsanti di aumento e diminuzione in alto e in basso e uno spazio al centro (che dovrebbe contenere un chip o un testo). Le icone dei pulsanti possono essere personalizzate, se necessario. (I625fe)

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

Modifiche alle API

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

Versione 1.0.0-alpha11

17 novembre 2021

Vengono rilasciate le funzionalità 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. 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 a scorrimento. Per impostazione predefinita, l'elenco di elementi selezionabili viene ripetuto "all'infinito" in entrambe le direzioni, per dare l'impressione di un cilindro rotante visto di lato. Nelle versioni successive verranno aggiunte due funzionalità: aggancio a un valore dopo scorrimento o scorrimento. aggiungendo una funzione a PickerState per impostare/scorrere fino al valore corrente. (I6461b)

Modifiche alle API

  • Sono stati aggiunti un valore ScalingLazyItemScope e alcuni nuovi modificatori fullParentMaxSize/fillParentMaxLarghezza/fillParentMaxHeight per consentire il dimensionamento degli elementi dell'elenco in base alle dimensioni del contenitore principale. Gli elementi possono essere impostati in modo da riempire tutte le dimensioni dell'elemento principale o solo una parte. In questo modo esponi le funzionalità già disponibili in LazyRow/Column (I4612f)
  • Aggiunto il supporto a ScalingLazyColumn per consentire agli elementi di avere una chiave. Sono stati inoltre aggiunti metodi pratici per consentire l'aggiunta di elementi da array ed elenchi. (Ic1f89)

Correzioni di bug

  • Altri esempi per TimeText (I8cb64)

Versione 1.0.0-alpha10

3 novembre 2021

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

Nuove funzionalità

  • È stato aggiunto un cursore in linea per Wear Compose. InlineSlider consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene mostrato come una barra tra i valori minimo e massimo dell'intervallo, da cui gli utenti possono selezionare un singolo valore. (If0148)

  • Dai un'occhiata alla nuova versione di Compose per il codelab su WearOS.

Modifiche alle API

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

Correzioni di bug

  • Aggiorna gestione della transizione in ScorriIgnorabileNavHost in un effetto collaterale (I04994, b/202863359)
  • Aggiorna gestione della transizione in CurrentsableNavHost (I1cbe0, b/202863359)

Versione 1.0.0-alpha09

27 ottobre 2021

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

Nuove funzionalità

  • Abbiamo lanciato l'anteprima per gli sviluppatori di Compose su Wear OS. Leggi il nostro post del blog che esamina i principali componenti componibili e link a ulteriori risorse per iniziare a utilizzarli.

Modifiche alle API

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

Correzioni di bug

  • Sono stati aggiunti campioni di swipeToClearBox che rimangono in stato (Ibaffe)
  • Sono stati aggiunti link alle guide developer.android.com da Documenti Google per CurvedText, TimeText e ScorriPerIgnoraBox. (I399d4)
  • ScorriIgnorabileNavHost ora genera se non esiste una destinazione corrente (indica che NavGraph non è stato costruito con wear.compose.navigation.composable funzione di utilità) (I91403)
  • Sono stati aggiunti ulteriori esempi e documentazione per l'utilizzo dell'origine temporale in TimeText (I4f6f0)

Versione 1.0.0-alpha08

13 ottobre 2021

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

Modifiche alle API

  • Abbiamo rinominato le proprietà AppCard e TitleCard body in content e le abbiamo spostate alla fine dell'elenco delle proprietà per consentirne l'utilizzo come lambda finale. Inoltre, bodyColor è stato rinominato in contentColor per coerenza con i nuovi nomi delle aree annuncio. (I57e78)

Correzioni di bug

  • Sono stati aggiunti i link a developer.android.com di Google Documenti per pulsanti, schede, chip, temi, l'indicatore di posizione e la scalabilità dei componenti della colonna lazy. (I22428)
  • Risolvere i problemi relativi alla gestione dello scorrimento da parte di Wear OS allo scopo di ignorare la barra di sfioramento di WearOS. (I9387e)
  • Sono stati aggiunti esempi per Pulsante, CompactButton, Chip, CompactChip, AppCard, TitleCard Pulsante di attivazione, attivazione/disattivazione, SplitToggleChip (Iddc15)
  • Sono stati aggiunti i test delle prestazioni dei microbenchmark per Card, Chip, EnableChip, TimeText e ScalingLazyColumn. (If2fe9)

Versione 1.0.0-alpha07

29 settembre 2021

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

Nuove funzionalità

  • È stato aggiunto un componente CurvedText nel materiale, un componente che consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito ai bordi di uno schermo circolare). (I19593)

Modifiche alle API

  • Test aggiunti per TimeText (Idfead)
  • Trasforma ArcPaddingValues in un'interfaccia. (Iecd4c)
  • È stata aggiunta l'animazione a swipeToClearBox (I9ad1b)
  • Parametro hasBackground aggiunto a swipeToClearBox API per disattivare il gesto di scorrimento quando non ci sono contenuti in background da visualizzare. (I313d8)
  • rememberNavController() ora accetta una domanda facoltativa insieme di Navigator istanze che verranno aggiunte ha restituito NavController per un supporto migliore facoltativo Navigatori come quelli di Materiale di navigazione accompagnatore. (I4619e)
  • Riferimento NamedNavArgument da naviga-common e rimuovi la copia da wear.compose.navigation. (I43af6)

Correzioni di bug

  • È stato corretto il problema di irregolarità del test di CurvedRow sui dispositivi più piccoli. (If7941)
  • È stato risolto il possibile sfarfallio di CurvedRow durante l'aggiornamento dei contenuti. e assicura che la riga curva venga misurata di nuovo (Ie4e06)
  • ChipDefaults.gradientBackgroundChipColors() è stato aggiornato in linea con le modifiche alle specifiche UX. Il gradiente ora inizia con MaterialTheme.colors.primary con alfa 32,5% e termina con MaterialTheme.colors.surface con alfa @ 0% su uno sfondo di MaterialTheme.colors.surface @ 75% alfa. (ID1548)
  • Abbiamo aggiornato i colori dei chip di attivazione/disattivazione quando sono nello stato selezionato in modo che corrispondano alle ultime indicazioni relative alle specifiche UX di Wear Material Design. Quando l'opzione SwitchChips è selezionata, ora ha uno sfondo sfumato da MaterialTheme.color.surface @ 0% alpha, in alto a sinistra, a MaterialTheme.color.primary @ 32% alpha, in basso a destra, su uno sfondo di MaterialTheme.color.surface @ 75% alfa. Ciò si traduce in una differenza più sottile tra opzioni selezionate e deselezionate per il chip di attivazione/disattivazione. (Idd40b)

Versione 1.0.0-alpha06

15 settembre 2021

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

Nuove funzionalità

  • Abbiamo aggiunto Scaffold, un'applicazione componibile di primo livello che fornisce una struttura per la gestione della posizione degli indicatori di posizione (come lo scorrimento o il volume), un'area nella parte superiore dello schermo per la visualizzazione dell'ora e dello stato dell'applicazione e supporta anche la vignettatura per sfocare il bordo superiore e inferiore dello schermo per contenuti scorrevoli. L'area principale della piattaforma è il punto in cui sono posizionati i contenuti dell'applicazione. (I5e0bf).
  • Aggiunta l'implementazione di TimeText per Wear Compose (I5654c)

Libreria di navigazione Wear Compose

  • Abbiamo aggiunto la prima release della libreria di navigazione Wear Compose, che fornisce l'integrazione tra le librerie di navigazione Wear Compose e Androidx. Offre un mezzo semplice per navigare tra le funzioni @Composable come destinazioni nell'applicazione.

  • Questa release iniziale fornisce:

    • Un componibile SwipeDismissableNavHost che ospita un grafico di navigazione e consente la navigazione a ritroso tramite gesti di scorrimento
    • Estensione NavGraphBuilder.composable per facilitare la creazione dei grafici di navigazione
    • rememberSwipeDismissableNavController() per consentire lo stato di sollevamento
  • Esempio di utilizzo in cui creiamo due schermate e ci spostiamo tra di loro:

    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 Wear Compose è pacchettizzata come libreria separata, in modo che le semplici applicazioni WearCompose che implementano la propria navigazione manuale non debbano dipendere dalla libreria di navigazione Androidx.

Modifiche alle API

  • Aggiornamento di SwipeDismissableNavHost per l'assistenza rememberSaveable impostando l'identità della chiave per background e contenuti (I746fd)
  • Abbiamo aggiunto un adattatore PositionIndicator in grado di gestire LazyListState (I21b88)
  • È stato aggiornato l'opzione SwipeToClearBox per il supporto del supporto di memorizzareSalvabile (Ie728b)
  • Abbiamo aggiunto il supporto di reverseLayout a ScalingLazyColumn. Ciò consente l'inversione della direzione di scorrimento e layout (I9e2fc)
  • performGesture e GestureScope deprecati, che hanno è stato sostituito da performTouchInput e TouchInjectionScope. (Ia5f3f, b/190493367)
  • Abbiamo rinominato VignetteValue in VignettePosition e abbiamo rinominato VignetteValue.Entrambi rinominati VignettePosition.TopAndBottom. (I57ad7)
  • Abbiamo rinominato ScalingLazyColumnState in ScalingLazyListState, ScalingLazyColumnItemInfo in ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo a ScalingLazyListLayoutInfo e ScalingLazyColumnScope a ScalingLazyListScope nel caso in cui decidessimo di aggiungere un'implementazione ScalingLazyRow in futuro. (I22734)

Correzioni di bug

  • È stata aggiornata la documentazione di CompactChip per descrivere cosa succede se non vengono fornite né un'icona né un'etichetta. (I4ba88)
  • Abbiamo apportato alcune modifiche ai componenti della scheda Wear. (I6b3d0)
      .
    1. Spaziatura della title card tra Titolo e Corpo ridotta da 8.dp a 2.dp.
    2. Carattere intestazione title card modificato da corpo a titolo3.
    3. Gradiente di sfondo della scheda cambiato per rendere lo sfondo più scuro.

Versione 1.0.0-alpha05

1° settembre 2021

Vengono rilasciate le versioni androidx.wear.compose:compose-foundation:1.0.0-alpha05 e androidx.wear.compose:compose-material:1.0.0-alpha05. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche alle API

  • Contrassegna ArcPaddingValues come @Stable (I57deb)
  • ScalingLazyColumnState ora implementa l'interfaccia Scorribile, che consente agli sviluppatori di accedere in modo programmatico per far scorrere il componente. (I47dbc)

Correzioni di bug

  • Abbiamo ridotto la spaziatura tra Icona e Testo in chip e SwitchChip per adattarli agli aggiornamenti delle Specifiche UX. (I83802)

Versione 1.0.0-alpha04

18 agosto 2021

Vengono rilasciate le versioni androidx.wear.compose:compose-foundation:1.0.0-alpha04 e androidx.wear.compose:compose-material:1.0.0-alpha04. La versione 1.0.0-alpha04 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto un swipeToClearBox e un modificatore a scorrimento che possono essere utilizzati per supportano un gesto di scorrimento da sinistra a destra per ignorare. Sebbene indipendenti dai componenti di navigazione, dovrebbe essere utilizzato per uscire da una schermata e passare a un'altra. Aggiunta di integrazione con la dimostrazione del gesto di scorrimento per ignorare. (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 inoltre corretto un bug relativo al modo in cui la scalabilità veniva calcolata quando "in alto" la spaziatura interna del contenuto viene applicata a ScalingLazyColumn. (I27c07)

Modifiche alle API

  • Aggiungi la classe CurvedTextStyle per specificare lo stile del testo curvo Opzioni. 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 inoltre corretto un bug relativo al modo in cui la scalabilità veniva calcolata quando "in alto" la spaziatura interna del contenuto viene applicata a ScalingLazyColumn. (I27c07)
  • @ExperimentalWearMaterialApi aggiunto all'enum SwipeDismissTarget, parte dell'API SwipeToDismissBox. (I48b5e)

Correzioni di bug

  • È stato aggiunto il materiale di test per SwipeToSkipBox (I9febc)

Versione 1.0.0-alpha03

4 agosto 2021

Vengono rilasciate le versioni androidx.wear.compose:compose-foundation:1.0.0-alpha03 e androidx.wear.compose:compose-material:1.0.0-alpha03. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • È stato aggiunto il componente CurvedText, che consente agli sviluppatori di scrivere facilmente il testo che segue la curvatura di un cerchio (di solito ai bordi di uno schermo circolare) (Id1267)
  • Abbiamo rinominato CardDefaults.imageBackgroundPainter() in CardDefaults.imageWithScrimBackgroundPainter() per chiarire che sull'immagine di sfondo è disegnata una striscia. (I53206)
  • Aggiunta del componente ScalingLazyColumn che fornisce un componente elenco per Wear Material che offre una visualizzazione fisheye con i contenuti dell'elenco che vengono scalati per dimensioni e diventano trasparenti man mano che vengono scalati verso il bordo del componente. (I7070c)

Correzioni di bug

  • Abbiamo modificato il colore predefinito dei contenuti di appName in AppCard in risposta a un aggiornamento delle specifiche UX. Il colore predefinito per appName è ora MaterialTheme.colors.onSurfaceVariant. È stata inoltre aggiunta una descrizione nel documento dei parametri mancante per l'area del titolo. (Ic4ad1)

Versione 1.0.0-alpha02

21 luglio 2021

Vengono rilasciate le versioni androidx.wear.compose:compose-foundation:1.0.0-alpha02 e androidx.wear.compose:compose-material:1.0.0-alpha02. La versione 1.0.0-alpha02 contiene questi commit.

Nuove funzionalità

  • È stata aggiunta una nuova classe CurvedRow ai componibili disposti in un arco (I29941)
  • Aggiunto un nuovo tipo di scheda da usare nelle applicazioni (TitleCard), nonché il supporto per avere immagini come sfondo nelle schede per enfatizzare i contenuti (I53b0f)

Modifiche alle API

  • Aggiungi il supporto per l'allineamento radiale a CurvedRow (simile a allineamento verticale in una riga) (Id9de5)
  • Aggiungi una nuova classe CurvedRow per i componibili disposti in un arco (I29941)
  • Aggiunto un nuovo tipo di scheda da usare nelle applicazioni (TitleCard), nonché il supporto per avere immagini come sfondo nelle schede per enfatizzare i contenuti (I53b0f)
  • Aggiunta di icone di attivazione/disattivazione (casella di controllo, opzione e pulsanti di opzione) a EnableChipDefaults per semplificare la configurazione da parte degli sviluppatori di EnableChip e SplitToggleChips (I7b639)
  • La spaziatura interna dei contenuti di inizio e fine per i chip è stata aggiornata in modo che sia costantemente 14.dp, indipendentemente dal fatto che per il chip sia presente o meno un'icona (in precedenza era 12.dp se l'icona era presente e 14.dp in caso contrario) (I34c86)

Correzioni di bug

  • Aggiungi test per CurvedRow (I93cdb)
  • Collegamento delle dipendenze di Wear Compose a Compose 1.0.0-rc01. (Ie6bc9).
  • È stata modificata la consegna del disegno 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 state aggiunte altre demo e test di integrazione per i pulsanti e il pulsante di attivazione/disattivazione. (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

Vengono rilasciate le versioni androidx.wear.compose:compose-foundation:1.0.0-alpha01 e androidx.wear.compose:compose-material:1.0.0-alpha01. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

Wear Compose è una libreria basata su Kotlin basata su Compose che supporta Wear Material Design, un'estensione del Material Design per gli indossabili WearOS. Questa prima release alpha contiene le prime implementazioni funzionali dei seguenti elementi:

  • Tema Material: configura colori, tipografia e forme in modo coerente in tutti i componenti utilizzati da questa libreria.
  • Chip, CompactChip: i chip hanno la forma di uno stadio e sono disponibili varianti per acquisire contenuti di icone, etichette ed etichette secondarie.
  • - SwitchChip, SplitToggleChip: un tipo specializzato di chip che include uno slot per un'icona di attivazione/disattivazione bi-stato, come un pulsante di opzione o una casella di controllo. Inoltre, l'elemento SplitToggleChip presenta due aree toccabili, una cliccabile e una attivabile.
  • Pulsante, CompactButton: i pulsanti sono di forma circolare e hanno un singolo spazio per i contenuti che può contenere un'icona o testo ridotto (massimo 3 caratteri).
  • Pulsante di attivazione/disattivazione: un pulsante che consente di attivare o disattivare un'azione, con un singolo spazio per un'icona o testo minimo (massimo 3 caratteri).
  • Scheda, AppCard: di forma rettangolare con angoli arrotondati che offre spazi per contenuti quali icona dell'app, ora, titolo e corpo.

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

Verrà inoltre fornita assistenza per altre funzionalità specifiche per gli indossabili, come testi e layout curvi, nonché per lo scaffolding per consentire agli sviluppatori di creare facilmente app/overlay per dispositivi indossabili.

Wear Compose Material è progettato secondo gli stessi principi di Compose, pur essendo rivolto agli indossabili. La raccolta Material di Wear Compose deve essere utilizzata al posto della raccolta Compose Material per la realizzazione di un dispositivo indossabile.

Le due librerie "Material" devono essere considerate si escludono a vicenda e non devono essere combinate nella stessa app. Se gli sviluppatori dovessero includere la libreria Compose Material nelle loro dipendenze, suggerirebbe che a) non siano presenti componenti nella libreria Wear Compose Material, facci sapere di cosa ha bisogno oppure b) stia utilizzando un componente che sconsigliamo per l'utilizzo su un dispositivo indossabile.