Compose per Wear
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
13 novembre 2024 | 1.4.0 | - | - | 1.5.0-alpha06 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza da Wear, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Alla moda
dependencies { implementation "androidx.wear.compose:compose-foundation:1.4.0" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.4.0" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.4.0" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Kotlin
dependencies { implementation("androidx.wear.compose:compose-foundation:1.4.0") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.4.0") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.4.0") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.
Wear Compose Material3 versione 1.0
Versione 1.0.0-alpha29
13 novembre 2024
androidx.wear.compose:compose-material3:1.0.0-alpha29
viene rilasciato. La versione 1.0.0-alpha29 contiene questi commit.
Modifiche all'API
- Abbiamo aggiornato
TimeText
per fornire contenuti predefiniti che mostrano l'ora. (Id23b3) - Abbiamo semplificato
ScrollInfoProvider
perPagerState
rimuovendo il parametroorientation
, che non è più necessario. Il nuovo comportamento prevede cheTimeText
rimanga in posizione sia per la paginazione orizzontale sia per quella verticale. (I71767) LocalHapticFeedback
ora fornisce un'implementazione predefinita diHapticFeedback
quando l'API Vibratore indica che le tecnologie aptica sono supportate. I seguenti elementi sono stati aggiunti aHapticFeedbackType
:Confirm
,ContextClick
,GestureEnd
,GestureThresholdActivate
,Reject
,SegmentFrequentTick
,SegmentTick
,ToggleOn
,ToggleOff
,VirtualKey
. I componenti di Wear Compose che possono essere selezionati con un clic prolungato, comeButton
,IconButton
,TextButton
eCard
, ora eseguono il feedback apticoLONG_PRESS
quando è stato fornito un gestore del clic prolungato. (I5083d)
Correzioni di bug
- Abbiamo aggiornato la richiesta di conferme. (I04bff)
- Abbiamo aggiornato la dipendenza minima dell'API a 1.7.4 per le librerie Compose. (I88b46)
- È stato aggiunto un nuovo movimento per la finestra di dialogo
OpenOnPhone
. (I1e10a) - Abbiamo corretto un bug in
LevelIndicator
in modo che ora venga visualizzato correttamente con il livello pari a zero. (Ie95a4) - Abbiamo aggiornato le animazioni
HorizontalPageIndicator
eVerticalPageIndicator
. (I5c8f3) - Abbiamo aggiunto un'animazione di riduzione a punto al carattere
ArcProgressIndicator
indeterminato. (I9fd51)
Versione 1.0.0-alpha28
30 ottobre 2024
androidx.wear.compose:compose-material3:1.0.0-alpha28
viene rilasciato. La versione 1.0.0-alpha28 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto una variante ad arco all'indicatore di avanzamento circolare indeterminato (I2efc1)
- Abbiamo reso pubblici i composabili
AlertDialogContent
eDialog
che compongono l'APIAlertDialog
, in modo da poter aggiungere personalizzazioni, se necessario (ad esempio, personalizzare l'animazioneAlertDialog
mantenendo il layout dei contenuti consigliato). Inoltre, abbiamo aggiunto i parametriModifier
eColor
agli elementiEdgeButton
,ConfirmButton
eDismissButton
diAlertDialogDefaults
. (I4eb71) - Abbiamo aggiornato l'API
Placeholder
come segue: abbiamo rinominatoPlaceholderState.startPlaceholderAnimation
inPlaceholderState.animatePlaceholder
,PlaceholderState.isShowContent
inPlaceholderState.isHidden
ePlaceholderDefaults.shape
inPlaceholderDefaults.Shape
; abbiamo rinominato il parametropainter
inpainterWithPlaceholderOverlayBackgroundBrush
inoriginalPainter
; abbiamo modificato la visibilità diPlaceholderState.placeholderProgression
da pubblica a interna e lo abbiamo rinominato inplaceholderShimmerProgression
; abbiamo aggiunto costanti della durata dell'animazione del segnaposto aPlaceholderDefaults
. (Ie5a59) - Abbiamo aggiornato l'API
EdgeButton
come segue: abbiamo rinominato il parametro suScreenScaffold
dabottomButton
aedgeButton
; abbiamo definitoEdgeButtonSize
come una classe di valori. (Ieef15) - Abbiamo modificato la visibilità di
copy()
in pubblica nei classi di colori wear material3 (I0287f)
Correzioni di bug
- È stata aggiunta una durata minima dell'animazione per
IconToggleButton
eTextToggleButton
al clic (Ieb333) - È stata aggiunta una durata minima all'animazione delle forme
IconButton
eTextButton
(Iebcee) - Stato dell'opzione di ripetizione corretto in
DatePicker
. (I3587c) - È stata aggiunta l'animazione per le finestre di dialogo di avviso e conferma. (I173b1)
Versione 1.0.0-alpha27
16 ottobre 2024
androidx.wear.compose:compose-material3:1.0.0-alpha27
viene rilasciato. La versione 1.0.0-alpha27 contiene questi commit.
Modifiche all'API
- Abbiamo aggiornato
ScreenScaffold
eScrollIndicator
in seguito alla ridenominazione di Wear Compose FoundationLazyColumn
inTransformingLazyColumn
. (I0608b) - Il parametro
preferredHeight
diEdgeButton
è stato rinominato inbuttonSize
e il relativo valore può essere scelto solo tra quattro costanti nella classe di valoriEdgeButtonSize
appena introdotta. (Icdd70) - Abbiamo modificato il nome di
ListSubheader
inListSubHeader
e abbiamo aggiunto valori predefiniti accessibili pubblicamente perListHeader
eListSubHeader
. (I96730) - Abbiamo aggiunto nuovi componenti
HorizontalPagerScaffold
eVerticalPagerScaffold
per Wear che forniscono nuove animazioni e coordinazione tra i componenti di testo dell'ora e dell'indicatore di pagina. (Iff7d0) - Abbiamo aggiunto il supporto del controllo rotativo a
HorizontalPagerScaffold
eVerticalPagerScaffold
, consentendo agli utenti di navigare nei cercapersone utilizzando dispositivi di input rotatori. (I9770d) - Abbiamo apportato modifiche all'API
MotionScheme
per semplificarne l'utilizzo e migliorarne la coerenza. Sono state rimosse le funzioni remember in linea e sono stati spostati gli schemi di movimento integrati in un oggetto companion MotionScheme dedicato. I simbolistandardMotionScheme
eexpressiveMotionScheme
sono stati rinominati in standard ed espressivo. (I5fd45) - Abbiamo aggiunto il supporto per una combinazione di colori dinamica basata sui colori di sistema. (I073e9)
- Abbiamo aggiornato il cursore in base alle ultime specifiche UX. (I622bb)
Correzioni di bug
- Abbiamo aggiornato la tipografia e i margini per i componenti della scheda. (I3ae48)
- In
AlertDialog
abbiamo modificato il padding tra i pulsanti Conferma/Ignora e il resto dei contenuti da 8 dp a 12 dp in base alle specifiche UX (Ie55f0) - Abbiamo aggiornato l'opacità del colore per il componente Dispositivo di scorrimento. (Idb383)
Versione 1.0.0-alpha26
2 ottobre 2024
androidx.wear.compose:compose-material3:1.0.0-alpha26
viene rilasciato. La versione 1.0.0-alpha26 contiene questi commit.
Modifiche all'API
- Abbiamo aggiornato l'API e l'aspetto di
HorizontalPageIndicator
e aggiuntoVerticalPageIndicator
per l'utilizzo conVerticalPager
(Ic9309) AlertDialog
ora supporta la possibilità di omettere il pulsante inferiore predefinito dalla variazione della serie di pulsanti per i layout personalizzati in cui EdgeButton non è richiesto. (I34fa9)- Abbiamo aggiunto un componente
SwipeToReveal
per Wear Material 3 (Ic38b2) - Abbiamo aggiunto il supporto per lo scorrimento bidirezionale in
SwipeToReveal
, per i rari casi in cui la schermata corrente non supporta lo scorrimento per chiudere. L'impostazione predefinita è ancora lo scorrimento per visualizzare solo con scorrimenti da destra a sinistra ed è vivamente consigliato di rispettare il comportamento predefinito per evitare conflitti con lo scorrimento per chiudere. (Ifac04) - Abbiamo rinominato il parametro
buttonHeight
diEdgeButton
inpreferredHeight
. (I4fab3) - La versione di Kotlin è stata aggiornata alla 1.9 (I1a14c)
- Abbiamo rinominato
OpenOnPhoneDialogDefaults.Icon
inOpenOnPhoneDialogDefaults.OpenOnPhoneIcon
per evitare conflitti conIcon
(I0f391) - Abbiamo aggiunto il supporto per
ScrollIndicator
inLazyColumn
. (Ia546a) - Abbiamo aggiornato i valori predefiniti per
TextToggleButton
eIconToggleButton
. (I7aaa9) - Abbiamo semplificato le API
Picker
ePickerGroup
. (Id0653) - Abbiamo aggiunto
CardDefaults.Shape
eCardDefaults.Height
, che (essendo token) erano altrimenti privati per gli sviluppatori che utilizzano la libreria. (I1594a, b/347649765) - Abbiamo rinominato il parametro di avanzamento per l'indicatore di avanzamento circolare segmentato binario in
segmentValue
. (Ib72d9) - Abbiamo aggiornato i colori e il layout del dispositivo di scorrimento. (Ic3eec)
Correzioni di bug
- Abbiamo aggiornato l'animazione dell'icona
openOnPhone
(I66f85) - Ora utilizziamo le icone di Google Symbols in
Slider
,TimePicker
eDatePicker
. (I46c7c) - Abbiamo aggiornato i margini in
Confirmation
eOpenOnPhoneDialog
. (Iaa82e)
Versione 1.0.0-alpha25
18 settembre 2024
androidx.wear.compose:compose-material3:1.0.0-alpha25
viene rilasciato. La versione 1.0.0-alpha25 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto un indicatore di avanzamento circolare indeterminato. (I427a7)
- Abbiamo aggiunto il supporto per il superamento del progresso (>100%) sia per
CircularProgressIndicator
che perSegmentedCircularProgressIndicator
. Quando l'avanzamento supera 1,0, viene indicato dal nuovo coloreoverflowTrack
. (Iaaa3d) - I pulsanti rotondi
IconToggleButton
eTextToggleButton
ora supportano una nuova variante di animazione delle forme, in cui forme diverse rappresentano gli stati selezionato, deselezionato e premuto. La precedente variante della forma animata per lo stato appena premuto continuerà a essere supportata. (I29f03) - Abbiamo rimosso il supporto per l'utilizzo di
EdgeButton
conColumn
, a causa della necessità di specificare esplicitamente l'altezza diEdgeButton
inScreenScaffold
. (Ie353d) - Abbiamo aggiunto il supporto di Wear Compose
LazyColumn
con il nostroScreenScaffold
(e abbiamo aggiunto un'implementazione diScrollInfoProvider
perLazyColumnState
). (Ib8d29) - Abbiamo combinato
LocalTextMaxLines
,LocalTextAlign
eLocalTextOverflow
in un'unica composizione localeLocalTextConfiguration
per fornire una soluzione più scalabile in futuro. (I5edbc) - Abbiamo aggiunto arc-large come tipo di carattere aggiuntivo, riservato alle stringhe di testo brevi delle intestazioni nella parte superiore o inferiore dello schermo, ad esempio nelle sovrapposizioni di conferma. (I60e3e)
- Abbiamo aggiunto valori predefiniti a Pulsante per le dimensioni consigliate delle icone grandi ed extra large e per il padding dei contenuti. (I84675)
Correzioni di bug
- Abbiamo aggiornato i colori di
IconButton
eTextButton
. (I48324) - Abbiamo modificato i sovraccarichi di base di Button in modo che siano allineati verticalmente al centro per coerenza con gli altri sovraccarichi. Per ripristinare il comportamento precedente, utilizza
Modifier.align
dal menuRowScope
. (I66e57)
Versione 1.0.0-alpha24
4 settembre 2024
androidx.wear.compose:compose-material3:1.0.0-alpha24
viene rilasciato. La versione 1.0.0-alpha24 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto uno schema di movimento al tema Material3. Verrà utilizzato dai componenti della libreria per applicare specifiche di animazione come le molle per movimenti espressivi. (I54ff3)
- Abbiamo aggiunto i componenti
AppScaffold
eScreenScaffold
alla libreria Material3, che includono funzionalità per coordinare il layering e le transizioni diTimeText
eScrollIndicator
.AppScaffold
fornisce un livello superiore di componenti di struttura che si trovano sopra tutte le schermate. Di conseguenza, l'aggiunta diTimeText
aAppScaffold
consente di mantenere il testo in posizione mentre scorri da una schermata all'altra. Le schermate possono sostituire o nascondere il testo dell'ora.ScreenScaffold
fornisce uno spazio perScrollIndicator
e anima automaticamente l'indicatore di scorrimento durante lo scorrimento, incluso il timeout per nascondere l'indicatore di scorrimento dopo un periodo di inattività. (I047d6) - Abbiamo aggiunto
ScrollIndicator
con il nuovo design Material3. Ha una dimensione fissa in base ai contenuti iniziali dell'elenco, per evitare variazioni di dimensioni quando i contenuti lazy vengono caricati nell'elenco. (Ic228d) - Abbiamo modificato l'API
ScrollAway
in modo cheScreenStage
sia una classe di valori anziché una classe enum, per consentire l'aggiunta di fasi aggiuntive in base alle esigenze future. (I48c93) - Abbiamo aggiunto
EdgeButton
, un pulsante specifico per Wear con una forma che segue la curvatura della parte inferiore dello schermo (I16369) - Abbiamo aggiunto un nuovo spazio al
ScreenScaffold
per un pulsante in basso (ad es.EdgeButton
), che verrà visualizzato e ridimensionato in base ai contenuti in scorrimento (I032eb) - Abbiamo aggiunto
Modifier.scrollTransform
eModifier.targetMorphingHeight
per aggiungere effetti di movimento Material3 agli elementi inLazyColumn
. (Ie229a) - Abbiamo aggiunto
SegmentedCircularProgressIndicator
come variante diCircularProgressIndicator
. La variazione segmentata mostra un singolo valore di avanzamento in tutti i segmenti o mostra ogni segmento come attivo/disattivato. (I6e059) - Abbiamo aggiunto
LinearProgressIndicator
come alternativa aCircularProgressIndicator
esistente. (I89182) - Abbiamo aggiunto
AlertDialog
, che fornisce layout per presentare all'utente prompt importanti. Sono incluse varianti per una coppia di pulsanti di conferma/chiusura o un singolo pulsante in basso (in genere un pulsante EdgeButton) sotto una serie di opzioni. Entrambe le varianti hanno spazi per l'icona, il titolo e il testo aggiuntivo per fornire ulteriori dettagli. (Ieb873) - Abbiamo aggiunto
OpenOnPhoneDialog
, che deve essere utilizzato per indicare un'azione che continuerà sullo smartphone dell'utente.OpenOnPhoneDialog
viene ignorata dopo un timeout specificato. (I978fd) - Abbiamo aggiunto
Confirmation
, un componente della finestra di dialogo con spazi per un'icona e un testo curvo o lineare. Vengono fornite varianti specifiche per i messaggi di successo/errore. Le conferme vengono chiuse automaticamente dopo un timeout. (Ib43e8) - Abbiamo aggiunto uno sfondo a
TimeText
per risolvere i problemi relativi alla sovrapposizione dei contenuti sottostanti e diTimeText
, che impedivano la visualizzazione dell'ora. (Ia11fd) - Abbiamo aggiunto
LevelIndicator
, che mostra il valore di un'impostazione come il volume e può essere utilizzato con il componenteStepper
esistente per creare una schermata del volume.LevelIndicator
è simile aScrollIndicator
, ma viene visualizzato sul lato opposto dello schermo e ha una larghezza del tratto più ampia e un colore dell'indicatore diverso per impostazione predefinita. (I8a4ac) - Abbiamo aggiunto
TimePicker
, con layout per l'ora in formato 24 ore (con o senza secondi) o 12 ore con selezione AM/PM. (Ia5124) - Abbiamo aggiunto
DatePicker
, con la configurazione per l'ordinamento delle colonne (ad es. giorno-mese-anno, mese-giorno-anno o anno-mese-giorno) e date minime/massime facoltative. (Ibf13b) - Abbiamo aggiunto un parametro di peso alla funzione
text
diTimeText
. Se TimeText è composto da più elementi di testo, questo consente di controllare la distribuzione dello spazio. (I36700) - Abbiamo aggiunto
RadioButton
eSplitRadioButton
: questi componenti semplificano l'API precedente combinando sia il controllo radio (Split)SelectableButton
sia il controllo radio secondario (If7ae8) - Abbiamo aggiunto
CheckboxButton
eSplitCheckboxButton
: questi componenti semplificano l'API precedente combinando sia il controllo (Split)ToggleButton
sia il controllo casella di controllo secondario (Ia8f70) - Abbiamo aggiunto
SwitchButton
eSplitSwitchButton
: questi componenti semplificano l'API precedente combinando sia il controllo(Split)ToggleButton
sia il controllo Switch secondario (I0d349) - Abbiamo aggiornato la documentazione di
AnimatedText
per spiegare il comportamento di overshooting. (Iff30a) - Abbiamo aggiunto
ButtonGroup
per combinare 2 o 3 pulsanti in modo che le pressioni dei pulsanti producano un'animazione coordinata. (Ie27db) - Abbiamo aggiunto un'animazione facoltativa delle forme per
IconButton
eTextButton
quando vengono premuti. (Iffca5) - Abbiamo aggiunto un'ulteriore variante di colore,
FilledVariant
, aButton
,IconButton
,TextButton
,CompactButton
eEdgeButton
(I65fc3) - Abbiamo aggiunto il parametro
forcedSize
aImageWithScrimPainter
, in modo che gli sfondi delle immagini dei pulsanti mantengano le dimensioni del componente per impostazione predefinita. Se impostiforcedSize = null
, viene adottatoPainter.instrinsicSize
. (Ic57af) - Abbiamo aggiunto il clic prolungato ai pulsanti (Ib613d)
- Il supporto dei clic lunghi è stato aggiunto anche a
IconButton
eTextButton
. (I38891) - Il supporto dei clic lunghi è stato aggiunto a Schede. (I305d5)
- Abbiamo aggiunto
LocalTextMaxLines
,LocalTextAlign
,LocalTextOverflow
comeCompositionLocals
e li abbiamo utilizzati come valori predefiniti dei parametri inText
. Ora i valori locali della composizione possono essere utilizzati da componenti comeCheckboxButton
,SwitchButton
,RadioButton
per implementare le indicazioni sull'esperienza utente, ma i parametri possono essere sostituiti dagli sviluppatori, se necessario. (Iab841) - Abbiamo aggiunto
Placeholder
per mascherare i contenuti di componenti come pulsanti e schede fino al caricamento dei dati. (I1a532) - Abbiamo aggiunto
IconToggleButtonColors
eTextToggleButtonColors
per sostituireToggleButtonColors
, ora rimosso. (Ie0bf1)
Correzioni di bug
- Abbiamo aggiornato
Button
,FilledTonalButton
,OutlinedButton
,ChildButton
,CompactButton
in modo da utilizzare i nuoviCompositionLocals
LocalTextMaxLines
,LocalTextAlign
,LocalTextOverflow
per implementare le indicazioni sull'esperienza utente. Se necessario, questi parametri possono essere sostituiti dagli sviluppatori direttamente in Testo (Ie51f7) - Abbiamo modificato la larghezza del tratto predefinita del
LevelIndicator
in6dp
per distinguerlo dalScrollIndicator
, che ha una larghezza del tratto di4dp
. (If6f63) - Abbiamo risolto un problema in
TimeText
in modo da supportare angoli di scansione più ampi. (Ie489f) - È stato risolto un problema durante la ricomposizione di
EdgeButton
. (I4cdca) - Sono stati corretti i layout dei pulsanti di attivazione/disattivazione suddivisi quando viene fornito il padding dei contenuti personalizzati. (Ia33d3)
- I valori di avanzamento piccoli vengono arrotondati per eccesso almeno alla larghezza della linea dell'indicatore di avanzamento. (I3bd84)
Versione 1.0.0-alpha23
14 maggio 2024
androidx.wear.compose:compose-material3:1.0.0-alpha23
viene rilasciato. La versione 1.0.0-alpha23 contiene questi commit.
Modifiche all'API
- Abbiamo aggiornato le API
ToggleButton
eRadioButton
in modo da poter configurare i colori disattivati. (If13a7) - Abbiamo aggiunto un nuovo
CircularProgressIndicator
per Material3. (Ib3bd7)
Correzioni di bug
- Abbiamo corretto un bug per cui i pulsanti selezionabili annunciavano il doppio tocco per attivare/disattivare quando erano già selezionati. (I7ed88)
Versione 1.0.0-alpha22
1° maggio 2024
androidx.wear.compose:compose-material3:1.0.0-alpha22
viene rilasciato. La versione 1.0.0-alpha22 contiene questi commit.
Modifiche all'API
- Abbiamo aggiornato Material3
ColorScheme
. (I7b2b8) - Abbiamo aggiornato l'opzione Material3 Switch. Oltre ad alcune modifiche ai colori, il segno di spunta ora corrisponde a quello utilizzato per la casella di controllo. (Icac7b)
Correzioni di bug
- Aggiorna tutte le demo di integrazione per utilizzare il nuovo modificatore
rotaryScrollable
. (I25090)
Versione 1.0.0-alpha21
17 aprile 2024
androidx.wear.compose:compose-material3:1.0.0-alpha21
viene rilasciato. La versione 1.0.0-alpha21 contiene questi commit.
- Questa release è stata attivata a causa di un problema tecnico nella release precedente che ha causato la mancanza di jar di origine. Non ci sono nuovi commit in questa release.
Versione 1.0.0-alpha20
3 aprile 2024
androidx.wear.compose:compose-material3:1.0.0-alpha20
viene rilasciato. La versione 1.0.0-alpha20 contiene questi commit.
Correzioni di bug
- Abbiamo modificato gli alfa dello stato Ripple premuto e in primo piano per il contrasto. (I59f0a)
- Abbiamo aggiunto spaziatura tra le etichette principali e secondarie in
Button
,ToggleButton
eRadioButton
, in seguito alle ultime modifiche agli stili di tipografia e alle altezze delle righe. (I2c0ba)
Versione 1.0.0-alpha19
6 marzo 2024
androidx.wear.compose:compose-material3:1.0.0-alpha19
viene rilasciato. La versione 1.0.0-alpha19 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto
TimeText
alla libreria Wear Compose Material3. Questo componente mostra l'ora corrente (e uno stato aggiuntivo) nella parte superiore dello schermo. La nuova API Material3, concisa, evita la duplicazione dei contenuti lineari e curvi. (I4d7c3) - Abbiamo aggiornato i nomi dei parametri da
onSelected
aonSelect
perRadioButton
. (I1a971) - Tokenizza
RadioButton
eSplitRadioButton
e ristruttura anche i metodi esistenti per ridurre la quantità di ricerche diCompositionLocal
aggiungendo istanze memorizzate nella cache dei colori e rendendo interni i metodi diRadioButtonColors
eSplitRadioButtonColors
. (I02b33)
Versione 1.0.0-alpha18
21 febbraio 2024
androidx.wear.compose:compose-material3:1.0.0-alpha18
viene rilasciato. La versione 1.0.0-alpha18 contiene questi commit.
Modifiche all'API
- Abbiamo ristrutturato il pattern predefinito per
CardColors
,ToggleButtonColors
eSplitToggleButtonColors
creando istanze memorizzate nella cache internamente e riducendo l'utilizzo diCompositionLocal
. (If3fec)
Versione 1.0.0-alpha17
7 febbraio 2024
androidx.wear.compose:compose-material3:1.0.0-alpha17
viene rilasciato. La versione 1.0.0-alpha17 contiene questi commit.
Modifiche all'API
- Abbiamo aggiornato l'API Button in modo che utilizzi
buttonColors
per impostazione predefinita e abbiamo rimosso il valore duplicatofilledButtonColors
. (I4fe3b) - Abbiamo riorganizzato i pattern predefiniti per
ButtonColors
,IconButtonColors
eTextButtonColors
creando internamente un'istanza memorizzata nella cache e riducendo l'utilizzo diCompositionLocal
. (I5f51c) - Abbiamo rimosso il sovraccarico di
rememberUpdatedState
nei classi di colore specifici del componente e contrassegnato i metodi di accesso all'interno dei classi di colore come interni. (If6571)
Correzioni di bug
- Abbiamo aggiornato
Modifier.minimumInteractiveComponentSize
in modo che utilizziModifier.node
. (Iba6b7)
Versione 1.0.0-alpha16
24 gennaio 2024
androidx.wear.compose:compose-material3:1.0.0-alpha16
viene rilasciato. La versione 1.0.0-alpha16 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
CompactButton
, che può utilizzare gli stessi colori con riempimento, tonalità e contorni del pulsante.(I05df0)
Modifiche all'API
- Abbiamo aggiunto
RadioButton
/SplitRadioButton
come contenitori per i controlli di selezione, come il controllo Radio. Questo pulsante è diverso daToggleButton
esistente in quantoRadioButton
è selezionabile (e opera all'interno di un gruppo di selezione), mentreToggleButton
è attivabile/disattivabile (ed è indipendente). (I61275) - Stiamo rimuovendo
LocalContentAlpha
dalla libreria Wear Compose Material3 per garantire la coerenza con la libreria Compose Material3. (I49a0a) - I componenti Wear Material e Wear Material3 che espongono un
MutableInteractionSource
nella loro API sono stati aggiornati in modo da esporre unMutableInteractionSource
nullable che per impostazione predefinita è null. Non sono presenti modifiche semantiche: se passi null, significa che non vuoi eseguire l'elevazione diMutableInteractionSource
, che verrà creato all'interno del componente, se necessario. La modifica in null consente ad alcuni componenti di non allocare mai unMutableInteractionSource
e ad altri di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizziMutableInteractionSource
che passi a questi componenti, ti consigliamo di passare null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (Ib90fc, b/298048146) - Aggiunge la nuova API Ripple nelle librerie
wear:compose-material
ewear:compose-material3
, che sostituiscerememberRipple
deprecato. Aggiunge anche unCompositionLocal
temporaneo,LocalUseFallbackRippleImplementation
, per ripristinare l'utilizzo delle APIrememberRipple/RippleTheme
deprecate da parte dei componenti Material. Questo parametro verrà rimosso nella prossima release stabile e ha lo scopo di essere solo un aiuto temporaneo per la migrazione nei casi in cui fornisci unRippleTheme
personalizzato. Visita la pagina developer.android.com per informazioni sulla migrazione e ulteriori informazioni sulle motivazioni alla base di questa modifica. (af92b21) - Abbiamo apportato piccoli miglioramenti all'API
HorizontalPageIndicator
e alla relativa documentazione. (I60efc) - Abbiamo aggiornato
ColorScheme
in modo che sia immutabile, rendendo meno efficienti i singoli aggiornamenti dei colori, ma migliorando l'utilizzo più comune dei colori. Il motivo alla base di questa modifica è che la maggior parte delle app non ha l'aggiornamento dei singoli colori come caso d'uso principale. Questa operazione è ancora possibile, ma la ricompozione sarà più frequente rispetto a prima. Di conseguenza, ridurremo in modo significativo la quantità di abbonamenti di stato in tutto il codice materiale e influiremo sul costo di inizializzazione e di runtime di casi d'uso più standard. (Ibc2d6) - Sono state aggiornate le API
ToggleButton
eSplitToggleButton
per consentire la personalizzazione dei colori disattivati. Inoltre, i token Material Design vengono ora utilizzati per i valori di colore e tipografia. (If087c) - Aggiornamento dei colori di sfondo delle immagini dei pulsanti per utilizzare i token Material Design. (Iba215)
- Abbiamo modificato i componenti
Checkbox
,Switch
eRadioButton
in modo che siano solo di visualizzazione, rimuovendo la gestione dei clic. Poiché si prevede che questi componenti vengano utilizzati in(Split)ToggleButton
, che gestisce il clic, ora sono indicati in modo più chiaro come solo di visualizzazione (e non sono destinati all'uso autonomo su Wear). (I2322e)
Correzioni di bug
- Abbiamo aggiunto token per i valori di movimento di durate e animazioni in Wear Compose Material 3. (I437cd)
- Abbiamo corretto un bug in
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
eRadioButton
in modo che gli annunci di accessibilità non vengano ripetuti (in precedenza, i ruoli semantici erano duplicati). (Ica281) - Abbiamo rimosso il livello MaterialCore per
CompactButton
per migliorare le prestazioni. (7902858)
Versione 1.0.0-alpha15
15 novembre 2023
androidx.wear.compose:compose-material3:1.0.0-alpha15
viene rilasciato. La versione 1.0.0-alpha15 contiene questi commit.
Modifiche all'API
- Abbiamo rinominato il livello base
SwipeToDismissBox
inBasicSwipeToDismissBox
. In questo modo, la distinzione tra il componente a livello di base e il livello Material3 è più chiaraSwipeToDismissBox
. Quest'ultimo estrae i colori daMaterialTheme
da utilizzare negli scrim e delega l'implementazione rimanente aBasicSwipeToDismissBox
. (Ibecfc)
Correzioni di bug
- Abbiamo rimosso il livello material-core per il pulsante Material3 per migliorare le prestazioni. (I55555)
Versione 1.0.0-alpha14
18 ottobre 2023
androidx.wear.compose:compose-material3:1.0.0-alpha14
viene rilasciato. La versione 1.0.0-alpha14 contiene questi commit.
Modifiche all'API
- Abbiamo rimosso il parametro
indicatorStyle
da Material3HorizontalPageIndicator
. Ora seguirà la forma dello schermo del dispositivo (lineare o tondo). (I83728) - Abbiamo separato i colori per
SplitToggleButton
da quelli perToggleButton
aggiungendo una nuova classeSplitToggleButtonColors
. (I78bee)
Versione 1.0.0-alpha13
4 ottobre 2023
androidx.wear.compose:compose-material3:1.0.0-alpha13
viene rilasciato. La versione 1.0.0-alpha13 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto un campo Sottotitoli facoltativo a
TitleCard
. (Ifc45a) - Abbiamo aggiunto token di colore Material Design per
TextButton
. (I769dc)
Versione 1.0.0-alpha12
20 settembre 2023
androidx.wear.compose:compose-material3:1.0.0-alpha12
viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.
Modifiche all'API
- Abbiamo aggiornato
IconButton
per utilizzare i token Material Design. (I3f137) - Abbiamo aggiornato
IconToggleButton
per utilizzare i token Material Design. (I7d263) - Abbiamo reso pubblici i costruttori di
CheckboxColors
,RadioButtonColors
,SwitchColors
. (I82b73)
Versione 1.0.0-alpha11
6 settembre 2023
androidx.wear.compose:compose-material3:1.0.0-alpha11
viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.
Correzioni di bug
- Abbiamo aggiornato la tipografia delle schede Material3 a
TitleMedium
. (I597bd) - Abbiamo aggiornato la tipografia e l'allineamento per
ListHeader
eListSubheader
di Material 3. (Ib5ceb)
Versione 1.0.0-alpha10
23 agosto 2023
androidx.wear.compose:compose-material3:1.0.0-alpha10
viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
- Aggiungi
HorizontalPageIndicator
nella raccolta Wear Material3. (Ifee99)
Modifiche all'API
- Aggiorna il codice dei pulsanti per utilizzare i token di design Material3. (I92fe4)
- Le API Wear Material 3 Stepper e Slider sono state dichiarate sperimentali perché i dettagli dell'interfaccia utente sono ancora in fase di definizione. (I84d54)
- Abbiamo rimosso le dimensioni
ExtraSmall
dai formatiTextButton
eTextToggleButton
perché si applicano solo al formatoIconButton
. (Ibc7d5)
Correzioni di bug
- Abbiamo aggiornato le indicazioni sulla tipografia per TextToggleButton in modo da utilizzare LabelLarge per LargeButtonSize (Ib10fa)
- Abbiamo aggiornato le indicazioni sulla tipografia per TextButton in modo da utilizzare LabelLarge per LargeButtonSize (I8f3a7)
- Per motivi di accessibilità, abbiamo impostato il touch target minimo della scheda su 48 dp. (Ieb9b1)
- Aggiungere una scheda dell'app con una demo di immagine, rimuovendo una scheda dell'app con una demo di sfondo (Id735f)
- Risolto un bug nei pulsanti rotondi per cui i modificatori non venivano collegati correttamente. (I5e162)
Versione 1.0.0-alpha09
9 agosto 2023
androidx.wear.compose:compose-material3:1.0.0-alpha09
viene rilasciato. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
ToggleButton
per il materiale 3 (I6bed6)
Modifiche all'API
- Abbiamo attivato l'annotazione
FloatRange
come vincoli dell'API , che erano stati precedentemente indicati nei commenti. (Icb401) - Abbiamo aggiornato la tipografia di Wear Material3 in modo che rispetti le linee guida più recenti di Material3. (I1bad6)
Correzioni di bug
- Abbiamo aggiornato i colori di
Button
,IconButton
eTextButton
in linea con il design di Material3. (Ib2495) - Abbiamo corretto la visibilità del segno di spunta nelle caselle di controllo in stato disattivato. (Ib25bf)
Versione 1.0.0-alpha08
26 luglio 2023
androidx.wear.compose:compose-material3:1.0.0-alpha08
viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto i seguenti controlli di selezione per Material3:
Switch
,Checkbox
,RadioButton
. (Ib918c) - Abbiamo aggiunto
IconToggleButton
eTextToggleButton
a Material 3, un pulsante di attivazione/disattivazione circolare con un singolo spazio per l'icona e il testo. Per dimensioni diverse diToggleButton
, ti consigliamo di utilizzareToggleButton
con le dimensioni fornite nei rispettivi pulsanti di attivazione/disattivazione.Modifier.touchTargetAwareSize
(I9f015) - Abbiamo aggiunto
ListHeader
eListSubheader
ai nostri componenti Material3. (Ibaefe) - Abbiamo aggiunto Material3
SwipeToDismissBox
, che chiama il nuovo FoundationSwipeToDismissBox
e fornisce i valori di colore predefiniti dal suo tema. (I275fb) - Abbiamo aggiunto Material3
InlineSlider
a Wear Compose. Consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene visualizzato come una barra tra i valori minimo e massimo dell'intervallo, da cui gli utenti possono selezionare un singolo valore.InlineSlider
è ideale per regolare impostazioni come il volume o la luminosità. (I7085f)
Modifiche all'API
- Abbiamo aggiornato le forme nel tema Wear Material 3 in modo che utilizzino
RoundedCornerShape
anziché Forma. (Idb133) - Abbiamo reso pubbliche le costanti di altezza per il pulsante (Idbfde)
- File API aggiornati per annotare la soppressione della compatibilità (I8e87a, b/287516207)
- Abbiamo aggiornato
InlineSliderColors
in Wear Compose Material 3 in modo che abbia un costruttore pubblico e proprietà pubbliche. (I6b632) - Abbiamo aggiornato tutte le classi di colore in Wear Compose Material 3 in modo che abbiano costruttori e proprietà pubblici. (I17702)
- Abbiamo reso pubbliche le costanti di spaziatura orizzontale e verticale del pulsante. (Ieeaf7)
Correzioni di bug
- Ora il pulsante regola la sua altezza per adattarsi ai contenuti che sono aumentati a causa di caratteri grandi per l'accessibilità, se necessario (Iaf302)
- Abbiamo aggiornato una serie di demo di pulsanti per risolvere i problemi di accessibilità. (I61ce9)
Stepper
eInlineSlider
ora supportano i clic ripetuti con pressione prolungata, in modo da poter aumentare/diminuire rapidamente il valore diStepper
eInlineSlider
tenendo premuti i pulsanti + o - (I27359)
Versione 1.0.0-alpha07
21 giu 2023
androidx.wear.compose:compose-material3:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il componente
Stepper
alla nostra libreria Compose per Wear OS Material 3. È simile alla versione Material precedente, ma omette la semantica dell'intervallo per impostazione predefinita, in base al feedback degli sviluppatori. ForniamoModifier.rangeSemantics
i casi in cui è richiesta la semantica dell'intervallo. (Ic39fd) - Abbiamo aggiunto
curvedText
alla nostra raccolta Compose per Wear OS Material 3. (Ia8ae3)
Correzioni di bug
- Abbiamo aggiornato
wear.compose.foundation
in modo che sia una dipendenza API diwear.compose.material3
(I72004, b/285404743)
Versione 1.0.0-alpha06
7 giugno 2023
androidx.wear.compose:compose-material3:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Correzioni di bug
- Abbiamo aggiornato
TextButton
in modo che utilizzi la funzione di estensionetoDisabledColor
per correggere i valori alfa disattivati. (I814c8)
Versione 1.0.0-alpha05
24 maggio 2023
androidx.wear.compose:compose-material3:1.0.0-alpha05
viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
TextButton
a Material3, un pulsante circolare con un'unica posizione per il testo. Per dimensioni diverse diTextButton
, consigliamo di utilizzareModifier.touchTargetAwareSize
eExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
eLargeButtonSizeIcon
forniti inTextButtonDefaults
. Il carattereTextButton
predefinito non ha bordi e uno sfondo trasparente per le azioni con enfasi ridotta. Per le azioni che richiedono un'enfasi elevata, utilizzafilledTextButtonColors
; per un'enfasi media,TextButton
con bordi, imposta il bordo suButtonDefaults.outlinedButtonBorder
; per una via di mezzo tra il bordo e il riempimento, utilizzafilledTonalTextButtonColors
. (I667e4) - Abbiamo aggiunto
Card
,OutlinedCard
,AppCard
eTitleCard
alla raccolta Wear Compose Material3.AppCard
eTitleCard
possono anche essere visualizzati con un aspetto con bordi utilizzandoCardDefaults.outlinedCardColors
eCardDefaults.outlinedCardBorder
(I80e72)
Modifiche all'API
- Abbiamo spostato il parametro dell'etichetta del pulsante alla fine per supportare la sintassi lambda finale e abbiamo rimosso il parametro del ruolo (poiché può essere ignorato utilizzando
Modifier.semantics
). I costruttoriButtonColors
sono ora pubblici. (Ie1b6d)
Versione 1.0.0-alpha04
10 maggio 2023
androidx.wear.compose:compose-material3:1.0.0-alpha04
viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
IconButton
a Material3, un pulsante circolare con un'unica posizione per l'icona/l'immagine. Esistono quattro varianti:IconButton
,FilledIconButton
,FilledTonalIconButton
eOutlinedIconButton
. Per dimensioni diverse diIconButton
, consigliamo di utilizzareModifier.touchTargetAwareSize
eExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
eLargeButtonSizeIcon
forniti inIconButtonDefaults
. Forniamo ancheIconButtonDefaults.iconSizeFor
per determinare le dimensioni consigliate dell'icona per una determinata dimensione del pulsante. (I721d4)
Versione 1.0.0-alpha03
19 aprile 2023
androidx.wear.compose:compose-material3:1.0.0-alpha03
viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto il componente Pulsante Material 3, il nostro pulsante a forma di stadio, precedentemente denominato Chip nella raccolta di Materiale di Compose per Wear (è stato rinominato Pulsante per coerenza con la raccolta di Materiale di Compose 3). Il pulsante predefinito ha uno sfondo riempito e sono disponibili varianti per
FilledTonal
(sfondo attenuato), Con bordi (trasparente con un bordo sottile) e Secondario (sfondo trasparente e senza bordo, utilizzato per le azioni supplementari con la minore evidenza). I pulsanti rotondi per contenuti di testo e icone semplici verranno aggiunti in una release futura.(Ia6942)
Versione 1.0.0-alpha02
5 aprile 2023
androidx.wear.compose:compose-material3:1.0.0-alpha02
viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto un
DefaultTextStyle
a Wear Compose Material 3 che impostaPlatformTextStyle.includeFontPadding
su true per impostazione predefinita (l'impostazione corrente). In questo modo, in futuro potremo sincronizzare la disattivazione dell'interno dei caratteri per impostazione predefinita con le librerie di Compose (vedi Correggere l'interno dei caratteri in Compose per lo sfondo). (I7e461)
Versione 1.0.0-alpha01
22 marzo 2023
androidx.wear.compose:compose-material3:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Material 3 è la prossima evoluzione di Material Design e include temi aggiornati e componenti riprogettati. Material 3 su Wear Compose è progettato per essere coerente con la libreria Compose di Material 3 su Android. Questa prima release alpha contiene implementazioni iniziali e funzionali di quanto segue:
Continueremo a sviluppare Wear Material (
androidx.wear.compose:compose-material
) e Wear Material 3 (androidx.wear.compose:compose-material3
) in parallelo. Le release future di Material 3 estenderanno l'insieme di widget per includere altri componenti familiari di Compose per Wear OS, come pulsanti, selettori e cursori.Le librerie Wear Material e Wear Material 3 sono mutuamente esclusive e non devono essere mescolate nella stessa app, principalmente perché fanno riferimento a temi diversi che potrebbero portare a incoerenze impreviste.
Versione 1.5 di Wear Compose
Versione 1.5.0-alpha06
13 novembre 2024
androidx.wear.compose:compose-*:1.5.0-alpha06
viene rilasciato. La versione 1.5.0-alpha06 contiene questi commit.
Modifiche all'API
- Abbiamo semplificato
ScrollInfoProvider
perPagerState
rimuovendo il parametroorientation
, che non è più necessario. Il nuovo comportamento prevede cheTimeText
rimanga in posizione sia per la paginazione orizzontale sia per quella verticale. (I71767) TransformingLazyColumn
è stato introdotto nelle release precedenti. Stiamo rimuovendo gli aliasLazyColumn
di Wear (che inoltravano aTransformingLazyColumn
) in favore del nuovo nomeTransformingLazyColumn
. Abbiamo anche rimosso la proprietàheight
diTransformingLazyColumnVisibleItemInfo
. Utilizza invecemeasuredHeight
. (I0ea1e)- Abbiamo modificato la specifica di
PagerDefaults.snapFlingBehavior
snapAnimationSpec
daTween
aSpring
.(I10d02, b/349781047, b/303807950) - Abbiamo promosso
LocalReduceMotion
CompositionLocal
a versione stabile (Ia6f32)
Correzioni di bug
- Abbiamo aggiornato
Modifier.rotaryScrollable
in modo da utilizzarefocusTargetWithSemantics
per un migliore supporto della semantica in rotazione. (Ief0a0) - Abbiamo aggiornato la dipendenza minima dell'API a 1.7.4 per le librerie Compose. (I88b46)
- Abbiamo disattivato la trasformazione della larghezza in
TransformingLazyColumn
come soluzione alternativa a un bug di ritaglio. (I3dfb8) - Abbiamo corretto un bug che causava la scomparsa degli elementi dopo lo scorrimento eccessivo con
TransformingLazyColumn
(Id7668) - Abbiamo aggiunto
LazyLayoutSemantics
perTransformingLazyColumn
. (Ia8f56)
Versione 1.5.0-alpha05
30 ottobre 2024
androidx.wear.compose:compose-*:1.5.0-alpha05
viene rilasciato. La versione 1.5.0-alpha05 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto il supporto di
animateScrollTo
suTransformingLazyColumnState
in modo che lo scorrimento fino a un elemento possa essere animato. (I4097d) - Abbiamo aggiunto
requestScrollTo
suTransformingLazyColumnState
per posticipare lo scorrimento alla misurazione successiva. (I20a5e) - Abbiamo aggiunto il supporto per
contentPadding
inTransformingLazyColumn
. (I3a69c)
Correzioni di bug
- Abbiamo corretto un bug di rendering del carattere
TransformingLazyColumn
quando l'altezza dei contenuti è inferiore a quella dello schermo. (I6c3e1) ScrollInfoProvder
perTransformingLazyColumn
ora monitora correttamente il primo elemento. (I1e4a3)TransformingLazyColumnState
ora salva il proprio stato (anchorItemIndex
eanchorItemScrollOffset
). (I3d265)
Versione 1.5.0-alpha04
16 ottobre 2024
androidx.wear.compose:compose-*:1.5.0-alpha04
viene rilasciato. La versione 1.5.0-alpha04 contiene questi commit.
Modifiche all'API
- Abbiamo rinominato la piattaforma Wear Compose Foundation
LazyColumn
inTransformingLazyColumn
per distinguere meglio questa piattaforma dalla piattaforma Compose FoundationLazyColumn
. (I0608b) - È stato aggiunto il supporto del controllo rotativo per i cercapersone orizzontali/verticali, consentendo agli utenti di navigare nei cercapersone utilizzando dispositivi di input rotatori. (I9770d)
- Abbiamo aggiornato il nuovo
PagerDefaults
per chiarire che il selettore di pagine si aggancia alla pagina per impostazione predefinita. (Iff7d0) TransformingLazyColumnItemScrollProgress
ora è una classe di valore che dovrebbe migliorare il rendimento. (Ic399e)TransformingLazyColumn
ora supporta i controlli rotatori per impostazione predefinita. (I05206)TransformingLazyColumnState
ora supportascrollToItem
. (I507b3)@ExperimentalWearFoundationApi
è stato rimosso dall'APISwipeToReveal
(I34a66)
Versione 1.5.0-alpha03
2 ottobre 2024
androidx.wear.compose:compose-*:1.5.0-alpha03
viene rilasciato. La versione 1.5.0-alpha03 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto il supporto per lo scorrimento bidirezionale in
SwipeToReveal
, per i rari casi in cui la schermata corrente non supporta lo scorrimento per chiudere. . L'impostazione predefinita è ancora lo scorrimento per visualizzare solo con scorrimenti da destra a sinistra ed è vivamente consigliato di rispettare il comportamento predefinito per evitare conflitti con lo scorrimento per chiudere. (Ifac04) - Abbiamo aggiornato
LazyColumnState
per sostituirecanScrollForward
ecanScrollBackward
. Ora lo scorrimento si interrompe quando il primo o l'ultimo elemento è esattamente al centro dello schermo. (Ia77d7) - Abbiamo aggiunto nuovi componenti
HorizontalPager
eVerticalPager
che risolvono problemi comuni, come la gestione dell'attenzione e l'interazione con lo scorrimento del sistema per ignorare che potrebbero verificarsi su Wear. (I2902b) - Abbiamo aggiunto il supporto di
LazyColumn
per esporrekey
econtentType
del cliente tramitelayoutItems
. (I1bd9c)
Correzioni di bug
- Abbiamo aggiornato le animazioni di testo curve per renderle più fluide, utilizzando i flag di pittura. (I73a15)
- Abbiamo aggiornato la documentazione di Material Dialog per indicare che
onDismissRequest
non viene chiamato dopo che il flag show è impostato su false. (Ifd8d6) - Abbiamo corretto un bug relativo all'animazione della vignetta nella finestra di dialogo Material (I126bf)
Versione 1.5.0-alpha02
18 settembre 2024
androidx.wear.compose:compose-*:1.5.0-alpha02
viene rilasciato. La versione 1.5.0-alpha02 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto il supporto di Wear Compose
LazyColumn
con il nostroScreenScaffold
(e abbiamo aggiunto un'implementazione diScrollInfoProvider
perLazyColumnState
). (Ib8d29) - Abbiamo aggiunto
viewportSize
aLazyColumnLayoutInfo
. (I4187f)
Correzioni di bug
- Abbiamo corretto un bug per cui lo scorrimento rotatorio è ora disattivato in
ScalingLazyColumn
quando il flaguserScrollEnabled
è impostato sufalse
. (I490ab, b/360295825) - Abbiamo corretto un bug relativo al rientro verticale imprevisto del testo curvo. L'altezza del testo curvo ora corrisponde più da vicino allo spazio effettivo utilizzato dal testo. Tieni presente che questa operazione potrebbe interrompere i test degli screenshot che coinvolgono il testo curvo (Iaa6ef).
- Abbiamo ripristinato una correzione di bug in
Dialog
in cui il callbackonDismissRequest
veniva chiamato quandoshowDialog
era impostato su false, perché in alcuni casionDismissRequest
veniva chiamato più volte. (I64656)
Versione 1.5.0-alpha01
4 settembre 2024
androidx.wear.compose:compose-*:1.5.0-alpha01
viene rilasciato. La versione 1.5.0-alpha01 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto un nuovo
LazyColumn
alla libreria Wear Compose Foundation con le APILazyColumnState
eLazyColumnScope
associate. Questo è il fondamento per creare effetti di scalabilità e morphing personalizzabili con Wear Compose. (Ib3b22) - Abbiamo aggiunto una versione indicizzata di
itemsIndexed
inLazyColumnScope
nell'ambito della nuova APILazyColumn
. (Ib4a57) - Abbiamo aggiunto i modificatori
LazyColumn
per supportare i comportamenti di ridimensionamento e trasformazione. (Ie229a) HierarchicalFocusCoordinator
è stata promossa a stabile. (I31035)- Abbiamo aggiunto il supporto della spaziatura tra le lettere al testo curvo. (I3c740)
- È stato aggiunto un parametro
rotationLocked
aCurvedLayout.curvedComposable
per interrompere la rotazione dei componenti. (I66898) - L'API
LocalUseFallbackRippleImplementation
temporanea da materiale usurato e materiale usurato3 è stata rimossa (I62282) WearDevices.SQUARE
è stato rimosso dall'anteprima multipla di@WearPreviewDevices
(I11c02)
Correzioni di bug
SwipeToReveal
ora posiziona gli elementi rivelati nella parte visibile dello schermo. Questo è utile quandoSwipeToReveal
viene utilizzato all'interno di un elenco, in modo che gli elementi siano sempre interattivi e non escano mai dallo schermo. (I38929)SwipeToReveal
ora reimpostalastActionType
su Nessuno al termine dianimatedTo
. (I59b03)- È stata migliorata la documentazione del nuovo parametro
rotationLocked
incurvedComposable
. (Ifbd57) - È stato corretto un arresto anomalo durante il passaggio di
NaN
aperformFling
diScalingLazyColumnSnapFlingBehavior
. (Ic13da) - Bug corretto nel modificatore delle dimensioni del layout curvo (I0fedf)
- Abbiamo aggiunto il supporto per la spaziatura delle lettere specificata in "sp". (I9f6e3)
- Abbiamo corretto un bug nella finestra di dialogo Material2 per cui il callback
onDismissRequest
non veniva chiamato quando la finestra di dialogo diventava invisibile (I64656) LayoutCoordinates.introducesFrameOfReference
è stato rinominato inLayoutCoordinates.introducesMotionFrameOfReference
per rispecchiare meglio la sua finalità. È stata rinominata la funzione correlata per calcolare le coordinate in base a questo flag. (I3a330)
Versione 1.4
Versione 1.4.0
4 settembre 2024
androidx.wear.compose:compose-*:1.4.0
viene rilasciato. La versione 1.4.0 contiene questi commit.
Modifiche importanti dalla versione 1.3.0
ScalingLazyColumn
ePicker
ora supportano l'input rotatorio per impostazione predefinita. Ti consigliamo di rimuovere la gestione esplicita del controllo rotatorio e di fare riferimento al comportamento predefinito del sistema. Se necessario, utilizza il parametrorotaryScrollableBehavior
per configurare il comportamento di scorrimento o di agganci. Per il comportamento di agganci, ti consigliamo di fornire funzionalità di scorrimento tocco e di agganci utilizzando il parametroflingBehavior
.Modifier.rotaryScrollable
è un nuovo modificatore che collega gli eventi rotatori ai contenitori scorrevoli, consentendo agli utenti di scorrere utilizzando una corona o una ghiera rotante sul proprio dispositivo Wear OS.SwipeDismissableNavHost
ora fornisce un'animazione di entrata per le transizioni in-app.PositionIndicator
viene ora mostrato per impostazione predefinita quando viene visualizzata per la prima volta una schermata.
Ulteriori modifiche
- Per un insieme più completo delle modifiche introdotte nella versione 1.3.0, consulta le note di rilascio della versione beta01.
Versione 1.4.0-rc01
21 agosto 2024
androidx.wear.compose:compose-*:1.4.0-rc01
viene rilasciato. La versione 1.4.0-rc01 contiene questi commit.
- Abbiamo aggiornato le dipendenze di Compose alla versione 1.7.0-rc01 e abbiamo bloccato la navigazione di Compose per Wear OS su androidx.lifecycle 2.8.3
Versione 1.4.0-beta03
12 giugno 2024
androidx.wear.compose:compose-*:1.4.0-beta03
viene rilasciato. La versione 1.4.0-beta03 contiene questi commit.
Correzioni di bug
- Abbiamo aggiornato
Modifier.rotaryScrollable
sostituendo l'utilizzo di "focusable" con "focusTarget", il che migliora il rendimento. (Id294b) - Abbiamo risolto un problema per cui
ProgressIndicator
ripeteva l'annuncio inTalkBack
. (I94563) - Abbiamo aggiornato i profili di riferimento della libreria Wear Compose. (I3cbc3)
Versione 1.4.0-beta02
29 maggio 2024
androidx.wear.compose:compose-*:1.4.0-beta02
viene rilasciato. La versione 1.4.0-beta02 contiene questi commit.
Correzioni di bug
- Abbiamo aumentato la larghezza del confine passata agli screen reader dal testo curvo per risolvere i problemi di troncamento (Id865f).
- Abbiamo limitato il confine del
HorizontalPageIndicator
passato agli screen reader. In precedenza, l'indicatore occupava l'intero schermo (Id8d7a).
Versione 1.4.0-beta01
14 maggio 2024
androidx.wear.compose:compose-*:1.4.0-beta01
viene rilasciato. La versione 1.4.0-beta01 contiene questi commit.
La versione 1.4-beta01 di Compose per Wear OS indica che questa versione della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear Compose 1.4 include le seguenti nuove funzionalità:
- Abbiamo aggiunto
Modifier.rotaryScrollable
, un nuovo modificatore che collega gli eventi rotatori ai contenitori scorrevoli, consentendo agli utenti di scorrere tramite una corona o una ghiera rotante sul proprio dispositivo Wear OS. Inoltre,ScalingLazyColumn
ePicker
ora supportano l'input rotatorio per impostazione predefinita. Utilizza il parametrorotaryScrollableBehavior
per configurare il comportamento di scorrimento o di agganciamento. Per il comportamento di agganci, ti consigliamo di fornire l'aggancio anche tramite il parametroflingBehavior
per lo scorrimento tocco. SwipeDismissableNavHost
ora fornisce un'animazione di entrata per le transizioni in-app.PositionIndicator
viene ora mostrato per impostazione predefinita quando viene visualizzata per la prima volta una schermata.SelectableChip
eSplitSelectableChip
sono stati aggiunti come variante diToggleChip
. Utilizzali conRadioButton
per fornire una semantica selezionabile anziché una semantica attivabile/disattivabile per l'accessibilitàListHeader
ora supporta le regolazioni dell'altezza quando i contenuti richiedono un'altezza maggiore per adattarsi a caratteri di grandi dimensioni.
Correzioni di bug
- Abbiamo corretto un bug per cui i chip selezionabili annunciavano il doppio tocco per attivare/disattivare quando erano già selezionati. (I7ed88)
Versione 1.4.0-alpha08
1° maggio 2024
androidx.wear.compose:compose-*:1.4.0-alpha08
viene rilasciato. La versione 1.4.0-alpha08 contiene questi commit.
Modifiche all'API
- Abbiamo apportato le seguenti modifiche alla nuova API rotante: abbiamo rinominato
Modifier.rotary
inModifier.rotaryScrollable
; abbiamo rinominato l'interfacciaRotaryBehavior
inRotaryScrollableBehavior
e la relativa funzionehandleScrollEvent
inperformScroll
; abbiamo rinominatoRotaryScrollableAdapter
inRotaryScrollableLayoutInfoProvider
e rimosso la proprietàscrollableState
. (I0c8a6) - Abbiamo apportato ulteriori modifiche all'API per i dispositivi rotanti: abbiamo rinominato
RotaryScrollableLayoutInfoProvider
inRotarySnapLayoutInfoProvider
(in quanto questo provider è necessario solo per i dispositivi rotanti con scatto); abbiamo modificato il tipo del parametrosnapOffset
inRotaryScrollableDefaults.snapBehavior snapOffset
da Int a Dp. (Iddebe) - Abbiamo rinominato il parametro
clickInteractionSource
inSplitSelectableChip
.containerInteractionSource
(Ia8f84) - Abbiamo aggiornato i nomi dei parametri di callback dei clic per
SplitSelectableChip
daonClick
aonSelectionClick
e daonBodyClick
aonContainerClick
. (I32237)
Correzioni di bug
- Abbiamo aggiornato la spaziatura orizzontale per
PositionIndicator
a 2 dp (in precedenza 5 dp) per correggere un bug che causava l'accavallamento diPositionIndicator
(barra di scorrimento) sui contenuti scorrevoli. Tieni presente che questa modifica dovrebbe interrompere gli screenshot esistenti che includono il caratterePositionIndicator
a causa della modifica del padding. (I57472) - Abbiamo migliorato la documentazione della nuova API per i dispositivi rotanti descrivendo le differenze tra i dispositivi rotanti a bassa risoluzione e quelli ad alta risoluzione. (I63abe)
- Abbiamo risolto un'eccezione di fuori intervallo in
SwipeDismissableNavHost
che poteva essere attivata quando i valori alfa interpolati erano inferiori a zero. (Ib75a1, b/335782510)
Versione 1.4.0-alpha07
17 aprile 2024
androidx.wear.compose:compose-*:1.4.0-alpha07
viene rilasciato. La versione 1.4.0-alpha07 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto
Modifier.rotary
, un nuovo modificatore che collega gli eventi rotatori ai contenitori scorrevoli, consentendo agli utenti di scorrere tramite una corona o una ghiera rotante sul proprio dispositivo Wear OS. Inoltre,ScalingLazyColumn
e Picker ora supportano l'input rotatorio per impostazione predefinita, con nuovi sovraccarichi che includono il parametrorotaryBehavior
per specificare la configurazione di scorrimento o snap. Se il parametrorotaryBehavior
è impostato su snap, è consigliabile fornire lo snap anche tramite il parametroflingBehavior
per lo scorrimento tocco. (I2ef6f) - Le origini
NestedScroll
Trascinamento e Fling vengono sostituite daUserInput
eSideEffect
per supportare la definizione estesa di queste origini, che ora includono le animazioni (Side Effect), la rotella del mouse e la tastiera (UserInput). (I40579) - Abbiamo aggiunto
SelectableChip
eSplitSelectableChip
per distinguere meglio i controlli di attivazione/disattivazione comeSwitch/Checkbox
dai controlli selezionabili comeRadioButton
. Questo sostituisce le sovraccaricamenti diToggleChip/SplitToggleChip
aggiunti in precedenza con i parametriselectionControl
. (Ia0217) - Il modificatore della visibilità di
IndeterminateStrokeWidth
inProgressIndicatorDefaults
è stato aggiornato in pubblico. (I5b5a4)
Versione 1.4.0-alpha06
3 aprile 2024
androidx.wear.compose:compose-*:1.4.0-alpha06
viene rilasciato. La versione 1.4.0-alpha06 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto una bozza interna del supporto del selettore rotativo nell'ambito del più ampio impegno di migrazione del comportamento del selettore rotativo in AndroidX da Horologist. (I617d1)
- Abbiamo aggiunto una bozza interna del supporto dell'aptica, nell'ambito del più ampio impegno di migrazione del comportamento del selettore rotativo in AndroidX da Horologist. (I5568a)
Versione 1.4.0-alpha05
20 marzo 2024
androidx.wear.compose:compose-*:1.4.0-alpha05
viene rilasciato. La versione 1.4.0-alpha05 contiene questi commit.
Modifiche all'API
- Abbiamo reso pubbliche le proprietà
initialCenterItemIndex
einitialCenterItemScrollOffset
diScalingLazyListState
. (I0c616) - Abbiamo reso pubblico il
FullScreenStrokeWidth
diProgressIndicatorDefaults
. (Ibea23)
Correzioni di bug
- Abbiamo migliorato le prestazioni di
PositionIndicator
diminuendo il numero di chiamate alayoutInfo
daScalingLazyColumn
. (Idc83d)
Versione 1.4.0-alpha04
6 marzo 2024
androidx.wear.compose:compose-*:1.4.0-alpha04
viene rilasciato. La versione 1.4.0-alpha04 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto una nuova sovraccarica per
ToggleChip
eSplitToggleChip
che accetta un parametroselectionControl
anziché il parametrotoggleControl
. Deve essere utilizzato con il controlloRadioButton
per fornire una semantica selezionabile anziché una semantica attivabile/disattivabile per l'accessibilità (I1d6d9) - Abbiamo aggiornato i nomi dei parametri per la nuova sovraccarica
selectionControl
daonSelected
aonSelect
perToggleChip
eSplitToggleChip
(I1a971)
Versione 1.4.0-alpha03
21 febbraio 2024
androidx.wear.compose:compose-*:1.4.0-alpha03
viene rilasciato. La versione 1.4.0-alpha03 contiene questi commit.
Modifiche all'API
- Il wrapper
Modifier.inspectable
è stato deprecato. Questa API crea più invalidazioni del modificatore del necessario, pertanto il suo utilizzo è sconsigliato. Gli sviluppatori sono invitati a implementare il metodoinspectableProperties()
suModifierNodeElement
se vogliono esporre le proprietà dei modificatori agli strumenti. (Ib3236)
Correzioni di bug
- Abbiamo corretto un bug nella documentazione relativo alle annotazioni
WearPreview*
. (Id526d)
Versione 1.4.0-alpha02
7 febbraio 2024
androidx.wear.compose:compose-*:1.4.0-alpha02
viene rilasciato. La versione 1.4.0-alpha02 contiene questi commit.
Correzioni di bug
- Abbiamo corretto un bug nella funzionalità scorri per visualizzare, che consentiva di interagire con (e annullare) un'azione confermata su un elemento iniziando a scorrere un altro elemento.(Ide059)
- Abbiamo aggiornato
ListHeader
per supportare le regolazioni dell'altezza quando i contenuti richiedono un'altezza maggiore per adattarsi a caratteri di grandi dimensioni. (I7290c, b/251166127)
Versione 1.4.0-alpha01
24 gennaio 2024
androidx.wear.compose:compose-*:1.4.0-alpha01
viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto l'animazione di entrata a
SwipeDismissableNavHost
per le transizioni in-app.(cfeb79a) PositionIndicator
viene ora mostrato per impostazione predefinita quando viene visualizzata per la prima volta una schermata. Questa modifica è stata introdotta per contribuire a soddisfare le linee guida sulla qualità per Wear. Purtroppo, ciò significa che i test degli screenshot dovranno essere aggiornati nelle schermate che includonoPositionIndicator
, poiché in precedenzaPositionIndicator
non sarebbe stato visualizzato. (419cef7)
Modifiche all'API
- Abbiamo aggiunto una nuova API Ripple nelle librerie
wear:compose-material
ewear:compose-material3
che sostituiscerememberRipple
, ormai deprecata. Aggiunge anche unCompositionLocal
temporaneo,LocalUseFallbackRippleImplementation
, per ripristinare l'utilizzo delle APIrememberRipple/RippleTheme
deprecate da parte dei componenti Material. Questo parametro verrà rimosso nella prossima release stabile e ha lo scopo di essere solo un aiuto temporaneo per la migrazione nei casi in cui fornisci unRippleTheme
personalizzato. Visita la pagina developer.android.com per informazioni sulla migrazione e ulteriori informazioni sulle motivazioni alla base di questa modifica. (af92b21) - Abbiamo aggiornato
ColorScheme
in modo che sia immutabile, rendendo meno efficienti i singoli aggiornamenti dei colori, ma migliorando l'utilizzo più comune dei colori. Il motivo alla base di questa modifica è che la maggior parte delle app non ha l'aggiornamento dei singoli colori come caso d'uso principale. Questa operazione è ancora possibile, ma la ricompozione sarà più frequente rispetto a prima. Di conseguenza, ridurremo in modo significativo la quantità di abbonamenti allo stato in tutto il codice materiale e influiremo sul costo di inizializzazione e di runtime di casi d'uso più standard. (f5c48b7) - I componenti Wear Material e Wear Material3 che espongono un
MutableInteractionSource
nella loro API sono stati aggiornati in modo da esporre unMutableInteractionSource
nullable che per impostazione predefinita è null. Non sono presenti modifiche semantiche: se passi null, significa che non vuoi eseguire l'elevazione diMutableInteractionSource
, che verrà creato all'interno del componente, se necessario. La modifica in null consente ad alcuni componenti di non allocare mai unMutableInteractionSource
e ad altri di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizziMutableInteractionSource
che passi a questi componenti, ti consigliamo di passare null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (f8fa920) - Abbiamo aggiornato
rememberExpandableState
per salvare lo stato espandibile. In questo modo, i dati vengono memorizzati quando passi a un'altra schermata e ripristinati quando torni a quella originale. (5c80095)
Correzioni di bug
- Abbiamo aggiornato l'impostazione
ReduceMotion
in modo da utilizzare un ascoltatore consapevole del ciclo di vita. (7c6b122) - Abbiamo aggiornato l'listener di
TouchExplorationStateProvider
in modo che tenga conto del ciclo di vita (be28b01) - Abbiamo rimosso il livello MaterialCore per
CompactButton
per migliorare le prestazioni (25db8e9) - Abbiamo reso
BasicSwipeToDismissBox
più robusto agli offset NaN per evitare eccezioni (b983739) - Abbiamo aggiornato
BasicSwipeToDismissBox
per assicurarci che i valori alfa rientrino nell'intervallo 0,1 - Abbiamo corretto un bug in
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
eRadioButton
in modo che gli annunci di accessibilità non vengano ripetuti (in precedenza, i ruoli semantici erano duplicati) (d11eeb7)
Versione 1.3
Versione 1.3.1
3 aprile 2024
androidx.wear.compose:compose-*:1.3.1
viene rilasciato. La versione 1.3.1 contiene questi commit.
Correzioni di bug
- Abbiamo corretto un bug nella funzionalità scorri per visualizzare, che consentiva di interagire con (e annullare) un'azione confermata su un elemento iniziando a scorrere un altro elemento. (Ide059)
Versione 1.3.0
24 gennaio 2024
androidx.wear.compose:compose-*:1.3.0
viene rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- La classe
SwipeToDismissBoxState
, l'enumerazioneSwipeToDismissValue
e la funzione di estensioneModifier.edgeSwipeToDismiss
ora fanno parte del pacchettoandroidx.wear.compose.foundation
anziché del pacchettoandroidx.wear.compose.material
. Questa architettura aggiornata ti consente di implementare la gestione dei gesti indipendentemente da altre considerazioni di progettazione. I flussi di lavoro di Material Design, come l'applicazione dei colori di un tema configurato, vengono gestiti separatamente. - Le classi
SwipeToRevealCard
eSwipeToRevealChip
ti aiutano a implementarerecommended swipe-to-reveal guidance
. La classeSwipeToRevealSample
mostra come utilizzare questi componenti. La versione 1.3.0-alpha02 ha introdotto una modifica che fa aumentare l'altezza degli oggetti
Chip
eToggleChip
per supportare meglio la scalabilità dei caratteri selezionata dall'utente. Ciò può causare un certo ritaglio. Per risolvere il problema, la formalarge
perMaterialTheme
ora utilizza un raggio di curvatura maggiore (26 dp anziché 24 dp). Gli oggettiChip
eToggleChip
utilizzano questo nuovo raggio di angolo per evitare di ritagliare i contenuti agli angoli di Chip eToggleChip
.- La maggior parte di
Chips
eToggleChips
rimane invariata, data l'altezza predefinita di 52 dp. Tuttavia, gli oggettiChip
eToggleChip
che contengono più righe di testo dell'etichetta principale o secondaria o per i quali è stata sostituita l'altezza potrebbero causare l'interruzione dei test degli screenshot.
- La maggior parte di
Ulteriori modifiche
Per un insieme più completo delle modifiche introdotte nella versione 1.3.0, consulta le note di rilascio della versione beta01.
Consigli per l'implementazione
- Se la tua app consente agli utenti di eseguire la panoramica dei contenuti dello schermo, ad esempio in un'app basata su mappe, disattiva la gestione dello scorrimento impostando
userSwipeEnabled
sufalse
nel composableSwipeDismissableNavHost
e includi un pulsante che consenta agli utenti di passare alla schermata precedente. - Per disattivare le animazioni per un indicatore di posizione durante le animazioni di aumento dell'intensità e di modifica della posizione all'interno di un elenco scorrevole, utilizza un oggetto
SnapSpec
. - Mentre aspetti che un'app multimediale carichi i contenuti per la riproduzione, mostra un componente componibile
Placeholder
vuoto. - Per creare una raccolta di elementi espandibili su richiesta, ti consigliamo di utilizzare la classe sperimentale
ExpandableStateMapping
.
Versione 1.3.0-rc01
10 gennaio 2024
androidx.wear.compose:compose-*:1.3.0-rc01
viene rilasciato. La versione 1.3.0-rc01 contiene questi commit.
Correzioni di bug
-
Abbiamo aggiornato la forma grande
MaterialTheme
in modo che utilizzi un raggio di curvatura dei bordi arrotondati di 26 dp. Questa forma verrà ora utilizzata da Chip eToggleChip
. Questa modifica è necessaria per supportare le regolazioni dell'altezza quando i contenuti richiedono un'altezza maggiore per adattarsi a caratteri di grandi dimensioni. In caso contrario, la forma a stadio esistente ritaglia alcuni contenuti di testo.Questa modifica potrebbe causare un malfunzionamento nei test degli screenshot. (I2e6ae)
Versione 1.3.0-beta02
13 dicembre 2023
androidx.wear.compose:compose-*:1.3.0-beta02
viene rilasciato. La versione 1.3.0-beta02 contiene questi commit.
Correzioni di bug
- Abbiamo ripristinato il movimento di scorrimento previsto in
BasicSwipeToDismissBox
. Questo comportamento è stato modificato in una release precedente, in modo che la parte di scorrimento della transizione si verificasse mentre il dito toccava lo schermo. (Id8e76)
Versione 1.3.0-beta01
15 novembre 2023
androidx.wear.compose:compose-*:1.3.0-beta01
viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.
La versione 1.3-beta01 di Compose per Wear OS indica che questa versione della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear Compose 1.3 include le seguenti nuove funzionalità:
- È stata eseguita la migrazione di
SwipeToDismissBoxState
,SwipeToDismissValue
eModifier.edgeSwipeToDismiss
daandroidx.wear.compose.material
aandroidx.wear.compose.foundation
, insieme all'implementazione di scorrimento per chiudere inBasicSwipeToDismissBox
. In questo modo, la gestione dei gesti per lo scorrimento per chiudere può essere utilizzata indipendentemente da Material Design, ad esempio dalSwipeDismissableNavHost
inandroidx.wear.compose.navigation
. Si consiglia comunque di utilizzareSwipeToDismissBox
diandroidx.wear.compose.material
con Material Design, perché estrae i colori daMaterialTheme
e poi delega l'implementazione rimanente aBasicSwipeToDismissBox
. SwipeDismissableNavHost
ora supporta un nuovo parametrouserSwipeEnabled
in modo che la gestione dello scorrimento possa essere disattivata per le schermate in cui non è richiesta.BasicSwipeToDismissBox
ha migliorato la gestione dell'attenzione utilizzandoHierarchicalFocusCoordinator
.SwipeToReveal
ha nuovi composabiliSwipeToRevealCard
eSwipeToRevealChip
in Material che seguono le indicazioni sull'esperienza utente consigliate perCard
eChip
. Supporta anche l'annullamento dell'azione secondaria.DefaultTextStyle
ora disattiva l'interno dei caratteri per garantire la coerenza sulla piattaforma Android.Chip
eToggleChip
ora regolano la propria altezza per adattarsi ai contenuti che sono aumentati a causa dei caratteri grandi per l'accessibilitàPositionIndicator
ora dispone di specifiche di animazione individuali per le animazioni di dissolvenza in entrata, dissolvenza in uscita e cambio di posizione. Per motivi di prestazioni, ti consigliamo di disattivare l'effetto di dissolvenza e la modifica della posizione quando li utilizzi con elenchi scorrevoli.ExpandableStateMapping
offre un nuovo modo per generareExpandableStates
quando devono essere creati su richiesta e non necessariamente con un ambito@Composable
.Placeholder
ora consente il ripristino se i contenuti non sono più in stato Pronto. Inoltre, l'impostazione Riduci movimento ora si applica all'effetto tremolio e alla modalità Spostamento graduale suPlaceholder
.
Problemi noti
PositionIndicator
non viene inizialmente visualizzato quando viene visualizzata per la prima volta una schermata. Abbiamo intenzione di apportare una modifica in una versione alpha 1.4 iniziale in modo che venga mostrata inizialmente, ma senza animazione.
Modifiche all'API
- Abbiamo rinominato il livello base
SwipeToDismissBox
inBasicSwipeToDismissBox
. In questo modo, la distinzione tra il componente a livello di base e il componente a livello di materiale è più chiaraSwipeToDismissBox
. Quest'ultimo estrae i colori daMaterialTheme
da utilizzare negli scrim e delega l'implementazione rimanente aBasicSwipeToDismissBox
. (Ibecfc) - Abbiamo contrassegnato
rememberExpandableStateMapping
come sperimentale e migliorato il rendimento diexpandableItem
. (I5f6bc) - Abbiamo sostituito la classe
SwipeToRevealAction
nelle API MaterialSwipeToReveal
Card e Chip con un'API basata su slot che utilizza i composabiliSwipeToRevealPrimaryAction
,SwipeToRevealSecondaryAction
eSwipeToRevealUndoAction
. Consulta il codice di esempio per esempi su come utilizzare la nuova API. (Ia8943) - Abbiamo sostituito i flag di animazione
PositionIndicator
con i parametriAnimationSpec
. Le singole animazioni possono essere disattivate passandosnap
comeAnimationSpec
. (I6c523)
Correzioni di bug
- Abbiamo corretto un bug attivato dal testo curvo limitato quando le dimensioni sono limitate (I50efe)
- Abbiamo risolto un potenziale arresto anomalo NaN relativo a
curvedComposable
(I970eb) - Abbiamo annullato la rimozione dell'animazione di evidenziazione della modifica della posizione il giorno
PositionIndicator
. (Ieb424) - Abbiamo rimosso il livello material-core per il chip di materiale per migliorarne il rendimento. (If2dcb)
Versione 1.3.0-alpha08
18 ottobre 2023
androidx.wear.compose:compose-*:1.3.0-alpha08
viene rilasciato. La versione 1.3.0-alpha08 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto singoli flag ai sovraccarichi di
PositionIndicator
per controllare animazioni diverse:showFadeInAnimation
,showFadeOutAnimation
eshowPositionAnimation
. L'API precedente è stata ritirata e inoltra le chiamate alla nuova. Per motivi di prestazioni e per la coerenza dell'esperienza utente, quandoPositionIndicator
viene utilizzato con un elenco scorrevole, consigliamo di disattivare i flagshowFadeInAnimation
eshowPositionAnimation
. SePositionIndicator
viene utilizzato come indicatore autonomo, ad esempio per la regolazione del volume, ti consigliamo di attivare tutte e tre le animazioni. (I44294) - Abbiamo ritirato i materiali
SwipeToDismissBoxState
,SwipeToDismissValue
eedgeSwipeToDismiss
in seguito alla migrazione della funzionalità Scorri per chiudere inwear.compose.foundation
. Sostituisci con gli equivalenti diwear.compose.foundation
. (Iee8c9)
Correzioni di bug
- Abbiamo aggiornato i profili di riferimento per le librerie Wear Compose Foundation, Material e Navigation. (Idb060)
- Abbiamo ripristinato una modifica del comportamento di
PositionIndicator
introdotta in una CL precedente, in modo chePositionIndicator
fosse animato quando una schermata veniva visualizzata inizialmente. Abbiamo intenzione di apportare una modifica simile in una versione alpha 1.4 iniziale, in modo che ilPositionIndicator
venga visualizzato inizialmente, ma senza animazione. (I41843) - Abbiamo risolto alcuni problemi di prestazioni in
PositionIndicator
. (I1c654, b/302399827) - Abbiamo ottimizzato il rendimento dell'implementazione predefinita del provider dello stato dell'esplorazione tocco in modo che si basi su
State<Boolean>
anziché sullo stato derivato. (Ieec4d) - Abbiamo impostato i rettangoli
systemGestureExclusion
per Android 13 e versioni successive. (Ib1f4b)
Versione 1.3.0-alpha07
4 ottobre 2023
androidx.wear.compose:compose-*:1.3.0-alpha07
viene rilasciato. La versione 1.3.0-alpha07 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto singoli flag a
PositionIndicator
per controllare animazioni diverse:showFadeInAnimation
,showFadeOutAnimation
eshowPositionAnimation
. L'API precedente è stata ritirata e inoltra le chiamate alla nuova. Per motivi di prestazioni e per la coerenza dell'esperienza utente, quandoPositionIndicator
viene utilizzato con un elenco scorrevole, consigliamo di disattivare i flagshowFadeInAnimation
eshowPositionAnimation
. SePositionIndicator
viene utilizzato come indicatore autonomo, ad esempio per la regolazione del volume, ti consigliamo di attivare tutte e tre le animazioni. (Ia2d63)
Correzioni di bug
- Abbiamo apportato miglioramenti allo scorrimento per rivelare il movimento aggiungendo un'animazione di dissolvenza al testo dell'azione principale e attenuando l'azione secondaria/modificando la scala dell'icona all'espansione completa dello scorrimento. (Ib7223)
- Ti consigliamo di rendere accessibili le azioni Scorri per scoprire e abbiamo aggiunto azioni di accessibilità personalizzate ai nostri esempi di Scorri per scoprire. (I42224)
- Abbiamo migliorato il rendimento di
SwipeToDismissBox
, incluso il refactoring per assicurarci che la logica iniziale non attivi una ricostituzione.SwipeToDismissBox
ora viene visualizzato nelle dimensioni a schermo intero. (Ie0aa2) - Abbiamo corretto un bug che causava la scomparsa errata del simbolo
PositionIndicator
. (I2091a) - Miglioramento del rendimento di
PositionIndicator
mediante l'ottimizzazione delle ricostruzioni. Successivamente sono stati aggiunti nuovi flag per controllare le animazioni (fadeIn
,fadeOut
epositionChange
) (vedi Modifiche all'API) (Ifac7d) - Abbiamo aggiunto i test di microbenchmark per
PositionIndicator
(Idf875)
Versione 1.3.0-alpha06
20 settembre 2023
androidx.wear.compose:compose-*:1.3.0-alpha06
viene rilasciato. La versione 1.3.0-alpha06 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto il supporto per
Modifier.edgeSwipeToDismiss
conSwipeToReveal
. (I95774, b/293444286) - Abbiamo aggiunto esempi per i materiali
SwipeToRevealChip
eSwipeToRevealCard
. (Ieb974) - Abbiamo aggiornato i profili di riferimento per le librerie Wear Compose Foundation e Material. (I1dd1f)
Versione 1.3.0-alpha05
6 settembre 2023
androidx.wear.compose:compose-*:1.3.0-alpha05
viene rilasciato. La versione 1.3.0-alpha05 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto la gestione in Scorri per visualizzare in modo da poter scorrere un solo elemento alla volta. (I3cd7a)
- È stata migliorata la documentazione di
ScalingLazyColumnDefaults
per adattarla meglio al suo comportamento effettivo. (I886d3)
Versione 1.3.0-alpha04
23 agosto 2023
androidx.wear.compose:compose-*:1.3.0-alpha04
viene rilasciato. La versione 1.3.0-alpha04 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto dell'annullamento per l'azione secondaria di
SwipeToReveal
. (I7a22d)
Modifiche all'API
- Aggiungi
HorizontalPageIndicator
nella raccolta Wear Material3. (Ifee99) - Aggiornamento degli strumenti di anteprima di Wear Compose per l'utilizzo della libreria
androidx.wear.tooling.preview
. (Ib036e)
Correzioni di bug
- Risolto un bug nei pulsanti rotondi per cui i modificatori non venivano collegati correttamente. (I5e162)
Versione 1.3.0-alpha03
9 agosto 2023
androidx.wear.compose:compose-*:1.3.0-alpha03
viene rilasciato. La versione 1.3.0-alpha03 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto due nuovi composabili in Material per l'implementazione di
SwipeToReveal
con schede e chip. Questi composabili seguono le indicazioni UX consigliate per il componente e consentono agli sviluppatori di implementare più facilmenteSwipeToReveal
con i componenti esistenti in Wear Material. (I7ec65) - Abbiamo attivato le annotazioni
FloatRange
come vincoli dell'API, che in precedenza erano indicati nei commenti. (Icb401)
Correzioni di bug
- Abbiamo spostato la logica di scorrimento iniziale di
ScalingLazyColumn
all'interno dionGloballyPositioned()
. (Ic90f1) - Ora utilizziamo
drawWithCache
inPositionIndicator
,ProgressIndicator
eSelectionControls
per ottimizzare le allocazioni di tratti. (I5f225, b/288234617) - Abbiamo corretto la visibilità del segno di spunta nelle caselle di controllo in stato disattivato. (Ib25bf)
- Abbiamo aggiornato
Placeholder
per consentire il ripristino della visualizzazione del segnaposto se i contenuti non sono più nello stato di disponibilità. (Ibd820) - Abbiamo apportato alcune correzioni ai test
Placeholder
non affidabili (Idb560)
Versione 1.3.0-alpha02
26 luglio 2023
androidx.wear.compose:compose-*:1.3.0-alpha02
viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche all'API
- Abbiamo fornito
ExpandableStateMapping
, un nuovo modo per generareExpandableStates
, per i casi in cui devono essere creati su richiesta, non necessariamente nell'ambito di un ambito@Composable
(Iff9e0) - È stata eseguita la migrazione di
SwipeToDismissBox
dal pacchettoandroidx.wear.compose.material
al pacchettoandroidx.wear.compose.foundation
. (I275fb) - File API aggiornati per annotare la soppressione della compatibilità. (I8e87a, b/287516207)
- Abbiamo reso pubbliche le costanti di altezza per
Chip
,CompactChip
eToggleChip
(Idbfde) - Abbiamo reso pubblici i margini orizzontali e verticali per
Chip
eCompactChip
. (Ieeaf7) - È stata aggiunta la funzionalità per disattivare la gestione dello scorrimento in
SwipeDismissableNavHost
tramite il nuovo parametrouserSwipeEnabled
. (Id2a0b, b/230865655) - Abbiamo aggiornato la libreria di navigazione Wear Compose per utilizzare il nuovo
SwipeToDismissBox
di Wear Compose Foundation. (I4ff8e)
Correzioni di bug
- Abbiamo corretto un bug relativo all'ordine z per cui
expandedItem
non mostrava i contenuti corretti dopo aver fatto clic sul comportamento di un pulsante quando sono presenti pulsanti. (I1899d, b/289991514) - Migliorare la gestione dell'attenzione di
SwipeToDismissBox
(e quindi diSwipeDismissableNavHost
) utilizzandoHierarchicalFocusCoordinator
(I45362, b/277852486) - Abbiamo apportato una correzione alla gestione dei gesti in
SwipeableV2
. (I89737) - Abbiamo finalizzato i profili di riferimento per la nostra release 1.2. (Id5740)
- A seguito della migrazione di
SwipeToDismissBox
a Foundation, l'implementazione di MaterialSwipeToDismissBox
ora viene inoltrata a Foundation e fornisce i valori di colore predefiniti dal relativo tema.(If8451) - Abbiamo aggiunto la semantica delle intestazioni a
ListHeader
. (Ic5420) Chip
eToggleChip
ora regolano la loro altezza per adattarsi ai contenuti che sono aumentati a causa di caratteri grandi per l'accessibilità, se necessario. (Iaf302)- È stato corretto un bug nel ruolo semantico dell'area tocabile di
SplitToggleChip
, per l'accessibilità. (Ieed3a) - L'impostazione Riduci movimento ora disattiva l'effetto tremolio e l'animazione di scorrimento sui segnaposto. (I91046)
Stepper
eInlineSlider
ora supportano i clic ripetuti con pressione prolungata, in modo da poter aumentare/diminuire rapidamente il valore diStepper
eInlineSlider
tenendo premuti i pulsanti + o -. (I27359)
Versione 1.3.0-alpha01
21 giu 2023
androidx.wear.compose:compose-*:1.3.0-alpha01
viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Correzioni di bug
- Come annunciato in
1.2.0-alpha07
e1.2.0-alpha10
, stiamo modificando ilDefaultTextStyle
per disattivare l'interno del carattere in modo che sia coerente sulla piattaforma Android. In questo modo verranno risolti alcuni casi di ritaglio del testo con caratteri di grandi dimensioni e potrebbero essere interessati anche i layout dello schermo, pertanto i test degli screenshot devono essere aggiornati. Ad esempio, qui vediamo il ritaglio del testo (Ic6a86)
- Non è più presente quando il rientro dei caratteri è disattivato:
- Abbiamo aggiornato
wear.compose.foundation
in modo che sia una dipendenza API diwear.compose.material
(I72004, b/285404743) - Abbiamo corretto un bug in
SwipeToDismissBox
. Le chiavi di sfondo e dei contenuti vengono ora passate al blocco remember in modo che vengano creati nuovi modificatori quando i contenuti o lo sfondo cambiano. (Ib876c, b/280392104) - Abbiamo aggiornato
TimeText
in modo che utilizzi le impostazioni internazionali quando si sceglie il formato per l'ora in 12 o 24 ore. (If4a3d) - Abbiamo corretto un'incongruenza nei parametri predefiniti di
SwipeToDismissBox
contentScrimColor
. (I2d70f) - Abbiamo migliorato la gestione del movimento in
SwipeToReveal
. (I28fb7)
Problemi noti
- Il supporto delle dimensioni dei caratteri configurate dall'utente è un requisito di accessibilità. Sappiamo che i chip a più righe possono causare il ritaglio del testo quando vengono visualizzati con caratteri di grandi dimensioni, pertanto aggiorneremo Chip in una versione alpha 1.3 iniziale per apportare modifiche all'altezza in questi casi.
Versione 1.2
Versione 1.2.1
18 ottobre 2023
androidx.wear.compose:compose-*:1.2.1
viene rilasciato. La versione 1.2.1 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava la scomparsa errata del pulsante
PositionIndicator
. (7a167f)
Versione 1.2.0
9 agosto 2023
androidx.wear.compose:compose-*:1.2.0
viene rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- Release stabile di Compose per Wear OS 1.2.0 (scopri di più)
- Per un elenco delle modifiche principali in Compose per Wear OS 1.2, consulta le note di rilascio di Compose per Wear OS 1.2 Beta01.
Versione 1.2.0-rc01
26 luglio 2023
androidx.wear.compose:compose-*:1.2.0-rc01
viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Abbiamo finalizzato i profili di riferimento per la nostra release 1.2 (Id5740)
Versione 1.2.0-beta02
7 giugno 2023
androidx.wear.compose:compose-*:1.2.0-beta02
viene rilasciato. La versione 1.2.0-beta02 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto la nuova variabile sperimentale
LocalReduceMotion
CompositionLocal
che disattiva la scalabilità e lo sfumamento suScalingLazyColumn
. (I58024)
Correzioni di bug
- Abbiamo aggiornato i profili di riferimento per le librerie di Material e Wear Compose Foundation(I4725d)
- Abbiamo corretto un'incongruenza nei valori predefiniti per i parametri
SwipeToDismissBox
contentScrimColor
(I2d70f) - Abbiamo corretto il valore predefinito
DefaultTextStyle
utilizzato per l'impostazioneIncludeFontPadding
(I737ed)
Versione 1.2.0-beta01
24 maggio 2023
androidx.wear.compose:compose-*:1.2.0-beta01
viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.
Novità di Scrivi per Wear OS 1.2
La versione 1.2-beta01 di Compose per Wear OS indica che questa versione della libreria è completa e che l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear Compose 1.2 include le seguenti nuove funzionalità:
expandableItem
eexpandableItems
sono due nuovi componentiFoundation
che supportano l'espansione degli elementi all'interno di unScalingLazyColumn
. UtilizzaexpandableItem
per un singolo elemento espandibile, ad esempio Testo in cui il numero di righe. UtilizzaexpandableItems
per un gruppo di elementi espandibili eexpandableButton
per semplificare la creazione di un pulsante che si comprime dopo l'espansione dei contenuti.HierarchicalFocusCoordinator
: questo composable sperimentale consente di contrassegnare i sottoalberi della composizione come con o senza stato attivo.Picker
: l'API ora includeuserScrollEnabled
per controllare se il selettore è attivo per lo scorrimento dell'utente.PickerGroup
: un nuovo composable per gestire più selettori contemporaneamente. Gestisce lo stato attivo tra i selettori utilizzando l'APIHierarchicalFocusCoordinator
e consente il centratura automatica degli elementi del selettore.Placeholder
: abbiamo apportato aggiornamenti alle animazioni Shimmer e "Cancella". L'effetto di cancellazione viene ora applicato immediatamente quando i contenuti sono pronti.ScalingLazyColumn
: abbiamo eseguito la migrazione diScalingLazyColumn
e dei corsi associati daandroidx.wear.compose.material.ScalingLazyColumn
aandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
. Esegui l'aggiornamento per utilizzare la versioneFoundation.Lazy
.SwipeToReveal
: abbiamo aggiunto il supporto sperimentale per lo scorrimento per visualizzare come mezzo per accedere alle azioni secondarie, integrando il pattern esistente di "pressione prolungata".Stepper
: ora ha un sovraccarico con un parametroenableRangeSemantics
aggiuntivo per semplificare la disattivazione della semantica dell'intervallo predefinita.Previews
: abbiamo aggiunto le seguenti annotazioni personalizzate per l'anteprima dei composabili sulle schermate Wear:WearPreviewSmallRound
mostra l'anteprima del composable su un dispositivo piccolo e rotondo;WearPreviewLargeRound
mostra l'anteprima del composable su un dispositivo grande e rotondo;WearPreviewSquare
mostra l'anteprima del composable su un dispositivo quadrato. Inoltre, le seguenti annotazioni con più anteprime:WearPreviewFontScales
mostra l'anteprima dei composabili su un dispositivo Wear con più dimensioni dei caratteri, mentreWearPreviewDevices
mostra l'anteprima dei composabili su diversi dispositivi Wear.- Abbiamo aggiunto un
DefaultTextStyle
a Wear Compose che imposta per impostazione predefinita la proprietàPlatformTextStyle.includeFontPadding
su true (questa è l'impostazione corrente). In questo modo potremo sincronizzare la disattivazione dell'interno del carattere per impostazione predefinita con le librerie Compose in una versione alpha 1.3 iniziale. Per ulteriori informazioni, consulta 1.2.0-alpha10.
Nuove funzionalità
- Abbiamo aggiunto il supporto sperimentale per la disattivazione della scalabilità e dell'animazione di dissolvenza quando l'impostazione reduce_motion è attiva. (I58024)
Correzioni di bug
- Documentazione migliorata per
angularWidthDp
inCurvedSize.kt
(Iab75c) SwipeDismissableNavHost
ora registra un avviso con le potenziali cause di un backstack vuoto. Questo viene fatto per evitare arresti anomali imprevisti causati daIllegalArgumentException
, che è stato lanciato quando la pila di ritorno era vuota. (I04a81, b/277700155)
Versione 1.2.0-alpha10
10 maggio 2023
androidx.wear.compose:compose-*:1.2.0-alpha10
viene rilasciato. La versione 1.2.0-alpha10 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto per Scorri per visualizzare, come mezzo per accedere alle azioni secondarie. Questo pattern integra il pattern di "pressione prolungata", il modo esistente in cui un utente può rivelare azioni secondarie (diverse). (I60862)
Modifiche all'API
- Abbiamo aggiunto
RevealScope
ai composabili di azioni inSwipeToReveal
, che consente di accedere all'offset in cui vengono visualizzate altre azioni. (I3fd56)
Correzioni di bug
- È stato risolto un problema relativo al blocco di
ScalingLazyColumn
sull'API Wear 33 dopo il fling (Ic4599) - Abbiamo apportato alcuni miglioramenti alle prestazioni di
PositionIndicator
per ridurre il jitter. (I35e92) - Abbiamo corretto un bug in Chip e
CompactChip
per cui il ruolo semantico non veniva più impostato suRole.Button
. (I93f91, b/277326264)
Problemi noti
Abbiamo identificato un bug in Android Studio che causa un errore di rendering dell'anteprima quando è annotata con @WearPreviewDevices e @WearPreviewFontScales. È prevista la pubblicazione di una correzione a breve. Tieni presente che le altre annotazioni di anteprima per Wear OS funzionano come previsto in Android Studio Giraffe 2022.3.1 e versioni successive.
Nella versione 1.2.0-alpha07 abbiamo aggiunto DefaultTextStyle a Wear Compose, mantenendo il valore esistente di PlatformTextStyle.includeFontPadding su true. Per lo sfondo, vedi Correggere l'interno del carattere in Compose. Modificheremo DefaultTextStyle per disattivare l'interno del carattere in una versione alpha 1.3 iniziale, in modo da garantire la coerenza sulla piattaforma Android. In questo modo verranno risolti alcuni casi di ritaglio del testo con caratteri di grandi dimensioni e potrebbero essere interessati anche i layout dello schermo, pertanto i test degli screenshot devono essere aggiornati. Ad esempio, con caratteri di grandi dimensioni, il testo viene tagliato qui:
- Non è più presente quando il rientro dei caratteri è disattivato:
La nuova impostazione può essere adottata ora sostituendo la tipografia nel tema. Consulta il codice di esempio.
Versione 1.2.0-alpha09
19 aprile 2023
androidx.wear.compose:compose-*:1.2.0-alpha09
viene rilasciato. La versione 1.2.0-alpha09 contiene questi commit.
Modifiche all'API
- Aggiungi
angularSizeDp
all'APICurvedModifier
per impostare la larghezza angolare in DP (I89a52)
Correzioni di bug
- Abbiamo risolto i problemi di accessibilità nelle demo del selettore dell'ora(Id0eb7)
Versione 1.2.0-alpha08
5 aprile 2023
androidx.wear.compose:compose-*:1.2.0-alpha08
viene rilasciato. La versione 1.2.0-alpha08 contiene questi commit.
Modifiche all'API
- Abbiamo rinominato
ExpandableItemsState
inExpandableState
. (If85ea) - Abbiamo aggiunto
expandableButton
per semplificare la creazione di un pulsante che si comprime quando i contenuti vengono espansi e abbiamo aggiornato gli esempi di elementi espandibili. (Iae309)
Correzioni di bug
- Esempi espandibili migliorati per mostrare più possibilità. Animazione modificata di
expandableItem
per mantenere i contenuti al centro durante l'animazione. (I2f637) - Aggiornamento di
ToggleControls
per evitare ricostruzioni aggiuntive quando si animano manualmente i colori utilizzando State. (I5d319)
Versione 1.2.0-alpha07
22 marzo 2023
androidx.wear.compose:compose-*:1.2.0-alpha07
viene rilasciato. La versione 1.2.0-alpha07 contiene questi commit.
Modifiche all'API
- Abbiamo spostato i componenti Elemento espandibile (aggiunti nella versione 1.2.0-alpha06) da Material a Componenti di base, poiché non avevano un riferimento significativo a
MaterialTheme
. (Ib0525)
Correzioni di bug
- Abbiamo risolto un arresto anomalo che si verificava in una schermata che utilizza
PickerGroup
, assicurandoci chePickerGroup
gestisca correttamente lo stato attivo quando nessun selettore ha lo stato attivo. È stato aggiunto anche il supporto dello scorrimento della barra di scorrimento verticale nelle demo del selettore. (If8c19) - Abbiamo migliorato le transizioni dei dialoghi: la transizione introduttiva è ora più fluida per abbinarsi alla transizione di chiusura. (Ib5af9)
- Abbiamo aggiunto un
DefaultTextStyle
a Wear Compose che imposta per impostazione predefinita la proprietàPlatformTextStyle.includeFontPadding
su true (questa è l'impostazione corrente). In questo modo, in futuro potremo sincronizzare la disattivazione dell'interno dei caratteri per impostazione predefinita con le librerie di Compose. Per maggiori informazioni, consulta l'articolo Correggere l'interno dei caratteri in Compose. (I2aee8) - È stata ripristinata una dipendenza dall'anteprima
UpsideDownCake
tramite activity-compose che bloccava la pubblicazione di app sul Google Play Store. (I6443d)
Versione 1.2.0-alpha06
8 marzo 2023
androidx.wear.compose:compose-*:1.2.0-alpha06
viene rilasciato. La versione 1.2.0-alpha06 contiene questi commit.
Modifiche all'API
- Aggiungi il componente
CurvedBox
, che sovrappone i componenti nel mondo curvo. (I29200) - Sono stati aggiunti gli elementi espandibili: due nuovi componenti per supportare un gruppo di elementi espandibili in un
ScalingLazyColumn
o un singolo elemento espandibile, ad esempio il testo in cui il numero di righe aumenta. (I95dd5) - Abbiamo aggiunto le seguenti annotazioni personalizzate per visualizzare l'anteprima dei composabili sugli schermi Wear:
WearPreviewSmallRound
mostra l'anteprima del composable su un dispositivo piccolo e rotondo;WearPreviewLargeRound
mostra l'anteprima del composable su un dispositivo grande e rotondo;WearPreviewSquare
mostra l'anteprima del composable su un dispositivo quadrato. Inoltre, le seguenti annotazioni con più anteprime:WearPreviewFontScales
mostra l'anteprima dei composabili su un dispositivo Wear con più dimensioni dei caratteri, mentreWearPreviewDevices
mostra l'anteprima dei composabili su diversi dispositivi Wear. Per utilizzare queste anteprime, devi utilizzare la versione più recente di Android Studio (Giraffe Canary 6) o successive. Tieni presente che, se queste annotazioni non sono adatte alle tue finalità, puoi comunque utilizzare Anteprima, che supporta ulteriori personalizzazioni tramite i parametri. (I397ff) - Abbiamo contrassegnato
HierarchicalFocusCoordinator
come sperimentale, anche se è considerato un candidato per essere spostato nelle librerie di composizione di base, data la sua ampia applicabilità. (I3a768)
Correzioni di bug
- È stato corretto un bug relativo a
HierarchicalFocusCoordinator
: quando la funzione lambda passata per il parametrofocusEnabled
viene modificata, ora viene utilizzata correttamente quella nuova. (Icb353) - Abbiamo aggiornato il colore predefinito dei contenuti disattivati in Sfondo quando si utilizzano i colori primari come sfondo in
Button
,CompactButton
,Chip
,CompactChip
eToggleButton
. In questo modo, il contrasto migliora l'accessibilità. (I527cc)
Versione 1.2.0-alpha05
22 febbraio 2023
androidx.wear.compose:compose-*:1.2.0-alpha05
viene rilasciato. La versione 1.2.0-alpha05 contiene questi commit.
Modifiche all'API
- L'API
PickerGroup
è stata aggiornata per consentire la propagazione facoltativa delle limitazioni minime al composable. Se impostato su true, i vincoli minimi passati dal componibile principale saranno consentiti inPickerGroup
. Se impostato su false,PickerGroup
reimposta i vincoli minimi. (I3e046) - Abbiamo aggiunto
animateScrollToOption
all'API Picker per supportare l'animazione programmatica per un'opzione del selettore specifica (I6fe67)
Correzioni di bug
- Abbiamo aggiornato
HorizontalPageIndicator
per supportare i layout da destra a sinistra. (Ia4359) - Sono stati aggiunti test di screenshot per il layout da destra a sinistra in
HorizontalPageIndicator
(I6fbb8) - Sono stati aggiunti ulteriori test a
SwipeDismissableNavHostTest
che utilizzanoTestNavHostController
(I61d54)
Versione 1.2.0-alpha04
8 febbraio 2023
androidx.wear.compose:compose-*:1.2.0-alpha04
viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.
Nuove funzionalità
PickerGroup
per gestire più selettori contemporaneamente utilizzando l'API focus. Gestisce lo stato attivo tra i diversi selettori, attiva il centratura automatica dei selettori in base ai parametri e consente agli sviluppatori di spostare lo stato attivo tra i diversi selettori durante la gestione degli eventi del gruppo. In modalità TalkBack, il tastoPickerGroup
gestisce lo stato attivo di TalkBack spostandolo sul selettore selezionato dal gruppo. (I60840)
Modifiche all'API
- Abbiamo aggiunto un sovraccarico a Stepper con un parametro
enableRangeSemantics
aggiuntivo per facilitare la disattivazione della semantica dell'intervallo predefinito (Ia61d4)
Correzioni di bug
- Consenti l'inserimento di
ScalingLazyColumn
all'interno di una pagina con scorrimento orizzontale (Iec3f8, b/266555016) - Miglioramento dei kdocs di Stepper e pulizia dei test
StepperTest
. (Ic118e) - dipendenza
androidx.navigation
aggiornata alla versione 2.5.3 (If58ed)
Versione 1.2.0-alpha03
25 gennaio 2023
androidx.wear.compose:compose-*:1.2.0-alpha03
viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.
Modifiche all'API
- Abbiamo eseguito la migrazione di
ScalingLazyColumn
(e dei relativi corsi) daandroidx.wear.compose.material.ScalingLazyColumn
aandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn
(vedi questo esempio per la migrazione). Questa nuova posizione corrisponde più da vicino a quella dicompose.foundation.lazy.LazyColumn
ed è più naturale in quanto non è un componente Material con opinioni. Il cambiamento è in corso in vista della creazione di una nuova libreria Material3, su cui lavoreremo in parallelo con la libreria Material esistente. (I060e7)
Le seguenti modifiche fanno parte della migrazione di ScalingLazyColumn
da Material a Foundation.Lazy
:
- Le API
PositionIndicator
che hanno come target MaterialScalingLazyColumn
sono state ritirate. Esegui l'aggiornamento aFoundation.Lazy ScalingLazyColumn
. Inoltre, il campoanchorType
è stato aggiunto aScalingLazyListLayoutInfo
. (I29d95) ScalingLazyColumn
è stato contrassegnato come deprecato nel pacchetto Wear Compose Material (I16d34)- Abbiamo aggiornato il modificatore
ScrollAway
in modo che utilizziScalingLazyListState
di Wear ComposeFoundation.Lazy
e abbiamo ritirato l'overload che prendevaScalingLazyListState
da Wear Compose Material. (Ifc42c) - Abbiamo aggiornato le API Dialog per utilizzare
ScalingLazyListState
daFoundation.Lazy
e abbiamo ritirato gli overload che utilizzavano MaterialScalingLazyListState
(Ic8960) - Abbiamo aggiornato le API Picker in modo che utilizzino
ScalingParams
daFoundation.Lazy
e abbiamo ritirato gli overload che utilizzavano MaterialScalingParams
. (Idc3d8)
Correzioni di bug
- Abbiamo corretto un bug che causava ricostruzioni non necessarie in
ScalingLazyListState.centerItemIndex
assicurandoci che invii aggiornamenti solo quando il valore cambia effettivamente (Ia9f38) - Abbiamo migliorato il rendimento di
SwipeToDismissBox
(I3933b) - Sono stati aggiunti test di benchmark per
ScalingLazyColumn
in Wear Compose Foundation (Ie00f9) - Abbiamo aggiornato alcuni metodi delle classi
ScalingLazyColumn
interne in Material per utilizzare i relativi equivalenti diFoundation.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 dei demo di integrazione di
ScalingLazyColumn
in modo che dipendano daFoundation.Lazy
anziché dal materialeScalingLazyColumn
(Ic6caa) - Abbiamo aggiunto parametri
fromDate/toDate
facoltativi alla nostra demoDatePicker
(I961cd)
Versione 1.2.0-alpha02
11 gennaio 2023
androidx.wear.compose:compose-*:1.2.0-alpha02
viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
Modifiche all'API
- Ora i test dell'interfaccia utente di Android Compose eseguono passaggi di layout per ogni frame durante l'esecuzione dei frame per raggiungere lo stato inattivo (ad es. tramite
waitForIdle
). Ciò potrebbe influire sui test che eseguono verifiche sui singoli frame delle animazioni del layout. (I8ea08, b/222093277) - Il parametro
minLines
viene aggiunto a Wear Text per un comportamento coerente conBasicText
(I24874) CompactChipTapTargetPadding
è stato reso pubblico in modo che venga visualizzato nella documentazione (If1e70, b/234119038)
Correzioni di bug
- Disattivare le build multipiattaforma per i pacchetti
wear.compose
(Iad3d7) - Correggi i documenti di k per
scrollToOption
(I6f9a0) PlaceholderState.rememberPlaceholderState()
aggiornato per utilizzarerememberUpdatedState
in modo che lo stato venga aggiornato se la funzione lambdaonContentReady
. (I02635, b/260343754)- Abbiamo risolto un problema di jitter del testo riscontrato nel componente
Picker
sfruttando la nuova strategia di composizione aggiunta aModifier.graphicsLayer
. (I99302) - Abbiamo corretto un bug che causava sfarfallio nella nostra demo
DatePicker
(I660bd) - Abbiamo migliorato l'accessibilità delle demo del selettore di data e ora in formato 12 ore (I05e12)
- Abbiamo aggiornato le demo dei selettori di data e ora in modo che non siano interessati dalle modifiche all'RSB quando non sono selezionati (I4aecb)
Versione 1.2.0-alpha01
7 dicembre 2022
androidx.wear.compose:compose-*:1.2.0-alpha01
viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiornato la funzionalità sperimentale dei segnaposto in modo che l'effetto "Cancella" venga applicato immediatamente quando i contenuti sono pronti, anziché attendere l'inizio del ciclo di animazione successivo. Abbiamo anche apportato alcuni aggiornamenti alle animazioni di sfarfallio e di scomparsa. (I5a7f4)
Modifiche all'API
- Abbiamo aggiunto un componente composable
HierarchicalFocusCoordinator
per consentire di contrassegnare i sottoalberi della composizione come con o senza stato attivo.(I827cb) - Abbiamo aggiunto una nuova proprietà per sostituire il ruolo semantico per
ToggleButton
.(I67132) - Abbiamo aggiornato
TimeTextDefaults.TimeFormat12Hours
per rimuovere AM/PM inTimeText
. In questo modo verrà modificato il valore predefinito dei parametritimeSource
nell'APITimeText
. (I1eb7f) - Abbiamo esteso l'API Picker per migliorare l'accessibilità delle schermate con più selettori. Esiste una nuova proprietà
userScrollEnabled
per controllare se il selettore è attivo per lo scorrimento dell'utente. (I3c3aa)
Correzioni di bug
- Abbiamo modificato la larghezza del bordo predefinita per un
OutlinedButton/OutlinedCompactButton
da 2 dp a 1 dp in modo che corrisponda alle specifiche UX finali. (Icf84d) - Per ridurre l'effetto del primo elemento aggiunto a un
ScalingLazyColumn
vuoto che sembra scorrere nella posizione corretta, abbiamo aggiunto un valore stimato diautoCentering topPadding
quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura superiore necessaria assumendo un elemento iniziale di altezza 0.dp. PerScalingLazyListAnchorType.ItemStart
verrà calcolato il padding superiore corretto, mentre perScalingLazyListAnchorType.ItemCenter
questo calcolo sarà errato perché l'altezza degli elementi è necessaria per dimensionare correttamente i contenuti, con un piccolo effetto di scorrimento in base all'altezza reale degli elementi.(I239a4) - Abbiamo aggiornato lo scrim di sfondo applicato all'animazione
SwipeToDismiss
in modo che corrisponda alla piattaforma Wear. (I9003e) - Abbiamo corretto la gestione di
PositionIndicator
perLazyListState
eScalingLazyListState
per gli elementi dell'elenco di dimensione 0 per evitare errori di divisione per zero.(Ic28dd)
Versione 1.1
Versione 1.1.2
8 febbraio 2023
androidx.wear.compose:compose-foundation:1.1.2
, androidx.wear.compose:compose-material:1.1.2
e androidx.wear.compose:compose-navigation:1.1.2
vengono rilasciati. La versione 1.1.2 contiene questi commit.
Correzioni di bug
- Abbiamo corretto un bug che causava ricostruzioni non necessarie in
ScalingLazyListState.centerItemIndex
assicurandoci che invii aggiornamenti solo quando il valore cambia effettivamente (Ia9f38)
Versione 1.1.1
11 gennaio 2023
androidx.wear.compose:compose-foundation:1.1.1
, androidx.wear.compose:compose-material:1.1.1
e androidx.wear.compose:compose-navigation:1.1.1
vengono rilasciati. La versione 1.1.1 contiene questi commit.
Correzioni di bug
PlaceholderState.rememberPlaceholderState()
aggiornato per utilizzarerememberUpdatedState
in modo che lo stato venga aggiornato se la funzione lambdaonContentReady
. (I02635, b/260343754)
Versione 1.1.0
7 dicembre 2022
androidx.wear.compose:compose-foundation:1.1.0
, androidx.wear.compose:compose-material:1.1.0
e androidx.wear.compose:compose-navigation:1.1.0
vengono rilasciati. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Release stabile di Compose per Wear OS 1.1.0 (scopri di più).
- Per un elenco delle modifiche principali in Wear Compose 1.1, consulta le note di rilascio di Compose per Wear OS 1.1 Beta01.
Nuove funzionalità
- Abbiamo aggiornato la funzionalità sperimentale dei segnaposto in modo che l'effetto "Cancella" venga applicato immediatamente quando i contenuti sono pronti, anziché attendere l'inizio del ciclo di animazione successivo. Abbiamo anche apportato alcuni aggiornamenti alle animazioni di sfarfallio e di scomparsa. (I5a7f4)
Correzioni di bug
- Abbiamo modificato la larghezza del bordo predefinita per un
OutlinedButton/OutlinedCompactButton
da 2 dp a 1 dp in modo che corrisponda alle specifiche UX finali. (Icf84d) - Per ridurre l'effetto del primo elemento aggiunto a un
ScalingLazyColumn
vuoto che sembra scorrere nella posizione corretta, abbiamo aggiunto un valore stimato diautoCentering topPadding
quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura superiore necessaria assumendo un elemento iniziale di altezza 0.dp. PerScalingLazyListAnchorType.ItemStart
verrà calcolato il padding superiore corretto, mentre perScalingLazyListAnchorType.ItemCenter
questo calcolo sarà errato perché l'altezza degli elementi è necessaria per dimensionare correttamente i contenuti, con un piccolo effetto di scorrimento in base all'altezza reale degli elementi.(I239a4) - Abbiamo aggiornato lo scrim di sfondo applicato all'animazione
SwipeToDismiss
in modo che corrisponda alla piattaforma Wear.(I9003e) - Abbiamo corretto la gestione di
PositionIndicator
perLazyListState
eScalingLazyListState
per gli elementi dell'elenco di dimensione 0 per evitare errori di divisione per zero.(Ic28dd)
Versione 1.1.0-rc01
9 novembre 2022
androidx.wear.compose:compose-foundation:1.1.0-rc01
, androidx.wear.compose:compose-material:1.1.0-rc01
e androidx.wear.compose:compose-navigation:1.1.0-rc01
vengono rilasciati. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto regole per i profili di riferimento per
Placeholders
,ScrollAway
,RadioButton
,Switch
,Checkbox
,OutlinedButton
,OutlinedCompactButton
,OutlinedChip
eOutlinedCompactChip
. (I8249c) - Abbiamo corretto un bug in
Modifier.scrollAway
in modo che, se il valoreitemIndex
specificato non è valido (ad esempio se l'indice dell'elemento non è compreso nell'intervallo),TimeText
venga comunque visualizzato. (I2137a) - Abbiamo aggiornato l'animazione
SwipeToDismissBox
in modo che corrisponda all'implementazione della piattaforma. Dopo l'animazione iniziale di compressione, lo schermo ora scorre verso destra una volta attivato il rifiuto. (I41d34) - Come ottimizzazione, abbiamo aggiornato
Modifier.scrollAway
in modo che legga soloscrollState
all'interno del blocco di misurazione per evitare di ricomporre il modificatore dopo ogni nuova misurazione. (I4c6f1) - Abbiamo aggiunto documentazione e un esempio ai segnaposto per mostrare l'ordinamento corretto di
Modifier.placeholder
eModifier.placeholderShimmer
quando applicati allo stesso composable. (Ie96f4, b/256583229) - Abbiamo modificato la larghezza del bordo predefinita per un
OutlinedCompactChip/OutlinedChip
da 2 dp a 1 dp in modo che corrisponda alle specifiche UX finali. (Ib3d8e) - Abbiamo corretto un bug in
rememberPickerState
per cui gli input aggiornati non venivano salvati, pertanto i composabili non venivano aggiornati dopo le modifiche agli input. (I49ff6, b/255323197) - Abbiamo apportato alcuni aggiornamenti all'interfaccia utente dei segnaposto: 1) modifica della sfumatura di sfarfallio in 1, 5 volte le dimensioni dello schermo, 2) aggiunta di un'attenuazione (cubic bezier) della progressione di sfarfallio e 3) accelerazione dell'animazione di scomparsa (250 ms). (Id29c1)
- Abbiamo corretto un bug dell'interfaccia utente nell'effetto di scomparsa dei segnaposto, per cui gli sfondi di chip e schede scomparivano leggermente in anticipo a causa della mancata considerazione della posizione del componente sullo schermo. (I2c7cb)
- Abbiamo aggiornato il disegno dello sfondo del segnaposto per unire i colori anziché sovrapporli, ove possibile, per ridurre il rischio che la miscelazione alfa dei diversi livelli ritagliati consenta ai colori sottostanti di trasparire ai bordi dello sfondo del segnaposto. (I2ea26)
- Abbiamo corretto il calcolo di
ScalingLazyListState.centerItemIndex/centerItemOffset
in modo che, se due elementi si trovano ai lati della linea centrale del viewport, quello più vicino venga consideratocenterItem
. (I30709, b/254257769) - Abbiamo corretto un bug in
ScalingLazyListState.layoutInfo.visibleItemsInfo
che registrava offset errati durante l'inizializzazione diScalingLazyColumn
. Ora verrà restituito un elenco vuoto finché tutti gli elementi dell'elenco non saranno visibili e avranno gli offset corretti. La presenza diScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
confermerà che l'inizializzazione diScalingLazyColumn
è completata e che gli elementi sono visibili. (I3a3b8)
Versione 1.1.0-beta01
24 ottobre 2022
androidx.wear.compose:compose-foundation:1.1.0-beta01
, androidx.wear.compose:compose-material:1.1.0-beta01
e androidx.wear.compose:compose-navigation:1.1.0-beta01
vengono rilasciati. La versione 1.1.0-beta01 contiene questi commit.
Novità di Scrivi per Wear OS 1.1
La versione 1.1.0-beta01 di Compose per Wear OS ha indicato che questa release della libreria è completa di funzionalità e che l'API è bloccata.
- La release 1.1 di Wear Compose include la seguente nuova funzionalità:
- Selettore: miglioramenti all'accessibilità del selettore in modo che le schermate con più selettori siano navigabili con gli screen reader e la descrizione dei contenuti sia accessibile
- Il parametro selettore
contentDescription
viene ora utilizzato solo per l'opzione selettore selezionata e accetta una stringa nullable (nel commit precedente era necessario passare una mappatura dall'opzione alla descrizione dei contenuti, ma veniva utilizzata solo l'opzione selezionata). - Gli elementi del selettore ora sono sempre allineati al centro. È stato corretto un bug che causava la modifica dell'allineamento quando si impostava
gradientRatio
su zero. Chip/ToggleChip
: abbiamo aggiornato i gradienti predefiniti perChip/ToggleChip
in modo che siano in linea con le ultime specifiche UX.ChipDefaults.gradientBackgroundChipColors
è stato aggiornato in modo da iniziare dal 50% del colore principale anziché dal 32,5%.Chip/ToggleChip
- Sono stati aggiunti sovraccarichi per la modifica delle forme dei chipChip/Button/ToggleButton
- È stato aggiunto un nuovo stile con bordi per i chip e i pulsanti e nuovi composabiliOutlinedChip
eOutlinedButton
che forniscono unChip/Button
trasparente con un bordo sottile.- Scheda: sono stati aggiornati i gradienti predefiniti per le schede in modo che siano in linea con le ultime specifiche UX.
CardDefaults.cardBackgroundPainter
è stato aggiornato in modo da iniziare dal 30% del colore principale e terminare al 20% dionSurfaceVariant
(in precedenza era dal 20% al 10% dionSurfaceVariant
).ToggleChip.toggleChipColors
passa da una sfumatura lineare del 75% di superficie al 32,5% di colore principale a 0% di superficie al 50% di colore principale. Button/ToggleButton
- Sono state aggiunte proprietà per modificare le forme dei pulsanti.- Tema: sono stati aggiornati alcuni colori predefiniti in
MaterialTheme
per migliorare l'accessibilità, in quanto i colori originali non avevano un contrasto sufficiente e gli utenti avevano difficoltà a distinguere gli sfondi di chip/schede/pulsanti dal colore di sfondo del tema. InlineSlider/Stepper
: i ruoli dei pulsanti sono stati aggiunti in modo cheTalkback
possa riconoscerli come pulsanti.- Struttura:
PositionIndicator
ora è posizionato e ridimensionato in modo da occupare solo lo spazio necessario. Questo è utile, ad esempio, se vengono aggiunte informazioni semantiche, ora TalkBack riceve i limiti corretti delPositionIndicator
sullo schermo. CurvedText/TimeText
- È stato aggiuntoModifier.scrollAway
, che consente di scorrere un elemento verticalmente in/fuori dalla visualizzazione in base allo stato di scorrimento (con sovraccarichi per lavorare conColumn
,LazyColumn
eScalingLazyColumn
).ScrollAway
viene in genere utilizzato per far scorrere unTimeText
fuori dalla visualizzazione quando l'utente inizia a scorrere un elenco di elementi verso l'alto.CurvedText/TimeText
- È stato aggiunto il supporto perfontFamily
,fontStyle
efontSynthesis
inCurvedTextStyle
, utilizzabile sucurvedText
ebasicCurvedText
CurvedText/TimeText
- È stato aggiuntofontWeight
al metodo di copia e al costruttore diCurvedTextStyle
ToggleControls
: sono stati aggiunti i controlli di attivazione/disattivazione animatiCheckbox
,Switch
eRadioButton
da utilizzare conToggleChip
eSplitToggleChip
. Possono essere utilizzate al posto delle icone statiche fornite daToggleChipDefaults
(switchIcon
,checkboxIcon
eradioIcon
).- Segnaposto: è stato aggiunto il supporto sperimentale dei segnaposto. Sono presenti tre effetti visivi distinti progettati per interagire tra loro.
- Innanzitutto, un effetto di pennello di sfondo segnaposto utilizzato in contenitori come Chip e Schede per disegnare sopra lo sfondo normale durante l'attesa del caricamento dei contenuti.
- In secondo luogo, un modificatore (
Modifier.placeholder()
) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento. - In terzo luogo, un effetto modificatore sfumato/tremolante (
Modifier.placeholderShimmer()
) che viene disegnato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati.- Tutti questi effetti sono progettati per essere coordinati e avere un effetto scintillante e svanire in modo orchestrato.
- Le dipendenze di Compose di base sono state aggiornate dalla versione 1.2 alla versione 1.3
Modifiche all'API
- I parametri dei caratteri (
fontFamily
,fontWeight
,fontStyle
efontSynthesis
) ora possono essere specificati direttamente come parametri dicurvedText
(Idc422)
Correzioni di bug
curveText
ebasicCurvedText
ora funzioneranno correttamente con TalkBack (sono associati a un nodo compose-ui di dimensioni e posizionamento corretti (ma vuoto), che utilizza il testo come descrizione dei contenuti) (I7af7c, b/210721259)- Correzione di bug al
Picker
quandoPickerState.repeatedItems = false
per aggiungere un'impostazione esplicita dei parametri di autocentratura all'ScalingLazyColumn
interno dei selettori per garantire che sia possibile scorrere l'opzione zero fino al centro della visualizzazione. (I8a4d7)
Versione 1.1.0-alpha07
5 ottobre 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha07
, androidx.wear.compose:compose-material:1.1.0-alpha07
e androidx.wear.compose:compose-navigation:1.1.0-alpha07
vengono rilasciati. La versione 1.1.0-alpha07 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto sperimentale dei segnaposto. Sono presenti tre effetti visivi distinti progettati per interagire tra loro. Innanzitutto, un effetto di pennello di sfondo segnaposto utilizzato in contenitori come Chip e Schede per disegnare sopra lo sfondo normale durante l'attesa del caricamento dei contenuti. In secondo luogo, un modificatore (
Modifier.placeholder()
) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento. In terzo luogo, un effetto modificatore sfumato/tremolante (Modifier.placeholderShimmer()
) che viene disegnato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati. Tutti questi effetti sono progettati per essere coordinati e avere un effetto scintillante e svanire in modo orchestrato. (I3c339)
Modifiche all'API
- È stato aggiunto il supporto per
fontWeight
,fontFamily
,fontStyle
efontSynthesis
inCurvedTextStyle
, utilizzabile sucurvedText
ebasicCurvedText
. Questi parametri possono essere utilizzati per specificare il carattere e lo stile da utilizzare per il testo curvo.(Iaa1a8),(I72759) - Aggiornamento del parametro di offset di
Modifier.scrollAway
in Dp per coerenza conModifier.offset
(in precedenza era in pixel). Inoltre, è stato sottoposto a refactoring comeLayoutModifier
per garantire efficienza. (I9f94b) - Nell'ambito della nuova API di controllo a pulsante, abbiamo rinominato
RadioButton’s circleColor
inringColor
. (I28fa9) - Abbiamo aggiunto i controlli di attivazione/disattivazione animati
Checkbox
,Switch
eRadioButton
da utilizzare conToggleChip
eSplitToggleChip
. Possono essere utilizzate al posto delle icone statiche fornite daToggleChipDefaults
(switchIcon
,checkboxIcon
eradioIcon
). (I8a8c4)
Versione 1.1.0-alpha06
21 settembre 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha06
, androidx.wear.compose:compose-material:1.1.0-alpha06
e androidx.wear.compose:compose-navigation:1.1.0-alpha06
vengono rilasciati. La versione 1.1.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
Modifier.scrollAway
, che consente di scorrere un elemento verticalmente in/fuori dalla visualizzazione in base allo stato di scorrimento (con sovraccarichi per lavorare conColumn
,LazyColumn
eScalingLazyColumn
).ScrollAway
viene in genere utilizzato per far scorrere unTimeText
fuori dalla visualizzazione quando l'utente inizia a scorrere un elenco di elementi verso l'alto. (I61766)
Correzioni di bug
- Ora
PositionIndicator
è posizionato e ridimensionato in modo da occupare solo lo spazio necessario. Questo è utile, ad esempio, se vengono aggiunte informazioni semantiche, ora TalkBack riceve i limiti corretti delPositionIndicator
sullo schermo. (Ie6106, b/244409133)
Versione 1.1.0-alpha05
7 settembre 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha05
, androidx.wear.compose:compose-material:1.1.0-alpha05
e androidx.wear.compose:compose-navigation:1.1.0-alpha05
vengono rilasciati. La versione 1.1.0-alpha05 contiene questi commit.
Correzioni di bug
- I ruoli dei pulsanti sono stati aggiunti a
InlineSlider
eStepper
in modo che TalkBack possa riconoscerli come pulsanti. (Icb46c, b/244260275) - Abbiamo corretto l'ordine z degli indicatori di posizione e pagina in Scaffold. Ora gli indicatori verranno posizionati sopra la miniatura e quindi non saranno oscurati dalla miniatura, se presente. (Ib988f, b/244207528)
Versione 1.1.0-alpha04
24 agosto 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha04
, androidx.wear.compose:compose-material:1.1.0-alpha04
e androidx.wear.compose:compose-navigation:1.1.0-alpha04
vengono rilasciati. La versione 1.1.0-alpha04 contiene questi commit.
Modifiche all'API
- Abbiamo aggiornato alcuni dei colori predefiniti in MaterialTheme per migliorare l'accessibilità, in quanto i colori originali non avevano un contrasto sufficiente e gli utenti avevano difficoltà a distinguere gli sfondi di chip/schede/pulsanti dal colore di sfondo del tema. I colori aggiornati sono surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8) e onError(0xFF202124->0xFF000000). Le variazioni di colore, sebbene relativamente sottili, potrebbero influire sui test degli screenshot esistenti. (81ab09)
Correzioni di bug
- È stato corretto un bug logico in
ScalingLazyColumn
che poteva causare il mancato completamento dell'inizializzazione degli elenchi con un numero ridotto (in genere esattamente 2) di elementi, rendendoli di conseguenza trasparenti. (504347)
Versione 1.1.0-alpha03
10 agosto 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha03
, androidx.wear.compose:compose-material:1.1.0-alpha03
e androidx.wear.compose:compose-navigation:1.1.0-alpha03
vengono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un nuovo stile con contorni per
Chips
eButtons
e nuovi composabiliOutlinedChip
eOutlinedButton
che forniscono unChip/Button
trasparente con un bordo sottile. (Id5972)
Modifiche all'API
- Sono stati aggiunti sovraccarichi per la modifica delle forme dei pulsanti (Icccde)
Correzioni di bug
- Abbiamo corretto le dimensioni dell'area di controllo dell'opzione di attivazione/disattivazione di
ToggleChip
perché non corrispondevano alle specifiche UX. Le specifiche UX richiedono uno spazio di 4 dp tra l'etichetta e un'area dell'icona di controllo dell'opzione di attivazione/disattivazione di 24 x 24 dp, per una larghezza totale di 28 dp. Tuttavia, l'implementazione indica erroneamente un'area di controllo di attivazione/disattivazione di 36 x 24 dp. Ciò comporta la rimozione di 8 dp di area dell'etichetta di testo utilizzabile. NOTA: questa correzione del bug offre spazio aggiuntivo per l'etichetta del testo e, di conseguenza, può influire (in modo positivo) sul layout del testo per il testo fuori misura. Se hai test di screenshot che includonoToggleChips
, potrebbero dover essere aggiornati. (I514c8, b/240548670)
Versione 1.1.0-alpha02
27 luglio 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha02
, androidx.wear.compose:compose-material:1.1.0-alpha02
e androidx.wear.compose:compose-navigation:1.1.0-alpha02
vengono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.
Nuove funzionalità
- Abbiamo modificato le dipendenze di Compose per Wear OS dalle librerie di Compose di base da 1.2.0 a 1.3.0-alpha0X
Modifiche all'API
- Sono stati aggiunti sovraccarichi per la modifica delle forme dei chip (I02e87)
Correzioni di bug
- Abbiamo animato la visibilità della vignetta quando viene mostrata/nascosta la finestra di dialogo, per garantire la coerenza con l'animazione di ridimensionamento esistente. (Ida33e)
- Abbiamo corretto un bug per cui poteva verificarsi una divisione per zero con alcuni comportamenti di scorrimento. (I86cb6)
- È stato corretto un bug in
ChipDefaults.childChipColor()
per garantire che il colore di sfondo disattivato sia completamente trasparente. (I2b3c3, b/238057342)
Versione 1.1.0-alpha01
29 giugno 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha01
, androidx.wear.compose:compose-material:1.1.0-alpha01
e androidx.wear.compose:compose-navigation:1.1.0-alpha01
vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche all'API
- Il parametro
contentDescription
del selettore ora viene utilizzato solo per l'opzione del selettore selezionata e accetta una stringa nullable (in precedenza era necessario passare una mappatura dall'opzione alla descrizione dei contenuti, ma veniva utilizzata solo l'opzione selezionata). (Ife6a7) - Abbiamo apportato miglioramenti all'accessibilità del selettore in modo che le schermate con più selettori siano navigabili con gli screen reader e la descrizione dei contenuti sia accessibile (I64edb)
Correzioni di bug
- Abbiamo aggiornato le regole del profilo di riferimento incluse nella libreria Wear Compose (I9c694)
- Abbiamo corretto la direzione del gradiente per i chip in modalità da destra a sinistra. In precedenza era dall'alto a sinistra verso il basso a destra, ora è dall'alto a destra verso il basso a sinistra. (Ic2e77)
- Abbiamo aggiornato i gradienti predefiniti per
Chip/ToggleChip/Card
in modo che siano in linea con le ultime specifiche UX.ChipDefaults.gradientBackgroundChipColors
è stato aggiornato in modo da iniziare dal 50% del colore principale anziché dal 32,5%.CardDefaults.cardBackgroundPainter
è stato aggiornato in modo da iniziare dal 30% del colore principale e terminare al 20% dionSurfaceVariant
(in precedenza era dal 20% al 10% dionSurfaceVariant
).ToggleChip.toggleChipColors
passa da una sfumatura lineare del 75% di superficie al 32,5% di colore principale a 0% di superficie al 50% di colore principale. (I43bbd) - Abbiamo aggiunto un colore di sfondo (
MaterialTheme.color.surface
) dietroChip/ToggleChips
con sfondi a gradiente per assicurarci che siano correttamente visibili nell'improbabile caso in cui venga utilizzato un colore chiaro dietro. (Ibe1a4, b/235937657) - Gli elementi del selettore ora sono sempre allineati al centro. È stato corretto un bug che causava la modifica dell'allineamento quando si impostava
gradientRatio
su zero. (I712b8)
Versione 1.0
Versione 1.0.2
7 settembre 2022
androidx.wear.compose:compose-foundation:1.0.2
, androidx.wear.compose:compose-material:1.0.2
e androidx.wear.compose:compose-navigation:1.0.2
vengono rilasciati. La versione 1.0.2 contiene questi commit.
Correzioni di bug
- Abbiamo corretto l'ordine z degli indicatori di posizione e pagina in Scaffold. Ora gli indicatori verranno posizionati sopra la miniatura e quindi non saranno oscurati dalla miniatura, se presente. (Ib988f, b/244207528)
Versione 1.0.1
24 agosto 2022
androidx.wear.compose:compose-foundation:1.0.1
, androidx.wear.compose:compose-material:1.0.1
e androidx.wear.compose:compose-navigation:1.0.1
vengono rilasciati. La versione 1.0.1 contiene questi commit.
Correzioni di bug
- È stato corretto un bug logico in
ScalingLazyColumn
che poteva causare il mancato completamento dell'inizializzazione degli elenchi con un numero ridotto (in genere esattamente 2) di elementi, rendendoli di conseguenza trasparenti. (076c61)
Versione 1.0.0
27 luglio 2022
androidx.wear.compose:compose-foundation:1.0.0
, androidx.wear.compose:compose-material:1.0.0
e androidx.wear.compose:compose-navigation:1.0.0
vengono rilasciati. La versione 1.0.0 contiene questi commit.
Funzionalità principali della versione 1.0.0
- Questa è la prima release stabile di Compose per Wear OS (scopri di più).
- Compose per Wear OS si basa sulle librerie di Compose di base e fornisce componenti aggiuntivi specifici per i dispositivi indossabili e, se opportuno, implementazioni alternative dei componenti di Compose di base personalizzate per i dispositivi indossabili.
- Per un elenco dei componenti principali di Wear Compose, consulta le note di rilascio di Compose per Wear OS Beta01.
Correzioni di bug
- Abbiamo animato la visibilità della vignetta quando viene mostrata/nascosta la finestra di dialogo, per garantire la coerenza con l'animazione di ridimensionamento esistente. (Ida33e)
- Abbiamo corretto un bug per cui poteva verificarsi una divisione per zero con alcuni comportamenti di scorrimento. (I86cb6)
- È stato corretto un bug in
ChipDefaults.childChipColor()
per garantire che il colore di sfondo disattivato sia completamente trasparente. (I2b3c3, b/238057342)
Versione 1.0.0-rc02
22 giugno 2022
androidx.wear.compose:compose-foundation:1.0.0-rc02
, androidx.wear.compose:compose-material:1.0.0-rc02
e androidx.wear.compose:compose-navigation:1.0.0-rc02
vengono rilasciati. La versione 1.0.0-rc02 contiene questi commit.
Correzioni di bug
- Abbiamo corretto la direzione del gradiente per le schede in modalità da destra a sinistra (RTL). In precedenza era dall'alto a sinistra verso il basso a destra, ora è dall'alto a destra verso il basso a sinistra. (Ic2e77)
- Abbiamo aggiornato i gradienti predefiniti per
Chip/ToggleChip/Card
in modo che siano in linea con le ultime specifiche UX.ChipDefaults.gradientBackgroundChipColors
è stato aggiornato in modo da iniziare dal 50% del colore principale anziché dal 32,5%.CardDefaults.cardBackgroundPainter
è stato aggiornato in modo da iniziare dal 30% del valore principale e terminare al 20% dionSurfaceVariant
(in precedenza era dal 20% al 10% su SurfaceVariant).ToggleChip.toggleChipColors
passa da una sfumatura lineare del 75% di superficie al 32,5% di colore principale a 0% di superficie al 50% di colore principale. (I43bbd) - Abbiamo aggiunto un colore di sfondo (
MaterialTheme.color.surface
) dietroChip/ToggleChips
con sfondi a gradiente per assicurarci che siano correttamente visibili nell'improbabile caso in cui venga utilizzato un colore chiaro dietro. (Ibe1a4, b/235937657) - Abbiamo aggiornato le regole del profilo di riferimento incluse nella libreria Wear Compose (I9c694)
Versione 1.0.0-rc01
15 giugno 2022
androidx.wear.compose:compose-foundation:1.0.0-rc01
, androidx.wear.compose:compose-material:1.0.0-rc01
e androidx.wear.compose:compose-navigation:1.0.0-rc01
vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.
Modifiche all'API
- Le interfacce nelle librerie di composizione ora vengono create utilizzando i metodi di interfaccia predefiniti di JDK8 (I5bcf1)
Correzioni di bug
- Abbiamo rimosso la chiamata esplicita a
fillMaxWidth()
nell'intestazione dell'elenco perché non è necessaria e può causare problemi se unScalinglazyColumn
contiene una combinazione di componentiListHeader()
eChip()
, poiché la larghezza tenderà ad aumentare/diminuire man mano che gli elementiListHeader
vengono visualizzati/nascosti. (I37144, b/235074035) - Abbiamo corretto un bug in
ScalingLazyColumn
che poteva causare il mancato disegno corretto degli elementi dell'elenco fino allo scorrimento se l'elemento dell'elenco 0 era abbastanza grande (incluso il padding) (Ic6159, b/234328517) - Abbiamo apportato un piccolo aggiustamento all'attenuazione
ScalingLazyColumn
quando gli elementi raggiungono il bordo dello schermo in modo che corrisponda agli aggiornamenti delle specifiche UX. Valori precedentiCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)
-> nuovi valoriCubicBezierEasing(0.3f, 0f, 0.7f, 1f)
. Per mantenere il vecchio comportamento, puoi eseguire l'override delscalingParams
diScalingLazyColumn
(Ie375c) - Abbiamo aggiunto spaziatura interna a
CompactChip
per garantire che le dimensioni del target di tocco siano di almeno 48 dp di altezza per soddisfare le linee guida sull'accessibilità di Material. Ciò potrebbe influire su eventuali layout che utilizzi conCompactChips
, poiché occuperanno più spazio. (I3d57c)
Versione 1.0.0-beta03
1° giugno 2022
androidx.wear.compose:compose-foundation:1.0.0-beta03
, androidx.wear.compose:compose-material:1.0.0-beta03
e androidx.wear.compose:compose-navigation:1.0.0-beta03
vengono rilasciati. La versione 1.0.0-beta03 contiene questi commit.
Nuove funzionalità
- Abbiamo fatto in modo che
ScalingLazyColumn
funzioni in modalità Scrivi@Preview
. (I3b3b6, b/232947354)
Modifiche all'API
- Abbiamo modificato il valore predefinito della proprietà
ScalingLazyColumn.horizontalAlignment
da Inizio aCenterHorizontally
per assicurarci che, quando gli elementi dell'elenco non riempiono l'intera larghezza della colonna, vengano allineati per una visibilità massima. Per tornare al comportamento precedente, impostahorizontalAlignment = Alignment.Start
.(I9ed4b)
Problemi noti
- L'altezza del tocco/tocco di CompactChip è inferiore a quella indicata nelle linee guida sull'accessibilità di Material. Questo problema verrà corretto nella prossima release (15 giugno). Se utilizzi CompactChip, questa modifica influisce sui tuoi layout, in quanto ora i chip compatti avranno spaziatura aggiuntiva sopra e sotto. Modifica e testa i layout o consulta i commenti del bug per una soluzione alternativa per utilizzare il comportamento esistente. (b/234332135)
Correzioni di bug
- Nuova demo per animare l'aggiunta o la rimozione di un testo iniziale in un
TimeText
. (I16d75) - Aggiungere test per
HorizontalPageIndicator.PagesState
(I64ed0) - Aggiornamento di
TimeText
in base alle specifiche UX (Ib7ea1)
Versione 1.0.0-beta02
18 maggio 2022
androidx.wear.compose:compose-foundation:1.0.0-beta02
, androidx.wear.compose:compose-material:1.0.0-beta02
e androidx.wear.compose:compose-navigation:1.0.0-beta02
vengono rilasciati. La versione 1.0.0-beta02 contiene questi commit.
Nuove funzionalità
- Ora il selettore risponde sempre agli eventi di scorrimento anche in modalità di sola lettura. In questo modo, gli utenti non devono prima selezionare un selettore toccandolo prima di poter scorrere. In modalità di sola lettura, le opzioni diverse da quella attualmente selezionata sono oscurate da uno shim in
gradientColor
. (I72925) - Abbiamo modificato il comportamento UX di
Chip/ToggleChip/CompactChip/SplitToggleChip
per impedire che eseguafillMaxWidth
per impostazione predefinita. ma si espanderanno in base ai contenuti. Per mantenere il comportamento precedente, aggiungi semplicementemodifier = Modifier.fillMaxWidth()
(I60a2c, b/232206371)
Correzioni di bug
- Il costruttore
CurvedTextStyle
che accetta unTextStyle
ora rispetta anche ilfontWeight
(questo può essere aggiunto ai metodi di copia e del costruttore nelle revisioni future dell'API) (Ieebb9) - Miglioramenti allo scorrimento laterale. Quando viene utilizzato
Modifier.edgeSwipeToDismiss
e viene attivato uno scorrimento verso sinistra dall'area del bordo, lo scorrimento per chiudere non viene più attivato quando la direzione dello scorrimento cambia verso destra. In precedenza, era possibile attivare lo scorrimento per chiudere scorrendo verso sinistra e poi verso destra.(I916ea) HorizontalPageIndicator
ora mostra fino a 6 pagine sullo schermo. Se ci sono più di 6 pagine in totale, viene mostrato un indicatore di metà pagina a sinistra o a destra, con una transizione fluida tra le pagine.(I2ac29)- Miglioramento del comportamento predefinito degli snap su
ScalingLazyColumn
ePicker
(I49539) - Miglioramenti allo scorrimento laterale. Quando viene utilizzato
Modifier.edgeSwipeToDismiss
, lo scorrimento per chiudere si attiva solo quando il primo tocco viene eseguito sul bordo e si scorre verso destra. In precedenza era possibile attivare lo scorrimento per chiudere scorrendo da qualsiasi parte dello schermo se uno scorrimento raggiungeva l'inizio.(I8ca2a)
Versione 1.0.0-beta01
11 maggio 2022
androidx.wear.compose:compose-foundation:1.0.0-beta01
, androidx.wear.compose:compose-material:1.0.0-beta01
e androidx.wear.compose:compose-navigation:1.0.0-beta01
vengono rilasciati. La versione 1.0.0-beta01 contiene questi commit.
Funzionalità di Compose per Wear OS 1.0
La versione 1.0.0-beta01
di Compose per Wear OS rappresenta un traguardo importante, in quanto la libreria è completa di funzionalità e l'API è bloccata.
I componenti Wear Compose Material nella versione 1.0 includono:
- Tema Materiale: utilizzato come sostituto di Compose per il mobile
MaterialTheme
, fornisce i colori, le forme e la tipografia per creare componenti sui dispositivi indossabili che implementano immediatamente le linee guida UX di Wear Material Design. Button
,CompactButton
eToggleButton
: il pulsante offre un singolo slot per inserire un'icona, un'immagine o un breve testo (massimo 3 caratteri). Di forma circolare con dimensioni consigliate per pulsanti predefiniti, grandi o piccoli.CompactButton
offre un singolo spazio per inserire qualsiasi contenuto (icona, immagine o testo) ed è di forma circolare con dimensioni dello sfondo extra piccole.CompactButton
ha un'area di a capo trasparente facoltativa intorno allo sfondo che aumenta l'area selezionabile.ToggleButton
è un pulsante che offre un singolo spazio per inserire qualsiasi contenuto (testo breve, icona o immagine) e ha stati di attivazione/disattivazione (selezionato/deselezionato) con colorazioni e icone diverse per indicare se è selezionato o meno- Schede: utilizzate per visualizzare informazioni sulle applicazioni, ad esempio le notifiche. Design flessibile per diversi casi d'uso con
AppCard
eTitleCard
che offrono layout diversi e il supporto delle immagini come contenuti delle schede o sfondi. - Chip: componenti a forma di stadio simili ai pulsanti, ma con un'area più grande e più spazi per etichette, etichette secondarie e icone. In dimensioni diverse e con il supporto delle immagini come sfondi.
- ToggleChips e SplitToggleChips: un chip con stato selezionato/deselezionato e l'aggiunta di uno slot
ToggleControl
per mostrare un'icona come un pulsante di attivazione/disattivazione o di opzione per mostrare lo stato selezionato del componente. Inoltre,SplitToggleChip
ha due aree toccabili, una cliccabile e una attivabile/disattivabile. - CircularProgressIndicator: indicatore di avanzamento Material Wear con due varianti. Il primo esprime la proporzione di completamento di un'attività in corso e supporta un intervallo nel percorso circolare tra gli angoli iniziale e finale. Il secondo indica un avanzamento indeterminato per un tempo di attesa non specificato.
- curvedText: fa parte del DSL per la descrizione di
CurvedLayouts
, insieme acurvedRow
ecurvedColumn
, per disporre i componenti attorno a dispositivi circolari. Consulta la sezione Componenti Wear di base di seguito per maggiori dettagli suCurvedLayout
eCurvedModifier
(questi elementi svolgono un ruolo simile ai modificatori nel mondo non curvo e consentono di configurare vari aspetti di layout, spaziatura, gradienti e così via). - Dialogo, avviso e conferma: la finestra di dialogo mostra una finestra di dialogo a schermo intero, sovrapposta a qualsiasi altro contenuto, e supporta lo scorrimento per chiudere. Richiede un singolo slot che dovrebbe contenere contenuti soggettivi della finestra di dialogo di Materiale Wear, come Avviso o Conferma. Avviso è un contenuto della finestra di dialogo con opinioni con slot per icona, titolo e messaggio. Ha sovraccarichi per due pulsanti negativi e positivi mostrati affiancati o uno slot per uno o più chip impilati verticalmente. La conferma è un contenuto di dialogo con opinioni che mostra un messaggio per una determinata durata. Ha uno spazio per un'icona o un'immagine (che può essere animata).
- HorizontalPageIndicator: mostra la posizione orizzontale della pagina in modo appropriato al fattore di forma del dispositivo indossabile. Progettato per occupare l'intero schermo e mostrare un indicatore curvo sui dispositivi rotondi. Può essere utilizzato con il visualizzatore della pagina Accompagnatore.
- Icon: un'implementazione di Icon per Wear che prende il colore e l'alfa dal tema Material di Wear. Per un'icona cliccabile, consulta Pulsante o Chip.
- Selettore: mostra un elenco scorrevole di elementi tra cui scegliere. Per impostazione predefinita, gli elementi verranno ripetuti "infinitamente" in entrambe le direzioni. Può essere visualizzato in modalità di sola lettura per nascondere le opzioni non selezionate.
- Indicatore posizione: mostra la posizione di scorrimento o un'altra indicazione di posizione in modo appropriato al fattore di forma del dispositivo indossabile. Progettato per occupare l'intero schermo e mostra un indicatore curvo sui dispositivi rotondi.
- Scaffold: implementa la struttura di layout visivo di base di Wear Material Design. Questo componente fornisce un'API per mettere insieme diversi componenti Wear Material (come
TimeText
,PositionIndicator
eVignette
) per la costruzione della schermata, garantendo una strategia di layout adeguata e raccogliendo i dati necessari per il corretto funzionamento dei componenti. - ScalingLazyColumn: un componente dell'elenco con scalabilità/effetto fisheye scorrevole che costituisce una parte fondamentale del linguaggio Wear Material Design. Fornisce effetti di scalatura e trasparenza agli elementi dei contenuti.
ScalingLazyColumn
è progettato per gestire un numero potenzialmente elevato di elementi di contenuti, che vengono materializzati e composti solo quando necessario. - Dispositivo di scorrimento: consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene visualizzato come una barra, che può essere visualizzata con i separatori.
- Dispositivo di scorrimento: un componente a schermo intero che consente agli utenti di effettuare una selezione da un intervallo di valori utilizzando i pulsanti di aumento/diminuzione nella parte superiore e inferiore dello schermo, con uno spazio al centro per il testo o un chip.
- SwipeToDismissBox: gestisce il gesto di scorrimento per ignorare. Richiede un singolo slot per lo sfondo (visualizzato solo durante il gesto di scorrimento) e per i contenuti in primo piano. Se vuoi, puoi combinarla con la libreria di navigazione androidx utilizzando
SwipeDismissableNavHost
(vedi la libreria di navigazione Wear Compose di seguito). - Testo: un'implementazione per Wear del componente di testo Materiale di Compose, che prende il colore e l'alpha dal tema Materiale di Wear
- TimeText: un componente per mostrare l'ora e lo stato dell'applicazione nella parte superiore dello schermo. Si adatta alla forma dello schermo utilizzando il testo curvo su schermi rotondi.
Vignetta: un trattamento dello schermo da utilizzare in Scaffold che sfoca la parte superiore e inferiore dello schermo quando sono in uso contenuti scorrevoli.
Sono inclusi anche i seguenti componenti di Wear Compose Foundation:
CurvedLayout - Wear Foundation
CurvedLayout
è un layout composable che posiziona i suoi elementi secondari in un arco, ruotandoli in base alle esigenze. È simile a un layout di riga curvo in un segmento di un anello. Tieni presente che i contenuti di unCurvedLayout
non sono una funzione lambda componibile, ma un linguaggio specifico per il dominio (DSL). Tutti gli elementi del DSL di CurvedLayout supportano un parametro modificatore facoltativo, creato daCurvedModifier
.basicCurvedText: un elemento del DSL
CurvedLayout
,basicCurvedText
consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare).basicCurvedText
può essere creato solo all'interno diCurvedLayout
per garantire la migliore esperienza, ad esempio la possibilità di specificare il posizionamento e l'utilizzo diCurvedModifiers
. Tieni presente che nella maggior parte dei casi è preferibile utilizzare curvedText, poiché utilizza il tema Material.curvedComposable: inserisce un a capo nei normali contenuti componibili in modo che possano essere utilizzati con
CurvedLayout
. SecurvedComposable
contiene più elementi, questi verranno disegnati uno sopra l'altro (come una casella). Per inserire più composabili lungo una curva, racchiudi ciascuno concurvedComposable
.rigaCurve e colonnaCurve: simili a riga e colonna,
curvedRow
ecurvedColumn
possono essere nidificati all'interno di unCurvedLayout
per disporre gli elementi in base alle esigenze. Per uncurvedRow
, è possibile specificare la direzione di layout angolare e l'allineamento radiale. Per uncurvedColumn
, è possibile specificare l'allineamento angolare e la direzione radiale.CurvedModifier: tutti i componenti curvi accettano un parametro di modificatore che può essere creato utilizzando
CurvedModifier
: sono supportati sfondo, dimensioni, spessore e spaziatura interna.Il seguente componente è incluso anche in Navigazione nella composizione su Wear:
SwipeDismissableNavHost: fornisce un punto nella gerarchia di Compose in cui è possibile eseguire la navigazione autonoma, con la navigazione a ritroso tramite un gesto di scorrimento. I contenuti vengono visualizzati in un
SwipeToDismissBox
, che mostra il livello di navigazione corrente. Durante un gesto di scorrimento per chiudere, il livello di navigazione precedente (se presente) viene visualizzato in background.Per ulteriori dettagli su cosa è stato rilasciato, consulta le note di rilascio precedenti delle varie release alpha.
Modifiche all'API
- Sono state aggiunte le funzioni
CurvedModifier.padding*
. Vengono utilizzati per specificare lo spazio aggiuntivo da aggiungere attorno a un componente curvo. (I4dbb4) - È stata rimossa la classe interna
CompositionLocal
(I42490) - Abbiamo aggiunto valori costanti per le dimensioni delle icone
Button
,CompactButton
eToggleButton
come linee guida (I57cab) - Aggiungi il parametro abilitato a
AppCard
eTitleCard
. Ora hanno un'API simile aandroidx.compose.material
Cards. Se il parametro è impostato su false, la scheda non sarà selezionabile. (Idc48d, b/228869805)
Correzioni di bug
- Ora il cursore disattiva i pulsanti di diminuzione e aumento quando vengono raggiunti i limiti inferiore/superiore (e applica ContentAlpha.disabled a iconColor) (I4be9f)
- Abbiamo aggiunto un'area di a capo di 1 dp attorno ai contenuti del selettore quando viene disegnato con un gradiente per evitare il jitter del testo visualizzato quando si scorre. (I0b7b9)
- Aggiungi test di screenshot per
PositionIndicator
(I5e8bc) - Aggiungere altri test per
AppCard
eTitleCard
(I85391, b/228869805)
Versione 1.0.0-alpha21
20 aprile 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha21
, androidx.wear.compose:compose-material:1.0.0-alpha21
e androidx.wear.compose:compose-navigation:1.0.0-alpha21
vengono rilasciati. La versione 1.0.0-alpha21 contiene questi commit.
Nuove funzionalità
- Sono stati aggiunti nuovi modificatori curvi per specificare lo sfondo di un elemento curvo:
CurvedModifier.background
,.radialGradientBackground
e.angularGradientBackground
(I8f392) - Consente di specificare la modalità di overflow del testo curvo (taglio/elisione/visibile). (I8e7aa)
- È stato aggiunto il modificatore
CurvedModifier.weight
, simile a quello in Componi. Può essere utilizzato per gli elementi secondari di curvedRow e CurvedLayout (per la larghezza) e per gli elementi secondari di curvedColumn (per l'altezza). (I8abbd) - Sono stati aggiunti i modificatori
CurvedModifier.size
,.angularSize
e.radialSize
per specificare le dimensioni di un elemento curvo. (I623c7)
Modifiche all'API
- Riordina i parametri per assicurarti che lo sfondo sia prima del colore in modo coerente nell'API Wear Compose (I43208)
- Sono stati rimossi i parametri clockwise e
insideOut
e sostituiti con costanti più espressive nei nuovi gruppi. La direzione del layout curvo ora può essere consapevole diLayoutDirection
e viene ereditata se non specificata (If0e6a) - Abbiamo sostituito
autoCenter: Boolean
conautoCenter: AutoCentringParams
per risolvere un problema dell'API conScalingLazyColumn
. (Ia9c90) - Abbiamo rinominato
iconTintColor
etoggleControlTintColor
iniconColor
etoggleControlColor
nell'intera API (Chip/ToggleChip/Dialog/Slider/Stepper/...) poiché il colore viene applicato allo slot icon/toggleControl. (Ied238) - Riscrivere l'enum
PageIndicatorStyle
nella classe di valore (I2dc72) - Abbiamo aggiunto
RowScope/ColumnScope/BoxScope
ad alcuni slot dei nostri Composable per indicare agli sviluppatori quali sono le ipotesi relative ai layout. In questo modo, gli sviluppatori potranno utilizzare modificatori aggiuntivi su alcuni contenuti degli slot ed evitare di dover fornire elementi di layout aggiuntivi. Inoltre, abbiamo apportato alcuni aggiornamenti minori ai colori di AppCard/TitleCard in modo chetimeColor
eappColor
abbiano come valore predefinitocontentColor
. Se necessario, queste proprietà possono essere sostituite singolarmente. (I26b59) - Oggetto
SwipeToDismissBoxState.Companion
impostato come privato (I39e84) - Correggi l'ordine dei parametri per
InlineSlider
eStepper
. Una semplice modifica per rispettare le linee guida dell'API (I11fec) - Abbiamo rimosso l'oggetto Saver per
SwipeToDismissBoxState
perché non veniva utilizzato. (Ifb54e) - Abbiamo aggiornato
CompactChip
per allinearlo alle ultime specifiche UX. I margini sono stati ridotti a orizzontale = 12 dp e verticale = 0 dp. Il carattere dell'etichetta è stato modificato da pulsante a intestazione1. Le dimensioni consigliate per le icone sono 20 x 20 quando sono presenti sia l'icona sia l'etichetta e 24 x 24 per un chip compatto con solo icone. Per il caso d'uso solo icona, abbiamo anche verificato che l'icona sia allineata al centro. (Iea2be) - Abbiamo aggiunto una serie di nuovi campi a
ScalingLazyListLayoutInfo
per consentire agli sviluppatori di conoscere la quantità dicontentPadding
eautoCenteringPadding
applicata. Questi valori possono essere utili per gli sviluppatori durante il calcolo di scorrimento/spostamento (I7577b) - Abbiamo implementato le transizioni in/out per la finestra di dialogo. È stato aggiunto un parametro
showDialog
e la finestra di dialogo ora controlla la propria visibilità (in questo modo, la finestra di dialogo può eseguire le animazioni di apertura e chiusura quando è mostrata/nascosta). Tieni presente che l'animazione di chiusura non viene eseguita quando l'utente esce dalla finestra di dialogo tramite scorrimento per chiudere. Abbiamo anche aggiunto un valore predefinito per lo stato nell'overloadSwipeToDismissBox
aggiunto di recente. (I682a0) - Per supportare meglio l'i18n e l'a11y, abbiamo modificato
ToggleChip
eSplitToggleChip
in modo che non abbiano più un valore predefinito per lo slottoggleControl
. Abbiamo anche modificatoToggleChipDefaults
in modo che i seguenti metodi ora restituiscano ImageVector anziché Icon (tieni presente che, poiché non restituiscono più @Composables, ora iniziano con lettere minuscole),SwitchIcon()->switchIcon()
,CheckboxIcon->checkboxIcon()
eRadioIcon()->radioIcon()
. In questo modo, invitiamo gli sviluppatori a creare i propri composabiliIcon()
con un insiemecontentDescription
appropriato. (I5bb5b) - Abbiamo aggiunto un parametro
SwipeDismissableNavHostState
aSwipeDismissableNavHost
. Questo supporta l'utilizzo del gesto di scorrimento laterale nelle schermate utilizzate come destinazioni di navigazione, perché oraSwipeToDismissBoxState
può essere sollevato e utilizzato per inizializzare siaSwipeDismissableNavHostState
siaModifier.edgeSwipeToDismiss
nelle schermate che richiedono il gesto di scorrimento laterale. (I819f5, b/228336555)
Correzioni di bug
- Assicurati che i layout curvi vengano aggiornati, se necessario. (Ie8bfa, b/229079150)
- Correzione del bug per https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
- Sono state rimosse le annotazioni sperimentali non necessarie (I88d7e)
Versione 1.0.0-alpha20
6 aprile 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha20
, androidx.wear.compose:compose-material:1.0.0-alpha20
e androidx.wear.compose:compose-navigation:1.0.0-alpha20
vengono rilasciati. La versione 1.0.0-alpha20 contiene questi commit.
Nuove funzionalità
- Aggiungi il modificatore
edgeSwipeToDismiss
perSwipeToDismiss
. Consente di attivareswipeToDismiss
solo sul bordo sinistro dell'area visibile. Viene utilizzato quando il centro dello schermo deve essere in grado di gestire la paginazione orizzontale, ad esempio lo scorrimento 2D di una mappa o lo scorrimento orizzontale tra le pagine.(I3fcec, b/200699800)
Modifiche all'API
- Implementazione di base di
CurvedModifiers
, che apre la strada all'introduzione di modi per personalizzare i contenuti curvi (ma non sono ancora stati fornitiCurvedModifiers
e la possibilità di creare modificatori personalizzati potrebbe essere disponibile in un secondo momento) (I9b8df) - Aggiornamento della documentazione e dei valori predefiniti dei modificatori
EdgeSwipe
per una migliore comprensione .(I6d00d) - Aggiungi lo slot
PageIndicator
in Scaffold. AggiungendoPageIndicator
direttamente in Scaffold, possiamo assicurarci che venga mostrato correttamente sui dispositivi circolari. (Ia6042) - Rimuovi le icone predefinite dai parametri
InlineSlider
e Stepper. In questo modo, gli sviluppatori saranno più attenti ai requisiti di localizzazione e accessibilità. Gli utilizzi delle icone predefinite sono stati mostrati in demo e sample. (I7e6fd) - Sostituisci i nomi dei parametri Trailing e Leading con Start e End in TimeText (Iaac32)
- Abbiamo aggiunto un sovraccarico
SwipeToDismissBox
con un parametroonDismissed
per supportare l'utilizzo comune dell'attivazione di un evento di navigazione al termine del gesto di scorrimento. (I50353, b/226565726) - Sono state rimosse le annotazioni
ExperimentalWearMaterialApi
dall'utilizzo diTimeText
(Ide520) - Abbiamo contrassegnato le interfacce di ambito e di informazioni
ScalingLazyList/Column
come sigillate perché non sono destinate all'implementazione da parte di sviluppatori esterni. In questo modo, in futuro potremo aggiungere nuovi membri senza modifiche che comportino la rottura del codice binario. (I7d99f) - Abbiamo aggiunto una nuova proprietà
flingBehaviour
al selettore e un metodoPickerDefaults.flingBehaviour()
per abilitare la configurazione del comportamento di scorrimento, ad esempio l'aggiunta del supporto RSB.PickerState
ora implementa l'interfacciaScrollableState
. (Ib89c7)
Correzioni di bug
- Aggiorna le regole del profilo di riferimento di Android Runtime (ART) per le librerie Wear Compose. ART può sfruttare le regole del profilo sui dispositivi per compilare in anticipo un sottoinsieme specifico dell'applicazione al fine di migliorarne le prestazioni. Tieni presente che questo non avrà alcun effetto sulle applicazioni di debug. (Iaa8ef)
- Migliorare la documentazione (I2c051)
Versione 1.0.0-alpha19
23 marzo 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha19
, androidx.wear.compose:compose-material:1.0.0-alpha19
e androidx.wear.compose:compose-navigation:1.0.0-alpha19
vengono rilasciati. La versione 1.0.0-alpha19 contiene questi commit.
Modifiche all'API
CurvedRow
è stato rinominato inCurvedLayout
e modificato in modo da essere un ambito con un DSL. Con questo DSL, è possibile specificare layout curvi più complessi utilizzando una serie dicurvedRow
ecurvedColumn
nidificati (che sono gli equivalenti del layout curvo di Riga e Colonna). All'interno di questi elementi di layout è possibile utilizzare tre elementi:curvedComposable
(per aggiungere qualsiasi @Composable),basicCurvedText
(testo curvo della base) ecurvedText
(testo curvo sensibile al materiale di Wear). (Ib776a)- Rendi configurabile il lato per
PositionIndicator
. Ora la posizione di base di PositionIndicator può essere configurata come End (in base alla direzione del layout), OppositeRsb (tiene conto della rotazione dello schermo per posizionarsi di fronte alla barra di scorrimento laterale fisica) o le posizioni assolute Sinistra e Destra. (I2f1f3) - Per
SwipeToDismissBox
, abbiamo rinominatoSwipeDismissTarget
.Originale inSwipeToDismissValue.Default
eSwipeDismissTarget.Dismissal
inSwipeToDismissValue.Dismissed
. Abbiamo anche spostatoSwipeToDismissBoxDefaults.BackgroundKey
eSwipeToDismissBoxDefaults.ContentKey
rispettivamente inSwipeToDismissKeys.Background
eSwipeToDismissKeys.Content
. (I47a36) - Abbiamo aggiunto una modalità di sola lettura al selettore per le schermate con più selettori in cui è possibile modificarne uno alla volta. Quando il selettore è di sola lettura, viene visualizzata l'opzione attualmente selezionata e un'etichetta, se fornita. (I879de)
SwipeToDismissBoxState
è stato sottoposto a refactoring per limitare l'ambito diExperimentalWearMaterialApi
aModifier.swipeable
eSwipeableState
, che ora vengono utilizzati internamente.SwipeToDismissBoxState
ora dispone di membricurrentValue
,targetValue
,isAnimationRunning
esnapTo
per supportare i casi d'uso comuni. Comunicaci se hai bisogno di rendere disponibili altre proprietà. È stato corretto anche il comportamento diSwipeableState
nel caso in cui l'offset scorrimento rientri in un errore di arrotondamento di un'ancora. (I58302)
Correzioni di bug
- Codice semplificato e corretto per rilevare se i contenuti di un
ScalingLazyColumn
possono essere scorrevoli (utilizzato per decidere se mostrare o meno un cursore) (I7bce0) - È stato corretto un bug relativo all'indicatore di posizione quando viene utilizzato con più stati e si passa da uno all'altro (I320b5)
- Abbiamo aggiornato la tipografia/i caratteri del tema predefinito di Scrivi per Wear OS in base alle nostre ultime indicazioni sull'esperienza utente. Da notare che display1 (40.sp) e display2 (34.sp) ora sono più piccoli rispetto ai valori precedenti e sono stati apportati vari altri aggiornamenti minori all'altezza e allo spazio interlinea. (Ie3077)
- Abbiamo aggiunto la resistenza a
SwipeToDismissBox
in modo che il movimento si verifichi solo quando scorri per chiudere e non nella direzione opposta. (Ifdfb9) - Abbiamo modificato alcuni valori dei parametri predefiniti per le funzioni
CircularProgressIndicator
in modo che siano in linea con le indicazioni UX di Wear Material Design. Per la versione Spinner/Indeterminant sono stati aggiornati le dimensioni (40->24 dp), indicatorColor (primary->onBackground), la trasparenza di trackColor (30%->10%) e la larghezza del tratto (4->3 dp). Per la versione Progress/Determinate, la trasparenza di trackColor (30%-> 10%) è stata aggiornata. (I659cc) - Abbiamo aggiornato i parametri di scalabilità predefiniti di
ScalingLazyColumn
in linea con le ultime specifiche UX di Wear Material Design. Visivamente, gli elementi dell'elenco iniziano a essere scalati più vicino al centro dell'elenco, ma meno rispetto al bordo dell'elenco rispetto a prima. (Ica8f3) - Alcuni aggiustamenti a
ScalingLazyColumnDefaults.snapFlingBehavior
per migliorare la fine dell'animazione (If3260)
Versione 1.0.0-alpha18
9 marzo 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha18
, androidx.wear.compose:compose-material:1.0.0-alpha18
e androidx.wear.compose:compose-navigation:1.0.0-alpha18
vengono rilasciati. La versione 1.0.0-alpha18 contiene questi commit.
Modifiche all'API
- Diversi miglioramenti a PositionIndicator: ShowResult è stato rinominato PositionIndicatorVisibility. Alcuni miglioramenti delle prestazioni per evitare ricomputi quando non sono necessari (Iaed9d)
- La colorazione consigliata per il
SplitToggleChip
è stata aggiornata. SplitToggleChip ora ha uno sfondo a tinta unita quando è selezionato o deselezionato, con la colorazione di ToggleControl che indica principalmente se il componente è selezionato o meno. Abbiamo aggiunto un nuovoToggleDefaults.splitToggleChipColors()
per supportare la nuova combinazione di colori. Abbiamo anche semplificato i metoditoggleChipColors()
rimuovendo il parametro splitBackgroundOverlayColor (I7e66e) - Abbiamo aggiunto unadjustedSize a
ScalingLazyListItemInfo
perché non è sicuro calcolare le dimensioni originali dell'articolo utilizzando le dimensioni e il fattore di scala a causa della precisione matematica dei numeri in virgola mobile. (I54657, b/221079441) - Aggiungi
HorizontalPageIndicator
. Rappresenta un numero totale di pagine e una pagina selezionata. Può essere lineare o curvo, a seconda della forma del dispositivo. Supporta anche la forma dell'indicatore personalizzato, che definisce la modalità di visualizzazione di ciascun indicatore. (Iac898) - Abbiamo aggiornato
PickerState
in modo che il valore numberOfOptions possa essere aggiornato. Questo supporta casi d'uso come unDatePicker
, quando il numero di giorni del mese cambia a seconda del mese selezionato. Di conseguenza, il parametro del costruttore di PickerState è stato modificato in initialNumberOfOptions. (Iad066) - Nascondi
PositionIndicator
quando è presente una barra di scorrimento e non è possibile scorrere. (Id0a7f) - Per coerenza con Scaffold, il nostro componente Dialog a schermo intero ora mostra un
PositionIndicator
e unVignette
. Ora utilizziamo ancheScalingLazyColumn
anzichéColumn
, il che significa che i contenuti della finestra di dialogo sono ora inScalingLazyListScope
(e in genere devono essere racchiusi tra item { /* content */ }). Di conseguenza, la finestra di dialogo supporta il parametro verticalArrangement. (Idea13) - Abbiamo modificato il nome della proprietà toggleIcon di
ToggleChip
eSplitToggleChip
in toggleControl per allinearci meglio a Material Design al fine di aiutare designer e sviluppatori a navigare nell'API. (If5921, b/220129803) - Abbiamo aggiunto una nuova voce caption3 alla tipologia di temi dei materiali Wear.Caption3 è un carattere piccolo utilizzato per i testi nel formato lungo, come i testi legali. (I74b13, b/220128356)
Correzioni di bug
- Interrompi l'animazione di aggancio quando è attiva. (Idb69d)
- Anima le modifiche in PositionIndicator. (I94cb9)
- In base al feedback UI/UX, abbiamo modificato l'opzione di centratura automatica
ScalingLazyColumn
in modo che fornisca solo lo spazio sufficiente per garantire che gli elementi con indiceScalingLazyListState.initialCenterItemIndex
o superiore possano essere completamente scorrevoli fino al centro del viewport. In questo modo, gli sviluppatori possono posizionare uno o due elementi relativi all'elemento inizialmente al centro che non sono scorrevoli al centro. Ciò significa che unScalingLazyColumn
con autocentratura non potrà scorrere sopra ilinitialCenterItemIndex/initialCenterItemScrollOffset
(I22ee2) - Abbiamo aggiunto una demo per un selettore della data e abbiamo corretto un bug in
PickerState
per cui l'opzione inizialmente selezionata non veniva applicata finché non veniva visualizzato il selettore. (Id0d7e) - Per ridurre il ritaglio degli elementi
ScalingLazyColumn
più larghi su schermi circolari, abbiamo aumentato il padding orizzontale dei contenuti predefinito da 8 a 10 dp. (I0d609) - Assicurati che il segno
PositionIndicator
venga visualizzato durante lo scorrimento. (Ied9a2)
Versione 1.0.0-alpha17
23 febbraio 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha17
, androidx.wear.compose:compose-material:1.0.0-alpha17
e androidx.wear.compose:compose-navigation:1.0.0-alpha17
vengono rilasciati. La versione 1.0.0-alpha17 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto degli snap che può essere utilizzato con
ScalingLazyColumn
. ImpostaflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)
per attivare il supporto degli snap. (I068d3, b/217377069) - Abbiamo aggiunto demo per il selettore utilizzato per selezionare un'ora nel formato 24 ore o 12 ore. (Ie5552)
Modifiche all'API
- Risolto un problema con i caratteri e gli stili personalizzati
TimeText
su un dispositivo quadrato (Iea76e) ScalingLazyListLayoutInfo
ora ha le proprietàreverseLayout
,viewportSize
e di orientamento corrispondenti a quelle diLazyListLayoutInfo
(I4f258, b/217917020)ScalingLazyColumn
ora ha una proprietàuserScrollEnabled
corrispondente a quella diLazyList
(I164d0, b/217912513)- Per impostazione predefinita, i selettori ora hanno una sfumatura in alto e in basso (Iab92a)
Correzioni di bug
- Abbiamo modificato
ScalingLazyColumn
in modo che non riempia più tutto lo spazio nel relativo elemento principale. Le dimensioni verranno prese in base alle dimensioni dei contenuti. Ciò lo rende coerente con il comportamento diLazyColumn
. Se vuoi ripristinare il vecchio comportamento, passaModifier.fillMaxWidth()/width()/widthIn()
aScalingLazyColumn
(I51bf8) - Abbiamo migliorato il messaggio di eccezione in
SwipeDismissableNavHost.kt
che veniva attivato se la pila di navigazione a ritroso era vuota. (I1b1dc)
Versione 1.0.0-alpha16
9 febbraio 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha16
, androidx.wear.compose:compose-material:1.0.0-alpha16
e androidx.wear.compose:compose-navigation:1.0.0-alpha16
vengono rilasciati. La versione 1.0.0-alpha16 contiene questi commit.
Nuove funzionalità
- Aggiungi
CircularProgressIndicator
. Gli indicatori di avanzamento mostrano la durata di un processo o un tempo di attesa non specificato. Supporta uno spazio (taglio) per TimeText o altri componenti se utilizzato a schermo intero. (Iab8da)
Modifiche all'API
- I selettori ora hanno un parametro
flingBehavior
, il cui valore predefinito consente di passare all'opzione più vicina durante lo scorrimento/il movimento brusco. (I09000) - API di numeri interi aggiuntiva per InlineSlider e Stepper (I1b5d6)
Correzioni di bug
- Abbiamo modificato il valore predefinito di initialCenterItemIndex per
ScalingLazyListState
da 0 a 1. Ciò significa che, a meno che non venga sostituito durante la costruzione dello stato conScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =
)
, il secondo elemento dell'elenco (indice == 1) verrà posizionato al centro del viewport all'inizializzazione e il primo (indice == 0) verrà posizionato prima. In questo modo, puoi usufruire di un effetto visivo predefinito migliore, poiché la maggior parte dell'area visibile sarà riempita con gli elementi dell'elenco. (I0c623, b/217344252) - Abbiamo ridotto il valore predefinito
ScalingLazyColumn
fornito per garantire che siano disponibili molti elementi dell'elenco da disegnare (anche quando riduciamo le dimensioni di alcuni) dal 10% al 5%.extraPadding
In questo modo eviterai di comporre elementi dell'elenco aggiuntivi che potrebbero non essere visualizzati nell'area visibile. Se vengono utilizzati parametri di ridimensionamento non standard (ad esempio un ridimensionamento più estremo), lo sviluppatore può regolare il padding aggiuntivo utilizzandoviewportVerticalOffsetResolver
. (I76be4) - Risolto un problema con TimeText su più righe su un dispositivo quadrato (Ibd3fb)
- Abbiamo modificato
ScalingLazyColumn
in modo che non riempia più tutto lo spazio nel relativo elemento principale. Le dimensioni verranno prese in base alle dimensioni dei contenuti. Ciò lo rende coerente con il comportamento diLazyColumn
. Se vuoi ripristinare il vecchio comportamento, passaModifier.fillMaxSize()
aScalingLazyColumn
. NOTA: questa modifica non è completa e verrà affrontata in una modifica successiva nella prossima release alpha. (I3cbfa)
Versione 1.0.0-alpha15
26 gennaio 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha15
, androidx.wear.compose:compose-material:1.0.0-alpha15
e androidx.wear.compose:compose-navigation:1.0.0-alpha15
vengono rilasciati. La versione 1.0.0-alpha15 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto una nuova proprietà
autoCentering
aScalingLazyColumn
. Se il valore è true (impostazione predefinita), tutti gli elementi, inclusi il primo e l'ultimo, possono essere scorrevoli in modo che siano visibili al centro dell'area visibile degli elenchi. Tieni presente che, se utilizzi il centratura automatica, ti consigliamo di impostare il padding verticale dei contenuti su 0,0 dp. Se vengono forniti sia il centro automatico sia il padding verticale dei contenuti, verrà reso disponibile uno spazio aggiuntivo prima del primo e dopo l'ultimo elemento dell'elenco, consentendo di scorrere ancora di più. (I2a282, b/214922490) - Abbiamo aggiunto un componente
Dialog
che consente a qualsiasi composable di attivare una finestra di dialogo a schermo intero sopra altri contenuti. Quando viene visualizzata, la finestra di dialogo supporta lo scorrimento per chiudere e mostra i contenuti della finestra principale in background durante il gesto di scorrimento. I contenuti della finestra di dialogo dovrebbero essereAlert
oConfirmation
(rinominati dai componenti precedentiAlertDialog
eConfirmationDialog
).Alert
,Confirmation
eDialog
sono tutti nel pacchettoandroidx.wear.compose.material.dialog
. Avviso e Conferma possono essere utilizzati come destinazioni di navigazione. Inoltre, è stato aggiunto ColumnScope ai parametri di avviso e conferma, se necessario. (Ia9014) - Abbiamo rimosso il colore
onSurfaceVariant2
dai colori del tema Material di Compose per Wear OS e abbiamo sostituito gli utilizzi nella raccolta cononSurfaceVariant
. (Icd592) - È stato aggiunto un metodo per selezionare ed eseguire codice in modo programmatico un'opzione nel
PickerState
. L'opzione selezionata inizialmente può ora essere specificata anche durante la creazione di unPickerState
. (I92bdf) - Abbiamo aggiunto il supporto per la personalizzazione del comportamento di lancio del
ScalingLazyColumn
. (I1ad2e, b/208842968) - Abbiamo aggiunto
NavController.currentBackStackEntryAsState()
alla raccoltaWear.Compose.Navigation
. (If9028, b/212739653) - Sono stati aggiunti
Modifier.onRotaryScrollEvent()
eModifier.onPreRotaryScrollEvent()
per i dispositivi Wear con un pulsante laterale girevole.(I18bf5, b/210748686)
Versione 1.0.0-alpha14
12 gennaio 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha14
, androidx.wear.compose:compose-material:1.0.0-alpha14
e androidx.wear.compose:compose-navigation:1.0.0-alpha14
vengono rilasciati. La versione 1.0.0-alpha14 contiene questi commit.
Nuove funzionalità
Abbiamo aggiunto una serie di metodi a
ScalingLazyListState
per consentire agli sviluppatori di controllare lo scorrimento fino a elementi dell'elenco specifici e di impostare l'elemento dell'elenco iniziale e l'offset.Nell'ambito di questa modifica, abbiamo anche modificato ScalingLazyList in modo che sia orientato attorno al centro dell'area visibile anziché all'inizio dell'area visibile.
È stata aggiunta una nuova proprietà
anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
aScalingLazyList
per controllare se il centro (ScalingLazyListAnchorType.ItemCenter
) oEdge
(ScalingLazyListAnchorType.ItemStart
) deve essere allineato alla linea di mezzeria della visualizzazione.Di conseguenza,
ScalingLazyListItemInfo.offset
eScalingLazyListItemInfo.adjustedOffset
sono cambiati e ora riflettono l'offset dell'elemento rispetto alla posizione dell'elemento dell'elenco e all'anchorType
dell'elenco. Ad esempio, per unScalingLazyColumn
conanchorType
pari aItemCenter
e un elemento dell'elenco posizionato con il centro sulla linea di mezzeria della visualizzazione, l'offset sarà0
.I nuovi metodi sono
scrollTo
,animatedScrollTo
,centerItemIndex
ecenterItemOffset
. (I61b61)Abbiamo aggiunto un gestore del pulsante Indietro a
SwipeDismissableNavHost
, in modo che premendo Indietro si vada al livello precedente nella gerarchia di navigazione. (I5b086, b/210205624)
Versione 1.0.0-alpha13
15 dicembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha13
, androidx.wear.compose:compose-material:1.0.0-alpha13
e androidx.wear.compose:compose-navigation:1.0.0-alpha13
vengono rilasciati. La versione 1.0.0-alpha13 contiene questi commit.
Modifiche all'API
- Abbiamo reso
RangeIcons
interno (a cui fanno riferimento internamenteInlineSlider
eStepper
). (I927ec)
Correzioni di bug
È stato risolto un problema per cui
SwipeDismissableNavHost
aggiungeva una destinazione alla gerarchia di composizione prima che avesse raggiunto lo stato di ciclo di vitaCREATED
, con conseguenteIllegalStateException
. Questa correzione era un prerequisito per aggiornare la dipendenza danavigation-compose
a2.4.0-beta02
e versioni successive. (I40a2b, b/207328687)È stata aggiunta una classe enum Drawables per ottenere risorse drawable all'interno della libreria Wear Compose, in modo che la riflessione non sia più necessaria. Questo corregge un bug per cui gli elementi drawable della libreria venivano rimossi quando
minifyEnabled=true
oshrinkResources=true
). (Ib2a98)Sono stati aggiunti test per
Stepper
in Wear Compose (I2d03a)Sono stati aggiunti esempi per
SwipeDismissableNavHost
nella navigazione di composizione di Wear. (I85f06)
Versione 1.0.0-alpha12
1° dicembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha12
, androidx.wear.compose:compose-material:1.0.0-alpha12
e androidx.wear.compose:compose-navigation:1.0.0-alpha12
vengono rilasciati. La versione 1.0.0-alpha12 contiene questi commit.
Nuove funzionalità
Abbiamo aggiunto un componente Stepper che consente agli utenti di effettuare una selezione da un intervallo di valori. Il cursore è un controllo a schermo intero con pulsanti per aumentare e diminuire in alto e in basso e uno spazio al centro (dovrebbe contenere un chip o un testo). Le icone dei pulsanti possono essere personalizzate, se necessario. (I625fe)
Abbiamo aggiunto due nuovi composabili per la visualizzazione delle finestre di dialogo: AlertDialog attende una risposta dall'utente e mostra un titolo, un'icona, un messaggio e a) due pulsanti per semplici scelte positive/negative oppure b) chip o chip di attivazione/disattivazione impilati verticalmente per scelte più flessibili, ConfirmationDialog mostra un messaggio di conferma con un timeout. Questa semplice finestra di dialogo ha spazi per un titolo e un'icona (animata). (Ic2cf8)
Modifiche all'API
- Aggiungi le unità (millisecondi) ai valori suggeriti per la durata della finestra di dialogo. (I09b48)
Versione 1.0.0-alpha11
17 novembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha11
, androidx.wear.compose:compose-material:1.0.0-alpha11
e androidx.wear.compose:compose-navigation:1.0.0-alpha11
vengono rilasciati. La versione 1.0.0-alpha11 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un componente selettore che consente all'utente di selezionare un elemento da un elenco scorrevole. Per impostazione predefinita, l'elenco di elementi selezionabili viene ripetuto "infinitamente" in entrambe le direzioni, per dare l'impressione di un cilindro in rotazione visto di lato. Nelle release successive verranno aggiunte due funzionalità: aggancio a un valore dopo uno scorrimento/un movimento brusco e aggiunta di una funzione a PickerState per impostare/scorrere fino al valore corrente. (I6461b)
Modifiche all'API
- È stato aggiunto ScalingLazyItemScope e alcuni nuovi modificatori fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight per consentire di impostare le dimensioni degli elementi dell'elenco in base alle dimensioni del contenitore principale. Gli elementi possono essere impostati in modo da riempire tutte o una parte delle dimensioni dell'elemento principale. Vengono esposte le funzionalità già disponibili in LazyRow/Column (I4612f)
- È stato aggiunto il supporto a ScalingLazyColumn per consentire agli elementi di avere una chiave. Sono stati aggiunti anche metodi di utilità per consentire l'aggiunta di elementi da array ed elenchi. (Ic1f89)
Correzioni di bug
- Esempi aggiuntivi per TimeText (I8cb64)
Versione 1.0.0-alpha10
3 novembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha10
, androidx.wear.compose:compose-material:1.0.0-alpha10
e androidx.wear.compose:compose-navigation:1.0.0-alpha10
vengono rilasciati. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
È stato aggiunto un controllo InlineSlider per la composizione su Wear. InlineSlider consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene visualizzato come una barra tra i valori minimo e massimo dell'intervallo, da cui gli utenti possono selezionare un singolo valore. (If0148)
Dai un'occhiata al nuovo codelab di Compose per WearOS.
Modifiche all'API
- Macrobenchmark ora ha un
minSdkVersion
di23
. (If2655)
Correzioni di bug
- Aggiorna la gestione delle transizioni in SwipeDismissableNavHost in un SideEffect (I04994, b/202863359)
- Aggiorna la gestione delle transizioni in SwipeDismissableNavHost (I1cbe0, b/202863359)
Versione 1.0.0-alpha09
27 ottobre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha09
, androidx.wear.compose:compose-material:1.0.0-alpha09
e androidx.wear.compose:compose-navigation:1.0.0-alpha09
vengono rilasciati. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- Abbiamo lanciato l'Anteprima per gli sviluppatori di Compose su Wear OS. Consulta il nostro post del blog che esamina i comandi principali e contiene link ad altre risorse per iniziare a utilizzarli.
Modifiche all'API
- Abbiamo aggiunto il supporto per consentire agli sviluppatori di personalizzare tutti i colori del tema di colore Wear Material Design. (I4759b, b/199754668)
Correzioni di bug
- Sono stati aggiunti esempi di SwipeToDismissBox che mantengono lo stato (Ibaffe)
- Sono stati aggiunti link alle guide di developer.android.com da KDocs per CurvedText, TimeText e SwipeToDismissBox. (I399d4)
- SwipeDismissableNavHost ora genera un errore se non è presente una destinazione corrente (indica che il NavGraph non è stato creato con la funzione di utilità wear.compose.navigation.composable) (I91403)
- Sono stati aggiunti esempi e documentazione aggiuntiva per l'utilizzo dell'origine ora in TimeText (I4f6f0)
Versione 1.0.0-alpha08
13 ottobre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha08
, androidx.wear.compose:compose-material:1.0.0-alpha08
e androidx.wear.compose:compose-navigation:1.0.0-alpha08
vengono rilasciati. La versione 1.0.0-alpha08 contiene questi commit.
Modifiche all'API
- Abbiamo rinominato le proprietà
body
AppCard e TitleCard incontent
e le abbiamo spostate alla fine dell'elenco delle proprietà per consentire di fornirle come lambda finale. Inoltre, è stato rinominatobodyColor
incontentColor
per coerenza con i nuovi nomi degli slot. (I57e78)
Correzioni di bug
- Sono stati aggiunti link alle guide di developer.android.com da KDocs per i componenti pulsante, scheda, chip, tema, indicatore di posizione e colonna lazy con scalabilità. (I22428)
- Correzione del problema per cui a volte SwipeToDismissBox di WearOS non gestiva i gesti di scorrimento. (I9387e)
- Sono stati aggiunti esempi per Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip (Iddc15)
- Sono stati aggiunti test di prestazioni microbenchmark per Card, Chip, ToggleChip, TimeText e ScalingLazyColumn. (If2fe9)
Versione 1.0.0-alpha07
29 settembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha07
, androidx.wear.compose:compose-material:1.0.0-alpha07
e androidx.wear.compose:compose-navigation:1.0.0-alpha07
vengono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- È stato aggiunto un componente di testo curvo in Material, che consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare). (I19593)
Modifiche all'API
- Sono stati aggiunti test per TimeText (Idfead)
- Trasforma ArcPaddingValues in un'interfaccia. (Iecd4c)
- È stata aggiunta un'animazione a SwipeToDismissBox (I9ad1b)
- È stato aggiunto il parametro hasBackground all'API SwipeToDismissBox in modo che il gesto di scorrimento possa essere disattivato quando non sono presenti contenuti di sfondo da visualizzare. (I313d8)
rememberNavController()
ora accetta un insieme facoltativo di istanzeNavigator
che verranno aggiunte alNavController
restituito per supportare meglio i navigatori facoltativi, come quelli del materiale di navigazione per l'accompagnatore. (I4619e)- Fai riferimento a NamedNavArgument da navigation-common e rimuovi la copia da wear.compose.navigation. (I43af6)
Correzioni di bug
- È stato corretto l'instabilità del test CurvedRow sui dispositivi più piccoli. (If7941)
- È stato corretto un possibile sfarfallio in riga curva quando i contenuti vengono aggiornati e viene garantito che la riga curva venga rimisurata (Ie4e06)
- ChipDefaults.gradientBackgroundChipColors() è stato aggiornato in linea con le modifiche alle specifiche UX. Ora il gradiente inizia con MaterialTheme.colors.primary con un'alfa del 32,5% e termina con MaterialTheme.colors.surface con un'alfa dello 0% su uno sfondo di MaterialTheme.colors.surface con un'alfa del 75%. (Id1548)
- Abbiamo aggiornato i colori dei chip di attivazione/disattivazione quando sono nello stato selezionato in modo che corrispondano alle indicazioni più recenti delle specifiche UX di Wear Material Design. Quando sono selezionati, i chip di attivazione ora hanno uno sfondo sfumato da MaterialTheme.color.surface con un'alfa dello 0% in alto a sinistra a MaterialTheme.color.primary con un'alfa del 32% in basso a destra su uno sfondo di MaterialTheme.color.surface con un'alfa del 75%. Ciò comporta una differenza più sottile tra selezionato e deselezionato per ToggleChip. (Idd40b)
Versione 1.0.0-alpha06
15 settembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha06
, androidx.wear.compose:compose-material:1.0.0-alpha06
e androidx.wear.compose:compose-navigation:1.0.0-alpha06
vengono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto Scaffold, un componente composable di primo livello che fornisce una struttura per gestire la posizione degli indicatori di posizione (come scorrimento o volume), un'area nella parte superiore dello schermo per visualizzare l'ora e lo stato dell'applicazione e supporta anche una vignetta per sfocare i bordi superiore e inferiore dello schermo per i contenuti scorrevoli. L'area principale di Scaffold è dove vengono posizionati i contenuti dell'applicazione. (I5e0bf)
- È stata aggiunta l'implementazione di TimeText per la composizione su Wear (I5654c)
Raccolta di navigazione di Wear Compose
Abbiamo aggiunto la prima release della libreria di navigazione Wear Compose, che fornisce l'integrazione tra le librerie Wear Compose e Androidx Navigation. Fornisce un modo semplice per spostarsi tra le funzioni @Composable come destinazioni nella tua applicazione.
Questa release iniziale fornisce:
- Un composable
SwipeDismissableNavHost
che ospita un grafico di navigazione e fornisce la navigazione a ritroso tramite gesti di scorrimento NavGraphBuilder.composable
per aiutarti a creare grafici di navigazionerememberSwipeDismissableNavController()
per consentire lo stato di sollevamento
- Un composable
Esempio di utilizzo in cui creiamo due schermate e passiamo da una all'altra:
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "start" ) { composable("start") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Button(onClick = { navController.navigate("next") }) { Text("Go") } } } composable("next") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Text("Swipe to go back") } } }
La navigazione di Wear Compose è pacchettizzata come libreria separata in modo che le semplici applicazioni Wear Compose che implementano la propria navigazione creata manualmente non debbano dipendere dalla libreria Androidx Navigation.
Modifiche all'API
SwipeDismissableNavHost
è stato aggiornato per supportarerememberSaveable
impostando l'identità della chiave per lo sfondo e i contenuti (I746fd)- Abbiamo aggiunto un adattatore PositionIndicator che può gestire LazyListState (I21b88)
- SwipeToDismissBox è stato aggiornato per supportare rememberSaveable (Ie728b)
- Abbiamo aggiunto il supporto di reverseLayout a ScalingLazyColumn. Ciò consente di invertire la direzione di scorrimento e il layout (I9e2fc)
performGesture
eGestureScope
ritirati, sostituiti daperformTouchInput
eTouchInjectionScope
. (Ia5f3f, b/190493367)- Abbiamo rinominato VignetteValue in VignettePosition e VignetteValue.Both in VignettePosition.TopAndBottom. (I57ad7)
- Abbiamo rinominato ScalingLazyColumnState in ScalingLazyListState, ScalingLazyColumnItemInfo in ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo in ScalingLazyListLayoutInfo e ScalingLazyColumnScope in ScalingLazyListScope nel caso in cui decidessimo di aggiungere un'implementazione di ScalingLazyRow in futuro. (I22734)
Correzioni di bug
- La documentazione di CompactChip è stata aggiornata per descrivere cosa succede se non vengono fornite né un'icona né un'etichetta. (I4ba88)
- Abbiamo apportato alcune modifiche ai componenti delle schede Wear. (I6b3d0)
- Lo spazio tra il titolo e il corpo della scheda Titolo è stato ridotto da 8 dp a 2 dp.
- Il carattere dell'intestazione di TitleCard è passato da body a title3.
- Il gradiente di sfondo della scheda è stato modificato per rendere lo sfondo più scuro.
Versione 1.0.0-alpha05
1° settembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha05
e androidx.wear.compose:compose-material:1.0.0-alpha05
vengono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche all'API
- Contrassegna ArcPaddingValues come @Stable (I57deb)
- ScalingLazyColumnState ora implementa l'interfaccia ScrollableState, che offre agli sviluppatori l'accesso programmatico allo scorrimento del componente. (I47dbc)
Correzioni di bug
- Abbiamo ridotto lo spazio tra l'icona e il testo in Chip e ToggleChip per allinearli agli aggiornamenti delle specifiche UX. (I83802)
Versione 1.0.0-alpha04
18 agosto 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha04
e androidx.wear.compose:compose-material:1.0.0-alpha04
vengono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- È stato aggiunto un riquadro SwipeToDismissBox e un modificatore scorrevole che possono essere utilizzati per supportare un gesto di scorrimento da sinistra a destra per chiudere. Sebbene sia indipendente dai componenti di navigazione, è previsto che venga utilizzato per uscire da una schermata e passare a un'altra. Sono stati aggiunti test di integrazione per dimostrare la funzionalità di scorrimento per chiudere. (I7bbaa)
- Abbiamo aggiunto le interfacce ScalingLazyColumnItemInfo e ScalingLazyColumnLayoutInfo alla classe ScalingLazyColumnState per consentire agli sviluppatori di conoscere le posizioni e le dimensioni effettive degli elementi in ScalingLazyColumn dopo l'applicazione della scalabilità. Abbiamo anche corretto un bug relativo al modo in cui veniva calcolato il ridimensionamento quando il padding dei contenuti "top" viene applicato a ScalingLazyColumn. (I27c07)
Modifiche all'API
- Aggiungi la classe CurvedTextStyle per specificare le opzioni di stile di testo curvo. Simile a TextStyle, ma ora supporta solo color, fontSize e background. In futuro verranno aggiunte altre opzioni di stile. (I96ac3)
- Abbiamo aggiunto le interfacce ScalingLazyColumnItemInfo e ScalingLazyColumnLayoutInfo alla classe ScalingLazyColumnState per consentire agli sviluppatori di conoscere le posizioni e le dimensioni effettive degli elementi in ScalingLazyColumn dopo l'applicazione della scalabilità. Abbiamo anche corretto un bug relativo al modo in cui veniva calcolato il ridimensionamento quando il padding dei contenuti "top" viene applicato a ScalingLazyColumn. (I27c07)
- È stato aggiunto
@ExperimentalWearMaterialApi
all'enumSwipeDismissTarget
, che fa parte dell'APISwipeToDismissBox
. (I48b5e)
Correzioni di bug
- È stato aggiunto materiale di test per SwipeToDismissBox (I9febc)
Versione 1.0.0-alpha03
4 agosto 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha03
e androidx.wear.compose:compose-material:1.0.0-alpha03
vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche all'API
- È stato aggiunto il componente CurvedText, che consente agli sviluppatori di scrivere facilmente il testo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare) (Id1267)
- Abbiamo rinominato
CardDefaults.imageBackgroundPainter()
inCardDefaults.imageWithScrimBackgroundPainter()
per chiarire che l'immagine di sfondo avrà una maschera sopra. (I53206) - Aggiunta del componente ScalingLazyColumn che fornisce un componente elenco per Wear Material che offre una visualizzazione fisheye con i contenuti dell'elenco che si riducono di dimensioni e diventano trasparenti man mano che si avvicinano al bordo del componente. (I7070c)
Correzioni di bug
- Abbiamo modificato il colore predefinito dei contenuti di appName in Scheda app in risposta a un aggiornamento delle specifiche UX. Il colore predefinito per appName ora è
MaterialTheme.colors.onSurfaceVariant
. Inoltre, è stata aggiunta una descrizione della documentazione del parametro mancante per lo slot del titolo. (Ic4ad1)
Versione 1.0.0-alpha02
21 luglio 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha02
e androidx.wear.compose:compose-material:1.0.0-alpha02
vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- È stata aggiunta una nuova classe CurvedRow per disporre i composabili in un arco (I29941)
- È stato aggiunto un nuovo tipo di scheda da utilizzare nelle applicazioni (TitleCard), nonché il supporto per l'utilizzo di immagini come sfondo delle schede per metterne in evidenza i contenuti (I53b0f)
Modifiche all'API
- Aggiunta del supporto dell'allineamento radiale a RigaCurved (simile all'allineamento verticale in una riga) (Id9de5)
- Aggiungere una nuova classe CurvedRow per disporre i composabili in un arco (I29941)
- È stato aggiunto un nuovo tipo di scheda da utilizzare nelle applicazioni (TitleCard), nonché il supporto per l'utilizzo di immagini come sfondo delle schede per metterne in evidenza i contenuti (I53b0f)
- Sono state aggiunte le icone di attivazione/disattivazione (casella di controllo, pulsanti di opzione e pulsanti di attivazione/disattivazione) a ToggleChipDefaults per semplificare la configurazione di ToggleChip e SplitToggleChips (I7b639)
- Le spaziature iniziali e finali dei contenuti dei chip sono state aggiornate in modo che siano sempre pari a 14 dp, indipendentemente dal fatto che il chip contenga o meno un'icona (in precedenza erano pari a 12 dp se era presente un'icona e a 14 dp se non era presente) (I34c86)
Correzioni di bug
- Aggiungere test per CurvedRow (I93cdb)
- Collegamento delle dipendenze di Wear Compose a Compose 1.0.0-rc01. (Ie6bc9)
- È stata modificata la gestione della pittura dell'immagine di sfondo in Schede e Chip in modo che l'immagine venga ritagliata anziché allungata per mantenere le proporzioni dell'immagine. (I29b41)
- Sono stati aggiunti altri esempi e test di integrazione per Button e ToggleButton. (5e27ed2)
- Sono stati aggiunti altri test dei chip per coprire i colori dei contenuti per imageBackgroundChips (Ia9183)
Versione 1.0.0-alpha01
1° luglio 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha01
e androidx.wear.compose:compose-material:1.0.0-alpha01
vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Wear Compose è una libreria Kotlin basata su Compose che supporta Wear Material Design, un'estensione di Material Design per i dispositivi indossabili WearOS. Questa prima release alpha contiene implementazioni iniziali e funzionali di quanto segue:
- Tema Material: configura i colori, la tipografia e le forme in modo coerente nei componenti utilizzati da questa libreria.
- Chip, Chip compatto: i chip sono a forma di stadio e sono disponibili varianti per inserire contenuti di icone, etichette ed etichette secondarie.
- - ToggleChip, SplitToggleChip: un tipo di chip specializzato che include uno slot per un'icona di attivazione/disattivazione a due stati, ad esempio un pulsante di opzione o una casella di controllo. Inoltre, SplitToggleChip ha due aree toccabili, una cliccabile e una attivabile/disattivabile.
- Button, CompactButton: i pulsanti sono di forma circolare, con un unico spazio per i contenuti per un'icona o un testo minimo (massimo 3 caratteri).
- Pulsante di attivazione/disattivazione: un pulsante che attiva o disattiva un'azione, con un singolo spazio per un'icona o un testo minimo (massimo 3 caratteri).
- Scheda, SchedaApp: forma rettangolare con angoli arrotondati, che offre spazi per contenuti come icona dell'app, ora, titolo e testo.
Le versioni future estenderanno l'insieme di widget aggiungendo il supporto per selettori, cursori, elenchi, indicatori di pagina, finestre di dialogo, indicatori di scorrimento, notifiche popup e altro ancora in Wear Material Design.
Inoltre, verrà fornito il supporto per altre funzionalità specifiche per i dispositivi indossabili, come i layout e il testo curvi, nonché lo scaffolding per consentire agli sviluppatori di creare facilmente app/overlay per i dispositivi indossabili.
Wear Compose Material è progettato con gli stessi principi di Compose Material, anche se è destinato ai dispositivi indossabili. La raccolta di materiali Compose Wear deve essere utilizzata al posto della raccolta di materiali Compose quando si esegue la compilazione per un dispositivo indossabile.
Le due librerie "Material" devono essere considerate mutuamente esclusive e non devono essere mescolate nella stessa app. Se gli sviluppatori si trovano a includere la libreria Compose Material nelle loro dipendenze, ciò potrebbe indicare che a) mancano componenti nella libreria Wear Compose Material, quindi comunicaci di cosa hai bisogno oppure b) stai utilizzando un componente che non consigliamo per l'utilizzo su un dispositivo indossabile.