Wear Compose
Aggiornamento più recente | Release stabile | Candidato per l'uscita | Versione beta | Release alpha |
---|---|---|---|---|
21 agosto 2024 | 1.3.1 | 1.4.0-rc01 | - | - |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza su Wear, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il modulo:
Alla moda
dependencies { implementation "androidx.wear.compose:compose-foundation:1.3.1" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.3.1" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.3.1" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.3.1") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Kotlin
dependencies { implementation("androidx.wear.compose:compose-foundation:1.3.1") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.3.1") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.3.1") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.3.1") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.
Consulta la documentazione di Issue Tracker per ulteriori informazioni.
Wear Compose Material3 versione 1.0
Versione 1.0.0-alpha23
14 maggio 2024
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha23
. La versione 1.0.0-alpha23 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato le API
ToggleButton
eRadioButton
in modo che sia possibile configurare i colori disabilitati. (If13a7). - Abbiamo aggiunto un nuovo
CircularProgressIndicator
per Material3. (Ib3bd7).
Correzioni di bug
- Abbiamo corretto un bug per cui i pulsanti selezionabili annunciato di toccare due volte per passare quando sono già selezionati. (I7ed88)
Versione 1.0.0-alpha22
1° maggio 2024
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha22
. La versione 1.0.0-alpha22 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato l'
ColorScheme
di Material3. (I7b2b8) - Abbiamo aggiornato l'interruttore Material3 e, con alcune modifiche di colore, il segno di spunta ora corrisponde a quello utilizzato per la casella di controllo. (Icac7b)
Correzioni di bug
- Aggiorna tutte le demo di integrazione per usare il nuovo modificatore
rotaryScrollable
. (I25090)
Versione 1.0.0-alpha21
17 aprile 2024
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha21
. La versione 1.0.0-alpha21 contiene questi commit.
- Questa release è stata attivata a causa di un problema tecnico nella release precedente che causava la mancanza dei jar di origine. Non sono presenti nuovi commit in questa release.
Versione 1.0.0-alpha20
3 aprile 2024
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha20
. La versione 1.0.0-alpha20 contiene questi commit.
Correzioni di bug
- Abbiamo regolato l'Eco con lo stato attivo e premuto per migliorare il contrasto. (I59f0a)
- Abbiamo aggiunto la spaziatura tra le etichette principali e secondarie in
Button
,ToggleButton
eRadioButton
, a seguito delle ultime modifiche agli stili tipografici e all'altezza delle righe. (I2c0ba)
Versione 1.0.0-alpha19
6 marzo 2024
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha19
. La versione 1.0.0-alpha19 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto
TimeText
alla raccolta Material3 di Wear Compose. Questo componente mostra l'ora corrente (e lo stato aggiuntivo) nella parte superiore dello schermo. La nuova e concisa API Material3 evita la duplicazione tra contenuti lineari e curvi. (I4d7c3). - Abbiamo aggiornato i nomi dei parametri da
onSelected
aonSelect
perRadioButton
. (I1a971) - Tokenizza
RadioButton
eSplitRadioButton
e rifattorizza i metodi esistenti per ridurre la quantità di ricercaCompositionLocal
aggiungendo istanze di colori memorizzate nella cache e rendendo interni i metodiRadioButtonColors
eSplitRadioButtonColors
. (I02b33).
Versione 1.0.0-alpha18
21 febbraio 2024
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha18
. La versione 1.0.0-alpha18 contiene questi commit.
Modifiche alle API
- Abbiamo eseguito il refactoring del pattern predefinito per
CardColors
,ToggleButtonColors
eSplitToggleButtonColors
mediante la creazione interna di istanze memorizzate nella cache e la riduzione dell'utilizzo diCompositionLocal
. (If3fec)
Versione 1.0.0-alpha17
7 febbraio 2024
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha17
. La versione 1.0.0-alpha17 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato l'API Button in modo che utilizzi
buttonColors
per impostazione predefinita e abbiamo rimossofilledButtonColors
duplicato. (I4fe3b) - Abbiamo eseguito il refactoring dei pattern predefiniti per
ButtonColors
,IconButtonColors
eTextButtonColors
creando un'istanza memorizzata nella cache internamente e riducendo l'utilizzo diCompositionLocal
. (I5f51c). - Abbiamo rimosso l'overhead di
rememberUpdatedState
nelle classi di colore specifiche dei componenti e contrassegnato i metodi di accesso all'interno delle classi di colore come interni. (If6571)
Correzioni di bug
- Abbiamo aggiornato
Modifier.minimumInteractiveComponentSize
per utilizzareModifier.node
. (Iba6b7)
Versione 1.0.0-alpha16
24 gennaio 2024
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha16
. La versione 1.0.0-alpha16 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
CompactButton
, che può utilizzare gli stessi colori pieni, pieni e con contorni dei colori del pulsante.(I05df0)
Modifiche alle API
- Abbiamo aggiunto
RadioButton
/SplitRadioButton
come contenitori per i controlli di selezione, ad esempio il radiocomando. A differenza dell'elementoToggleButton
esistente, il criterioRadioButton
è selezionabile (e opera all'interno di un gruppo di selezione), mentreToggleButton
è attivabile/disattivabile (ed è indipendente). (I61275) - Stiamo rimuovendo
LocalContentAlpha
dalla raccolta Material3 di Wear Compose per garantire la coerenza con la raccolta Compose Material3. (I49a0a) - I componenti Wear material3 e Wear che presentano un
MutableInteractionSource
nella relativa API sono stati aggiornati per esporre unMutableInteractionSource
con valore nullo che per impostazione predefinita è null. Non ci sono modifiche semantiche: passare un valore nullo significa che non vuoi issareMutableInteractionSource
e, se necessario, verrà creato all'interno del componente. Il passaggio a null consente ad alcuni componenti di non allocare mai unMutableInteractionSource
e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi il valoreMutableInteractionSource
che passi a questi componenti, ti consigliamo di trasmettere un valore nullo. È inoltre consigliabile apportare modifiche simili nei tuoi componenti. (Ib90fc, b/298048146) - Aggiunge una nuova API ripple nelle librerie
wear:compose-material
ewear:compose-material3
che sostituisce la versionerememberRipple
deprecata. Viene inoltre aggiunto unCompositionLocal
temporaneo,LocalUseFallbackRippleImplementation
, per ripristinare l'utilizzo delle APIrememberRipple/RippleTheme
deprecate per i componenti Material. Verrà rimosso nella prossima release stabile ed è destinato solo a essere un aiuto temporaneo per la migrazione nei casi in cui fornisci unRippleTheme
personalizzato. Visita il sito developer.android.com per avere informazioni sulla migrazione e altre informazioni di base relative a questa modifica. (af92b21). - Abbiamo apportato piccoli miglioramenti all'API
HorizontalPageIndicator
e alla relativa documentazione. (I60efc) - Abbiamo aggiornato
ColorScheme
affinché sia immutabile, rendendo gli aggiornamenti dei singoli colori meno efficienti, ma rendendo più efficiente l'utilizzo più comune dei colori. Il ragionamento alla base di questa modifica è che la maggior parte delle app non avrebbe l'aggiornamento dei singoli colori come caso d'uso principale. Questo è ancora possibile, ma si ricomincerà più di prima, a sua volta diminuiremo significativamente la quantità di abbonamenti statali attraverso tutto il codice materiale e inciderà sull'inizializzazione e sul costo di runtime di casi d'uso più standard. (Ibc2d6) - Sono state aggiornate le API
ToggleButton
eSplitToggleButton
per consentire la personalizzazione dei colori disattivati. Inoltre, ora vengono utilizzati i token Material Design per i valori di colore e tipografia. (If087c) - Sono stati aggiornati i colori di sfondo dell'immagine del pulsante per utilizzare i token Material Design. (Iba215).
- Abbiamo modificato i componenti
Checkbox
,Switch
eRadioButton
in modo che siano di sola visualizzazione, rimuovendo la gestione dei clic. Questi componenti dovrebbero essere utilizzati in(Split)ToggleButton
, che gestisce il clic, quindi ora sono più chiaramente indicati come componenti di sola visualizzazione (e non sono destinati all'utilizzo autonomo su Wear). (I2322e)
Correzioni di bug
- Abbiamo aggiunto token per i valori di movimento relativi a durate e easing nel materiale di Wear Compose 3. (I437cd)
- Abbiamo corretto un bug in
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
eRadioButton
per impedire la ripetizione degli annunci di accessibilità (in precedenza, i ruoli semantici erano duplicati). (Ica281) - Abbiamo rimosso lo strato materialcore per
CompactButton
per migliorare le prestazioni. (7902858)
Versione 1.0.0-alpha15
15 novembre 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha15
. La versione 1.0.0-alpha15 contiene questi commit.
Modifiche alle API
- Abbiamo rinominato il livello base
SwipeToDismissBox
inBasicSwipeToDismissBox
. In questo modo, la distinzione tra il componente Livello base eSwipeToDismissBox
livello Material3 è più chiara. Quest'ultimo estrae i colori daMaterialTheme
per utilizzarli negli scrim e delega l'implementazione rimanente alBasicSwipeToDismissBox
. (Ibecfc)
Correzioni di bug
- Abbiamo rimosso lo strato material-core per Material3 Button per migliorare le prestazioni. (I55555)
Versione 1.0.0-alpha14
18 ottobre 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha14
. La versione 1.0.0-alpha14 contiene questi commit.
Modifiche alle API
- Abbiamo rimosso il parametro
indicatorStyle
da Material3HorizontalPageIndicator
, che però seguirà la forma dello schermo del dispositivo (lineare o rotonda). (I83728) - Abbiamo separato i colori di
SplitToggleButton
da quelli diToggleButton
aggiungendo una nuova classeSplitToggleButtonColors
. (I78bee)
Versione 1.0.0-alpha13
4 ottobre 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha13
. La versione 1.0.0-alpha13 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto un campo Sottotitoli facoltativo a
TitleCard
. (Ifc45a). - Abbiamo aggiunto token di colore Material Design per
TextButton
. (I769dc)
Versione 1.0.0-alpha12
20 settembre 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha12
. La versione 1.0.0-alpha12 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato
IconButton
in modo da utilizzare i token Material Design. (I3f137). - Abbiamo aggiornato
IconToggleButton
in modo da utilizzare i token Material Design. (I7d263) - Abbiamo reso pubblici i costruttori di
CheckboxColors
,RadioButtonColors
,SwitchColors
. (I82b73)
Versione 1.0.0-alpha11
6 settembre 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha11
. La versione 1.0.0-alpha11 contiene questi commit.
Correzioni di bug
- Abbiamo aggiornato gli elementi tipografici per le schede Material3 in
TitleMedium
. (I597bd) - Abbiamo aggiornato gli elementi tipografici e l'allineamento per i
ListHeader
e leListSubheader
di Material3. (Ib5ceb)
Versione 1.0.0-alpha10
23 agosto 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha10
. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
- Aggiungi
HorizontalPageIndicator
alla raccolta Wear Material3. (Ifee99)
Modifiche alle API
- Aggiorna il codice di Buttons per utilizzare i token di design Material3. (I92fe4)
- Dichiarazione delle API Wear Material 3 Stepper e Cursore come sperimentali, in quanto i dettagli dell'interfaccia utente sono ancora in fase di finalizzazione. (I84d54)
- Abbiamo rimosso le taglie
ExtraSmall
dal roundTextButton
eTextToggleButton
perché questa taglia si applica solo allaIconButton
. (Ibc7d5).
Correzioni di bug
- Abbiamo aggiornato le indicazioni sulla tipografia per TextToggleButton per utilizzare LabelLarge per LargeButtonSize (Ib10fa).
- Abbiamo aggiornato le indicazioni sulla tipologiagrafia per TextButton in modo che utilizzi LabelLarge per LargeButtonSize (I8f3a7)
- Abbiamo impostato il touch target minimo della scheda su 48 dp per l'accessibilità. (Ieb9b1)
- Aggiunta di AppCard con demo immagine, rimozione dell'AppCard con demo in background (Id735f)
- È stato corretto un bug nei pulsanti rotondi in cui i modificatori non erano concatenati correttamente. (I5e162).
Versione 1.0.0-alpha09
9 agosto 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha09
. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
ToggleButton
per material3 (I6bed6)
Modifiche alle API
- Abbiamo attivato l'annotazione
FloatRange
come vincolo API , che era stata precedentemente indicata nei commenti. (Icb401) - Abbiamo aggiornato gli elementi tipografici per Wear Material3 per rispettare le ultime linee guida di Material3. (I1bad6)
Correzioni di bug
- Abbiamo aggiornato i colori di
Button
,IconButton
eTextButton
in linea con il design di Material3. (Ib2495) - Abbiamo corretto la visibilità delle caselle di controllo negli stati disattivati. (Ib25bf)
Versione 1.0.0-alpha08
26 luglio 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha08
. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto i seguenti controlli di selezione per Material3:
Switch
,Checkbox
,RadioButton
. (Ib918c) - Abbiamo aggiunto
IconToggleButton
eTextToggleButton
a Material3, un pulsante di attivazione/disattivazione circolare con un singolo spazio rispettivamente per l'icona e il testo. PerToggleButton
di diverse dimensioni, ti consigliamo di utilizzareModifier.touchTargetAwareSize
con le dimensioni fornite nei rispettivi pulsanti di attivazione/disattivazione. (I9f015) - Abbiamo aggiunto
ListHeader
eListSubheader
ai nostri componenti Material3. (Ibaefe) - Abbiamo aggiunto Material3
SwipeToDismissBox
, che chiama la nuova baseSwipeToDismissBox
e fornisce i valori di colore predefiniti del tema. (I275fb) - Abbiamo aggiunto il
InlineSlider
di Material3 a Wear Compose. Consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene mostrato come una barra tra i valori minimo e massimo dell'intervallo, da cui gli utenti possono selezionare un singolo valore. La funzionalitàInlineSlider
è ideale per regolare impostazioni quali volume o luminosità. (I7085f)
Modifiche alle API
- Abbiamo aggiornato il tema "Forme" in Wear Material 3 in modo che utilizzi il tema
RoundedCornerShape
anziché Forma. (Idb133) - Abbiamo reso pubbliche le costanti di altezza per il pulsante (Idbfde)
- File API aggiornati per annotare l'eliminazione della compatibilità (I8e87a, b/287516207)
- Abbiamo aggiornato
InlineSliderColors
nel materiale 3 di Wear Compose in modo che abbia un costruttore pubblico e proprietà pubbliche. (I6b632). - Abbiamo aggiornato tutte le classi di colore nel materiale 3 di Wear Compose in modo che abbiano costruttori pubblici e proprietà pubbliche. (I17702)
- Abbiamo reso pubbliche le spaziature interne verticali e orizzontali di Pulsante. (Ieeaf7)
Correzioni di bug
- Il pulsante ora regolerà l'altezza per adattarsi ai contenuti cresciuti grazie ai caratteri grandi per l'accessibilità, quando necessario (Iaf302)
- Abbiamo aggiornato una serie di demo di pulsanti per risolvere i problemi di accessibilità. (I61ce9)
Stepper
eInlineSlider
ora supportano i clic ripetuti con la 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
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha07
. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il componente
Stepper
alla nostra raccolta di Material 3 di Compose per Wear OS. È simile alla precedente versione di Material, ma per impostazione predefinita omette la semantica dell'intervallo, in seguito al feedback degli sviluppatori. ForniamoModifier.rangeSemantics
nei casi in cui è richiesta la semantica dell'intervallo. (Ic39fd) - Abbiamo aggiunto
curvedText
alla nostra raccolta di Compose per Wear OS Material 3. (Ia8ae3).
Correzioni di bug
- Abbiamo aggiornato
wear.compose.foundation
affinché sia una dipendenza API diwear.compose.material3
(I72004, b/285404743)
Versione 1.0.0-alpha06
7 giugno 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha06
. La versione 1.0.0-alpha06 contiene questi commit.
Correzioni di bug
- Abbiamo aggiornato
TextButton
in modo che utilizzi la funzione di estensionetoDisabledColor
per i valori alpha disattivati corretti. (I814c8)
Versione 1.0.0-alpha05
24 maggio 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha05
. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
TextButton
a Material3, un pulsante circolare con un singolo slot per il testo. Per le diverse dimensioni diTextButton
, consigliamo di utilizzareModifier.touchTargetAwareSize
eExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
eLargeButtonSizeIcon
forniti inTextButtonDefaults
. Il valore predefinitoTextButton
non ha bordo e uno sfondo trasparente per le azioni con poca enfasi. Per le azioni che richiedono molta enfasi, usafilledTextButtonColors
; per un'enfasi media, con contornoTextButton
, imposta il bordo suButtonDefaults.outlinedButtonBorder
; per una via di mezzo tra contorni e pieni, usafilledTonalTextButtonColors
. (I667e4) - Abbiamo aggiunto
Card
,OutlinedCard
,AppCard
eTitleCard
alla raccolta Material3 di Wear Compose. Puoi anche assegnare l'aspetto delineato aAppCard
eTitleCard
utilizzandoCardDefaults.outlinedCardColors
eCardDefaults.outlinedCardBorder
(I80e72)
Modifiche alle API
- Abbiamo spostato il parametro Etichetta pulsante alla fine per supportare la sintassi lambda finale e rimosso il parametro del ruolo (che può essere sostituito usando
Modifier.semantics
). I costruttori diButtonColors
sono ora pubblici. (Ie1b6d).
Versione 1.0.0-alpha04
10 maggio 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha04
. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
IconButton
a Material3, un pulsante circolare con un singolo slot per un'icona/immagine. Esistono quattro varianti:IconButton
,FilledIconButton
,FilledTonalIconButton
eOutlinedIconButton
. Per le diverse dimensioni diIconButton
, consigliamo di utilizzareModifier.touchTargetAwareSize
eExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
eLargeButtonSizeIcon
forniti inIconButtonDefaults
. Forniamo ancheIconButtonDefaults.iconSizeFor
per determinare le dimensioni consigliate delle icone per una determinata dimensione del pulsante. (I721d4)
Versione 1.0.0-alpha03
19 aprile 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha03
. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto il componente Pulsante Material 3, il nostro pulsante a forma di stadio che in precedenza si chiamava Chip nella libreria Material di Wear Compose (è stato rinominato in Pulsante per coerenza con la libreria Compose Material 3). Il pulsante predefinito ha uno sfondo pieno e sono disponibili varianti dei pulsanti per
FilledTonal
(sfondo disattivato), con contorno (trasparente con un bordo sottile) e secondario (sfondo trasparente e senza bordo, utilizzato per azioni supplementari con la minore evidenza). I pulsanti rotondi per icone e contenuti di testo semplici seguiranno in una versione futura.(Ia6942)
Versione 1.0.0-alpha02
5 aprile 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha02
. La versione 1.0.0-alpha02 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto un
DefaultTextStyle
al materiale Wear Compose 3 che impostaPlatformTextStyle.includeFontPadding
per impostazione predefinita su true (l'impostazione attuale). In questo modo potremo sincronizzare la disattivazione della spaziatura interna dei caratteri per impostazione predefinita con le librerie Compose (vedi Correggere la spaziatura interna dei caratteri in Compose per lo sfondo). (I7e461).
Versione 1.0.0-alpha01
22 marzo 2023
Viene rilasciato androidx.wear.compose:compose-material3:1.0.0-alpha01
. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Material 3 è la prossima evoluzione di Material Design e include temi aggiornati e componenti riprogettati. Material 3 su Wear Compose è progettato per essere coerente con la libreria Material 3 Compose su Android. Questa prima release alpha contiene le prime implementazioni funzionali dei seguenti elementi:
Continueremo a sviluppare in parallelo il Materiale di usura (
androidx.wear.compose:compose-material
) e il Materiale di usura 3 (androidx.wear.compose:compose-material3
). Le versioni future di material3 estenderanno il set di widget in modo da includere altri componenti familiari di Compose per Wear OS, come pulsanti, selettori e cursori.Le librerie Wear Material e Wear Material 3 si escludono a vicenda e non devono essere combinate nella stessa app, principalmente perché fanno riferimento a temi diversi, il che potrebbe causare incoerenze impreviste.
Versione 1.4
Versione 1.4.0-rc01
21 agosto 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-rc01
. La versione 1.4.0-rc01 contiene questi commit.
- Abbiamo aggiornato le dipendenze di Compose alla versione 1.7.0-rc01 e abbiamo bloccato la navigazione di Wear Compose su androidx.lifecycle 2.8.3
Versione 1.4.0-beta03
12 giugno 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-beta03
. La versione 1.4.0-beta03 contiene questi commit.
Correzioni di bug
- Abbiamo aggiornato
Modifier.rotaryScrollable
per sostituire l'uso di "attivabile" con "focusTarget" che migliora il rendimento. (ID294b) - Abbiamo risolto un problema per cui
ProgressIndicator
ha ripetuto il suo annuncio inTalkBack
. (I94563) - Abbiamo aggiornato i profili di base della libreria Wear Compose. (I3cbc3)
Versione 1.4.0-beta02
29 maggio 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-beta02
. La versione 1.4.0-beta02 contiene questi commit.
Correzioni di bug
- Abbiamo aumentato la larghezza dei confini trasmessi agli screen reader dal testo curvo per risolvere i problemi di troncamento (Id865f).
- Abbiamo limitato il limite dell'intervallo
HorizontalPageIndicator
trasmesso agli screen reader: in precedenza, l'indicatore occupava lo schermo intero (Id8d7a).
Versione 1.4.0-beta01
14 maggio 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-beta01
. La versione 1.4.0-beta01 contiene questi commit.
La versione 1.4-beta01 di Compose per Wear OS indica che questa release della libreria è completa di funzionalità e l'API è bloccata (tranne nei casi contrassegnati come sperimentali). Wear Compose 1.4 include le seguenti nuove funzionalità:
- Abbiamo aggiunto
Modifier.rotaryScrollable
, un nuovo modificatore che collega gli eventi rotativi a contenitori scorrevoli, che consente agli utenti di scorrere tramite una corona o una cornice rotante sul proprio dispositivo Wear OS. Inoltre,ScalingLazyColumn
ePicker
ora supportano l'input rotatorio per impostazione predefinita. Utilizza il parametrorotaryScrollableBehavior
per configurare il comportamento di scorrimento o di aggancio. Per il comportamento di posizionamento, si consiglia di fornire lo scatto tramite il parametroflingBehavior
anche per lo scorrimento al tocco. SwipeDismissableNavHost
ora fornisce un'animazione delle voci per le transizioni in-app.- Ora, la
PositionIndicator
è visualizzata per impostazione predefinita alla prima visualizzazione di una schermata. SelectableChip
eSplitSelectableChip
sono stati aggiunti come variante suToggleChip
. Utilizza questa opzione conRadioButton
per fornire una semantica selezionabile anziché una semantica attivabile per l'accessibilitàListHeader
ora supporta le regolazioni dell'altezza quando i contenuti hanno bisogno di un'altezza extra per adattarsi a caratteri di grandi dimensioni.
Correzioni di bug
- Abbiamo corretto un bug per cui i chip selezionabili annunciato il tocco due volte per attivare/disattivare l'opzione quando sono già selezionati. (I7ed88)
Versione 1.4.0-alpha08
1° maggio 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-alpha08
. La versione 1.4.0-alpha08 contiene questi commit.
Modifiche alle API
- Abbiamo apportato le seguenti modifiche alla nuova API rotary:
Modifier.rotary
rinominata inModifier.rotaryScrollable
; ha rinominato l'interfacciaRotaryBehavior
inRotaryScrollableBehavior
e la sua funzionehandleScrollEvent
inperformScroll
; ha rinominatoRotaryScrollableAdapter
inRotaryScrollableLayoutInfoProvider
e rimosso la proprietàscrollableState
. (I0c8a6) - Abbiamo apportato ulteriori modifiche all'API rotary:
RotaryScrollableLayoutInfoProvider
è stata rinominata inRotarySnapLayoutInfoProvider
(perché questo provider è necessario solo per le funzioni rotative con snapshot); ha modificato il tipo del parametrosnapOffset
inRotaryScrollableDefaults.snapBehavior snapOffset
da Int a Dp. (Iddebe) - Abbiamo rinominato il parametro
clickInteractionSource
suSplitSelectableChip
incontainerInteractionSource
. (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 interna orizzontale per
PositionIndicator
a 2 dp (invece di 5 dp), per correggere un bug in cui la barra di scorrimentoPositionIndicator
si sovrappone a contenuti scorrevoli. Tieni presente che questa modifica dovrebbe danneggiare gli screenshot esistenti che includonoPositionIndicator
a causa della modifica della spaziatura interna. (I57472) - Abbiamo migliorato la documentazione della nuova API rotary descrivendo le differenze tra i dispositivi rotativi a bassa risoluzione e ad alta risoluzione. (I63abe)
- In
SwipeDismissableNavHost
abbiamo risolto un'eccezione fuori intervallo che poteva essere attivata quando i valori alpha interpolati erano inferiori a zero. (Ib75a1, b/335782510)
Versione 1.4.0-alpha07
17 aprile 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-alpha07
. La versione 1.4.0-alpha07 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto
Modifier.rotary
, un nuovo modificatore che collega gli eventi rotativi a contenitori scorrevoli, che consente agli utenti di scorrere tramite una corona o una cornice rotante sul proprio dispositivo Wear OS. Inoltre,ScalingLazyColumn
e Selettore ora supportano l'input rotatorio per impostazione predefinita, con nuovi sovraccarichi che includono il parametrorotaryBehavior
per specificare la configurazione di scorrimento o aggancio. Se il parametrorotaryBehavior
è impostato su Snap, si consiglia di fornire lo scatto anche tramite il parametroflingBehavior
per lo scorrimento al tocco. (I2ef6f) - Le origini di trascinamento e scorrimento di
NestedScroll
verranno sostituite daUserInput
eSideEffect
per adeguarsi alla definizione estesa di queste origini che ora includono animazioni (effetto collaterale), rotellina del mouse e tastiera (UserInput). (I40579) - Abbiamo aggiunto
SelectableChip
eSplitSelectableChip
per rendere più chiara la distinzione tra controlli di attivazione/disattivazione comeSwitch/Checkbox
e controlli selezionabili comeRadioButton
. Questo sostituisce gli sovraccarichi diToggleChip/SplitToggleChip
aggiunti in precedenza con i parametriselectionControl
. (Ia0217) - Modificatore di visibilità di
IndeterminateStrokeWidth
aggiornato inProgressIndicatorDefaults
a pubblico. (I5b5a4).
Versione 1.4.0-alpha06
3 aprile 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-alpha06
. La versione 1.4.0-alpha06 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto una bozza interna di supporto rotatorio, come parte del più ampio impegno di migrazione del comportamento del Rotary ad AndroidX da Horologist. (I617d1)
- Abbiamo aggiunto una bozza interna di supporto della tecnologia aptica, come parte del più ampio impegno di migrazione del comportamento del Rotary ad AndroidX da Horologist. (I5568a)
Versione 1.4.0-alpha05
20 marzo 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-alpha05
. La versione 1.4.0-alpha05 contiene questi commit.
Modifiche alle API
- Abbiamo reso pubbliche le proprietà
initialCenterItemIndex
einitialCenterItemScrollOffset
diScalingLazyListState
. (I0c616) - Abbiamo reso pubblico
FullScreenStrokeWidth
diProgressIndicatorDefaults
. (Ibea23)
Correzioni di bug
- Abbiamo migliorato il rendimento di
PositionIndicator
riducendo il numero di chiamate alayoutInfo
daScalingLazyColumn
. (Idc83d)
Versione 1.4.0-alpha04
6 marzo 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-alpha04
. La versione 1.4.0-alpha04 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto un nuovo sovraccarico per
ToggleChip
eSplitToggleChip
che accetta un parametroselectionControl
anziché il parametrotoggleControl
. Deve essere usato con il controlloRadioButton
per fornire una semantica selezionabile anziché una semantica attivabile per l'accessibilità (I1d6d9) - Abbiamo aggiornato i nomi dei parametri per il nuovo sovraccarico di
selectionControl
daonSelected
aonSelect
perToggleChip
eSplitToggleChip
(I1a971)
Versione 1.4.0-alpha03
21 febbraio 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-alpha03
. La versione 1.4.0-alpha03 contiene questi commit.
Modifiche alle API
- Il wrapper
Modifier.inspectable
è stato deprecato. Questa API creerà più invalidazioni del modificatore del necessario, pertanto ne sconsigliamo l'utilizzo. Consigliamo agli sviluppatori di implementare il metodoinspectableProperties()
suModifierNodeElement
se vogliono esporre le proprietà di modifica agli strumenti. (Ib3236)
Correzioni di bug
- Abbiamo corretto un bug della documentazione per le annotazioni
WearPreview*
. (ID526d)
Versione 1.4.0-alpha02
7 febbraio 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-alpha02
. La versione 1.4.0-alpha02 contiene questi commit.
Correzioni di bug
- Abbiamo corretto un bug nello scorrimento per scoprire la visibilità, a causa del quale era possibile interagire con (e annullare) un'azione impegnata su un elemento iniziando a far scorrere un altro elemento.(Ide059)
- Abbiamo aggiornato
ListHeader
per supportare le regolazioni dell'altezza quando i contenuti necessitano di un'altezza extra per adattarsi a caratteri di grandi dimensioni. (I7290c, b/251166127)
Versione 1.4.0-alpha01
24 gennaio 2024
Viene rilasciato androidx.wear.compose:compose-*:1.4.0-alpha01
. La versione 1.4.0-alpha01 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto l'animazione della voce a
SwipeDismissableNavHost
per le transizioni in-app.(cfeb79a) - Ora, la
PositionIndicator
è visualizzata per impostazione predefinita alla prima visualizzazione di una schermata. Questa modifica è stata introdotta per contribuire a rispettare le norme sulla qualità di Wear. Purtroppo, ciò significa che i test relativi agli screenshot dovranno essere aggiornati nelle schermate che includonoPositionIndicator
, poiché questoPositionIndicator
non sarebbe stato visualizzato in precedenza. (419 cef7).
Modifiche alle API
- Abbiamo aggiunto una nuova API Ripple nelle librerie
wear:compose-material
ewear:compose-material3
che sostituisce la versionerememberRipple
deprecata. Viene inoltre aggiunto unCompositionLocal
temporaneo,LocalUseFallbackRippleImplementation
, per ripristinare l'utilizzo delle APIrememberRipple/RippleTheme
deprecate per i componenti Material. Verrà rimosso nella prossima release stabile ed è destinato solo a essere un aiuto temporaneo per la migrazione nei casi in cui fornisci unRippleTheme
personalizzato. Visita il sito developer.android.com per avere informazioni sulla migrazione e altre informazioni di base relative a questa modifica. (af92b21). - Abbiamo aggiornato
ColorScheme
affinché sia immutabile, rendendo gli aggiornamenti dei singoli colori meno efficienti, ma rendendo più efficiente l'utilizzo più comune dei colori. Il ragionamento alla base di questa modifica è che la maggior parte delle app non avrebbe l'aggiornamento dei singoli colori come caso d'uso principale. Questo è ancora possibile, ma si ricomincerà più di prima, a sua volta diminuiremo significativamente la quantità di abbonamenti statali in tutto il codice materiale e inciderà sull'inizializzazione e sul costo di runtime di casi d'uso più standard. (F5c48b7). - I componenti Wear material e Wear material3 che presentano un
MutableInteractionSource
nella relativa API sono stati aggiornati per esporre unMutableInteractionSource
con valore nullo che per impostazione predefinita è null. Non ci sono modifiche semantiche: passare un valore nullo significa che non vuoi issareMutableInteractionSource
e, se necessario, verrà creato all'interno del componente. Il passaggio a null consente ad alcuni componenti di non allocare mai unMutableInteractionSource
e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi il valoreMutableInteractionSource
che passi a questi componenti, ti consigliamo di trasmettere un valore nullo. È inoltre consigliabile apportare modifiche simili nei tuoi componenti. (F8fa920). - Abbiamo aggiornato
rememberExpandableState
per salvare lo stato espandibile. In questo modo, i dati vengono memorizzati quando si passa a un'altra schermata e ripristinati quando torni alla schermata originale. (5c80095)
Correzioni di bug
- Abbiamo aggiornato l'impostazione
ReduceMotion
per utilizzare un listener sensibile al ciclo di vita. (7c6b122). - Abbiamo aggiornato il listener di
TouchExplorationStateProvider
per essere consapevole del ciclo di vita (be28b01) - Abbiamo rimosso lo strato materialcore per
CompactButton
per migliorare le prestazioni (25db8e9) - Abbiamo reso
BasicSwipeToDismissBox
più affidabile per le compensazioni NaN per evitare eccezioni (b983739) - Abbiamo aggiornato
BasicSwipeToDismissBox
per garantire che i valori alpha rientrino nell'intervallo 0,1 - Abbiamo corretto un bug in
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
eRadioButton
in modo che gli annunci sull'accessibilità non vengano ripetuti (in precedenza, i ruoli semantici erano duplicati) (d11eeb7)
Versione 1.3
Versione 1.3.1
3 aprile 2024
Viene rilasciato androidx.wear.compose:compose-*:1.3.1
. La versione 1.3.1 contiene questi commit.
Correzioni di bug
- Abbiamo corretto un bug nello scorrimento per scoprire, nel quale era possibile interagire con (e annullare) un'azione impegnata su un elemento iniziando a far scorrere un altro elemento. (Ide059)
Versione 1.3.0
24 gennaio 2024
Viene rilasciato androidx.wear.compose:compose-*:1.3.0
. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- La classe
SwipeToDismissBoxState
, l'enumerazioneSwipeToDismissValue
e la funzione di estensioneModifier.edgeSwipeToDismiss
ora fanno parte del pacchettoandroidx.wear.compose.foundation
, anziché del pacchettoandroidx.wear.compose.material
. Questa architettura aggiornata consente di implementare la gestione dei gesti indipendentemente da altre considerazioni sulla progettazione. I flussi di lavoro di Material Design, come l'applicazione di colori da un tema configurato, vengono gestiti separatamente. - I corsi
SwipeToRevealCard
eSwipeToRevealChip
ti aiutano a implementare ilrecommended swipe-to-reveal guidance
. La classeSwipeToRevealSample
dimostra come utilizzare questi componenti. La nostra release 1.3.0-alpha02 ha introdotto una modifica che fa aumentare l'altezza degli oggetti
Chip
eToggleChip
per supportare meglio il ridimensionamento dei caratteri selezionati dall'utente. Ciò può causare alcuni tagli. Per risolvere il problema, la formalarge
perMaterialTheme
ora utilizza un raggio d'angolo più grande (26 dp invece di 24 dp). Gli oggettiChip
eToggleChip
utilizzano questo nuovo raggio d'angolo per evitare di ritagliare contenuti sugli angoli di Chip eToggleChip
.- La maggior parte dei valori
Chips
eToggleChips
non ha subito modifiche, 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 ignorata l'altezza, potrebbero causare l'interruzione dei test degli screenshot.
- La maggior parte dei valori
Modifiche aggiuntive
Per un insieme più completo delle modifiche introdotte nella versione 1.3.0, consulta le note di rilascio della versione beta01.
Consigli per l'implementazione
- Se la tua app consente agli utenti di spostarsi all'interno dei contenuti dello schermo, ad esempio in un'app basata su mappa, disattiva la gestione dello scorrimento impostando
userSwipeEnabled
sufalse
nel componibileSwipeDismissableNavHost
e includi un pulsante che consenta agli utenti di passare alla schermata precedente. - Per disattivare le animazioni per un indicatore di posizione durante le animazioni di dissolvenza in entrata e di modifica della posizione all'interno di un elenco a scorrimento, utilizza un oggetto
SnapSpec
. - Mentre attendi che un'app multimediale carichi i contenuti per la riproduzione, mostra un elemento componibile
Placeholder
vuoto. - Per creare una raccolta di elementi espandibili on demand, valuta la possibilità di utilizzare la classe sperimentale
ExpandableStateMapping
.
Versione 1.3.0-rc01
10 gennaio 2024
Viene rilasciato androidx.wear.compose:compose-*:1.3.0-rc01
. La versione 1.3.0-rc01 contiene questi commit.
Correzioni di bug
-
Abbiamo aggiornato la forma grande
MaterialTheme
per utilizzare un raggio d'angolo arrotondato di 26 dp, che ora verrà utilizzata da Chip eToggleChip
. Questa modifica è necessaria per supportare le regolazioni dell'altezza quando i contenuti necessitano di un'altezza aggiuntiva per adattarsi a caratteri di grandi dimensioni, altrimenti la forma attuale dello stadio blocca alcuni contenuti di testo.Figura 1: testo troncato agli angoli. Figura 2: testo non troncato. Questa modifica potrebbe causare un'interruzione dei test degli screenshot. (I2e6ae).
Versione 1.3.0-beta02
13 dicembre 2023
Viene rilasciato androidx.wear.compose:compose-*:1.3.0-beta02
. La versione 1.3.0-beta02 contiene questi commit.
Correzioni di bug
- Abbiamo ripristinato il movimento di scorrimento previsto in
BasicSwipeToDismissBox
. Questa transizione è stata modificata in una release precedente, in modo che la transizione della slide si sia verificata mentre il dito toccava lo schermo. (Id8e76)
Versione 1.3.0-beta01
15 novembre 2023
Viene rilasciato androidx.wear.compose:compose-*:1.3.0-beta01
. La versione 1.3.0-beta01 contiene questi commit.
La versione 1.3-beta01 di Compose per Wear OS indica che questa release della libreria è completa di funzionalità e l'API è bloccata (tranne nei casi contrassegnati come sperimentali). Wear Compose 1.3 include le seguenti nuove funzionalità:
- È stata eseguita la migrazione di
SwipeToDismissBoxState
,SwipeToDismissValue
eModifier.edgeSwipeToDismiss
daandroidx.wear.compose.material
aandroidx.wear.compose.foundation
, insieme alla sottostante implementazione con scorrimento per ignorare inBasicSwipeToDismissBox
. In questo modo, la gestione dei gesti per lo scorrimento per ignorare può essere utilizzata indipendentemente da Material Design, ad esempio daSwipeDismissableNavHost
inandroidx.wear.compose.navigation
. Ti consigliamo comunque di utilizzareSwipeToDismissBox
diandroidx.wear.compose.material
con Material Design, perché estrae i colori daMaterialTheme
e delega l'implementazione rimanente aBasicSwipeToDismissBox
. SwipeDismissableNavHost
ora supporta un nuovo parametrouserSwipeEnabled
per cui la gestione dello scorrimento può essere disattivata per le schermate in cui non è richiesta.BasicSwipeToDismissBox
ha migliorato la gestione della messa a fuoco utilizzandoHierarchicalFocusCoordinator
.SwipeToReveal
ha nuovi componibiliSwipeToRevealCard
eSwipeToRevealChip
in Material che seguono le linee guida UX consigliate perCard
eChip
. Inoltre, supporta l'annullamento dell'azione secondaria.DefaultTextStyle
ora disattiva la spaziatura interna dei caratteri per garantire la coerenza su tutta la piattaforma Android.Chip
eToggleChip
ora regolano l'altezza per adattarsi ai contenuti che sono aumentati grazie all'accessibilità dei caratteri grandi- Ora
PositionIndicator
dispone di specifiche per singole animazioni per le animazioni di dissolvenza in entrata, dissolvenza in uscita e cambio di posizione. Per migliorare le prestazioni, consigliamo di disattivare le dissolvenze in entrata e i cambiamenti di posizione quando utilizzati con elenchi scorrevoli. ExpandableStateMapping
fornisce un nuovo modo per generareExpandableStates
quando devono essere creati on demand e non necessariamente con un ambito@Composable
.Placeholder
ora consente la reimpostazione se i contenuti non sono più nello stato Pronto. Inoltre, l'impostazione Riduci il movimento ora viene applicata all'effetto scintillante e al movimento a comparsa diPlaceholder
.
Problemi noti
PositionIndicator
non viene mostrato inizialmente alla prima visualizzazione di una schermata. Abbiamo intenzione di apportare una modifica in una delle prime versioni della versione 1.4 alpha in modo che venga mostrata inizialmente, ma senza alcuna animazione.
Modifiche alle API
- Abbiamo rinominato il livello base
SwipeToDismissBox
inBasicSwipeToDismissBox
. In questo modo, la distinzione tra il componente Livello base e il livello MaterialeSwipeToDismissBox
è più chiara. Quest'ultimo estrae i colori daMaterialTheme
per utilizzarli negli scrim e delega l'implementazione rimanente alBasicSwipeToDismissBox
. (Ibecfc) - Abbiamo contrassegnato
rememberExpandableStateMapping
come sperimentale e migliorato il rendimento diexpandableItem
. (I5f6bc). - Abbiamo sostituito la classe
SwipeToRevealAction
nelle API MaterialSwipeToReveal
Card and Chip con un'API basata su slot utilizzando gli elementi componibiliSwipeToRevealPrimaryAction
,SwipeToRevealSecondaryAction
eSwipeToRevealUndoAction
. Consulta il codice campione per esempi su come utilizzare la nuova API. (Ia8943) - Abbiamo sostituito i flag di animazione
PositionIndicator
con il parametroAnimationSpec
. Le singole animazioni possono essere disattivate passandosnap
comeAnimationSpec
. (I6c523).
Correzioni di bug
- Abbiamo corretto un bug attivato da una curvatura limitata quando la dimensione è limitata (I50efe)
- Abbiamo risolto un potenziale arresto anomalo NaN relativo a
curvedComposable
(I970eb) - Abbiamo ripristinato la rimozione dell'animazione di evidenziazione della modifica della posizione il giorno
PositionIndicator
. (Ieb424) - Abbiamo rimosso lo strato Material-core per material Chip per migliorarne le prestazioni. (If2dcb)
Versione 1.3.0-alpha08
18 ottobre 2023
Viene rilasciato androidx.wear.compose:compose-*:1.3.0-alpha08
. La versione 1.3.0-alpha08 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto singoli flag agli sovraccarichi di
PositionIndicator
per controllare diverse animazioni:showFadeInAnimation
,showFadeOutAnimation
eshowPositionAnimation
. L'API precedente è stata deprecata e inoltra le chiamate a quella nuova. Per motivi di prestazioni e per coerenza UX, quandoPositionIndicator
viene utilizzato con un elenco scorrevole, ti consigliamo di disattivare i flagshowFadeInAnimation
eshowPositionAnimation
. SePositionIndicator
viene utilizzato come indicatore autonomo, ad esempio per la variazione di volume, ti consigliamo di attivare tutte e tre le animazioni. (I44294) - Abbiamo ritirato il materiale
SwipeToDismissBoxState
,SwipeToDismissValue
eedgeSwipeToDismiss
in seguito alla migrazione della funzionalità Scorri per ignorare awear.compose.foundation
. Sostituiscila con gli equivalentiwear.compose.foundation
. (Iee8c9)
Correzioni di bug
- Abbiamo aggiornato i profili di base per le librerie di base di Wear Composer, i materiali e la navigazione. (Idb060)
- Abbiamo ripristinato un cambiamento di comportamento per
PositionIndicator
introdotto in un CL precedente, in modo chePositionIndicator
fosse animato alla prima visualizzazione di una schermata. Abbiamo intenzione di apportare una modifica simile nella versione alpha 1.4 iniziale, in modo chePositionIndicator
venga inizialmente visualizzato, ma senza alcuna animazione. (I41843) - Abbiamo risolto alcuni problemi di prestazioni in
PositionIndicator
. (I1c654, b/302399827) - Abbiamo ottimizzato le prestazioni dell'implementazione predefinita del fornitore dello stato di esplorazione touch in base a
State<Boolean>
anziché allo stato derivato. (Ieec4d) - Abbiamo impostato
systemGestureExclusion
rettangoli per Android 13 e versioni successive. (Ib1f4b).
Versione 1.3.0-alpha07
4 ottobre 2023
Viene rilasciato androidx.wear.compose:compose-*:1.3.0-alpha07
. La versione 1.3.0-alpha07 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto singoli flag a
PositionIndicator
per controllare diverse animazioni:showFadeInAnimation
,showFadeOutAnimation
eshowPositionAnimation
. L'API precedente è stata deprecata e inoltra le chiamate a quella nuova. Per motivi di prestazioni e per coerenza UX, quandoPositionIndicator
viene utilizzato con un elenco scorrevole, ti consigliamo di disattivare i flagshowFadeInAnimation
eshowPositionAnimation
. SePositionIndicator
viene utilizzato come indicatore autonomo, ad esempio per la variazione di volume, ti consigliamo di attivare tutte e tre le animazioni. (Ia2d63)
Correzioni di bug
- Abbiamo apportato miglioramenti allo scorrimento per rivelare il movimento aggiungendo un'animazione di dissolvenza al testo dell'azione principale e attenuando l'azione secondaria/modificando la scala dell'icona con l'espansione con scorrimento completo. (Ib7223)
- È consigliabile rendere accessibili le azioni Scorri per scoprire e abbiamo aggiunto azioni di accessibilità personalizzate ai nostri campioni Scorri per scoprire. (I42224)
- Abbiamo migliorato le prestazioni di
SwipeToDismissBox
, incluso il refactoring per garantire che la logica iniziale non attivi una ricomposizione. L'elementoSwipeToDismissBox
è ora disegnato a schermo intero. (Ie0aa2). - Abbiamo corretto un bug che si verifica quando l'icona
PositionIndicator
è scomparsa per errore. (I2091a) - Prestazioni di
PositionIndicator
migliorate mediante l'ottimizzazione delle ricomposizioni. Successivamente sono stati aggiunti nuovi flag per controllare le animazioni (fadeIn
,fadeOut
epositionChange
) (vedi Modifiche all'API) (Ifac7d) - Abbiamo aggiunto test Microbenchmark per
PositionIndicator
(Idf875)
Versione 1.3.0-alpha06
20 settembre 2023
Viene rilasciato androidx.wear.compose:compose-*:1.3.0-alpha06
. La versione 1.3.0-alpha06 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto il supporto di
Modifier.edgeSwipeToDismiss
conSwipeToReveal
. (I95774, b/293444286) - Abbiamo aggiunto campioni per il materiale
SwipeToRevealChip
eSwipeToRevealCard
. (Ieb974) - Abbiamo aggiornato i profili di base per le librerie Material e di base di Wear Compose. (I1dd1f)
Versione 1.3.0-alpha05
6 settembre 2023
Viene rilasciato androidx.wear.compose:compose-*:1.3.0-alpha05
. La versione 1.3.0-alpha05 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto una funzionalità di gestione nello scorrimento per scoprire, in modo che sia possibile far scorrere un solo elemento alla volta. (I3cd7a)
- È stata migliorata la documentazione di
ScalingLazyColumnDefaults
per una migliore corrispondenza del comportamento effettivo. (I886d3)
Versione 1.3.0-alpha04
23 agosto 2023
Viene rilasciato androidx.wear.compose:compose-*:1.3.0-alpha04
. La versione 1.3.0-alpha04 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto dell'annullamento per l'azione secondaria di
SwipeToReveal
. (I7a22d).
Modifiche alle API
- Aggiungi
HorizontalPageIndicator
alla raccolta Wear Material3. (Ifee99) - Strumenti anteprima di Wear Compose aggiornati per usare la raccolta
androidx.wear.tooling.preview
. (Ib036e)
Correzioni di bug
- È stato corretto un bug nei pulsanti rotondi in cui i modificatori non erano concatenati correttamente. (I5e162).
Versione 1.3.0-alpha03
9 agosto 2023
Viene rilasciato androidx.wear.compose:compose-*:1.3.0-alpha03
. La versione 1.3.0-alpha03 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto due nuovi componibili in Material per l'implementazione di
SwipeToReveal
con le carte e i chip. Questi componibili seguono le linee guida UX consigliate per il componente e semplificano l'implementazione diSwipeToReveal
con i componenti esistenti in Wear Material per gli sviluppatori. (I7ec65) - Abbiamo attivato le annotazioni
FloatRange
come vincoli API, che in precedenza erano indicate nei commenti. (Icb401)
Correzioni di bug
- Abbiamo spostato la logica di scorrimento iniziale di
ScalingLazyColumn
all'interno dionGloballyPositioned()
. (Ic90f1) - Ora utilizziamo
drawWithCache
inPositionIndicator
,ProgressIndicator
eSelectionControls
per ottimizzare l'allocazione dei tratti. (I5f225, b/288234617) - Abbiamo corretto la visibilità delle caselle di controllo negli stati disattivati. (Ib25bf)
- Abbiamo aggiornato
Placeholder
per consentire la reimpostazione della visualizzazione del segnaposto se i contenuti non sono più in stato Pronto. (Ibd820) - Abbiamo apportato alcune correzioni ai test
Placeholder
irregolari (Idb560)
Versione 1.3.0-alpha02
26 luglio 2023
Viene rilasciato androidx.wear.compose:compose-*:1.3.0-alpha02
. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche alle API
- Abbiamo fornito
ExpandableStateMapping
, un nuovo modo per generareExpandableStates
, per i casi in cui devono essere creati on demand, non necessariamente all'interno di un ambito@Composable
(Iff9e0) - È stata eseguita la migrazione di
SwipeToDismissBox
daandroidx.wear.compose.material
aandroidx.wear.compose.foundation
pacchetto. (I275fb) - File API aggiornati per annotare l'eliminazione della compatibilità. (I8e87a, b/287516207)
- Abbiamo reso pubbliche le costanti di altezza per
Chip
,CompactChip
eToggleChip
(Idbfde) - Abbiamo reso pubbliche le spaziatura interna orizzontale e verticale per
Chip
eCompactChip
. (Ieeaf7) - È stata aggiunta una funzionalità per disattivare la gestione dello scorrimento in
SwipeDismissableNavHost
tramite il nuovo parametrouserSwipeEnabled
. (Id2a0b, b/230865655) - Abbiamo aggiornato la libreria di navigazione di Wear Compose per usare il nuovo
SwipeToDismissBox
di Wear Compose Foundation. (I4ff8e)
Correzioni di bug
- Abbiamo corretto un bug dell'ordine z per cui
expandedItem
non mostrava i contenuti corretti dopo aver fatto clic sul comportamento di un pulsante quando è presente. (I1899d, b/289991514) - Migliora la gestione della messa a fuoco di
SwipeToDismissBox
(e quindi diSwipeDismissableNavHost
) utilizzandoHierarchicalFocusCoordinator
(I45362, b/277852486) - Abbiamo apportato una correzione alla gestione dei gesti in
SwipeableV2
. (I89737) - Abbiamo finalizzato i profili di base per la versione 1.2. (ID5740)
- A seguito della migrazione di
SwipeToDismissBox
alla base, l'implementazioneSwipeToDismissBox
del materiale viene inoltrata alla base e fornisce i valori di colore predefiniti del relativo tema.(If8451) - Abbiamo aggiunto la semantica dell'intestazione a
ListHeader
. (Ic5420) - Quando necessario,
Chip
eToggleChip
regoleranno la propria altezza per adattarsi ai contenuti cresciuti a causa dell'accessibilità dei caratteri grandi. (Iaf302) - È stato corretto un bug nel ruolo semantico dell'area toccabile di
SplitToggleChip
per l'accessibilità. (Ieed3a). - L'impostazione di riduzione del movimento ora disattiva l'effetto scintillante e il movimento a comparsa sui segnaposto. (I91046)
Stepper
eInlineSlider
ora supportano i clic ripetuti con la pressione prolungata in modo da poter aumentare o diminuire rapidamente il valore diStepper
eInlineSlider
tenendo premuti i pulsanti + o -. (I27359)
Versione 1.3.0-alpha01
21 giu 2023
Viene rilasciato androidx.wear.compose:compose-*:1.3.0-alpha01
. La versione 1.3.0-alpha01 contiene questi commit.
Correzioni di bug
- Come annunciato in
1.2.0-alpha07
e1.2.0-alpha10
, stiamo modificandoDefaultTextStyle
per disattivare la spaziatura interna dei caratteri in modo che sia coerente su tutta la piattaforma Android. Questa operazione risolve alcuni casi di ritaglio del testo con caratteri di grandi dimensioni e potrebbe influire anche sul layout dello schermo, pertanto è necessario aggiornare i test degli screenshot. Ad esempio, qui il testo viene troncato (Ic6a86).
![Testo troncato con caratteri di grandi dimensioni](https://developer.android.com/static/jetpack/androidx/images/IncludeFontPadding-True.png?hl=it)
- Non è più presente quando la spaziatura interna dei caratteri è disattivata:
![Testo non tagliato con caratteri di grandi dimensioni](https://developer.android.com/static/jetpack/androidx/images/IncludeFontPadding-False.png?hl=it)
- 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 dello sfondo e dei contenuti vengono ora passate al blocco di memoria in modo che vengano creati nuovi modificatori quando i contenuti o lo sfondo cambiano. (Ib876c, b/280392104) - Abbiamo aggiornato
TimeText
in modo che utilizzi le impostazioni internazionali per la scelta del formato per il formato 12 o 24 ore. (If4a3d). - Abbiamo corretto un'incoerenza nei parametri predefiniti di
SwipeToDismissBox
contentScrimColor
. (I2d70f) - Abbiamo migliorato la gestione del movimento in
SwipeToReveal
. (I28fb7)
Problemi noti
- Il supporto delle dimensioni dei caratteri configurate dall'utente è un requisito di accessibilità. Sappiamo che i chip multiriga possono causare il ritaglio del testo quando vengono visualizzati con caratteri di grandi dimensioni, quindi aggiorneremo i chip in una prima versione alpha 1.3 per apportare modifiche all'altezza in questi casi.
Versione 1.2
Versione 1.2.1
18 ottobre 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.1
. La versione 1.2.1 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava la scomparsa errata di
PositionIndicator
. (7a167f)
Versione 1.2.0
9 agosto 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0
. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- Release stabile di Compose per Wear OS 1.2.0 (scopri di più)
- Per un elenco delle modifiche principali in Wear Compose 1.2, consulta le note di rilascio per (Compose per Wear OS 1.2 Beta01)
Versione 1.2.0-rc01
26 luglio 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-rc01
. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Abbiamo finalizzato i profili di base per la versione 1.2 (Id5740).
Versione 1.2.0-beta02
7 giugno 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-beta02
. La versione 1.2.0-beta02 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto la nuova variabile sperimentale
LocalReduceMotion
CompositionLocal
che disattiva la scalabilità e la dissolvenza suScalingLazyColumn
. (I58024)
Correzioni di bug
- Abbiamo aggiornato i profili di riferimento per le librerie dei materiali e degli elementi di base Wear Compose(I4725d)
- Abbiamo corretto un'incoerenza nei valori predefiniti per i parametri
SwipeToDismissBox
contentScrimColor
(I2d70f) - Abbiamo corretto il valore predefinito di
DefaultTextStyle
utilizzato per l'impostazioneIncludeFontPadding
(I737ed)
Versione 1.2.0-beta01
24 maggio 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-beta01
. La versione 1.2.0-beta01 contiene questi commit.
Contenuti di Compose per Wear OS 1.2
La versione 1.2-beta01 di Compose per Wear OS indica che questa release della libreria è completa di funzionalità e l'API è bloccata (tranne nei casi contrassegnati come sperimentali). Wear Compose 1.2 include le seguenti nuove funzionalità:
expandableItem
eexpandableItems
sono due nuovi componentiFoundation
che supportano gli elementi espandibili all'interno di un elementoScalingLazyColumn
. UtilizzaexpandableItem
per un singolo elemento espandibile, ad esempio il testo contenente 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 componibile sperimentale consente di contrassegnare sottoalberi della composizione come messa a fuoco attivata o messa a fuoco disattivata.Picker
: l'API ora includeuserScrollEnabled
per controllare se il selettore è attivo per lo scorrimento da parte degli utenti.PickerGroup
: un nuovo componibile per la gestione di più selettori insieme. Gestisce lo stato attivo tra i selettori utilizzando l'APIHierarchicalFocusCoordinator
e attiva la centratura automatica degli elementi del selettore.Placeholder
- abbiamo aggiornato le animazioni scintillanti 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 un supporto sperimentale per la funzionalità di scorrimento per mostrare gli annunci come mezzo per accedere ad azioni secondarie, integrando il modello esistente di "pressione prolungata".Stepper
: ora ha un sovraccarico con un parametroenableRangeSemantics
aggiuntivo per facilitare la disattivazione della semantica dell'intervallo predefinito.Previews
- abbiamo aggiunto le seguenti annotazioni personalizzate per la visualizzazione in anteprima degli elementi componibili sulle schermate Wear:WearPreviewSmallRound
visualizza l'anteprima del componibile su un dispositivo piccolo e rotondo;WearPreviewLargeRound
visualizza l'anteprima del componibile su un dispositivo rotondo di grandi dimensioni;WearPreviewSquare
visualizza l'anteprima del componibile su un dispositivo quadrato. Inoltre, le seguenti annotazioni in anteprima multipla:WearPreviewFontScales
visualizza l'anteprima dei componibili su un dispositivo Wear con più dimensioni dei caratteri, mentreWearPreviewDevices
mostra l'anteprima dei componibili su diversi dispositivi indossabili.- Abbiamo aggiunto un
DefaultTextStyle
a Compose di Wear che imposta la proprietàPlatformTextStyle.includeFontPadding
per impostazione predefinita su true (questa è l'impostazione attuale). In questo modo potremo sincronizzare la disattivazione della spaziatura interna dei caratteri per impostazione predefinita con le librerie Compose in una versione alpha 1.3 precedente. Vedi 1.2.0-alpha10 per ulteriori informazioni.
Nuove funzionalità
- Abbiamo aggiunto un supporto sperimentale per la disattivazione del ridimensionamento e della dissolvenza dell'animazione quando è attiva l'impostazione ridurre_motion. (I58024)
Correzioni di bug
- Documentazione migliorata per
angularWidthDp
inCurvedSize.kt
(Iab75c) SwipeDismissableNavHost
ora registra un avviso con potenziali cause di un backstack vuoto. Questo viene fatto per evitare arresti anomali imprevisti causati daIllegalArgumentException
che è stato generato quando il backstack era vuoto. (I04a81, b/277700155)
Versione 1.2.0-alpha10
10 maggio 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-alpha10
. La versione 1.2.0-alpha10 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto dello scorrimento per scoprire, come mezzo per accedere alle azioni secondarie. Questo pattern integra il pattern della "pressione prolungata", ovvero il modo esistente in cui un utente può rivelare (diverse) azioni secondarie. (I60862)
Modifiche alle API
- Abbiamo aggiunto
RevealScope
agli elementi componibili delle azioni inSwipeToReveal
, che consente di accedere all'offset in cui vengono visualizzate le azioni aggiuntive. (I3fd56)
Correzioni di bug
- Risolto un problema per cui
ScalingLazyColumn
si bloccava sull'API Wear 33 dopo lo scorrimento (Ic4599) - Abbiamo apportato alcuni miglioramenti alle prestazioni di
PositionIndicator
per ridurre i blocchi. (I35e92). - Abbiamo corretto un bug nel chip e in
CompactChip
per cui il ruolo semantico non era più impostato suRole.Button
. (I93f91, b/277326264)
Problemi noti
Abbiamo identificato un bug in Android Studio che causa un errore nella visualizzazione dell'anteprima se annotato con @WearPreviewDevices e @WearPreviewFontScales. A breve è prevista una correzione per il rilascio. Tieni presente che le altre annotazioni relative all'anteprima di Wear OS funzionano come previsto in Android Studio Giraffe 2022.3.1 e versioni successive.
Nella versione 1.2.0-alpha07 abbiamo aggiunto il metodo DefaultTextStyle a Wear Compose, mantenendo l'attuale valore PlatformTextStyle.includeFontPadding su true. Per lo sfondo, vedi Correggere la spaziatura interna dei caratteri in Compose. Modificheremo il metodo DefaultTextStyle per disattivare la spaziatura interna dei caratteri in una delle prime versioni alpha della versione 1.3, in modo da mantenere la coerenza su tutta la piattaforma Android. Questa operazione risolverà alcuni casi di ritaglio del testo con caratteri di grandi dimensioni e potrebbe influire anche sul layout dello schermo, pertanto i test degli screenshot devono essere aggiornati. Ad esempio, con caratteri di grandi dimensioni, il testo viene troncato qui:
![Testo troncato con caratteri di grandi dimensioni](https://developer.android.com/static/jetpack/androidx/images/IncludeFontPadding-True.png?hl=it)
- Non è più presente quando la spaziatura interna dei caratteri è disattivata:
![Testo non tagliato con caratteri di grandi dimensioni](https://developer.android.com/static/jetpack/androidx/images/IncludeFontPadding-False.png?hl=it)
La nuova impostazione può essere adottata ora sostituendo la tipografia nel tema. Vedi l'esempio di codice.
Versione 1.2.0-alpha09
19 aprile 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-alpha09
. La versione 1.2.0-alpha09 contiene questi commit.
Modifiche alle API
- Aggiungi
angularSizeDp
all'APICurvedModifier
per impostare la larghezza angolare in DP (I89a52)
Correzioni di bug
- Abbiamo risolto i problemi di accessibilità nelle nostre demo sul selettore dell'ora(Id0eb7)
Versione 1.2.0-alpha08
5 aprile 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-alpha08
. La versione 1.2.0-alpha08 contiene questi commit.
Modifiche alle API
- Abbiamo rinominato
ExpandableItemsState
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 annunci espandibili. (Iae309).
Correzioni di bug
- Campioni espandibili migliorati per mostrare più possibilità. Animazione di
expandableItem
modificata per mantenere i contenuti centrati nell'animazione. (I2f637) - È stato aggiornato
ToggleControls
per evitare ricomposizioni aggiuntive quando si anima manualmente i colori utilizzando lo stato. (I5d319)
Versione 1.2.0-alpha07
22 marzo 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-alpha07
. La versione 1.2.0-alpha07 contiene questi commit.
Modifiche alle API
- Abbiamo spostato i componenti degli elementi espandibili (aggiunti nella versione 1.2.0-alpha06) dal materiale all'elemento di base, poiché non avevano riferimenti significativi a
MaterialTheme
. (Ib0525).
Correzioni di bug
- Abbiamo corretto un arresto anomalo che si è verificato in una schermata utilizzando
PickerGroup
, assicurando chePickerGroup
gestisca correttamente lo stato attivo quando nessun selettore è impostato sullo stato attivo. Inoltre, nelle nostre demo sul selettore è stato aggiunto il supporto per lo scorrimento RSB. (If8c19). - Abbiamo migliorato le transizioni delle finestre di dialogo. Ora la transizione introduttiva è più fluida rispetto alla transizione finale. (Ib5af9)
- Abbiamo aggiunto un
DefaultTextStyle
a Compose di Wear che imposta la proprietàPlatformTextStyle.includeFontPadding
per impostazione predefinita su true (questa è l'impostazione attuale). In questo modo potremo sincronizzare la disattivazione della spaziatura interna dei caratteri per impostazione predefinita con le librerie Compose in futuro. Vedi (Correggere la spaziatura interna dei caratteri in Compose) per lo sfondo. (I2aee8) - È stata ripristinata una dipendenza dall'anteprima
UpsideDownCake
tramite la composizione dell'attività che ha bloccato la pubblicazione delle app sul Google Play Store. (I6443d)
Versione 1.2.0-alpha06
8 marzo 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-alpha06
. La versione 1.2.0-alpha06 contiene questi commit.
Modifiche alle API
- Aggiungi il componente
CurvedBox
, che posiziona i componenti uno sopra l'altro nel mondo curvo. (I29200) - Aggiunta di elementi espandibili: due nuovi componenti che supportano un gruppo di elementi espandibili in un elemento
ScalingLazyColumn
o un singolo elemento espandibile, ad esempio il testo in cui si espande il numero di righe. (I95dd5) - Abbiamo aggiunto le seguenti annotazioni personalizzate per la visualizzazione in anteprima dei componibili sulle schermate Wear:
WearPreviewSmallRound
visualizza l'anteprima del componibile su un piccolo dispositivo rotondo;WearPreviewLargeRound
visualizza l'anteprima del componibile su un dispositivo rotondo di grandi dimensioni;WearPreviewSquare
mostra l'anteprima del componibile su un dispositivo quadrato. Inoltre, le seguenti annotazioni in anteprima multipla:WearPreviewFontScales
visualizza l'anteprima dei componibili su un dispositivo Wear con più dimensioni dei caratteri, mentreWearPreviewDevices
mostra l'anteprima dei componibili su diversi dispositivi indossabili. Per utilizzare queste anteprime, devi avere l'ultima versione di Android Studio (Giraffe Canary 6) o una versione successiva. Tieni presente che se queste annotazioni non sono adatte al tuo scopo, l'anteprima può comunque essere utilizzata e supporta ulteriori personalizzazioni tramite i parametri. (I397ff) - Abbiamo contrassegnato
HierarchicalFocusCoordinator
come un esperimento mentre viene considerato come candidato per lo spostamento nelle librerie di composizione principali, data la sua ampia applicabilità. (I3a768)
Correzioni di bug
- È stato corretto un bug su
HierarchicalFocusCoordinator
: quando la funzione lambda passata per il parametrofocusEnabled
viene modificata, ora viene utilizzato correttamente il nuovo parametro. (Icb353) - Abbiamo aggiornato il colore predefinito dei contenuti disattivati in Sfondo quando vengono utilizzati colori primari come sfondo in
Button
,CompactButton
,Chip
,CompactChip
eToggleButton
. Questo migliora il contrasto per l'accessibilità. (I527cc)
Versione 1.2.0-alpha05
22 febbraio 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-alpha05
. La versione 1.2.0-alpha05 contiene questi commit.
Modifiche alle API
- L'API
PickerGroup
è stata aggiornata per consentire la propagazione dei vincoli minimi al componibile facoltativamente. Se impostato su true, i vincoli minimi passati dal componibile padre saranno consentiti nell'PickerGroup
. Se il criterio viene impostato su false,PickerGroup
reimposterà i vincoli minimi. (I3e046). - Abbiamo aggiunto
animateScrollToOption
all'API Picker per supportare l'animazione programmatica per un'opzione specifica del selettore (I6fe67)
Correzioni di bug
- Abbiamo aggiornato
HorizontalPageIndicator
per supportare i layout da destra a sinistra. (Ia4359) - Sono stati aggiunti i test degli screenshot per il layout da destra a sinistra in
HorizontalPageIndicator
(I6fbb8) - Sono stati aggiunti ulteriori test a
SwipeDismissableNavHostTest
che utilizzanoTestNavHostController
(I61d54)
Versione 1.2.0-alpha04
8 febbraio 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-alpha04
. La versione 1.2.0-alpha04 contiene questi commit.
Nuove funzionalità
PickerGroup
per la gestione di più selettori insieme utilizzando l'API focus. Gestisce lo stato attivo tra i diversi selettori, consente la centratura automatica dei selettori in base ai parametri e consente agli sviluppatori di spostare l'elemento attivo tra diversi selettori gestendo gli eventi dal gruppo. In modalità TalkBack, l'PickerGroup
gestisce lo stato attivo di TalkBack spostando lo stato attivo sul selettore selezionato dal gruppo. (I60840)
Modifiche alle API
- Abbiamo aggiunto un sovraccarico a Stepper con un parametro
enableRangeSemantics
aggiuntivo per facilitare la disattivazione della semantica dell'intervallo predefinito (Ia61d4).
Correzioni di bug
- Consenti di nidificare
ScalingLazyColumn
all'interno di una pagina a scorrimento orizzontale (Iec3f8, b/266555016) - Miglioramento dei kdocs Stepper e
StepperTest
testa la pulizia. (Ic118e) - Dipendenza
androidx.navigation
aggiornata alla versione 2.5.3 (If58ed)
Versione 1.2.0-alpha03
25 gennaio 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-alpha03
. La versione 1.2.0-alpha03 contiene questi commit.
Modifiche alle API
- Abbiamo eseguito la migrazione di
ScalingLazyColumn
(e dei corsi associati) daandroidx.wear.compose.material.ScalingLazyColumn
aandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn
(vedi questo esempio per la migrazione). Questa nuova posizione corrisponde maggiormente a quella dicompose.foundation.lazy.LazyColumn
ed è più naturale in quanto non si tratta di un componente Material "guidato". Il cambiamento è in corso in preparazione di una nuova libreria Material3, su cui lavoreremo in parallelo con la libreria Material3 esistente. (I060e7)
Le seguenti modifiche fanno parte della migrazione di ScalingLazyColumn
da Material a Foundation.Lazy
:
PositionIndicator
API che hanno come target il materialeScalingLazyColumn
è stata ritirata. Esegui l'aggiornamento aFoundation.Lazy ScalingLazyColumn
. Inoltre, il campoanchorType
è stato aggiunto aScalingLazyListLayoutInfo
. (I29d95)- L'app
ScalingLazyColumn
è stata contrassegnata come deprecata nel pacchetto Material di Wear Compose (I16d34) - Abbiamo aggiornato il modificatore
ScrollAway
per utilizzareScalingLazyListState
di Wear ComposeFoundation.Lazy
e ritirato il sovraccarico che richiedevaScalingLazyListState
dal materiale di Wear Compose. (Ifc42c). - Abbiamo aggiornato le API Dialog per utilizzare
ScalingLazyListState
daFoundation.Lazy
e ritirato gli sovraccarichi che utilizzavano MaterialScalingLazyListState
(Ic8960) - Abbiamo aggiornato le API del selettore in modo da utilizzare
ScalingParams
daFoundation.Lazy
e abbiamo ritirato gli sovraccarichi che utilizzavano MaterialScalingParams
. (Idc3d8)
Correzioni di bug
- Abbiamo corretto un bug che causava ricomposizioni non necessarie in
ScalingLazyListState.centerItemIndex
assicurando che esegua il push degli aggiornamenti solo quando il valore cambia effettivamente (Ia9f38) - Abbiamo migliorato le prestazioni di
SwipeToDismissBox
(I3933b) - Sono stati aggiunti test benchmark per
ScalingLazyColumn
in Wear Compose Foundation (Ie00f9) - Abbiamo aggiornato alcuni metodi interni delle classi
ScalingLazyColumn
in Material per utilizzare gli equivalenti 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 delle demo di integrazione
ScalingLazyColumn
in modo che dipendono daFoundation.Lazy
anziché da MaterialScalingLazyColumn
(Ic6caa) - Abbiamo aggiunto parametri
fromDate/toDate
facoltativi alla nostra demoDatePicker
(I961cd)
Versione 1.2.0-alpha02
11 gennaio 2023
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-alpha02
. La versione 1.2.0-alpha02 contiene questi commit.
Modifiche alle API
- I test della UI di Android Compose ora eseguiranno passaggi del layout per ogni frame durante l'esecuzione dei frame per diventare inattivi (ad esempio tramite
waitForIdle
). Ciò potrebbe influire sui test che asseriscono su singoli frame di animazioni di layout. (I8ea08, b/222093277) - Il parametro
minLines
viene aggiunto a Wear Text per un comportamento coerente conBasicText
(I24874) CompactChipTapTargetPadding
è stato reso pubblico in modo da apparire nella documentazione (If1e70, b/234119038)
Correzioni di bug
- Disabilita le build multipiattaforma per
wear.compose
pacchetti (Iad3d7) - Correggi kdocs per
scrollToOption
(I6f9a0) PlaceholderState.rememberPlaceholderState()
aggiornato per utilizzarerememberUpdatedState
a questo stato che verrà aggiornato se lambdaonContentReady
. (I02635, b/260343754)- Abbiamo risolto un problema di tremolio del testo rilevato nel componente
Picker
sfruttando la nuova strategia di composizione aggiunta aModifier.graphicsLayer
. (I99302) - Abbiamo corretto un bug che causava lo sfarfallio della nostra demo di
DatePicker
(I660bd) - Abbiamo migliorato l'accessibilità per le demo dei selettori di data e ora di 12 ore (I05e12).
- Abbiamo aggiornato le nostre demo sui selettori di data e ora in modo che i selettori non siano interessati dalle modifiche RSB se deselezionati (I4aecb)
Versione 1.2.0-alpha01
7 dicembre 2022
Viene rilasciato androidx.wear.compose:compose-*:1.2.0-alpha01
. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Cancella" venga applicato immediatamente quando i contenuti sono pronti, invece di dover aspettare l'inizio del successivo loop dell'animazione. Abbiamo anche apportato alcuni aggiornamenti alle animazioni scintillanti e a comparsa. (I5a7f4)
Modifiche alle API
- Abbiamo aggiunto un elemento componibile
HierarchicalFocusCoordinator
componibile per consentire di contrassegnare sottoalberi della composizione come messa a fuoco attivata o messa a fuoco disattivata.(I827cb) - Abbiamo aggiunto una nuova proprietà per eseguire l'override del ruolo semantico per
ToggleButton
.(I67132) - Abbiamo aggiornato
TimeTextDefaults.TimeFormat12Hours
per rimuovere AM/PM inTimeText
. Verrà modificato il valore predefinito dei parametritimeSource
nell'APITimeText
. (I1eb7f) - Abbiamo esteso l'API Picker per migliorare l'accessibilità per gli schermi con multi-selettore. È disponibile una nuova proprietà
userScrollEnabled
per controllare se il selettore è attivo per lo scorrimento da parte degli utenti. (I3c3aa)
Correzioni di bug
- Abbiamo modificato la larghezza predefinita del bordo per un elemento
OutlinedButton/OutlinedCompactButton
da 2.dp a 1.dp in modo che corrisponda alle specifiche UX finali. (Icf84d) - Per ridurre l'effetto del primo elemento aggiunto a un elemento
ScalingLazyColumn
vuoto che sembra scorrere fino in posizione, abbiamo aggiunto un numero stimato diautoCentering topPadding
quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura interna superiore necessaria partendo dal presupposto che un elemento iniziale abbia altezza pari a 0.dp. PerScalingLazyListAnchorType.ItemStart
verrà calcolata la spaziatura interna superiore corretta perScalingLazyListAnchorType.ItemCenter
questo calcolo non sarà corretto poiché l'altezza degli elementi è necessaria per ridimensionare correttamente i contenuti, generando un piccolo effetto di scorrimento in base all'altezza reale degli elementi.(I239a4) - Abbiamo aggiornato la cornice di sfondo applicata all'animazione
SwipeToDismiss
in modo che corrisponda alla piattaforma Wear. (I9003e) - Abbiamo corretto la gestione di
PositionIndicator
diLazyListState
eScalingLazyListState
per gli elementi dell'elenco con dimensione 0 ed evitare errori di divisione per zero.(Ic28dd)
Versione 1.1
Versione 1.1.2
8 febbraio 2023
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.2
, androidx.wear.compose:compose-material:1.1.2
e androidx.wear.compose:compose-navigation:1.1.2
. La versione 1.1.2 contiene questi commit.
Correzioni di bug
- Abbiamo corretto un bug che causava ricomposizioni non necessarie in
ScalingLazyListState.centerItemIndex
assicurando che esegua il push degli aggiornamenti solo quando il valore cambia effettivamente (Ia9f38)
Versione 1.1.1
11 gennaio 2023
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.1
, androidx.wear.compose:compose-material:1.1.1
e androidx.wear.compose:compose-navigation:1.1.1
. La versione 1.1.1 contiene questi commit.
Correzioni di bug
PlaceholderState.rememberPlaceholderState()
aggiornato per utilizzarerememberUpdatedState
a questo stato che verrà aggiornato se lambdaonContentReady
. (I02635, b/260343754)
Versione 1.1.0
7 dicembre 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.0
, androidx.wear.compose:compose-material:1.1.0
e androidx.wear.compose:compose-navigation:1.1.0
. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- 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 per (Compose per Wear OS 1.1 Beta01).
Nuove funzionalità
- Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Cancella" venga applicato immediatamente quando i contenuti sono pronti, invece di dover aspettare l'inizio del successivo loop dell'animazione. Abbiamo anche apportato alcuni aggiornamenti alle animazioni scintillanti e a comparsa. (I5a7f4)
Correzioni di bug
- Abbiamo modificato la larghezza predefinita del bordo per un elemento
OutlinedButton/OutlinedCompactButton
da 2.dp a 1.dp in modo che corrisponda alle specifiche UX finali. (Icf84d) - Per ridurre l'effetto del primo elemento aggiunto a un elemento
ScalingLazyColumn
vuoto che sembra scorrere fino in posizione, abbiamo aggiunto un numero stimato diautoCentering topPadding
quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura interna superiore necessaria partendo dal presupposto che un elemento iniziale abbia altezza pari a 0.dp. PerScalingLazyListAnchorType.ItemStart
verrà calcolata la spaziatura interna superiore corretta perScalingLazyListAnchorType.ItemCenter
questo calcolo non sarà corretto poiché l'altezza degli elementi è necessaria per ridimensionare correttamente i contenuti, generando un piccolo effetto di scorrimento in base all'altezza reale degli elementi.(I239a4) - Abbiamo aggiornato la cornice di sfondo applicata all'animazione
SwipeToDismiss
in modo che corrisponda alla piattaforma Wear.(I9003e) - Abbiamo corretto la gestione di
PositionIndicator
diLazyListState
eScalingLazyListState
per gli elementi dell'elenco con dimensione 0 ed evitare errori di divisione per zero.(Ic28dd)
Versione 1.1.0-rc01
9 novembre 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.0-rc01
, androidx.wear.compose:compose-material:1.1.0-rc01
e androidx.wear.compose:compose-navigation:1.1.0-rc01
. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto regole di base del profilo per
Placeholders
,ScrollAway
,RadioButton
,Switch
,Checkbox
,OutlinedButton
,OutlinedCompactButton
,OutlinedChip
eOutlinedCompactChip
. (I8249c) - Abbiamo corretto un bug in
Modifier.scrollAway
, pertanto se il valoreitemIndex
specificato non è valido (ad esempio, se l'indice di quell'elemento non rientra nell'intervallo), ora verrà ancora visualizzatoTimeText
. (I2137a) - Abbiamo aggiornato l'animazione
SwipeToDismissBox
in modo che corrisponda all'implementazione della piattaforma. Dopo l'animazione di compressione iniziale, lo schermo ora scorre verso destra una volta attivata l'opzione di chiusura. (I41d34) - Nell'ambito dell'ottimizzazione, abbiamo aggiornato
Modifier.scrollAway
in modo che legga solo ilscrollState
all'interno del blocco di misura per evitare di ricomporre il modificatore dopo ogni nuova misurazione. (I4c6f1) - Abbiamo aggiunto documentazione e un esempio ai segnaposto per mostrare l'ordine corretto di
Modifier.placeholder
eModifier.placeholderShimmer
quando applicati allo stesso componibile. (Ie96f4, b/256583229) - Abbiamo modificato la larghezza predefinita del bordo per un elemento
OutlinedCompactChip/OutlinedChip
da 2.dp a 1.dp in modo che corrisponda alle specifiche UX finali. (Ib3d8e) - Abbiamo corretto un bug in
rememberPickerState
per cui gli input aggiornati non venivano salvati, quindi gli input componibili non venivano aggiornati dopo le modifiche agli input. (I49ff6, b/255323197) - Abbiamo apportato alcuni aggiornamenti all'interfaccia utente dei segnaposto, 1) abbiamo modificato il gradiente di shimmer in 1,5 volte la dimensione dello schermo, 2) aggiunto l'allentamento (bezier cubico) della progressione dello shimmer e 3) velocizzare l'animazione di cancellazione (250 ms). (ID29c1)
- Abbiamo corretto un bug dell'interfaccia utente nell'effetto wipeOff del segnaposto per cui gli sfondi di chip e schede venivano cancellati leggermente prima perché non prendeva in considerazione la posizione del componente sullo schermo. (I2c7cb)
- Abbiamo aggiornato il disegno di sfondo segnaposto per unire i colori anziché sovrapporre i colori, ove possibile, per ridurre il rischio che la combinazione alfa dei diversi livelli ritagliati lasci passare i colori sottostanti sui bordi dello sfondo segnaposto. (I2ea26).
- Abbiamo corretto il calcolo di
ScalingLazyListState.centerItemIndex/centerItemOffset
in modo che, se due elementi si trovano ai lati della linea centrale dell'area visibile, quello più vicino verrà consideratocenterItem
. (I30709, b/254257769) - Abbiamo corretto un bug in
ScalingLazyListState.layoutInfo.visibleItemsInfo
che segnalava offset errati durante l'inizializzazione diScalingLazyColumn
. Ora verrà restituito un elenco vuoto finché tutti gli elementi dell'elenco non sono visibili e non presentano gli offset corretti. Controlla seScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
per confermare che l'inizializzazione diScalingLazyColumn
è completa e gli elementi sono visibili. (I3a3b8)
Versione 1.1.0-beta01
24 ottobre 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.0-beta01
, androidx.wear.compose:compose-material:1.1.0-beta01
e androidx.wear.compose:compose-navigation:1.1.0-beta01
. La versione 1.1.0-beta01 contiene questi commit.
Contenuti di Compose per Wear OS 1.1
La versione 1.1.0-beta01 di Compose per Wear OS indicava che questa release della libreria è stata completata e l'API era bloccata.
- La release Wear Compose 1.1 include le seguenti nuove funzionalità:
- Selettore: sono stati apportati miglioramenti dell'accessibilità al selettore in modo che le schermate del selettore siano navigabili con gli screen reader e che la descrizione dei contenuti sia accessibile.
- Il parametro
contentDescription
del selettore viene ora utilizzato solo per l'opzione selettore selezionata e accetta una stringa con valore nullo (nel commit precedente era necessario passare una mappatura dall'opzione alla descrizione del contenuto, ma è stata utilizzata solo l'opzione selezionata). - Gli elementi del selettore sono ora sempre allineati al centro. La correzione di un bug quando si impostava
gradientRatio
su zero ha avuto l'effetto collaterale di modificare l'allineamento. Chip/ToggleChip
- Abbiamo aggiornato i gradienti predefiniti perChip/ToggleChip
per renderli in linea con la più recente specifica UX.ChipDefaults.gradientBackgroundChipColors
è stato aggiornato in modo da iniziare dal 50% della quota principale anziché dal 32,5%.Chip/ToggleChip
: sono stati aggiunti sovraccarichi per la modifica delle forme dei chipChip/Button/ToggleButton
: è stato aggiunto un nuovo stile con contorno per chip e pulsanti e nuovi componibiliOutlinedChip
eOutlinedButton
che forniscono unaChip/Button
trasparente con un bordo sottile.- Scheda: sono stati aggiornati i gradienti predefiniti per le schede al fine di renderli in linea con le specifiche UX più recenti.
CardDefaults.cardBackgroundPainter
è stato aggiornato in modo da iniziare dal 30% di quella principale e terminare al 20% dionSurfaceVariant
(in precedenza era compreso tra 20% e 10%onSurfaceVariant
).ToggleChip.toggleChipColors
passa da un gradiente lineare del 75% di superficie al 32,5% di superficie primaria allo 0% di superficie al 50% di primario. Button/ToggleButton
: sono state aggiunte proprietà per la modifica delle forme dei pulsanti.- Tema: è stato aggiornato un numero di colori predefiniti in
MaterialTheme
al fine di migliorare l'accessibilità poiché i colori originali non avevano un contrasto sufficiente, con conseguente difficoltà per gli utenti nel distinguere gli sfondi di chip, schede e pulsanti da quelli del tema. InlineSlider/Stepper
- Sono stati aggiunti i ruoli dei pulsanti in modo cheTalkback
possa riconoscerli come pulsanti.- Scaffold -
PositionIndicator
ora è posizionato e dimensionato in modo da occupare solo lo spazio necessario. Questo è utile, ad esempio, se vengono aggiunte informazioni semantiche, TalkBack ora riceve i limiti corretti dell'elementoPositionIndicator
sullo schermo. CurvedText/TimeText
: è stato aggiuntoModifier.scrollAway
, che consente di far scorrere un elemento verticalmente verso l'interno/l'esterno della visualizzazione in base allo stato di scorrimento (con sovraccarichi per funzionare conColumn
,LazyColumn
eScalingLazyColumn
).ScrollAway
in genere viene utilizzato per far scorrere unTimeText
fuori dalla visualizzazione mentre l'utente inizia a scorrere un elenco di elementi verso l'alto.CurvedText/TimeText
- Supporto aggiunto perfontFamily
,fontStyle
efontSynthesis
inCurvedTextStyle
, utilizzabile sucurvedText
ebasicCurvedText
CurvedText/TimeText
- Aggiunta difontWeight
al costruttore e al metodo di copia inCurvedTextStyle
ToggleControls
- Sono stati aggiunti i controlli di attivazione/disattivazione animati diCheckbox
,Switch
eRadioButton
da utilizzare conToggleChip
eSplitToggleChip
. Queste icone possono essere utilizzate al posto delle icone statiche fornite daToggleChipDefaults
(switchIcon
,checkboxIcon
eradioIcon
).- Segnaposto: è stato aggiunto il supporto sperimentale dei segnaposto. che offre tre effetti visivi distinti progettati per essere usati insieme.
- Innanzitutto, un effetto pennello per lo sfondo segnaposto utilizzato in contenitori come chip e schede per disegnare sullo sfondo normale quando si attende il caricamento dei contenuti.
- In secondo luogo, un modificatore (
Modifier.placeholder()
) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento. - In terzo luogo, un gradiente/effetto scintillante del modificatore (
Modifier.placeholderShimmer()
) tracciato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati.- Tutti questi effetti sono progettati per essere coordinati, brillanti e spazzati via in modo orchestrato.
- Dipendenze di Core Compose aggiornate da 1.2 a 1.3
Modifiche alle API
- I parametri carattere (
fontFamily
,fontWeight
,fontStyle
efontSynthesis
) ora possono essere specificati direttamente come parametri dicurvedText
(Idc422)
Correzioni di bug
curveText
ebasicCurvedText
ora funzioneranno correttamente con TalkBack (hanno un nodo Composer di dimensioni e posizioni (ma vuoto) associato che utilizza il testo come descrizione del contenuto) (I7af7c, b/210721259)- Correzione di bug in
Picker
quandoPickerState.repeatedItems = false
per aggiungere un'impostazione esplicita dei parametri di centratura automatica nella sezioneScalingLazyColumn
interna dei selettori per garantire che sia possibile scorrere l'opzione zero fino al centro della vista. (I8a4d7).
Versione 1.1.0-alpha07
5 ottobre 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.0-alpha07
, androidx.wear.compose:compose-material:1.1.0-alpha07
e androidx.wear.compose:compose-navigation:1.1.0-alpha07
. La versione 1.1.0-alpha07 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto sperimentale dei segnaposto. che offre tre effetti visivi distinti progettati per essere usati insieme. Innanzitutto, un effetto pennello per lo sfondo segnaposto utilizzato in contenitori come chip e schede per disegnare sullo sfondo normale quando si attende il caricamento dei contenuti. In secondo luogo, un modificatore (
Modifier.placeholder()
) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento. In terzo luogo, un gradiente/effetto scintillante del modificatore (Modifier.placeholderShimmer()
) tracciato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati. Tutti questi effetti sono progettati per essere coordinati, brillanti e spazzati via in modo orchestrato. (I3c339)
Modifiche alle API
- Aggiunto il supporto per
fontWeight
,fontFamily
,fontStyle
efontSynthesis
inCurvedTextStyle
, utilizzabile sucurvedText
ebasicCurvedText
. Questi parametri possono essere utilizzati per specificare il carattere e lo stile da utilizzare con il testo curvo.(Iaa1a8),(I72759) - È stato aggiornato il parametro di offset di
Modifier.scrollAway
a Dp per garantire la coerenza conModifier.offset
(in precedenza era in pixel). Inoltre, è stato sottoposto a refactoring comeLayoutModifier
per l'efficienza. (I9f94b) - Nell'ambito della nuova API dei controlli di attivazione/disattivazione, abbiamo rinominato
RadioButton’s circleColor
inringColor
. (I28fa9) - Abbiamo aggiunto i controlli di attivazione/disattivazione animati
Checkbox
,Switch
eRadioButton
da utilizzare conToggleChip
eSplitToggleChip
. Queste icone possono essere utilizzate al posto delle icone statiche fornite daToggleChipDefaults
(switchIcon
,checkboxIcon
eradioIcon
). (I8a8c4)
Versione 1.1.0-alpha06
21 settembre 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.0-alpha06
, androidx.wear.compose:compose-material:1.1.0-alpha06
e androidx.wear.compose:compose-navigation:1.1.0-alpha06
. La versione 1.1.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
Modifier.scrollAway
, che consente di far scorrere un elemento verticalmente verso l'interno/l'esterno della visualizzazione, in base allo stato di scorrimento (con sovraccarichi per funzionare conColumn
,LazyColumn
eScalingLazyColumn
). In genere,ScrollAway
viene utilizzato per far scorrere unTimeText
fuori dalla visualizzazione mentre l'utente inizia a scorrere un elenco di elementi verso l'alto. (I61766)
Correzioni di bug
PositionIndicator
ora è posizionato e dimensionato in modo da occupare solo lo spazio necessario. Questo è utile, ad esempio, se vengono aggiunte informazioni semantiche, TalkBack ora riceve i limiti corretti dell'elementoPositionIndicator
sullo schermo. (Ie6106, b/244409133)
Versione 1.1.0-alpha05
7 settembre 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.0-alpha05
, androidx.wear.compose:compose-material:1.1.0-alpha05
e androidx.wear.compose:compose-navigation:1.1.0-alpha05
. La versione 1.1.0-alpha05 contiene questi commit.
Correzioni di bug
- I ruoli dei pulsanti sono stati aggiunti a
InlineSlider
eStepper
in modo che TalkBack possa riconoscerli come pulsanti. (Icb46c, b/244260275) - Abbiamo corretto l'ordine z degli indicatori di posizione e pagina nella piattaforma. Ora gli indicatori sono posizionati sopra la vignetta e non saranno oscurati dalla vignetta, se presente. (Ib988f, b/244207528)
Versione 1.1.0-alpha04
24 agosto 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.0-alpha04
, androidx.wear.compose:compose-material:1.1.0-alpha04
e androidx.wear.compose:compose-navigation:1.1.0-alpha04
. La versione 1.1.0-alpha04 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato una serie di colori predefiniti in MaterialTheme al fine di migliorare l'accessibilità poiché i colori originali non avevano un contrasto sufficiente, con conseguente difficoltà per gli utenti a distinguere gli sfondi di chip/schede/pulsanti da quelli del tema. I colori aggiornati sono superfici(0xFF202124->0xFF303133), onprimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), PrimaryVariant(0xFF669DF6->0xFF20x0FF20Error20x0FF20). Le modifiche dei colori, anche se relativamente lievi, potrebbero influire sui test di screenshot esistenti. (81ab09)
Correzioni di bug
- Correggi un bug logico in
ScalingLazyColumn
che causava la visualizzazione di elenchi con un numero ridotto (in genere esattamente 2) di voci di elenco che non completavano l'inizializzazione e, di conseguenza, la trasparenza. (504347)
Versione 1.1.0-alpha03
10 agosto 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.0-alpha03
, androidx.wear.compose:compose-material:1.1.0-alpha03
e androidx.wear.compose:compose-navigation:1.1.0-alpha03
. La versione 1.1.0-alpha03 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un nuovo stile con contorno per
Chips
eButtons
e nuovi componibiliOutlinedChip
eOutlinedButton
che forniscono un elemento trasparenteChip/Button
con un bordo sottile. (ID5972)
Modifiche alle API
- Sono stati aggiunti sovraccarichi per la modifica della forma dei pulsanti (ICcde)
Correzioni di bug
- Abbiamo corretto le dimensioni dell'area di controllo di attivazione/disattivazione di
ToggleChip
perché non corrispondeva alle sue specifiche UX. La specifica UX richiede uno spazior di 4.dp tra l'etichetta e un'area di icona di controllo di attivazione/disattivazione 24x24.dp per una larghezza totale di 28.dp. Tuttavia, l'implementazione fornisce erroneamente l'area di controllo di attivazione/disattivazione 36x24.dp. Vengono eliminati 8.dp dell'area di etichetta di testo utilizzabile. NOTA: questa correzione di bug offre spazio aggiuntivo per l'etichetta di testo e, di conseguenza, può influire (positivamente) sul layout del testo per il testo in eccesso. Se hai dei test di screenshot che includonoToggleChips
, potrebbe essere necessario aggiornarli. (I514c8, b/240548670)
Versione 1.1.0-alpha02
27 luglio 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.0-alpha02
, androidx.wear.compose:compose-material:1.1.0-alpha02
e androidx.wear.compose:compose-navigation:1.1.0-alpha02
. La versione 1.1.0-alpha02 contiene questi commit.
Nuove funzionalità
- Abbiamo cambiato le dipendenze di Compose per Wear OS nelle librerie Compose principali dalla versione 1.2.0 alla 1.3.0-alpha0X
Modifiche alle API
- Sono stati aggiunti sovraccarichi per la modifica delle forme dei chip (I02e87)
Correzioni di bug
- Abbiamo animato la visibilità della vignetta quando mostri/nascondi la finestra di dialogo, in modo da mantenere la coerenza con l'animazione di ridimensionamento esistente. (Ida33e)
- Abbiamo corretto un bug per cui poteva verificarsi un errore di divisione per zero con alcuni comportamenti di scorrimento durante lo scorrimento. (I86cb6)
- È stato corretto un bug in
ChipDefaults.childChipColor()
per garantire che il colore di sfondo disattivato sia completamente trasparente. (I2b3c3, b/238057342)
Versione 1.1.0-alpha01
29 giugno 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.1.0-alpha01
, androidx.wear.compose:compose-material:1.1.0-alpha01
e androidx.wear.compose:compose-navigation:1.1.0-alpha01
. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche alle API
- Il parametro
contentDescription
del selettore viene ora utilizzato solo per l'opzione del selettore selezionata e accetta una stringa con valore nullo (in precedenza era necessario passare una mappatura dall'opzione alla descrizione dei contenuti, ma è stata utilizzata solo l'opzione selezionata). (Ife6a7). - Abbiamo apportato miglioramenti all'accessibilità al selettore in modo che le schermate con selettore multiplo siano navigabili con gli screen reader e che la descrizione dei contenuti sia accessibile (I64edb)
Correzioni di bug
- Abbiamo aggiornato le regole del profilo di base incluse nella libreria Wear Compose (I9c694)
- Abbiamo corretto la direzione del gradiente per Chip in modalità da destra a sinistra. Era in alto a sinistra->in basso a destra, ora è in alto a destra->in basso a sinistra. (Ic2e77).
- Abbiamo aggiornato i gradienti predefiniti per
Chip/ToggleChip/Card
per renderli in linea con le specifiche UX più recenti.ChipDefaults.gradientBackgroundChipColors
è stato aggiornato in modo da iniziare dal 50% della quota principale anziché dal 32,5%.CardDefaults.cardBackgroundPainter
è stato aggiornato in modo da iniziare dal 30% di quella principale e terminare al 20% dionSurfaceVariant
(in precedenza era compreso tra 20% e 10%onSurfaceVariant
).ToggleChip.toggleChipColors
passa da un gradiente lineare del 75% di superficie al 32,5% di superficie primaria allo 0% di superficie al 50% di primario. (I43bbd) - Abbiamo aggiunto un colore di sfondo (
MaterialTheme.color.surface
) dietro aChip/ToggleChips
con sfondi sfumati per garantire che siano correttamente visibili nell'improbabile caso in cui dietro venga usato un colore chiaro. (Ibe1a4, b/235937657) - Gli elementi del selettore sono ora sempre allineati al centro. La correzione di un bug quando si impostava
gradientRatio
su zero ha avuto l'effetto collaterale di modificare l'allineamento. (I712b8)
Versione 1.0
Versione 1.0.2
7 settembre 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.2
, androidx.wear.compose:compose-material:1.0.2
e androidx.wear.compose:compose-navigation:1.0.2
. La versione 1.0.2 contiene questi commit.
Correzioni di bug
- Abbiamo corretto l'ordine z degli indicatori di posizione e pagina nella piattaforma. Ora gli indicatori sono posizionati sopra la vignetta e non saranno oscurati dalla vignetta, se presente. (Ib988f, b/244207528)
Versione 1.0.1
24 agosto 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.1
, androidx.wear.compose:compose-material:1.0.1
e androidx.wear.compose:compose-navigation:1.0.1
. La versione 1.0.1 contiene questi commit.
Correzioni di bug
- Correggi un bug logico in
ScalingLazyColumn
che causava la visualizzazione di elenchi con un numero ridotto (in genere esattamente 2) di voci di elenco che non completavano l'inizializzazione e, di conseguenza, la trasparenza. (076c61)
Versione 1.0.0
27 luglio 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0
, androidx.wear.compose:compose-material:1.0.0
e androidx.wear.compose:compose-navigation:1.0.0
. La versione 1.0.0 contiene questi commit.
Funzionalità principali di 1.0.0
- Questa è la prima release stabile di Compose per Wear OS (scopri di più).
- Compose per Wear OS si basa sulle librerie Compose principali che forniscono componenti aggiuntivi specifici per indossabili e, ove appropriato, implementa implementazioni alternative dei componenti principali di Compose su misura per i dispositivi indossabili.
- Per un elenco dei componenti principali in Wear Compose, consulta le note di rilascio (Compose per Wear OS Beta01).
Correzioni di bug
- Abbiamo animato la visibilità della vignetta quando mostri/nascondi la finestra di dialogo, in modo da mantenere la coerenza con l'animazione di ridimensionamento esistente. (Ida33e)
- Abbiamo corretto un bug per cui poteva verificarsi un errore di divisione per zero con alcuni comportamenti di scorrimento durante lo scorrimento. (I86cb6)
- È stato corretto un bug in
ChipDefaults.childChipColor()
per garantire che il colore di sfondo disattivato sia completamente trasparente. (I2b3c3, b/238057342)
Versione 1.0.0-rc02
22 giugno 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-rc02
, androidx.wear.compose:compose-material:1.0.0-rc02
e androidx.wear.compose:compose-navigation:1.0.0-rc02
. La versione 1.0.0-rc02 contiene questi commit.
Correzioni di bug
- Abbiamo corretto la direzione del gradiente per le schede in modalità da destra a sinistra (RTL). Era in alto a sinistra->in basso a destra e ora è in alto a destra->in basso a sinistra. (Ic2e77).
- Abbiamo aggiornato i gradienti predefiniti per
Chip/ToggleChip/Card
per renderli in linea con la più recente specifica UX.ChipDefaults.gradientBackgroundChipColors
è stato aggiornato in modo da iniziare dal 50% della quota principale anziché dal 32,5%.CardDefaults.cardBackgroundPainter
è stato aggiornato in modo da iniziare dal 30% di quello principale e terminare al 20% dionSurfaceVariant
(in precedenza il 20-10% era onSurfaceVariant).ToggleChip.toggleChipColors
passa da un gradiente lineare del 75% di superficie al 32,5% di superficie primaria allo 0% di superficie e al 50% di primario. (I43bbd) - Abbiamo aggiunto un colore di sfondo (
MaterialTheme.color.surface
) dietro aChip/ToggleChips
con sfondi sfumati per garantire che siano correttamente visibili nell'improbabile caso in cui dietro venga usato un colore chiaro. (Ibe1a4, b/235937657) - Abbiamo aggiornato le regole del profilo di base incluse nella libreria Wear Compose (I9c694)
Versione 1.0.0-rc01
15 giugno 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-rc01
, androidx.wear.compose:compose-material:1.0.0-rc01
e androidx.wear.compose:compose-navigation:1.0.0-rc01
. La versione 1.0.0-rc01 contiene questi commit.
Modifiche alle API
- Le interfacce nelle librerie di scrittura vengono ora create utilizzando i metodi predefiniti dell'interfaccia jdk8 (I5bcf1)
Correzioni di bug
- Abbiamo rimosso la chiamata esplicita a
fillMaxWidth()
nell'intestazione dell'elenco perché non è necessaria e può causare problemi se unScalinglazyColumn
ha una combinazione di componentiListHeader()
eChip()
, poiché la larghezza tenderà a crescere/ridurre quandoListHeader
elementi vengono fatti scorrere verso l'interno o all'esterno della visualizzazione. (I37144, b/235074035) - Abbiamo corretto un bug in
ScalingLazyColumn
che poteva causare errori di visualizzazione degli elementi dell'elenco fino allo scorrimento se il 0° elemento dell'elenco era abbastanza grande (inclusa la spaziatura interna) (Ic6159, b/234328517) - Abbiamo apportato una piccola modifica all'easing di
ScalingLazyColumn
in quanto gli elementi raggiungono il bordo dello schermo per soddisfare gli aggiornamenti delle specifiche UX. Valori precedentiCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)
-> nuovi valoriCubicBezierEasing(0.3f, 0f, 0.7f, 1f)
. Per mantenere il comportamento precedente, puoi eseguire l'override discalingParams
diScalingLazyColumn
(Ie375c) - Abbiamo aggiunto una spaziatura interna a
CompactChip
per garantire che le dimensioni del target del tocco siano alte almeno 48 dp, in modo da rispettare le linee guida sull'accessibilità dei materiali. Ciò potrebbe influire su eventuali layout che utilizziCompactChips
, in quanto occuperanno più spazio. (I3d57c).
Versione 1.0.0-beta03
1 giugno 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-beta03
, androidx.wear.compose:compose-material:1.0.0-beta03
e androidx.wear.compose:compose-navigation:1.0.0-beta03
. La versione 1.0.0-beta03 contiene questi commit.
Nuove funzionalità
- Abbiamo fatto funzionare
ScalingLazyColumn
in modalità Scrivi@Preview
. (I3b3b6, b/232947354)
Modifiche alle API
- Abbiamo cambiato il valore predefinito per la proprietà
ScalingLazyColumn.horizontalAlignment
da Start aCenterHorizontally
per garantire che, quando gli elementi dell'elenco non riempiono l'intera larghezza della colonna, vengano allineati per la massima visibilità. Per tornare al comportamento precedente, impostahorizontalAlignment = Alignment.Start
.(I9ed4b)
Problemi noti
- L'altezza al tocco/tocco di CompactChip è inferiore a quella delle linee guida sull'accessibilità dei materiali. Questo problema verrà corretto nella prossima release (15 giugno). Se utilizzi CompactChip, ciò influirà sui tuoi layout, poiché ora i CompactChips avranno una spaziatura interna aggiuntiva sopra e sotto. Modifica e testa i tuoi layout o leggi i commenti sui bug per trovare una soluzione alternativa per utilizzare il comportamento esistente. (b/234332135)
Correzioni di bug
- Nuova demo per animare l'aggiunta o la rimozione di un testo iniziale su
TimeText
. (I16d75) - Aggiungi test per
HorizontalPageIndicator.PagesState
(I64ed0) - Aggiornamento di
TimeText
più vicino alle specifiche UX (Ib7ea1)
Versione 1.0.0-beta02
18 maggio 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-beta02
, androidx.wear.compose:compose-material:1.0.0-beta02
e androidx.wear.compose:compose-navigation:1.0.0-beta02
. La versione 1.0.0-beta02 contiene questi commit.
Nuove funzionalità
- Il selettore ora risponde sempre agli eventi di scorrimento anche in modalità di sola lettura. In questo modo non sarà necessario che gli utenti selezionino un selettore toccando prima di scorrere. In modalità di sola lettura, le opzioni diverse da quella attualmente selezionata sono oscurate da uno shim in
gradientColor
. (I72925) - Abbiamo modificato il comportamento UX di
Chip/ToggleChip/CompactChip/SplitToggleChip
per impedire l'esecuzione difillMaxWidth
per impostazione predefinita. ma cresceranno per adattarsi ai contenuti. Per mantenere il comportamento precedente, aggiungi semplicementemodifier = Modifier.fillMaxWidth()
(I60a2c, b/232206371)
Correzioni di bug
- Il costruttore
CurvedTextStyle
che utilizza unTextStyle
ora rispetta anche il valorefontWeight
(che può essere aggiunto al costruttore e ai metodi di copia nelle revisioni future dell'API) (Ieebb9) - Miglioramenti dello scorrimento sui bordi. Quando si utilizza
Modifier.edgeSwipeToDismiss
e si attiva uno scorrimento verso sinistra dall'area perimetrale, non si attiva più lo scorrimento per ignorare quando la direzione dello scorrimento verso destra cambia. In precedenza era possibile attivare lo scorrimento per chiudere scorrendo verso sinistra e poi verso destra.(I916ea) - Ora
HorizontalPageIndicator
mostra fino a 6 pagine sullo schermo. Se ci sono più di sei pagine in totale, viene visualizzato un indicatore di metà dimensione a sinistra o a destra, con una transizione uniforme tra le pagine.(I2ac29) - Miglioramento del comportamento di agganciamento predefinito su
ScalingLazyColumn
ePicker
(I49539) - Miglioramenti dello scorrimento sui bordi. Quando si usa
Modifier.edgeSwipeToDismiss
, l'opzione "scorri per chiudere" si attiva solo quando il primo tocco arriva sul bordo e viene fatto scorrere verso destra. In precedenza, era possibile attivare lo scorrimento per ignorare lo scorrimento da qualsiasi parte dello schermo se viene raggiunto l'inizio dello scorrimento.(I8ca2a)
Versione 1.0.0-beta01
11 maggio 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-beta01
, androidx.wear.compose:compose-material:1.0.0-beta01
e androidx.wear.compose:compose-navigation:1.0.0-beta01
. La versione 1.0.0-beta01 contiene questi commit.
Contenuti di Compose per Wear OS 1.0
L'1.0.0-beta01
di Compose per Wear OS segna un traguardo importante perché la raccolta è stata completata e l'API è bloccata.
I componenti Material di Wear Compose nella release 1.0 includono:
- Tema Material: utilizzato in sostituzione di Compose per
MaterialTheme
per dispositivi mobili, fornisce i colori, le forme e la tipografia per la costruzione dei componenti sugli indossabili che implementano immediatamente le linee guida per l'esperienza utente di Wear Material Design. Button
,CompactButton
eToggleButton
: il pulsante offre uno spazio singolo per acquisire un'icona, un'immagine o un breve testo (massimo 3 caratteri). Forma circolare con dimensioni consigliate per pulsanti predefiniti, grandi o piccoli.CompactButton
offre un unico spazio per inserire qualsiasi contenuto (icona, immagine o testo) ed è di forma circolare con sfondo di dimensioni molto ridotte.CompactButton
presenta una spaziatura interna trasparente facoltativa intorno allo sfondo che aumenta l'area cliccabile.ToggleButton
è un pulsante che offre un unico spazio per prendere qualsiasi contenuto (testo breve, icona o immagine) e presenta stati on/off (selezionati/deselezionati) con colori e icone diverse per mostrare la selezione o meno.- Schede. Vengono utilizzate per visualizzare informazioni sulle applicazioni, ad esempio le notifiche. Design flessibile per diversi casi d'uso con
AppCard
eTitleCard
, che offrono diversi layout e supporto per le immagini come contenuti delle schede o sfondi. - Chip: componenti a forma di stadio simili ai pulsanti, ma con un'area più ampia e diversi spazi per etichette, etichette secondarie e icone. In diverse dimensioni e con supporto per immagini come sfondi.
- SwitchChips e SplitToggleChips: un chip con uno stato selezionato/deselezionato e l'aggiunta di uno spazio
ToggleControl
per mostrare un'icona, ad esempio un interruttore o un pulsante di opzione, per mostrare lo stato selezionato del componente. Inoltre, l'SplitToggleChip
ha due aree toccabili, una cliccabile e una attivabile. - Indicatore di avanzamento circolare: indicatore di avanzamento del materiale indossabile con due varianti. Il primo esprime la proporzione di completamento di un'attività in corso e supporta uno spazio vuoto nella pista circolare tra gli angoli di inizio e fine. Il secondo indica l'avanzamento indeterminato per un tempo di attesa non specificato.
- CurdText: fa parte del DSL per descrivere
CurvedLayouts
, insieme acurvedRow
ecurvedColumn
, allo scopo di disporre i componenti attorno a dispositivi circolari. Consulta la sezione Elementi di base di Wear di seguito per maggiori dettagli suCurvedLayout
eCurvedModifier
(questo svolge un ruolo simile ai modificatori in ambienti non curvi e consente di configurare vari aspetti di layout, spaziatura interna, gradienti e così via). - Finestra di dialogo, avviso e conferma: la finestra di dialogo mostra una finestra di dialogo a schermo intero, sovrapposta a qualsiasi altro contenuto, e supporta la funzione di scorrimento per ignorare. È necessario un unico spazio che dovrebbe essere indicato come contenuto della finestra di dialogo Materiale Wear, come Avviso o Conferma. L'avviso è contenuto di finestre di dialogo con spazi per icona, titolo e messaggio. Presenta sovraccarichi per due pulsanti negativi e positivi mostrati uno accanto all'altro o uno slot per uno o più chip impilati verticalmente. La conferma è il contenuto di una finestra di dialogo che mostra un messaggio per un determinato periodo di tempo. Presenta uno spazio per un'icona o un'immagine (che potrebbe essere animata).
- HorizontalPageIndicator: mostra la posizione orizzontale della pagina in un modo appropriato al fattore di forma Wearable. Progettato per acquisire la visione a schermo intero e mostrare un indicatore curvo sui dispositivi rotondi. Possono essere utilizzati con il visualizzatore della pagina del file Accompanist.
- Icona: un'implementazione Wear di Icona che prende colore e alfa dal tema materiale Wear. Per un'icona cliccabile, vedi Pulsante o Chip.
- Selettore: visualizza un elenco scorrevole di elementi da cui scegliere. Per impostazione predefinita, gli elementi verranno ripetuti "all'infinito" in entrambe le direzioni. Può essere visualizzato in modalità di sola lettura per nascondere le opzioni non selezionate.
- Indicatore di posizione: mostra la posizione di scorrimento o altre indicazioni della posizione in un modo appropriato al fattore di forma Indossabile. Progettato per la visualizzazione a schermo intero e mostra un indicatore curvo sui dispositivi rotondi.
- Scaffold: implementa la struttura del layout visivo di base di Wear Material Design. Questo componente fornisce un'API per mettere insieme diversi componenti Wear Material (ad esempio
TimeText
,PositionIndicator
eVignette
) per creare lo schermo, garantire una strategia di layout adeguata e raccogliere i dati necessari affinché questi componenti funzionino correttamente insieme. - ScalingLazyColumn: un componente a scorrimento di ridimensionamento/elenco fisheye che costituisce una parte fondamentale del linguaggio Wear Material Design. Fornisce effetti di scalabilità e trasparenza per gli elementi dei contenuti.
ScalingLazyColumn
è progettato per essere in grado di gestire un numero potenzialmente elevato di contenuti, che vengono materializzati e composti solo quando necessario. - Dispositivo di scorrimento: consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene mostrato sotto forma di barra, che può essere visualizzata facoltativamente con separatori.
- Stepper: componente a schermo intero che consente agli utenti di effettuare una selezione da un intervallo di valori, utilizzando i pulsanti Aumenta/diminuisci in alto e in basso dello schermo, con un'area al centro per Testo o un Chip.
- Scorri per ignorare: gestisce il gesto di scorrimento per ignorare. Ha un'unica area per lo sfondo (visualizzato solo durante il gesto di scorrimento) e i contenuti in primo piano. Facoltativamente, può essere combinata con la libreria di navigazione Androidx utilizzando
SwipeDismissableNavHost
(vedi la libreria di navigazione Wear Compose di seguito). - Testo: un'implementazione Wear del componente Compose Material Text, che prende colori e alfa dal tema Material Wear
- TimeText: un componente per mostrare l'ora e lo stato dell'applicazione nella parte superiore dello schermo. Si adatta alla forma dello schermo utilizzando testo curvo su schermi rotondi.
Vignettatura: un trattamento dello schermo da utilizzare nella piattaforma che sfoca la parte superiore e la parte inferiore dello schermo quando sono in uso contenuti scorrevoli.
In Wear Compose Foundation sono inclusi anche i seguenti componenti:
Layout curvo: Wear Foundation
CurvedLayout
è un layout componibile che posiziona i componenti secondari in un arco, ruotandoli secondo necessità. È un layout simile a un layout riga ricurvo in un segmento di una annulus. Tieni presente che i contenuti di unCurvedLayout
non sono un linguaggio lambda componibile, bensì una lingua DSL (lingua specifica del dominio). Tutti gli elementi del DSL di CurvedLayout supportano un parametro di modifica facoltativo creato a partire daCurvedModifier
.basicCurvedText: un elemento dell'DSL di
CurvedLayout
,basicCurvedText
consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito ai bordi di uno schermo circolare).basicCurvedText
può essere creato solo all'interno diCurvedLayout
per garantire la migliore esperienza, come la possibilità di specificare il posizionamento e l'utilizzo diCurvedModifiers
. Nella maggior parte dei casi è necessario utilizzare CurdText, in quanto utilizza la tematizzazione Material.CurdComposable: esegue il wrapping del normale contenuto componibile in modo che possa essere utilizzato con
CurvedLayout
. SecurvedComposable
ha diversi elementi all'interno, questi verranno disegnati uno sopra l'altro (come un riquadro). Per inserire più elementi componibili lungo una curva, aggrega ognuno concurvedComposable
.curvedRow e curvedColumn: in modo simile a Row e Column,
curvedRow
ecurvedColumn
possono essere nidificati all'interno di un elementoCurvedLayout
per disporre gli elementi in base alle esigenze. Per un elementocurvedRow
, è possibile specificare la direzione del layout angolare e l'allineamento radiale. Per un elementocurvedColumn
, è possibile specificare l'allineamento angolare e la direzione radiale.CurvedModifier: tutti i componenti curvi accettano un parametro di modifica che può essere creato utilizzando
CurvedModifier
; sono supportati sfondo, dimensioni, peso e spaziatura interna.Anche il seguente componente è incluso nella navigazione di Wear Compose:
ScorriIgnorabileNavHost: fornisce un punto nella gerarchia di Scrittura per una navigazione autonoma, con navigazione a ritroso tramite un gesto di scorrimento. I contenuti vengono visualizzati all'interno di un elemento
SwipeToDismissBox
, che mostra il livello di navigazione corrente. Durante un gesto di scorrimento per ignorare, viene visualizzato in background il livello di navigazione precedente (se presente).Consulta le note di rilascio precedenti relative alle varie release alpha per ulteriori dettagli su ciò che è stato pubblicato.
Modifiche alle API
- Aggiunte funzioni
CurvedModifier.padding*
. Vengono utilizzati per specificare ulteriore spazio da aggiungere intorno a un componente curvo. (I4dbb4) - Classe interna
CompositionLocal
rimossa (I42490) - Abbiamo aggiunto valori costanti per le dimensioni delle icone
Button
,CompactButton
eToggleButton
, come indicazioni. (I57cab) - Aggiungi il parametro attivato a
AppCard
eTitleCard
. Ora hanno un'API simile a quella delle schedeandroidx.compose.material
. Se il parametro è impostato su false, non è possibile fare clic sulla scheda. (Idc48d, b/228869805)
Correzioni di bug
- Stepper ora disattiva i pulsanti di diminuzione e aumento quando sono stati raggiunti i limiti inferiore/superiore (e applica ContentAlpha.disable a iconColor) (I4be9f)
- Abbiamo aggiunto una spaziatura interna di 1 dp intorno ai contenuti del selettore se disegnati con una sfumatura, per evitare il tremolio del testo visualizzato durante lo scorrimento. (I0b7b9)
- Aggiungi test di screenshot per
PositionIndicator
(I5e8bc) - Aggiungi altri test per
AppCard
eTitleCard
(I85391, b/228869805)
Versione 1.0.0-alpha21
20 aprile 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha21
, androidx.wear.compose:compose-material:1.0.0-alpha21
e androidx.wear.compose:compose-navigation:1.0.0-alpha21
. La versione 1.0.0-alpha21 contiene questi commit.
Nuove funzionalità
- Aggiunti nuovi modificatori curvi per specificare lo sfondo di un elemento curvo:
CurvedModifier.background
,.radialGradientBackground
e.angularGradientBackground
(I8f392) - Consenti di specificare la modalità extra di testo curvo (clip/ellipsis/visible). (I8e7aa)
- Aggiunto il modificatore
CurvedModifier.weight
, simile a quello in Compose. Può essere utilizzata negli elementi secondari di curvedRow e CurvedLayout (per la larghezza) e agli elementi secondari di CurdColumn (per l'altezza). (I8abbd) - Sono stati aggiunti i modificatori
CurvedModifier.size
,.angularSize
e.radialSize
per specificare la dimensione di un elemento curvo. (I623c7).
Modifiche alle API
- Riordina i parametri per assicurarti che lo sfondo sia prima del colore in modo coerente in tutta l'API Wear Compose (I43208)
- Rimosso in senso orario e Parametri
insideOut
e sostituiti con costanti più espressive nelle nuove classi. La direzione del layout curva ora può essereLayoutDirection
e viene ereditata se non specificata (If0e6a) - Abbiamo sostituito
autoCenter: Boolean
conautoCenter: AutoCentringParams
per risolvere un problema dell'API conScalingLazyColumn
. (Ia9c90) iconTintColor
etoggleControlTintColor
sono stati rinominati iniconColor
etoggleControlColor
in tutta l'API (Chip/ToggleChip/Dialog/Slider/Stepper/...) poiché il colore viene applicato all'area icon/toggleControl. (Ied238)- Riscrivi l'enum
PageIndicatorStyle
nella classe di valore (I2dc72) - Abbiamo aggiunto
RowScope/ColumnScope/BoxScope
ad alcune aree dei nostri componibili per indicare agli sviluppatori i presupposti dei layout. In questo modo, gli sviluppatori potranno usare modificatori aggiuntivi in alcuni contenuti delle aree annuncio e non sarà necessario fornire elementi di layout aggiuntivi. Inoltre, abbiamo apportato alcuni aggiornamenti di minore entità ai colori AppCard/TitleCard in modo chetimeColor
eappColor
siano impostati sucontentColor
per impostazione predefinita. Queste proprietà possono comunque essere sostituite singolarmente, se necessario. (I26b59). - L'oggetto
SwipeToDismissBoxState.Companion
è stato reso privato (I39e84) - Correggi l'ordine dei parametri per
InlineSlider
eStepper
. Una semplice modifica per rispettare le linee guida dell'API (I11fec) - Abbiamo rimosso l'oggetto Saver per
SwipeToDismissBoxState
perché non era utilizzato. (Ifb54e). - Abbiamo aggiornato
CompactChip
per integrarlo con la più recente specifica UX. La spaziatura interna è stata ridotta a orizzontale = 12.dp e verticale = 0.dp. Il carattere per l'etichetta è stato modificato da pulsante a didascalia 1. Le dimensioni consigliate per le icone sono 20 x 20 quando sono presenti sia l'icona che l'etichetta e 24 x 24 per le icone con chip compatto. Solo per il caso d'uso delle icone, ci siamo assicurati che siano allineate al centro. (Iea2be). - Abbiamo aggiunto una serie di nuovi campi a
ScalingLazyListLayoutInfo
per consentire agli sviluppatori di conoscere la quantità dicontentPadding
eautoCenteringPadding
applicata. Possono essere utili agli sviluppatori per il calcolo di scorrimento/scorrimento (I7577b) - Abbiamo implementato le transizioni in/out per Dialog. È stato aggiunto un parametro
showDialog
e la finestra di dialogo ora controlla la propria visibilità (in questo modo, la finestra di dialogo può eseguire le animazioni di introduzione e chiusura quando la finestra di dialogo viene mostrata/nascosta). Tieni presente che l'animazione di chiusura non viene eseguita quando l'utente esce dalla finestra di dialogo tramite scorrimento per ignorare. Abbiamo anche aggiunto un valore predefinito per lo stato nel sovraccarico diSwipeToDismissBox
aggiunto di recente. (I682a0) - Per un supporto migliore i18n e a11y abbiamo modificato
ToggleChip
eSplitToggleChip
in modo che non abbiano più un'impostazione predefinita per lo slottoggleControl
. Abbiamo modificato ancheToggleChipDefaults
in modo che i seguenti metodi ora restituiscano ImageVector anziché Icon (tieni presente che, poiché non restituiscono più @Composables, sono stati modificati per iniziare con lettere minuscole),SwitchIcon()->switchIcon()
,CheckboxIcon->checkboxIcon()
eRadioIcon()->radioIcon()
. Questo consente e incoraggia gli sviluppatori a creare i propri componibiliIcon()
con un setcontentDescription
appropriato. (I5bb5b) - Abbiamo aggiunto un parametro
SwipeDismissableNavHostState
aSwipeDismissableNavHost
. Questo supporta l'uso dello scorrimento dei bordi sulle schermate utilizzate come destinazioni di navigazione, perché oraSwipeToDismissBoxState
può essere sollevato e utilizzato per inizializzareSwipeDismissableNavHostState
eModifier.edgeSwipeToDismiss
su schermate che richiedono lo scorrimento dei bordi. (I819f5, b/228336555)
Correzioni di bug
- Assicurati che i layout curvi siano aggiornati quando necessario. (Ie8bfa, b/229079150)
- Correzione di bug per https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
- Rimosse le annotazioni sperimentali non necessarie (I88d7e)
Versione 1.0.0-alpha20
6 aprile 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha20
, androidx.wear.compose:compose-material:1.0.0-alpha20
e androidx.wear.compose:compose-navigation:1.0.0-alpha20
. La versione 1.0.0-alpha20 contiene questi commit.
Nuove funzionalità
- Aggiungi il modificatore
edgeSwipeToDismiss
perSwipeToDismiss
. Consente aswipeToDismiss
di essere attivo solo sul bordo sinistro dell'area visibile. Questa opzione viene utilizzata quando il centro dello schermo deve essere in grado di gestire il paging orizzontale, ad esempio lo scorrimento in 2D di una mappa o lo scorrimento orizzontale da una pagina all'altra.(I3fcec, b/200699800)
Modifiche alle API
- Implementazione di base di
CurvedModifiers
, che apre la strada per introdurre modi per personalizzare i contenuti curvi (ma non sono ancora fornitiCurvedModifiers
e la possibilità di creare modificatori personalizzati potrebbe essere disponibile in seguito) (I9b8df) EdgeSwipe
Aggiornamento della documentazione del modificatore e dei valori predefiniti per una migliore comprensione .(I6d00d)- Aggiungi
PageIndicator
slot a Scaffold. Aggiungendo l'elementoPageIndicator
direttamente a Scaffold, possiamo garantire che verrà visualizzato correttamente sui dispositivi circolari. (Ia6042) - Rimuovi le icone predefinite dai parametri
InlineSlider
e stepper. Ciò aiuterà gli sviluppatori a essere più attenti ai requisiti di localizzazione e accessibilità. Gli utilizzi delle icone predefinite sono stati mostrati nelle demo e negli esempi. (I7e6fd) - Sostituisci i nomi dei parametri finali e iniziali con Inizio e Fine in TimeText (Iaac32)
- Abbiamo aggiunto un sovraccarico di
SwipeToDismissBox
con un parametroonDismissed
per supportare l'uso comune dell'attivazione di un evento di navigazione quando il gesto di scorrimento è stato completato. (I50353, b/226565726) - Annotazioni
ExperimentalWearMaterialApi
rimosse dall'utilizzo diTimeText
(Ide520) - Abbiamo contrassegnato
ScalingLazyList/Column
l'ambito e le interfacce informative come sigillati poiché non sono destinati all'implementazione da sviluppatori esterni e questo ci consentirà di aggiungere nuovi membri in futuro senza modifiche binarie che provocano errori. (I7d99f) - Abbiamo aggiunto una nuova proprietà
flingBehaviour
al selettore e un metodoPickerDefaults.flingBehaviour()
per abilitare la configurazione del comportamento fling, ad esempio l'aggiunta del supporto RSB. OraPickerState
implementa l'interfacciaScrollableState
. (Ib89c7).
Correzioni di bug
- Aggiorna le regole del profilo di base ART (Android Runtime) per le librerie Wear Compose. ART può sfruttare le regole del profilo sui dispositivi per compilare in anticipo un sottoinsieme specifico dell'applicazione al fine di migliorare le prestazioni dell'applicazione. Tieni presente che ciò non avrà alcun effetto sulle applicazioni di cui è possibile eseguire il debug. (Iaa8ef)
- Migliora la documentazione (I2c051)
Versione 1.0.0-alpha19
23 marzo 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha19
, androidx.wear.compose:compose-material:1.0.0-alpha19
e androidx.wear.compose:compose-navigation:1.0.0-alpha19
. La versione 1.0.0-alpha19 contiene questi commit.
Modifiche alle API
CurvedRow
è stato rinominato inCurvedLayout
e rielaborato per essere un ambito con un DSL. Utilizzando questa DSL, è possibile specificare layout curvi più complessi utilizzando una serie di elementicurvedRow
ecurvedColumn
nidificati (che sono gli equivalenti dei layout curvi di riga e colonna). All'interno di questi elementi di layout, è possibile utilizzare tre elementi:curvedComposable
(per aggiungere qualsiasi tipo di @Composable),basicCurvedText
(testo curvo di base) ecurvedText
(testo curvo a contatto con l'usura del materiale). (Ib776a)- Rendi configurabile il lato per
PositionIndicator
. La posizione di base dell'indicatore di posizione può essere configurata su End (sensore alla direzione del layout), opposto a destra (prende in considerazione la rotazione dello schermo per posizionarsi opposta all'RSB fisico) o i valori assoluti Sinistra e Esatto. (I2f1f3) - Per
SwipeToDismissBox
, abbiamo rinominatoSwipeDismissTarget
.Original 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 modificare un solo selettore alla volta. Quando il selettore è di sola lettura, visualizza l'opzione attualmente selezionata e un'etichetta, se disponibile. (I879de)
- È stato eseguito il refactoring di
SwipeToDismissBoxState
per limitare l'ambito diExperimentalWearMaterialApi
aModifier.swipeable
eSwipeableState
, che ora vengono utilizzati internamente.SwipeToDismissBoxState
ora include membricurrentValue
,targetValue
,isAnimationRunning
esnapTo
per supportare casi d'uso comuni. Contattaci se hai bisogno di rendere disponibili altre proprietà. È stato inoltre corretto il comportamento diSwipeableState
nel caso in cui l'offset dello scorrimento del dito si trovi all'interno di un errore di arrotondamento di un ancoraggio. (I58302)
Correzioni di bug
- Codice semplificato e fisso per rilevare se è possibile scorrere i contenuti di un
ScalingLazyColumn
(utilizzato per stabilire se viene visualizzata una barra di scorrimento o meno) (I7bce0) - È stato corretto un bug relativo all'indicatore di posizione quando utilizzato con più stati e nel passaggio da uno all'altro (I320b5)
- Abbiamo aggiornato l'impostazione predefinita di Scrivi per la tipografia e i caratteri del tema Wear OS in modo che corrisponda alle nostre ultime indicazioni relative all'esperienza utente. Di nota che display1 (40.sp) e display2 (34.sp) sono ora più piccoli dei loro valori precedenti e sono stati apportati vari altri aggiornamenti minori all'altezza della riga e all'interlinea. (Ie3077).
- Abbiamo aggiunto una maggiore resistenza a
SwipeToDismissBox
, in modo che il movimento si verifichi solo quando si scorre per ignorare e non nella direzione opposta. (Ifdfb9) - Abbiamo modificato alcuni dei valori dei parametri predefiniti per le funzioni
CircularProgressIndicator
al fine di allinearli con le indicazioni relative all'esperienza utente di Wear Material Design. Per la versione Spinner/Indeterminant, le dimensioni (40->24.dp), l'indicatoreColor (primary->onBackground), la trasparenza trackColor (30%->10%) e lo spessore del tratto (4->3dp) sono stati aggiornati. Per la versione Progress/Determinate, la trasparenza trackColor (30%->10%) è stata aggiornata. (I659cc) - Abbiamo aggiornato i parametri di scalabilità predefiniti di
ScalingLazyColumn
in linea con le più recenti specifiche UX di Wear Material Design. Visivamente, ciò si traduce in un ridimensionamento degli elementi dell'elenco che iniziano a essere scalati più vicino al centro dell'elenco, ma che vengono scalati meno a livello del bordo dell'elenco rispetto a prima. (Ica8f3) - Alcune modifiche a
ScalingLazyColumnDefaults.snapFlingBehavior
per migliorare la fine dell'animazione (If3260)
Versione 1.0.0-alpha18
9 marzo 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha18
, androidx.wear.compose:compose-material:1.0.0-alpha18
e androidx.wear.compose:compose-navigation:1.0.0-alpha18
. La versione 1.0.0-alpha18 contiene questi commit.
Modifiche alle API
- Diversi miglioramenti a PositionIndicator: ShowResult rinominata PositionIndicatorVisibility. Alcuni miglioramenti delle prestazioni per evitare i ricalcoli quando non necessari (Iaed9d)
- La colorazione consigliata per
SplitToggleChip
è stata aggiornata. Gli SplitToggleChip ora hanno uno sfondo in tinta unita quando selezionato o deselezionato, con il colore del SwitchControl che indica se il componente è selezionato o meno. Abbiamo aggiunto un nuovoToggleDefaults.splitToggleChipColors()
per supportare la nuova combinazione di colori. Abbiamo anche semplificato i metoditoggleChipColors()
rimuovendo lo strumento splitBackgroundOverlayColor (I7e66e). - Abbiamo aggiunto unadjustedSize a
ScalingLazyListItemInfo
poiché non è sicuro calcolare la dimensione originale dell'elemento utilizzando le dimensioni scalate e il fattore di scala a causa della precisione matematica del calcolo in virgola mobile. (I54657, b/221079441) - Aggiungi
HorizontalPageIndicator
. Rappresenta il numero totale di pagine e una pagina selezionata. Può essere lineare o curva, a seconda della forma del dispositivo. Supporta anche la forma personalizzata degli indicatori, che definisce il modo in cui ogni indicatore è rappresentato visivamente. (Iac898) - Abbiamo aggiornato
PickerState
in modo da poter aggiornare numberOfOptions. Sono supportati casi d'uso comeDatePicker
, in cui il numero di giorni del mese cambia in base al mese selezionato. Il parametro del costruttore per PickerState è stato modificato di conseguenza ininitialNumberOfOptions. (Iad066) - Nascondi
PositionIndicator
se è una barra di scorrimento e non puoi scorri. (Id0a7f) - Per garantire la coerenza con Scaffold, il nostro componente Finestra di dialogo a schermo intero ora mostra
PositionIndicator
eVignette
. Ora utilizziamo ancheScalingLazyColumn
anzichéColumn
, il che significa che i contenuti della finestra di dialogo si trovano ora inScalingLazyListScope
(e in genere devono essere racchiusi dall'elemento { /* content */ }). La finestra di dialogo supporta il parametro verticalArrangement di conseguenza. (Idea13) - Abbiamo cambiato il nome della proprietà
ToggleChip
eSplitToggleChip
in activateIcon per allinearci meglio con Material Design e aiutare così progettisti e sviluppatori a navigare nell'API. (If5921, b/220129803) - Abbiamo aggiunto una nuova voce caption3 alla tipologia di tema dei materiali Wear.Caption3 è un piccolo carattere utilizzato per la scrittura di contenuti extra lunghi come i testi legali. (I74b13, b/220128356)
Correzioni di bug
- Interrompi l'animazione di agganciamento una volta lì. (Idb69d)
- Anima le modifiche in PositionIndicator. (I94cb9)
- In base al feedback dell'UI/UX abbiamo modificato il centraggio automatico di
ScalingLazyColumn
in modo che offra solo spazio sufficiente per garantire lo scorrimento completo degli elementi con indiceScalingLazyListState.initialCenterItemIndex
o superiore fino al centro dell'area visibile. In questo modo gli sviluppatori possono posizionare inizialmente al centro uno o due elementi relativi all'elemento, che non possono essere fatti scorrere verso il centro. Ciò significa che unScalingLazyColumn
di Centro automatico non sarà in grado di scorrere soprainitialCenterItemIndex/initialCenterItemScrollOffset
(I22ee2) - Abbiamo aggiunto una demo per un selettore della data e corretto un bug in
PickerState
per cui inizialmenteSelectedOption non veniva applicato fino alla visualizzazione del selettore. (Id0d7e) - Per ridurre il ritaglio di elementi
ScalingLazyColumn
più ampi sugli schermi circolari, abbiamo aumentato la spaziatura interna predefinita dei contenuti da 8 a 10 dp. (I0d609) - Assicurati che venga visualizzata l'icona
PositionIndicator
quando scorri. (Ied9a2)
Versione 1.0.0-alpha17
23 febbraio 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha17
, androidx.wear.compose:compose-material:1.0.0-alpha17
e androidx.wear.compose:compose-navigation:1.0.0-alpha17
. La versione 1.0.0-alpha17 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto per lo scatto che può essere utilizzato con
ScalingLazyColumn
. ImpostaflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)
per attivare il supporto dello scatto. (I068d3, b/217377069) - Abbiamo aggiunto delle demo per il selettore selezionare un'ora nel formato 24 ore o 12 ore. (Ie5552).
Modifiche alle API
- Risolvi un problema relativo a
TimeText
caratteri personalizzati e Stili su un dispositivo quadrato (Iea76e) ScalingLazyListLayoutInfo
ora hareverseLayout
,viewportSize
e proprietà di orientamento corrispondenti a quelle diLazyListLayoutInfo
(I4f258, b/217917020)- Ora
ScalingLazyColumn
ha una proprietàuserScrollEnabled
corrispondente a quella diLazyList
(I164d0, b/217912513) - Ora i selettori hanno un gradiente nella parte superiore e inferiore per impostazione predefinita (Iab92a)
Correzioni di bug
- Abbiamo modificato
ScalingLazyColumn
in modo che non occupi più tutto lo spazio dell'elemento principale. Piuttosto, prenderà le sue dimensioni da quelle dei suoi contenuti. Ciò la rende coerente con il comportamento diLazyColumn
. Se vuoi reintegrare il vecchio comportamento, passaModifier.fillMaxWidth()/width()/widthIn()
alScalingLazyColumn
(I51bf8) - Abbiamo migliorato il messaggio di eccezione in
SwipeDismissableNavHost.kt
che viene attivato se il backstack di navigazione era vuoto. (I1b1dc)
Versione 1.0.0-alpha16
9 febbraio 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha16
, androidx.wear.compose:compose-material:1.0.0-alpha16
e androidx.wear.compose:compose-navigation:1.0.0-alpha16
. La versione 1.0.0-alpha16 contiene questi commit.
Nuove funzionalità
- Aggiungi
CircularProgressIndicator
. Gli indicatori di avanzamento visualizzano la durata di un processo o un tempo di attesa non specificato. Supporta uno spazio (ritaglio) per TimeText o altri componenti se utilizzato a schermo intero. (Iab8da)
Modifiche alle API
- Ora i selettori hanno un parametro
flingBehavior
. Il valore predefinito li consente di agganciarsi all'opzione più vicina durante lo scorrimento o lo scorrimento. (I09000) - API intera aggiuntiva per InlineSlider e Stepper (I1b5d6)
Correzioni di bug
- Abbiamo modificato il valore predefinitoInitialCenterItemIndex per
ScalingLazyListState
da 0->1. Ciò significa che, a meno che non venga eseguito l'override della costruzione dello stato conScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =
)
, il secondo elemento dell'elenco (indice == 1) verrà posizionato al centro dell'area visibile all'inizializzazione e il primo elemento (indice == 0) verrà posizionato prima. Ciò consente un migliore effetto visivo predefinito pronto all'uso, in quanto la maggior parte dell'area visibile sarà riempita con elementi dell'elenco. (I0c623, b/217344252) - Abbiamo ridotto il valore predefinito di
ScalingLazyColumn
extraPadding
fornito per garantire che ci siano molti elementi dell'elenco da disegnare (anche quando ne stiamo riducendo alcune di dimensioni) dal 10% al 5%. In questo modo eviterai di comporre altri elementi dell'elenco che potrebbero non essere visualizzati nell'area visibile. Se vengono utilizzati scalingParam non standard (ad esempio scalabilità più estrema), lo sviluppatore può regolare la spaziatura interna aggiuntiva utilizzandoviewportVerticalOffsetResolver
. (I76be4) - Risolvere un problema relativo a TimeText su più righe su un dispositivo quadrato (Ibd3fb)
- Abbiamo modificato
ScalingLazyColumn
in modo che non occupi più tutto lo spazio dell'elemento principale. Piuttosto, prenderà le sue dimensioni da quelle dei suoi contenuti. Ciò la rende coerente con il comportamento diLazyColumn
. Se vuoi reintegrare il comportamento precedente, passaModifier.fillMaxSize()
allaScalingLazyColumn
. NOTA: questa modifica è incompleta e verrà risolta con una modifica successiva nella prossima release alpha. (I3cbfa)
Versione 1.0.0-alpha15
26 gennaio 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha15
, androidx.wear.compose:compose-material:1.0.0-alpha15
e androidx.wear.compose:compose-navigation:1.0.0-alpha15
. La versione 1.0.0-alpha15 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto una nuova proprietà
autoCentering
aScalingLazyColumn
. Se impostato su true (valore predefinito), è possibile far scorrere tutti gli elementi, inclusi il primo e l'ultimo, in modo che siano visibili al centro dell'area visibile degli elenchi. Tieni presente che, se utilizzi la centratura automatica, probabilmente vorrai impostare la spaziatura interna dei contenuti verticali su 0.dp. Se vengono fornite sia la centratura automatica sia la spaziatura interna dei contenuti verticale, entrambe avranno spazio aggiuntivo prima del primo e dopo l'ultimo elemento dell'elenco, consentendo un ulteriore scorrimento. (I2a282, b/214922490) - Abbiamo aggiunto un componente
Dialog
che consente a qualsiasi componibile di attivare una finestra di dialogo a schermo intero che si trova sopra altri contenuti. Quando è visualizzata, la finestra di dialogo supporta lo scorrimento per ignorare e mostrerà i contenuti dell'elemento principale in background durante il gesto di scorrimento. I contenuti della finestra di dialogo dovrebbero essereAlert
oConfirmation
(rinominati dai componenti precedentiAlertDialog
eConfirmationDialog
).Alert
,Confirmation
eDialog
sono tutti nel pacchettoandroidx.wear.compose.material.dialog
. Avviso e Conferma possono essere utilizzate come destinazioni di navigazione. Inoltre, è stato aggiunto ColumnScope ai parametri Alert e Confirmation, se necessario. (Ia9014) - Abbiamo rimosso
onSurfaceVariant2
da Compose per i colori dei temi materiali per WearOS e sostituito gli utilizzi nella raccolta cononSurfaceVariant
. (Icd592). - È stato aggiunto un metodo per selezionare in modo programmatico un'opzione su
PickerState
. Ora l'opzione selezionata inizialmente può essere specificata anche durante la creazione di unPickerState
. (I92bdf) - Abbiamo aggiunto il supporto per la personalizzazione del comportamento scorrevole di
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 rotante.(I18bf5, b/210748686)
Versione 1.0.0-alpha14
12 gennaio 2022
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha14
, androidx.wear.compose:compose-material:1.0.0-alpha14
e androidx.wear.compose:compose-navigation:1.0.0-alpha14
. La versione 1.0.0-alpha14 contiene questi commit.
Nuove funzionalità
Abbiamo aggiunto diversi metodi a
ScalingLazyListState
per consentire agli sviluppatori di controllare lo scorrimento fino a specifici elementi dell'elenco, nonché di impostare la voce iniziale dell'elenco e l'offset.Nell'ambito di questa modifica, abbiamo modificato anche ScalingLazyList in modo che sia orientato attorno al centro dell'area visibile di ScalingLazyList anziché all'inizio dell'area visibile.
Una nuova proprietà
anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
è stata aggiunta aScalingLazyList
per controllare se il centro (ScalingLazyListAnchorType.ItemCenter
) oEdge
(ScalingLazyListAnchorType.ItemStart
) deve essere allineato alla linea centrale dell'area visibile.Di conseguenza, i valori
ScalingLazyListItemInfo.offset
eScalingLazyListItemInfo.adjustedOffset
sono cambiati e ora rifletteranno l'offset dell'elemento rispetto alla posizione dell'elemento e alanchorType
dell'elenco. Ad es. perScalingLazyColumn
conanchorType
diItemCenter
e un elemento dell'elenco posizionato con il centro sulla linea centrale dell'area visibile, l'offset sarà0
.I nuovi metodi sono
scrollTo
,animatedScrollTo
,centerItemIndex
ecenterItemOffset
. (I61b61)Abbiamo aggiunto un gestore di pulsanti Indietro a
SwipeDismissableNavHost
, in modo che premendo Indietro passi al livello precedente nella gerarchia di navigazione. (I5b086, b/210205624)
Versione 1.0.0-alpha13
15 dicembre 2021
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha13
, androidx.wear.compose:compose-material:1.0.0-alpha13
e androidx.wear.compose:compose-navigation:1.0.0-alpha13
. La versione 1.0.0-alpha13 contiene questi commit.
Modifiche alle API
- Abbiamo reso
RangeIcons
interno (cucito internamente daInlineSlider
eStepper
). (I927ec)
Correzioni di bug
Risolto un problema per cui
SwipeDismissableNavHost
aggiungeva una destinazione alla gerarchia di composizione prima che raggiungesse lo stato di ciclo di vitaCREATED
, con conseguenteIllegalStateException
. Questa correzione era un prerequisito per l'aggiornamento della dipendenza danavigation-compose
a2.4.0-beta02
e versioni successive. (I40a2b, b/207328687)È stata aggiunta una classe enum di Drawables per recuperare risorse disegnabili all'interno della libreria Wear Compose, in modo che la riflessione non sia più necessaria. È stato corretto un bug per cui i drawable della libreria venivano rimossi quando
minifyEnabled=true
oshrinkResources=true
). (Ib2a98)Test aggiunti per
Stepper
in Wear Compose (I2d03a)Sono stati aggiunti campioni per
SwipeDismissableNavHost
nella navigazione di Wear Compose. (I85f06)
Versione 1.0.0-alpha12
1 dicembre 2021
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha12
, androidx.wear.compose:compose-material:1.0.0-alpha12
e androidx.wear.compose:compose-navigation:1.0.0-alpha12
. La versione 1.0.0-alpha12 contiene questi commit.
Nuove funzionalità
Abbiamo aggiunto un componente Passaggi che consente agli utenti di effettuare una selezione da un intervallo di valori. Stepper è un controllo a schermo intero con pulsanti di aumento e diminuzione in alto e in basso e uno spazio al centro (che dovrebbe contenere un chip o un testo). Le icone dei pulsanti possono essere personalizzate, se necessario. (I625fe)
Abbiamo aggiunto due nuovi componibili per la visualizzazione delle finestre di dialogo: AlertDialog attende una risposta dall'utente e visualizza un titolo, un'icona, un messaggio e a) due pulsanti per semplici scelte positive/negative o b) chip impilati verticalmente o chip di attivazione/disattivazione per scelte più flessibili; La finestra di dialogo di conferma mostra una conferma con un timeout. Questa semplice finestra di dialogo presenta spazi per un titolo e un'icona (animata). (Ic2cf8)
Modifiche alle API
- Aggiungi unità (millisecondi) ai valori suggeriti per la durata delle finestre di dialogo. (I09b48)
Versione 1.0.0-alpha11
17 novembre 2021
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha11
, androidx.wear.compose:compose-material:1.0.0-alpha11
e androidx.wear.compose:compose-navigation:1.0.0-alpha11
. La versione 1.0.0-alpha11 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un componente selettore che consente all'utente di selezionare un elemento da un elenco a scorrimento. Per impostazione predefinita, l'elenco di elementi selezionabili viene ripetuto "all'infinito" in entrambe le direzioni, per dare l'impressione di un cilindro rotante visto di lato. Nelle versioni successive verranno aggiunte due funzionalità: aggancio a un valore dopo scorrimento o scorrimento. aggiungendo una funzione a PickerState per impostare/scorrere fino al valore corrente. (I6461b)
Modifiche alle API
- Sono stati aggiunti un valore ScalingLazyItemScope e alcuni nuovi modificatori fullParentMaxSize/fillParentMaxLarghezza/fillParentMaxHeight per consentire il dimensionamento degli elementi dell'elenco in base alle dimensioni del contenitore principale. Gli elementi possono essere impostati in modo da riempire tutte le dimensioni dell'elemento principale o solo una parte. In questo modo esponi le funzionalità già disponibili in LazyRow/Column (I4612f)
- Aggiunto il supporto a ScalingLazyColumn per consentire agli elementi di avere una chiave. Sono stati inoltre aggiunti metodi pratici per consentire l'aggiunta di elementi da array ed elenchi. (Ic1f89)
Correzioni di bug
- Altri esempi per TimeText (I8cb64)
Versione 1.0.0-alpha10
3 novembre 2021
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha10
, androidx.wear.compose:compose-material:1.0.0-alpha10
e androidx.wear.compose:compose-navigation:1.0.0-alpha10
. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
È stato aggiunto un cursore in linea per Wear Compose. InlineSlider consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene mostrato come una barra tra i valori minimo e massimo dell'intervallo, da cui gli utenti possono selezionare un singolo valore. (If0148)
Dai un'occhiata alla nuova versione di Compose per il codelab su WearOS.
Modifiche alle API
- Macrobenchmark ora ha un valore
minSdkVersion
di23
. (If2655).
Correzioni di bug
- Aggiorna gestione della transizione in ScorriIgnorabileNavHost in un effetto collaterale (I04994, b/202863359)
- Aggiorna gestione della transizione in CurrentsableNavHost (I1cbe0, b/202863359)
Versione 1.0.0-alpha09
27 ottobre 2021
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha09
, androidx.wear.compose:compose-material:1.0.0-alpha09
e androidx.wear.compose:compose-navigation:1.0.0-alpha09
. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- Abbiamo lanciato l'anteprima per gli sviluppatori di Compose su Wear OS. Leggi il nostro post del blog che esamina i principali componenti componibili e link a ulteriori risorse per iniziare a utilizzarli.
Modifiche alle API
- Abbiamo aggiunto il supporto per consentire agli sviluppatori di personalizzare tutti i colori del tema colore Wear Material Design. (I4759b, b/199754668)
Correzioni di bug
- Sono stati aggiunti campioni di swipeToClearBox che rimangono in stato (Ibaffe)
- Sono stati aggiunti link alle guide developer.android.com da Documenti Google per CurvedText, TimeText e ScorriPerIgnoraBox. (I399d4)
- ScorriIgnorabileNavHost ora genera se non esiste una destinazione corrente (indica che NavGraph non è stato costruito con wear.compose.navigation.composable funzione di utilità) (I91403)
- Sono stati aggiunti ulteriori esempi e documentazione per l'utilizzo dell'origine temporale in TimeText (I4f6f0)
Versione 1.0.0-alpha08
13 ottobre 2021
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha08
, androidx.wear.compose:compose-material:1.0.0-alpha08
e androidx.wear.compose:compose-navigation:1.0.0-alpha08
. La versione 1.0.0-alpha08 contiene questi commit.
Modifiche alle API
- Abbiamo rinominato le proprietà AppCard e TitleCard
body
incontent
e le abbiamo spostate alla fine dell'elenco delle proprietà per consentirne l'utilizzo come lambda finale. Inoltre,bodyColor
è stato rinominato incontentColor
per coerenza con i nuovi nomi delle aree annuncio. (I57e78)
Correzioni di bug
- Sono stati aggiunti i link a developer.android.com di Google Documenti per pulsanti, schede, chip, temi, l'indicatore di posizione e la scalabilità dei componenti della colonna lazy. (I22428)
- Risolvere i problemi relativi alla gestione dello scorrimento da parte di Wear OS allo scopo di ignorare la barra di sfioramento di WearOS. (I9387e)
- Sono stati aggiunti esempi per Pulsante, CompactButton, Chip, CompactChip, AppCard, TitleCard Pulsante di attivazione, attivazione/disattivazione, SplitToggleChip (Iddc15)
- Sono stati aggiunti i test delle prestazioni dei microbenchmark per Card, Chip, EnableChip, TimeText e ScalingLazyColumn. (If2fe9)
Versione 1.0.0-alpha07
29 settembre 2021
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha07
, androidx.wear.compose:compose-material:1.0.0-alpha07
e androidx.wear.compose:compose-navigation:1.0.0-alpha07
. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- È stato aggiunto un componente CurvedText nel materiale, un componente che consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito ai bordi di uno schermo circolare). (I19593)
Modifiche alle API
- Test aggiunti per TimeText (Idfead)
- Trasforma ArcPaddingValues in un'interfaccia. (Iecd4c)
- È stata aggiunta l'animazione a swipeToClearBox (I9ad1b)
- Parametro hasBackground aggiunto a swipeToClearBox API per disattivare il gesto di scorrimento quando non ci sono contenuti in background da visualizzare. (I313d8)
rememberNavController()
ora accetta una domanda facoltativa insieme diNavigator
istanze che verranno aggiunte ha restituitoNavController
per un supporto migliore facoltativo Navigatori come quelli di Materiale di navigazione accompagnatore. (I4619e)- Riferimento NamedNavArgument da naviga-common e rimuovi la copia da wear.compose.navigation. (I43af6)
Correzioni di bug
- È stato corretto il problema di irregolarità del test di CurvedRow sui dispositivi più piccoli. (If7941)
- È stato risolto il possibile sfarfallio di CurvedRow durante l'aggiornamento dei contenuti. e assicura che la riga curva venga misurata di nuovo (Ie4e06)
- ChipDefaults.gradientBackgroundChipColors() è stato aggiornato in linea con le modifiche alle specifiche UX. Il gradiente ora inizia con MaterialTheme.colors.primary con alfa 32,5% e termina con MaterialTheme.colors.surface con alfa @ 0% su uno sfondo di MaterialTheme.colors.surface @ 75% alfa. (ID1548)
- Abbiamo aggiornato i colori dei chip di attivazione/disattivazione quando sono nello stato selezionato in modo che corrispondano alle ultime indicazioni relative alle specifiche UX di Wear Material Design. Quando l'opzione SwitchChips è selezionata, ora ha uno sfondo sfumato da MaterialTheme.color.surface @ 0% alpha, in alto a sinistra, a MaterialTheme.color.primary @ 32% alpha, in basso a destra, su uno sfondo di MaterialTheme.color.surface @ 75% alfa. Ciò si traduce in una differenza più sottile tra opzioni selezionate e deselezionate per il chip di attivazione/disattivazione. (Idd40b)
Versione 1.0.0-alpha06
15 settembre 2021
Vengono rilasciate le funzionalità androidx.wear.compose:compose-foundation:1.0.0-alpha06
, androidx.wear.compose:compose-material:1.0.0-alpha06
e androidx.wear.compose:compose-navigation:1.0.0-alpha06
. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto Scaffold, un'applicazione componibile di primo livello che fornisce una struttura per la gestione della posizione degli indicatori di posizione (come lo scorrimento o il volume), un'area nella parte superiore dello schermo per la visualizzazione dell'ora e dello stato dell'applicazione e supporta anche la vignettatura per sfocare il bordo superiore e inferiore dello schermo per contenuti scorrevoli. L'area principale della piattaforma è il punto in cui sono posizionati i contenuti dell'applicazione. (I5e0bf).
- Aggiunta l'implementazione di TimeText per Wear Compose (I5654c)
Libreria di navigazione Wear Compose
Abbiamo aggiunto la prima release della libreria di navigazione Wear Compose, che fornisce l'integrazione tra le librerie di navigazione Wear Compose e Androidx. Offre un mezzo semplice per navigare tra le funzioni @Composable come destinazioni nell'applicazione.
Questa release iniziale fornisce:
- Un componibile
SwipeDismissableNavHost
che ospita un grafico di navigazione e consente la navigazione a ritroso tramite gesti di scorrimento - Estensione
NavGraphBuilder.composable
per facilitare la creazione dei grafici di navigazione rememberSwipeDismissableNavController()
per consentire lo stato di sollevamento
- Un componibile
Esempio di utilizzo in cui creiamo due schermate e ci spostiamo tra di loro:
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "start" ) { composable("start") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Button(onClick = { navController.navigate("next") }) { Text("Go") } } } composable("next") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Text("Swipe to go back") } } }
La navigazione Wear Compose è pacchettizzata come libreria separata, in modo che le semplici applicazioni WearCompose che implementano la propria navigazione manuale non debbano dipendere dalla libreria di navigazione Androidx.
Modifiche alle API
- Aggiornamento di
SwipeDismissableNavHost
per l'assistenzarememberSaveable
impostando l'identità della chiave per background e contenuti (I746fd) - Abbiamo aggiunto un adattatore PositionIndicator in grado di gestire LazyListState (I21b88)
- È stato aggiornato l'opzione SwipeToClearBox per il supporto del supporto di memorizzareSalvabile (Ie728b)
- Abbiamo aggiunto il supporto di reverseLayout a ScalingLazyColumn. Ciò consente l'inversione della direzione di scorrimento e layout (I9e2fc)
performGesture
eGestureScope
deprecati, che hanno è stato sostituito daperformTouchInput
eTouchInjectionScope
. (Ia5f3f, b/190493367)- Abbiamo rinominato VignetteValue in VignettePosition e abbiamo rinominato VignetteValue.Entrambi rinominati VignettePosition.TopAndBottom. (I57ad7)
- Abbiamo rinominato ScalingLazyColumnState in ScalingLazyListState, ScalingLazyColumnItemInfo in ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo a ScalingLazyListLayoutInfo e ScalingLazyColumnScope a ScalingLazyListScope nel caso in cui decidessimo di aggiungere un'implementazione ScalingLazyRow in futuro. (I22734)
Correzioni di bug
- È stata aggiornata la documentazione di CompactChip per descrivere cosa succede se non vengono fornite né un'icona né un'etichetta. (I4ba88)
- Abbiamo apportato alcune modifiche ai componenti della scheda Wear. (I6b3d0)
- .
- Spaziatura della title card tra Titolo e Corpo ridotta da 8.dp a 2.dp.
- Carattere intestazione title card modificato da corpo a titolo3.
- Gradiente di sfondo della scheda cambiato per rendere lo sfondo più scuro.
Versione 1.0.0-alpha05
1° settembre 2021
Vengono rilasciate le versioni androidx.wear.compose:compose-foundation:1.0.0-alpha05
e androidx.wear.compose:compose-material:1.0.0-alpha05
. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche alle API
- Contrassegna ArcPaddingValues come @Stable (I57deb)
- ScalingLazyColumnState ora implementa l'interfaccia Scorribile, che consente agli sviluppatori di accedere in modo programmatico per far scorrere il componente. (I47dbc)
Correzioni di bug
- Abbiamo ridotto la spaziatura tra Icona e Testo in chip e SwitchChip per adattarli agli aggiornamenti delle Specifiche UX. (I83802)
Versione 1.0.0-alpha04
18 agosto 2021
Vengono rilasciate le versioni androidx.wear.compose:compose-foundation:1.0.0-alpha04
e androidx.wear.compose:compose-material:1.0.0-alpha04
. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- È stato aggiunto un swipeToClearBox e un modificatore a scorrimento che possono essere utilizzati per supportano un gesto di scorrimento da sinistra a destra per ignorare. Sebbene indipendenti dai componenti di navigazione, dovrebbe essere utilizzato per uscire da una schermata e passare a un'altra. Aggiunta di integrazione con la dimostrazione del gesto di scorrimento per ignorare. (I7bbaa)
- Abbiamo aggiunto le interfacce ScalingLazyColumnItemInfo e ScalingLazyColumnLayoutInfo alla classe ScalingLazyColumnState per consentire agli sviluppatori di conoscere le posizioni e le dimensioni effettive degli elementi in ScalingLazyColumn dopo l'applicazione della scalabilità. Abbiamo inoltre corretto un bug relativo al modo in cui la scalabilità veniva calcolata quando "in alto" la spaziatura interna del contenuto viene applicata a ScalingLazyColumn. (I27c07)
Modifiche alle API
- Aggiungi la classe CurvedTextStyle per specificare lo stile del testo curvo Opzioni. Simile a TextStyle, ma ora supporta solo color, fontSize e background. In futuro verranno aggiunte altre opzioni di stile. (I96ac3)
- Abbiamo aggiunto le interfacce ScalingLazyColumnItemInfo e ScalingLazyColumnLayoutInfo alla classe ScalingLazyColumnState per consentire agli sviluppatori di conoscere le posizioni e le dimensioni effettive degli elementi in ScalingLazyColumn dopo l'applicazione della scalabilità. Abbiamo inoltre corretto un bug relativo al modo in cui la scalabilità veniva calcolata quando "in alto" la spaziatura interna del contenuto viene applicata a ScalingLazyColumn. (I27c07)
@ExperimentalWearMaterialApi
aggiunto all'enumSwipeDismissTarget
, parte dell'APISwipeToDismissBox
. (I48b5e)
Correzioni di bug
- È stato aggiunto il materiale di test per SwipeToSkipBox (I9febc)
Versione 1.0.0-alpha03
4 agosto 2021
Vengono rilasciate le versioni androidx.wear.compose:compose-foundation:1.0.0-alpha03
e androidx.wear.compose:compose-material:1.0.0-alpha03
. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche alle API
- È stato aggiunto il componente CurvedText, che consente agli sviluppatori di scrivere facilmente il testo che segue la curvatura di un cerchio (di solito ai bordi di uno schermo circolare) (Id1267)
- Abbiamo rinominato
CardDefaults.imageBackgroundPainter()
inCardDefaults.imageWithScrimBackgroundPainter()
per chiarire che sull'immagine di sfondo è disegnata una striscia. (I53206) - Aggiunta del componente ScalingLazyColumn che fornisce un componente elenco per Wear Material che offre una visualizzazione fisheye con i contenuti dell'elenco che vengono scalati per dimensioni e diventano trasparenti man mano che vengono scalati verso il bordo del componente. (I7070c)
Correzioni di bug
- Abbiamo modificato il colore predefinito dei contenuti di appName in AppCard in risposta a un aggiornamento delle specifiche UX. Il colore predefinito per appName è ora
MaterialTheme.colors.onSurfaceVariant
. È stata inoltre aggiunta una descrizione nel documento dei parametri mancante per l'area del titolo. (Ic4ad1)
Versione 1.0.0-alpha02
21 luglio 2021
Vengono rilasciate le versioni androidx.wear.compose:compose-foundation:1.0.0-alpha02
e androidx.wear.compose:compose-material:1.0.0-alpha02
. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- È stata aggiunta una nuova classe CurvedRow ai componibili disposti in un arco (I29941)
- Aggiunto un nuovo tipo di scheda da usare nelle applicazioni (TitleCard), nonché il supporto per avere immagini come sfondo nelle schede per enfatizzare i contenuti (I53b0f)
Modifiche alle API
- Aggiungi il supporto per l'allineamento radiale a CurvedRow (simile a allineamento verticale in una riga) (Id9de5)
- Aggiungi una nuova classe CurvedRow per i componibili disposti in un arco (I29941)
- Aggiunto un nuovo tipo di scheda da usare nelle applicazioni (TitleCard), nonché il supporto per avere immagini come sfondo nelle schede per enfatizzare i contenuti (I53b0f)
- Sono state aggiunte icone di attivazione/disattivazione (casella di controllo, opzione e pulsanti di opzione) a EnableChipDefaults per facilitare agli sviluppatori la configurazione di EnableChip e SplitToggleChips (I7b639)
- La spaziatura interna dei contenuti di inizio e fine per i chip è stata aggiornata in modo che sia sempre 14.dp, indipendentemente dalla presenza o meno di un'icona nel chip (in precedenza era 12.dp se presente e 14.dp in caso contrario) (I34c86).
Correzioni di bug
- Aggiungi test per CurvedRow (I93cdb)
- Collegamento delle dipendenze di Wear Compose a Compose 1.0.0-rc01. (Ie6bc9).
- È stata modificata la consegna del disegno dell'immagine di sfondo in Schede e chip in modo che l'immagine venga ritagliata anziché allungata per mantenere le proporzioni dell'immagine. (I29b41)
- Sono state aggiunte altre demo e test di integrazione per i pulsanti e il pulsante di attivazione/disattivazione. (5e27ed2).
- Sono stati aggiunti altri test dei chip per coprire i colori dei contenuti per imageBackgroundChips (Ia9183)
Versione 1.0.0-alpha01
1 luglio 2021
Vengono rilasciate le versioni androidx.wear.compose:compose-foundation:1.0.0-alpha01
e androidx.wear.compose:compose-material:1.0.0-alpha01
. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Wear Compose è una libreria basata su Kotlin basata su Compose che supporta Wear Material Design, un'estensione del Material Design per gli indossabili WearOS. Questa prima release alpha contiene le prime implementazioni funzionali dei seguenti elementi:
- Tema Material: configura colori, tipografia e forme in modo coerente in tutti i componenti utilizzati da questa libreria.
- Chip, CompactChip: i chip hanno la forma di uno stadio e sono disponibili varianti per acquisire contenuti di icone, etichette ed etichette secondarie.
- - SwitchChip, SplitToggleChip: un tipo specializzato di chip che include uno slot per un'icona di attivazione/disattivazione bi-stato, come un pulsante di opzione o una casella di controllo. Inoltre, SplitToggleChip presenta due aree toccabili, una cliccabile e una attivabile.
- Pulsante, CompactButton: i pulsanti sono di forma circolare e hanno un singolo spazio per i contenuti che può contenere un'icona o testo ridotto (massimo 3 caratteri).
- Pulsante di attivazione/disattivazione: un pulsante che consente di attivare o disattivare un'azione, con un singolo spazio per un'icona o testo minimo (massimo 3 caratteri).
- Scheda, AppCard: di forma rettangolare con angoli arrotondati che offre spazi per contenuti quali icona dell'app, ora, titolo e corpo.
Le versioni future amplieranno il set di widget aggiungendo il supporto per selettori, cursori, elenchi, indicatori di pagina, finestre di dialogo, indicatori di scorrimento RSB, toast e altro ancora per Wear Material Design.
Verrà inoltre fornita assistenza per altre funzionalità specifiche per gli indossabili, come testi e layout curvi, nonché per lo scaffolding per consentire agli sviluppatori di creare facilmente app/overlay per dispositivi indossabili.
Wear Compose Material è progettato secondo gli stessi principi di Compose, pur essendo rivolto agli indossabili. La raccolta Material di Wear Compose deve essere utilizzata al posto della raccolta Compose Material per la realizzazione di un dispositivo indossabile.
Le due librerie "Material" devono essere considerate si escludono a vicenda e non devono essere combinate nella stessa app. Se gli sviluppatori dovessero includere la libreria Compose Material nelle loro dipendenze, suggerirebbe che a) non siano presenti componenti nella libreria Wear Compose Material, facci sapere di cosa ha bisogno oppure b) stia utilizzando un componente che sconsigliamo per l'utilizzo su un dispositivo indossabile.