Wear Compose
Aggiornamento più recente | Release stabile | Candidato per la release | Versione beta | Release alpha |
---|---|---|---|---|
12 giugno 2024 | 1.3.1 | - | 1.4.0-beta03 | - |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza su Wear, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il modulo:
Trendy
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 ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Wear Compose Material3 versione 1.0
Versione 1.0.0-alpha23
14 maggio 2024
androidx.wear.compose:compose-material3:1.0.0-alpha23
viene rilasciato. La versione 1.0.0-alpha23 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato le API
ToggleButton
eRadioButton
in modo da poter configurare i colori disattivati. (If13a7) - Abbiamo aggiunto un nuovo
CircularProgressIndicator
per Material3. (Ib3bd7).
Correzioni di bug
- Abbiamo corretto un bug per cui i pulsanti selezionabili annunciavano il doppio tocco per attivare/disattivare l'opzione quando sono già selezionati. (I7ed88)
Versione 1.0.0-alpha22
1° maggio 2024
androidx.wear.compose:compose-material3:1.0.0-alpha22
viene rilasciato. La versione 1.0.0-alpha22 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato il documento
ColorScheme
di Material3. (I7b2b8). - Abbiamo aggiornato l'opzione Material3 e, oltre ad alcune modifiche di colore, il segno di spunta corrisponde a quello utilizzato per la casella di controllo. (Icac7b)
Correzioni di bug
- Aggiorna tutte le demo di integrazione per utilizzare il nuovo modificatore
rotaryScrollable
. (I25090)
Versione 1.0.0-alpha21
17 aprile 2024
androidx.wear.compose:compose-material3:1.0.0-alpha21
viene rilasciato. La versione 1.0.0-alpha21 contiene questi commit.
- Questa release è stata attivata a causa di un problema tecnico nella release precedente che causava la mancanza di jar del codice sorgente. In questa release non sono presenti nuovi commit.
Versione 1.0.0-alpha20
3 aprile 2024
androidx.wear.compose:compose-material3:1.0.0-alpha20
viene rilasciato. La versione 1.0.0-alpha20 contiene questi commit.
Correzioni di bug
- Abbiamo modificato gli alfa degli stati premute e focalizzati di Ripple in base al contrasto. (I59f0a).
- In seguito alle ultime modifiche agli stili tipografici e all'altezza delle righe, abbiamo aggiunto gli spazi tra le etichette principali e secondarie in
Button
,ToggleButton
eRadioButton
. (I2c0ba).
Versione 1.0.0-alpha19
6 marzo 2024
androidx.wear.compose:compose-material3:1.0.0-alpha19
viene rilasciato. La versione 1.0.0-alpha19 contiene questi commit.
Modifiche 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
ed esegui anche un refactoring dei metodi esistenti per ridurre la quantità di ricerca diCompositionLocal
aggiungendo istanze di colori memorizzate nella cache e rendendo i metodi diRadioButtonColors
eSplitRadioButtonColors
interni. (I02b33).
Versione 1.0.0-alpha18
21 febbraio 2024
androidx.wear.compose:compose-material3:1.0.0-alpha18
viene rilasciato. La versione 1.0.0-alpha18 contiene questi commit.
Modifiche alle API
- Abbiamo modificato il pattern predefinito per
CardColors
,ToggleButtonColors
eSplitToggleButtonColors
creando istanze memorizzate nella cache internamente e riducendo l'utilizzo diCompositionLocal
. (If3fec).
Versione 1.0.0-alpha17
7 febbraio 2024
androidx.wear.compose:compose-material3:1.0.0-alpha17
viene rilasciato. La versione 1.0.0-alpha17 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato l'API Button in modo da utilizzare
buttonColors
per impostazione predefinita e abbiamo rimosso il filefilledButtonColors
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 come interni i metodi della funzione di accesso nelle classi dei colori. (If6571)
Correzioni di bug
- Abbiamo aggiornato
Modifier.minimumInteractiveComponentSize
in modo da utilizzareModifier.node
. (Iba6b7).
Versione 1.0.0-alpha16
24 gennaio 2024
androidx.wear.compose:compose-material3:1.0.0-alpha16
viene rilasciato. La versione 1.0.0-alpha16 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
CompactButton
, che possono utilizzare gli stessi colori riempiti, riempiti e con contorni del pulsante.(I05df0)
Modifiche alle API
- Abbiamo aggiunto
RadioButton
/SplitRadioButton
come contenitori per i controlli di selezione, ad esempio l'opzione Radiocomando. Questo differisce dalToggleButton
esistente perchéRadioButton
è selezionabile (e opera all'interno di un gruppo di selezione), mentreToggleButton
è attivabile (ed è indipendente). (I61275) - Stiamo rimuovendo
LocalContentAlpha
dalla raccolta Wear Material3 per coerenza con la raccolta Compose Material3. (I49a0a). - I componenti Materiale di Wear e materiali di usura che espongono un
MutableInteractionSource
nell'API sono stati aggiornati in modo da ora esporre unMutableInteractionSource
con valore nullo che, per impostazione predefinita, è null. Non ci sono modifiche semantiche qui: passare un valore null significa che non vuoi istruireMutableInteractionSource
, che verrà creato all'interno del componente, se necessario. La modifica 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 stai utilizzando ilMutableInteractionSource
passato a questi componenti, si consiglia di passare il valore null. Ti consigliamo inoltre di apportare modifiche simili ai tuoi componenti. (Ib90fc, b/298048146). - Aggiunge una nuova API Ripple nelle librerie
wear:compose-material
ewear:compose-material3
che sostituisce la versione deprecatarememberRipple
. Viene inoltre aggiunto un valoreCompositionLocal
temporaneo,LocalUseFallbackRippleImplementation
, per ripristinare i componenti Material in modo che utilizzino le APIrememberRipple/RippleTheme
deprecate. Verrà rimosso nella prossima release stabile ed è destinato a essere un ausilio temporaneo alla migrazione solo nei casi in cui fornisci unRippleTheme
personalizzato. Visita la pagina developer.android.com per avere informazioni sulla migrazione e ulteriori informazioni di base su questa modifica. (af92b21). - Abbiamo apportato piccoli miglioramenti all'API
HorizontalPageIndicator
e alla relativa documentazione. (I60efc). - Abbiamo aggiornato
ColorScheme
in modo che sia immutabile, rendendo meno efficienti gli aggiornamenti dei singoli colori e rendendo più efficiente l'uso dei colori più comune. Il ragionamento alla base di questa modifica è che la maggior parte delle app non prevede l'aggiornamento dei singoli colori come caso d'uso principale. Questo è ancora possibile, ma si ricomporrà più di prima, a sua volta diminuiremo in modo significativo la quantità di abbonamenti statali attraverso tutto il codice materiale e influirà sui costi di inizializzazione e runtime di casi d'uso più standard. (Ibc2d6). - Sono state aggiornate le API
ToggleButton
eSplitToggleButton
per consentire la personalizzazione dei colori disattivati. Inoltre, i token di Material Design ora vengono utilizzati 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
rendendoli di sola visualizzazione, rimuovendo la gestione dei clic. Questi componenti dovrebbero essere utilizzati in(Split)ToggleButton
, che gestisce il clic, quindi ora sono indicati più chiaramente come solo display (e non sono destinati all'uso autonomo su Wear). (I2322e).
Correzioni di bug
- Abbiamo aggiunto token per i valori di movimento di durate e interpolazioni in Wear Compose Material 3. (I437cd)
- Abbiamo corretto un bug in
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
eRadioButton
affinché gli annunci relativi all'accessibilità non vengano ripetuti (in precedenza, i ruoli semantici erano duplicati). (Ica281). - Abbiamo rimosso il livello materialcore per
CompactButton
per migliorare le prestazioni. (7902858)
Versione 1.0.0-alpha15
15 novembre 2023
androidx.wear.compose:compose-material3:1.0.0-alpha15
viene rilasciato. La versione 1.0.0-alpha15 contiene questi commit.
Modifiche alle API
- Abbiamo rinominato il livello di base
SwipeToDismissBox
inBasicSwipeToDismissBox
. In questo modo viene più chiara la distinzione tra il componente di livello Base e il livelloSwipeToDismissBox
di Material3. Quest'ultimo estrae i colori daMaterialTheme
da utilizzare nelle scrims e delega l'implementazione rimanente aBasicSwipeToDismissBox
. (Ibecfc)
Correzioni di bug
- Abbiamo rimosso lo strato material-core per il pulsante Material3 per migliorare le prestazioni. (I55555)
Versione 1.0.0-alpha14
18 ottobre 2023
androidx.wear.compose:compose-material3:1.0.0-alpha14
viene rilasciato. La versione 1.0.0-alpha14 contiene questi commit.
Modifiche alle API
- Abbiamo rimosso il parametro
indicatorStyle
dall'elementoHorizontalPageIndicator
di Material3, che seguirà la forma dello schermo del dispositivo (lineare o rotondo). (I83728) - Abbiamo separato i colori di
SplitToggleButton
da quelli diToggleButton
aggiungendo una nuova classeSplitToggleButtonColors
. (I78bee)
Versione 1.0.0-alpha13
4 ottobre 2023
androidx.wear.compose:compose-material3:1.0.0-alpha13
viene rilasciato. La versione 1.0.0-alpha13 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto un campo Sottotitoli facoltativo a
TitleCard
. (Ifc45a). - Abbiamo aggiunto token colore Material Design per
TextButton
. (I769dc)
Versione 1.0.0-alpha12
20 settembre 2023
androidx.wear.compose:compose-material3:1.0.0-alpha12
viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato
IconButton
per l'utilizzo dei token di Material Design. (I3f137) - Abbiamo aggiornato
IconToggleButton
per l'utilizzo dei token di Material Design. (I7d263). - Abbiamo reso pubblici i costruttori di
CheckboxColors
,RadioButtonColors
eSwitchColors
. (I82b73)
Versione 1.0.0-alpha11
6 settembre 2023
androidx.wear.compose:compose-material3:1.0.0-alpha11
viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.
Correzioni di bug
- Abbiamo aggiornato la tipografia delle schede Material3 a
TitleMedium
. (I597bd) - Abbiamo aggiornato la tipografia e l'allineamento per Material3
ListHeader
eListSubheader
. (Ib5ceb)
Versione 1.0.0-alpha10
23 agosto 2023
androidx.wear.compose:compose-material3:1.0.0-alpha10
viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
- Aggiungi
HorizontalPageIndicator
alla raccolta Wear Material3. (Ifee99)
Modifiche alle API
- Aggiorna il codice di Buttons per utilizzare i token di design Material3. (I92fe4).
- Dichiarazione delle API Stepper e Slider di Wear Material 3 come sperimentali poiché i dettagli dell'interfaccia utente sono ancora in fase di finalizzazione. (I84d54).
- Abbiamo rimosso le taglie
ExtraSmall
dai tondiTextButton
eTextToggleButton
, poiché questa taglia si applica solo alIconButton
. (Ibc7d5).
Correzioni di bug
- Abbiamo aggiornato le linee guida sulla tipografia di TextToggleButton per l'utilizzo di LabelLarge per LargeButtonSize (Ib10fa)
- Abbiamo aggiornato le linee guida sulla tipografia di TextButton per l'utilizzo di LabelLarge per LargeButtonSize (I8f3a7)
- Per l'accessibilità, abbiamo impostato il touch target minimo della scheda su 48 dp. (Ieb9b1).
- Aggiungi AppCard con demo immagine, rimozione di AppCard con demo in background (Id735f)
- È stato corretto un bug nei pulsanti rotondi per cui i modificatori non erano concatenati correttamente. (I5e162).
Versione 1.0.0-alpha09
9 agosto 2023
androidx.wear.compose:compose-material3:1.0.0-alpha09
viene rilasciato. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
ToggleButton
per material3 (I6bed6)
Modifiche alle API
- Abbiamo attivato l'annotazione
FloatRange
come vincoli API , che erano indicati in precedenza nei commenti. (Icb401) - Abbiamo aggiornato la tipografia di Wear Material3 in modo che rispetti 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à dei segni di spunta negli stati disattivati. (Ib25bf)
Versione 1.0.0-alpha08
26 luglio 2023
androidx.wear.compose:compose-material3:1.0.0-alpha08
viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto i seguenti controlli di selezione per Material3:
Switch
,Checkbox
,RadioButton
. (Ib918c) - Abbiamo aggiunto
IconToggleButton
eTextToggleButton
a Material3, un pulsante di attivazione/disattivazione circolare con un'unica fessura per l'icona e il testo rispettivamente. Per le diverse dimensioni diToggleButton
, 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 il nuovo FoundationSwipeToDismissBox
e fornisce i valori di colore predefiniti del relativo tema. (I275fb). - Abbiamo aggiunto Material3
InlineSlider
a Wear Compose. Consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene mostrato come una barra tra i valori minimo e massimo dell'intervallo, da cui gli utenti possono selezionare un singolo valore.InlineSlider
è ideale per regolare impostazioni come volume o luminosità. (I7085f)
Modifiche alle API
- Abbiamo aggiornato il tema Forme in Wear Material 3 in modo da utilizzare il tema
RoundedCornerShape
anziché Forma. (Idb133) - Abbiamo reso pubbliche le costanti di altezza per Button (Idbfde)
- File API aggiornati per annotare la soppressione della compatibilità (I8e87a, b/287516207)
- Abbiamo aggiornato
InlineSliderColors
in Wear Compose Material 3 per offrire un costruttore pubblico e proprietà pubbliche. (I6b632) - Abbiamo aggiornato tutte le classi di colore in Wear Compose Material 3 in modo da includere costruttori pubblici e proprietà pubbliche. (I17702)
- Abbiamo reso pubbliche le caselle orizzontali e verticali per il pulsante. (Ieeaf7).
Correzioni di bug
- Ora il pulsante regola l'altezza in base ai contenuti in crescita a causa dei caratteri di grandi dimensioni per l'accessibilità, quando richiesto (Iaf302)
- Abbiamo aggiornato una serie di demo dei pulsanti per risolvere i problemi di accessibilità. (I61ce9)
Stepper
eInlineSlider
ora supportano i clic ripetuti con pressione prolungata in modo da poter aumentare/diminuire rapidamente il valore diStepper
eInlineSlider
tenendo premuti i pulsanti + o - (I27359)
Versione 1.0.0-alpha07
21 giu 2023
androidx.wear.compose:compose-material3:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il componente
Stepper
alla nostra raccolta Material 3 di Compose per Wear OS. È simile alla precedente versione di Material, ma omette la semantica dell'intervallo per impostazione predefinita, in base al feedback degli sviluppatori. Forniamo inModifier.rangeSemantics
i casi in cui la semantica dell'intervallo è obbligatoria. (Ic39fd) - Abbiamo aggiunto
curvedText
alla nostra raccolta di Material 3 per Compose per Wear OS. (Ia8ae3).
Correzioni di bug
- Abbiamo aggiornato
wear.compose.foundation
in modo che sia una dipendenza API diwear.compose.material3
(I72004, b/285404743)
Versione 1.0.0-alpha06
7 giugno 2023
androidx.wear.compose:compose-material3:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Correzioni di bug
- Abbiamo aggiornato
TextButton
in modo che venga utilizzata la funzione di estensionetoDisabledColor
per correggere i valori alfa disattivati. (I814c8)
Versione 1.0.0-alpha05
24 maggio 2023
androidx.wear.compose:compose-material3:1.0.0-alpha05
viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
TextButton
a Material3, un pulsante circolare con un'unica fessura per il testo. Per le diverse dimensioni diTextButton
, ti consigliamo di utilizzareModifier.touchTargetAwareSize
eExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
eLargeButtonSizeIcon
forniti inTextButtonDefaults
. L'impostazione predefinitaTextButton
non ha bordo e uno sfondo trasparente per le azioni di enfasi ridotta. Per le azioni che richiedono un'enfasi elevata, usafilledTextButtonColors
; per un'enfasi media, con il contornoTextButton
, imposta il bordo suButtonDefaults.outlinedButtonBorder
; per un terreno di mezzo tra contorni e pieni, usafilledTonalTextButtonColors
. (I667e4). - Abbiamo aggiunto
Card
,OutlinedCard
,AppCard
eTitleCard
alla raccolta di Material3 di Wear Compose. È possibile vedere aAppCard
eTitleCard
anche l'aspetto delineato utilizzandoCardDefaults.outlinedCardColors
eCardDefaults.outlinedCardBorder
(I80e72)
Modifiche alle API
- Abbiamo spostato il parametro etichetta Pulsante alla fine per supportare la sintassi lambda finale e abbiamo rimosso il parametro del ruolo (poiché può essere sostituito utilizzando
Modifier.semantics
). I costruttoriButtonColors
ora sono pubblici. (Ie1b6d).
Versione 1.0.0-alpha04
10 maggio 2023
androidx.wear.compose:compose-material3:1.0.0-alpha04
viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
IconButton
a Material3, un pulsante circolare con un'unica fessura per l'icona/l'immagine. Esistono quattro varianti:IconButton
,FilledIconButton
,FilledTonalIconButton
eOutlinedIconButton
. Per le diverse dimensioni diIconButton
, ti consigliamo di utilizzareModifier.touchTargetAwareSize
eExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
eLargeButtonSizeIcon
forniti inIconButtonDefaults
. Forniamo inoltreIconButtonDefaults.iconSizeFor
per determinare le dimensioni consigliate delle icone per una determinata dimensione di pulsante. (I721d4).
Versione 1.0.0-alpha03
19 aprile 2023
androidx.wear.compose:compose-material3:1.0.0-alpha03
viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto il componente Pulsante Material 3. Questo è il nostro pulsante a forma di stadio. In precedenza si chiamava Chip nella libreria di Materiali di Wear Compose (è stato rinominato Pulsante per coerenza con la libreria di Compose Material 3). Il pulsante predefinito ha uno sfondo riempito e sono presenti variazioni per
FilledTonal
(sfondo disattivato), Contorno (trasparente con bordo sottile) e Secondario (sfondo trasparente e senza bordo, utilizzato per azioni supplementari con la minore evidenza). I pulsanti rotondi per icone e contenuti testuali semplici saranno introdotti in una versione futura.(Ia6942)
Versione 1.0.0-alpha02
5 aprile 2023
androidx.wear.compose:compose-material3:1.0.0-alpha02
viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto un valore
DefaultTextStyle
a Wear Compose Material 3 che, per impostazione predefinita, ha il valore "true" perPlatformTextStyle.includeFontPadding
(l'impostazione attuale). In questo modo, in futuro 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
androidx.wear.compose:compose-material3:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Material 3 è la prossima evoluzione di Material Design e include temi aggiornati e componenti rinnovati. Material 3 su Wear Compose è progettato per essere coeso con la libreria di Material 3 Compose su Android. Questa prima versione alpha contiene implementazioni iniziali e 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 future release di material3 amplieranno il set di widget per includere altri componenti familiari di Compose per Wear OS, come pulsanti, selettori e dispositivi di scorrimento.Le librerie di Materiale Wear e Materiale Wear 3 si escludono a vicenda e non devono essere combinate nella stessa app, principalmente perché fanno riferimento a temi diversi, il che causerebbe incongruenze impreviste.
Versione 1.4
Versione 1.4.0-beta03
12 giugno 2024
androidx.wear.compose:compose-*:1.4.0-beta03
viene rilasciato. La versione 1.4.0-beta03 contiene questi commit.
Correzioni di bug
- Abbiamo aggiornato
Modifier.rotaryScrollable
per sostituire l'uso di "focusable" con "focusTarget", in modo da migliorare il rendimento. (Id294b) - Abbiamo risolto un problema per cui
ProgressIndicator
ripeteva l'annuncio inTalkBack
. (I94563) - Abbiamo aggiornato i profili di riferimento della raccolta di Wear Compose. (I3cbc3).
Versione 1.4.0-beta02
29 maggio 2024
androidx.wear.compose:compose-*:1.4.0-beta02
viene rilasciato. La versione 1.4.0-beta02 contiene questi commit.
Correzioni di bug
- Abbiamo aumentato la larghezza del limite trasmessa agli screen reader passando dal testo curvo al fine di risolvere i problemi di troncamento (Id865f).
- Abbiamo limitato il limite del
HorizontalPageIndicator
che veniva passato agli screen reader, in quanto in precedenza l'indicatore occupava lo schermo intero (Id8d7a).
Versione 1.4.0-beta01
14 maggio 2024
androidx.wear.compose:compose-*:1.4.0-beta01
viene rilasciato. La versione 1.4.0-beta01 contiene questi commit.
La release 1.4-beta01 di Compose per Wear OS indica che questa release della libreria è completa e che l'API è bloccata (tranne dove è stata contrassegnata come sperimentale). Wear Compose 1.4 include le seguenti nuove funzionalità:
- Abbiamo aggiunto
Modifier.rotaryScrollable
, un nuovo modificatore che collega gli eventi rotatori ai contenitori scorrevoli, consentendo agli utenti di scorrere il dispositivo tramite una corona o una lunetta 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 agganciamento. Per garantire il comportamento di agganciamento, ti consigliamo di attivare l'agganciamento tramite il parametroflingBehavior
e lo scorrimento al tocco. SwipeDismissableNavHost
ora fornisce un'animazione delle voci per le transizioni in-app.- Quando viene visualizzata per la prima volta una schermata, ora viene mostrata per impostazione predefinita
PositionIndicator
. SelectableChip
eSplitSelectableChip
sono stati aggiunti come variante suToggleChip
. Da usare conRadioButton
per fornire una semantica selezionabile invece di una semantica attivabile per l'accessibilitàListHeader
ora supporta la regolazione dell'altezza quando i contenuti richiedono un'altezza aggiuntiva per adattarsi a caratteri di grandi dimensioni.
Correzioni di bug
- Abbiamo corretto un bug per cui i chip selezionabili hanno annunciato il doppio tocco per attivare/disattivare l'opzione quando sono già selezionati. (I7ed88)
Versione 1.4.0-alpha08
1° maggio 2024
androidx.wear.compose:compose-*:1.4.0-alpha08
viene rilasciato. La versione 1.4.0-alpha08 contiene questi commit.
Modifiche alle API
- Abbiamo apportato le seguenti modifiche alla nuova API rotativa:
Modifier.rotary
è stato rinominatoModifier.rotaryScrollable
; l'interfacciaRotaryBehavior
è stata rinominataRotaryScrollableBehavior
e la sua funzionehandleScrollEvent
è stata rinominataperformScroll
;RotaryScrollableAdapter
è stata rinominataRotaryScrollableLayoutInfoProvider
e abbiamo rimosso la proprietàscrollableState
. (I0c8a6) - Abbiamo apportato ulteriori modifiche all'API rotary:
RotaryScrollableLayoutInfoProvider
è stato rinominato inRotarySnapLayoutInfoProvider
(perché questo provider è necessario solo per il rotary con agganciamento); è stato 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 di
PositionIndicator
a 2 dp (era 5 dp), per correggere un bug a causa del quale laPositionIndicator
(barra di scorrimento) si sovrappone a contenuti scorrevoli. Tieni presente che questa modifica dovrebbe interrompere gli screenshot esistenti che includono ilPositionIndicator
a causa della modifica della spaziatura interna. (I57472) - Abbiamo migliorato la documentazione della nuova API rotativa descrivendo le differenze tra dispositivi rotativi a bassa risoluzione e ad alta risoluzione. (I63abe)
- Abbiamo risolto un'eccezione fuori intervallo in
SwipeDismissableNavHost
che potrebbe essere attivata quando i valori alfa interpolati erano inferiori a zero. (Ib75a1, b/335782510).
Versione 1.4.0-alpha07
17 aprile 2024
androidx.wear.compose:compose-*:1.4.0-alpha07
viene rilasciato. La versione 1.4.0-alpha07 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto
Modifier.rotary
, un nuovo modificatore che collega gli eventi rotatori ai contenitori scorrevoli, consentendo agli utenti di scorrere il dispositivo tramite una corona o una lunetta rotante sul proprio dispositivo Wear OS. Inoltre,ScalingLazyColumn
e il selettore ora supportano l'input rotatorio per impostazione predefinita, con nuovi sovraccarichi che includono il parametrorotaryBehavior
per specificare la configurazione dello scorrimento o dell'agganciamento. Se il parametrorotaryBehavior
è impostato su agganciamento, si consiglia di applicare l'agganciamento tramite il parametroflingBehavior
per lo scorrimento al tocco. (I2ef6f) - Le origini
NestedScroll
con trascinamento sono state sostituite daUserInput
eSideEffect
per includere la 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 i sovraccarichi aggiunti in precedenza diToggleChip/SplitToggleChip
con i parametriselectionControl
. (Ia0217) - Modificatore di visibilità di
IndeterminateStrokeWidth
aggiornato inProgressIndicatorDefaults
in pubblico. (I5b5a4).
Versione 1.4.0-alpha06
3 aprile 2024
androidx.wear.compose:compose-*:1.4.0-alpha06
viene rilasciato. La versione 1.4.0-alpha06 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto una bozza interna del supporto rotatorio, come parte del più ampio sforzo di migrazione del comportamento del Rotary ad AndroidX da parte dell'orologo. (I617d1)
- Abbiamo aggiunto una bozza interna del supporto della tecnologia aptica, nell'ambito del più ampio sforzo di migrazione del comportamento del Rotary ad AndroidX da parte dell'orologo. (I5568a)
Versione 1.4.0-alpha05
20 marzo 2024
androidx.wear.compose:compose-*:1.4.0-alpha05
viene rilasciato. La versione 1.4.0-alpha05 contiene questi commit.
Modifiche alle API
- Abbiamo reso pubbliche le proprietà
initialCenterItemIndex
einitialCenterItemScrollOffset
diScalingLazyListState
. (I0c616) - Abbiamo reso pubblico il
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
androidx.wear.compose:compose-*:1.4.0-alpha04
viene rilasciato. La versione 1.4.0-alpha04 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto un nuovo sovraccarico per
ToggleChip
eSplitToggleChip
che utilizza un parametroselectionControl
anziché il parametrotoggleControl
. Deve essere usato con il controlloRadioButton
per fornire una semantica selezionabile invece di 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
androidx.wear.compose:compose-*:1.4.0-alpha03
viene rilasciato. La versione 1.4.0-alpha03 contiene questi commit.
Modifiche alle API
- Il wrapper
Modifier.inspectable
è stato ritirato. Questa API creerà più invalidazioni del modificatore del necessario, quindi il suo utilizzo è ora sconsigliato. 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
androidx.wear.compose:compose-*:1.4.0-alpha02
viene rilasciato. La versione 1.4.0-alpha02 contiene questi commit.
Correzioni di bug
- Abbiamo corretto un bug nello scorrimento per scoprire che era possibile interagire con (e annullare) un'azione impegnata su un elemento iniziando a far scorrere un altro elemento.(Ide059)
- Abbiamo aggiornato
ListHeader
in modo da supportare la regolazione dell'altezza quando i contenuti richiedono un'altezza aggiuntiva per adattarsi a caratteri di grandi dimensioni. (I7290c, b/251166127)
Versione 1.4.0-alpha01
24 gennaio 2024
androidx.wear.compose:compose-*:1.4.0-alpha01
viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto l'animazione delle voci a
SwipeDismissableNavHost
per le transizioni in-app (cfeb79a). - Quando viene visualizzata per la prima volta una schermata, ora viene mostrata per impostazione predefinita
PositionIndicator
. Questa modifica è stata introdotta per garantire il rispetto delle norme sulla qualità di Wear. Purtroppo, significa che i test degli screenshot dovranno essere aggiornati sulle schermate che includonoPositionIndicator
, in quanto l'PositionIndicator
non veniva visualizzato in precedenza. (419cef7)
Modifiche alle API
- Abbiamo aggiunto una nuova API Ripple nelle librerie
wear:compose-material
ewear:compose-material3
che sostituisce la versione deprecatarememberRipple
. Viene inoltre aggiunto un valoreCompositionLocal
temporaneo,LocalUseFallbackRippleImplementation
, per ripristinare i componenti Material in modo che utilizzino le APIrememberRipple/RippleTheme
deprecate. Verrà rimosso nella prossima release stabile ed è destinato a essere un ausilio temporaneo alla migrazione solo nei casi in cui fornisci unRippleTheme
personalizzato. Visita la pagina developer.android.com per avere informazioni sulla migrazione e ulteriori informazioni di base su questa modifica. (af92b21). - Abbiamo aggiornato
ColorScheme
in modo che sia immutabile, rendendo meno efficienti gli aggiornamenti dei singoli colori e rendendo più efficiente l'uso dei colori più comune. Il ragionamento alla base di questa modifica è che la maggior parte delle app non prevede l'aggiornamento dei singoli colori come caso d'uso principale. Questo è ancora possibile, ma si ricomporrà più di prima, a sua volta diminuiremo in modo significativo la quantità di abbonamenti statali attraverso tutto il codice materiale e influenzerà i costi di inizializzazione e runtime di casi d'uso più standard. (f5c48b7) - Il materiale Wear e i componenti Wear material3 che mostrano un
MutableInteractionSource
nell'API sono stati aggiornati in modo da mostrare unMutableInteractionSource
con valore nullo per impostazione predefinita. Non ci sono modifiche semantiche qui: passare un valore null significa che non vuoi istruireMutableInteractionSource
, che verrà creato all'interno del componente, se necessario. La modifica 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 stai utilizzando ilMutableInteractionSource
passato a questi componenti, si consiglia di passare il valore null. Ti consigliamo inoltre di apportare modifiche simili ai tuoi componenti. (f8fa920) - Abbiamo aggiornato
rememberExpandableState
in modo da salvare lo stato espandibile. In questo modo, i dati verranno memorizzati quando si passa a un'altra schermata e ripristinati quando si torna alla schermata originale. (5c80095)
Correzioni di bug
- Abbiamo aggiornato l'impostazione
ReduceMotion
in modo che utilizzi un listener che preveda il ciclo di vita. (7c6b122) - Abbiamo aggiornato il listener di
TouchExplorationStateProvider
in modo che sia consapevole del ciclo di vita (be28b01) - Abbiamo rimosso il livello materialcore per
CompactButton
per migliorare le prestazioni (25db8e9) - Abbiamo migliorato
BasicSwipeToDismissBox
rispetto alle 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
affinché gli annunci relativi all'accessibilità non vengano ripetuti (in precedenza, i ruoli semantici erano duplicati) (d11eeb7)
Versione 1.3
Versione 1.3.1
3 aprile 2024
androidx.wear.compose:compose-*:1.3.1
viene rilasciato. La versione 1.3.1 contiene questi commit.
Correzioni di bug
- Abbiamo corretto un bug relativo allo scorrimento per scoprire che era possibile interagire con (e annullare) un'azione impegnata su un elemento facendo scorrere un altro elemento. (Ide059)
Versione 1.3.0
24 gennaio 2024
androidx.wear.compose:compose-*:1.3.0
viene rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- La funzione della classe
SwipeToDismissBoxState
, dell'enumerazioneSwipeToDismissValue
e dell'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 di progettazione. I flussi di lavoro di Material Design, come l'applicazione dei colori da un tema configurato, vengono gestiti separatamente. - I corsi
SwipeToRevealCard
eSwipeToRevealChip
ti consentono di implementarerecommended swipe-to-reveal guidance
. La classeSwipeToRevealSample
mostra come utilizzare questi componenti. La nostra release 1.3.0-alpha02 ha introdotto una modifica che causa un aumento dell'altezza degli oggetti
Chip
eToggleChip
per supportare meglio il ridimensionamento dei caratteri selezionati dall'utente. Di conseguenza, è possibile che si verifichino alcuni tagli. Per risolvere il problema, ora la formalarge
perMaterialTheme
utilizza un raggio d'angolo più grande (26 dp anziché 24 dp). Gli oggettiChip
eToggleChip
utilizzano questo nuovo raggio d'angolo per evitare di tagliare i contenuti sugli angoli di Chip eToggleChip
.- La maggior parte di
Chips
eToggleChips
non sono state modificate, data la loro altezza predefinita di 52 dp. Tuttavia, gli oggettiChip
eToggleChip
che contengono più righe di testo dell'etichetta primaria o secondaria, o per i quali l'altezza è stata sostituita, potrebbero causare l'interruzione dei test degli screenshot.
- La maggior parte di
Modifiche aggiuntive
Per un insieme più completo delle modifiche introdotte nella versione 1.3.0, consulta le note sulla versione beta01.
Consigli per l'implementazione
- Se la tua app consente agli utenti di spostarti tra i contenuti dello schermo, ad esempio in un'app basata su mappe, 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 cambio di posizione in un elenco a scorrimento, utilizza un oggetto
SnapSpec
. - Mentre attendi che un'app multimediale carichi i contenuti per la riproduzione, mostra un componibile vuoto
Placeholder
. - Per creare una raccolta di articoli espandibili on demand, valuta la possibilità di utilizzare il corso sperimentale
ExpandableStateMapping
.
Versione 1.3.0-rc01
10 gennaio 2024
androidx.wear.compose:compose-*:1.3.0-rc01
viene rilasciato. La versione 1.3.0-rc01 contiene questi commit.
Correzioni di bug
-
Abbiamo aggiornato la forma grande
MaterialTheme
in modo da utilizzare un raggio d'angolo arrotondato di 26 dp, che ora verrà utilizzato 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. In caso contrario, la forma attuale dello stadio accorcia alcuni contenuti testuali.Questa modifica potrebbe causare interruzioni nei test degli screenshot. (I2e6ae).
Versione 1.3.0-beta02
13 dicembre 2023
androidx.wear.compose:compose-*:1.3.0-beta02
viene rilasciato. La versione 1.3.0-beta02 contiene questi commit.
Correzioni di bug
- Abbiamo ripristinato il movimento di scorrimento previsto in
BasicSwipeToDismissBox
. Questo aspetto era stato modificato in una release precedente, in modo che la parte della slide della transizione si verificasse mentre il dito toccava lo schermo. (Id8e76)
Versione 1.3.0-beta01
15 novembre 2023
androidx.wear.compose:compose-*:1.3.0-beta01
viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.
La release 1.3-beta01 di Compose per Wear OS indica che questa release della libreria è completa e che l'API è bloccata (tranne dove è stata contrassegnata come sperimentale). Wear Compose 1.3 include le seguenti nuove funzionalità:
- È stata eseguita la migrazione di
SwipeToDismissBoxState
,SwipeToDismissValue
eModifier.edgeSwipeToDismiss
daandroidx.wear.compose.material
aandroidx.wear.compose.foundation
, insieme all'implementazione sottostante con scorrimento per ignorare inBasicSwipeToDismissBox
. In questo modo la gestione dei gesti per scorrere per ignorare può essere utilizzata indipendentemente da Material Design, ad esempio daSwipeDismissableNavHost
inandroidx.wear.compose.navigation
. Si consiglia comunque di utilizzare l'elementoSwipeToDismissBox
diandroidx.wear.compose.material
con Material Design, perché estrae i colori daMaterialTheme
e poi delega l'implementazione rimanente aBasicSwipeToDismissBox
. SwipeDismissableNavHost
ora supporta un nuovo parametrouserSwipeEnabled
che consente di disattivare la gestione dello scorrimento per le schermate in cui non è richiesta.BasicSwipeToDismissBox
ha migliorato la gestione della messa a fuoco utilizzandoHierarchicalFocusCoordinator
.SwipeToReveal
ha nuovi componenti componibiliSwipeToRevealCard
eSwipeToRevealChip
in Material che seguono le linee guida UX consigliate perCard
eChip
. Consente inoltre di annullare il supporto per l'azione secondaria.DefaultTextStyle
ora disattiva la spaziatura interna dei caratteri per garantire la coerenza su tutta la piattaforma Android.Chip
eToggleChip
ora regolano la propria altezza per adattarsi ai contenuti che sono cresciuti a causa dell'accessibilità dei caratteri di grandi dimensioniPositionIndicator
ora dispone di specifiche personalizzate per le animazioni con dissolvenza in entrata, dissolvenza in uscita e cambio di posizione. Per motivi legati alle prestazioni, è consigliabile che la dissolvenza in entrata e la modifica di posizione siano disattivate quando si utilizzano elenchi scorrevoli.ExpandableStateMapping
offre 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 movimento ora viene applicata all'effetto scintillante e al movimento a comparsa suPlaceholder
.
Problemi noti
PositionIndicator
non viene mostrato inizialmente alla prima visualizzazione di una schermata. Intendiamo apportare una modifica a una versione alpha iniziale della versione 1.4, in modo che venga mostrata inizialmente, ma senza animazioni.
Modifiche alle API
- Abbiamo rinominato il livello di base
SwipeToDismissBox
inBasicSwipeToDismissBox
. In questo modo viene più chiara la distinzione tra il componente di livello di base e il livello materialeSwipeToDismissBox
. Quest'ultimo estrae i colori daMaterialTheme
da utilizzare nelle scrims e delega l'implementazione rimanente aBasicSwipeToDismissBox
. (Ibecfc) - Abbiamo contrassegnato come sperimentale
rememberExpandableStateMapping
e migliorato il rendimento diexpandableItem
. (I5f6bc). - Abbiamo sostituito la classe
SwipeToRevealAction
nelle API Card and Chip MaterialSwipeToReveal
con un'API basata su slot che utilizza i componibiliSwipeToRevealPrimaryAction
,SwipeToRevealSecondaryAction
eSwipeToRevealUndoAction
. Consulta il codice campione per esempi su come utilizzare la nuova API. (Ia8943) - Abbiamo sostituito i
PositionIndicator
flag dell'animazione con i parametriAnimationSpec
. Le singole animazioni possono essere disattivate passandosnap
comeAnimationSpec
. (I6c523)
Correzioni di bug
- Abbiamo corretto un bug attivato dalla presenza di testo curvo limitato quando le dimensioni sono limitate (I50efe)
- Abbiamo risolto un potenziale arresto anomalo NaN correlato a
curvedComposable
(I970eb) - Abbiamo ripristinato la rimozione dell'animazione di evidenziazione del cambio di posizione su
PositionIndicator
. (Ieb424). - Abbiamo rimosso lo strato materiale-anima del chip per il materiale per migliorarne le prestazioni. (If2dcb)
Versione 1.3.0-alpha08
18 ottobre 2023
androidx.wear.compose:compose-*:1.3.0-alpha08
viene rilasciato. La versione 1.3.0-alpha08 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto singoli flag ai sovraccarichi di
PositionIndicator
per controllare diverse animazioni:showFadeInAnimation
,showFadeOutAnimation
eshowPositionAnimation
. L'API precedente è stata ritirata e inoltra le chiamate a quella nuova. Per motivi legati alle prestazioni e per la coerenza dell'esperienza utente, quandoPositionIndicator
viene utilizzato con un elenco scorrevole, consigliamo di disattivare i flagshowFadeInAnimation
eshowPositionAnimation
. SePositionIndicator
viene utilizzato come indicatore autonomo, ad esempio per la variazione del volume, ti consigliamo di attivare tutte e tre le animazioni. (I44294) - Abbiamo ritirato i contenuti
SwipeToDismissBoxState
,SwipeToDismissValue
eedgeSwipeToDismiss
in seguito alla migrazione della funzionalità di scorrimento per ignorare l'annuncio awear.compose.foundation
. Sostituisci con gli equivalentiwear.compose.foundation
. (Iee8c9).
Correzioni di bug
- Abbiamo aggiornato i profili di riferimento per le librerie di base, di materiali e di navigazione di Wear Compose. (Idb060)
- Abbiamo ripristinato una modifica del comportamento di
PositionIndicator
introdotta in un CL precedente, in modo che l'elementoPositionIndicator
fosse animato all'inizio della visualizzazione di una schermata. Intendiamo apportare una modifica simile in una versione alpha iniziale della versione 1.4, in modo chePositionIndicator
venga visualizzato inizialmente, ma senza animazioni. (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 modo che si basi su
State<Boolean>
anziché sullo stato derivato. (Ieec4d). - Abbiamo impostato dei rettangoli
systemGestureExclusion
per Android 13 e versioni successive. (Ib1f4b).
Versione 1.3.0-alpha07
4 ottobre 2023
androidx.wear.compose:compose-*:1.3.0-alpha07
viene rilasciato. La versione 1.3.0-alpha07 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto singoli flag a
PositionIndicator
per controllare diverse animazioni:showFadeInAnimation
,showFadeOutAnimation
eshowPositionAnimation
. L'API precedente è stata ritirata e inoltra le chiamate a quella nuova. Per motivi legati alle prestazioni e per la coerenza dell'esperienza utente, quandoPositionIndicator
viene utilizzato con un elenco scorrevole, consigliamo di disattivare i flagshowFadeInAnimation
eshowPositionAnimation
. SePositionIndicator
viene utilizzato come indicatore autonomo, ad esempio per la variazione del volume, ti consigliamo di attivare tutte e tre le animazioni. (Ia2d63).
Correzioni di bug
- Abbiamo migliorato lo scorrimento per mostrare il movimento aggiungendo un'animazione di dissolvenza al testo dell'azione principale e dissolvendo l'azione secondaria/modificando la scala dell'icona con l'espansione a scorrimento completo. (Ib7223)
- Ti consigliamo di rendere le azioni di Scorrimento per scoprire accessibili e abbiamo aggiunto azioni di accessibilità personalizzate ai nostri esempi di Scorrimento per scoprire. (I42224)
- Abbiamo migliorato le prestazioni di
SwipeToDismissBox
, incluso il refactoring per garantire che la logica iniziale non attivi una ricomposizione.SwipeToDismissBox
è ora disegnato a schermo intero. (Ie0aa2) - Abbiamo corretto un bug quando
PositionIndicator
spariva erroneamente. (I2091a). - È stato migliorato il rendimento di
PositionIndicator
ottimizzando le ricomposizioni. I nuovi flag per controllare le animazioni (fadeIn
,fadeOut
epositionChange
) sono stati aggiunti successivamente (vedi Modifiche API) (Ifac7d) - Abbiamo aggiunto test Microbenchmark per
PositionIndicator
(Idf875)
Versione 1.3.0-alpha06
20 settembre 2023
androidx.wear.compose:compose-*:1.3.0-alpha06
viene rilasciato. La versione 1.3.0-alpha06 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto il supporto per
Modifier.edgeSwipeToDismiss
conSwipeToReveal
. (I95774, b/293444286) - Abbiamo aggiunto dei campioni per il materiale
SwipeToRevealChip
eSwipeToRevealCard
. (Ieb974) - Abbiamo aggiornato i profili di riferimento per le librerie Wear Compose Foundation e Material. (I1dd1f).
Versione 1.3.0-alpha05
6 settembre 2023
androidx.wear.compose:compose-*:1.3.0-alpha05
viene rilasciato. La versione 1.3.0-alpha05 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto una funzionalità di gestione della funzionalità Scorri per scoprire, in modo da poter scorrere un solo elemento alla volta. (I3cd7a)
- È stata migliorata la documentazione di
ScalingLazyColumnDefaults
per rispecchiare meglio il suo comportamento effettivo. (I886d3)
Versione 1.3.0-alpha04
23 agosto 2023
androidx.wear.compose:compose-*:1.3.0-alpha04
viene rilasciato. La versione 1.3.0-alpha04 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto dell'annullamento per l'azione secondaria di
SwipeToReveal
. (I7a22d).
Modifiche alle API
- Aggiungi
HorizontalPageIndicator
alla raccolta Wear Material3. (Ifee99) - Sono stati aggiornati gli strumenti di anteprima di Wear Compose per utilizzare la raccolta
androidx.wear.tooling.preview
. (Ib036e).
Correzioni di bug
- È stato corretto un bug nei pulsanti rotondi per cui i modificatori non erano concatenati correttamente. (I5e162).
Versione 1.3.0-alpha03
9 agosto 2023
androidx.wear.compose:compose-*:1.3.0-alpha03
viene rilasciato. La versione 1.3.0-alpha03 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto due nuovi componenti componibili in Material per implementare
SwipeToReveal
con Cards and chip. Questi componenti componibili seguono le linee guida sull'UX consigliate per il componente e semplificano l'implementazione diSwipeToReveal
con i componenti esistenti in materiale Wear. (I7ec65) - Abbiamo attivato le annotazioni
FloatRange
come vincoli dell'API, che in precedenza erano indicati nei commenti. (Icb401)
Correzioni di bug
- Abbiamo spostato la logica di scorrimento iniziale di
ScalingLazyColumn
all'interno dionGloballyPositioned()
. (Ic90f1) - Ora stiamo utilizzando
drawWithCache
inPositionIndicator
,ProgressIndicator
eSelectionControls
per ottimizzare le allocazioni dei tratti. (I5f225, b/288234617). - Abbiamo corretto la visibilità dei segni di spunta negli stati disattivati. (Ib25bf)
- Abbiamo aggiornato
Placeholder
per consentire la reimpostazione in modo da mostrare il segnaposto se i contenuti non sono più in stato Pronto. (Ibd820) - Abbiamo apportato alcune correzioni ai test instabili di
Placeholder
(Idb560)
Versione 1.3.0-alpha02
26 luglio 2023
androidx.wear.compose:compose-*:1.3.0-alpha02
viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche alle API
- Abbiamo fornito
ExpandableStateMapping
, un nuovo modo per generareExpandableStates
, per i casi in cui devono essere creati on demand, non necessariamente entro 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 la soppressione 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 utilizzare il nuovo
SwipeToDismissBox
di Wear Compose Foundation. (I4ff8e).
Correzioni di bug
- Abbiamo corretto un bug dell'ordine Z per cui
expandedItem
non mostrava i contenuti corretti dopo aver fatto clic sul comportamento di un pulsante quando era presente un pulsante. (I1899d, b/289991514) - Migliora la gestione della messa a fuoco di
SwipeToDismissBox
(e quindi diSwipeDismissableNavHost
) utilizzandoHierarchicalFocusCoordinator
(I45362, b/277852486) - Abbiamo corretto la gestione dei gesti in
SwipeableV2
. (I89737) - Abbiamo finalizzato i profili di riferimento per la versione 1.2. (Id5740)
- In seguito alla migrazione di
SwipeToDismissBox
a Foundation, l'implementazione di MaterialSwipeToDismissBox
viene ora inoltrata a Foundation e fornisce i valori colore predefiniti del relativo tema.(If8451) - Abbiamo aggiunto la semantica dell'intestazione a
ListHeader
. (Ic5420) - Ora
Chip
eToggleChip
regoleranno la propria altezza per adattarsi ai contenuti che sono cresciuti a causa dei caratteri di grandi dimensioni per l'accessibilità, quando necessario. (Iaf302). - È stato corretto un bug nel ruolo semantico dell'area toccabile di
SplitToggleChip
per l'accessibilità. (Ieed3a). - L'impostazione Diminuisci movimento ora disattiva l'effetto scintillante e a comparsa dai segnaposto. (I91046)
Stepper
eInlineSlider
ora supportano i clic ripetuti con pressione prolungata in modo da poter aumentare/diminuire rapidamente il valore diStepper
eInlineSlider
tenendo premuti i pulsanti + o -. (I27359)
Versione 1.3.0-alpha01
21 giu 2023
androidx.wear.compose:compose-*:1.3.0-alpha01
viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Correzioni di bug
- Come annunciato nei
1.2.0-alpha07
e nelle1.2.0-alpha10
, stiamo modificando leDefaultTextStyle
per disattivare la spaziatura interna dei caratteri in modo che sia coerente su tutta la piattaforma Android. Questo risolve alcuni casi di ritagli di testo con caratteri di grandi dimensioni e può incidere anche sui layout dello schermo, pertanto è necessario aggiornare i test degli screenshot. Ad esempio, vediamo dei tagli di testo qui (Ic6a86).
- Non è più presente quando la spaziatura interna dei caratteri è disattivata:
- Abbiamo aggiornato
wear.compose.foundation
in modo che sia una dipendenza API diwear.compose.material
(I72004, b/285404743) - Abbiamo corretto un bug in
SwipeToDismissBox
. I tasti dello sfondo e dei contenuti vengono ora passati al blocco "Ricorda", 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 12 o 24 ore. (If4a3d) - Abbiamo corretto un'incoerenza in
SwipeToDismissBox
parametri predefiniticontentScrimColor
. (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 se visualizzati con caratteri di grandi dimensioni, quindi aggiorneremo Chip in una versione alpha 1.3 iniziale in modo da apportare regolazioni dell'altezza in questi casi.
Versione 1.2
Versione 1.2.1
18 ottobre 2023
androidx.wear.compose:compose-*:1.2.1
viene rilasciato. La versione 1.2.1 contiene questi commit.
Correzioni di bug
- È stato corretto un bug quando
PositionIndicator
scompariva erroneamente. (7a167f)
Versione 1.2.0
9 agosto 2023
androidx.wear.compose:compose-*:1.2.0
viene rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- Release stabile di Compose per Wear OS 1.2.0 (scopri di più)
- Per un elenco delle modifiche principali in Wear Compose 1.2, consulta le note di rilascio relative a (Compose per Wear OS 1.2 Beta01)
Versione 1.2.0-rc01
26 luglio 2023
androidx.wear.compose:compose-*:1.2.0-rc01
viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Abbiamo finalizzato i profili di riferimento per la nostra release 1.2 (Id5740)
Versione 1.2.0-beta02
7 giugno 2023
androidx.wear.compose:compose-*:1.2.0-beta02
viene rilasciato. La versione 1.2.0-beta02 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto la nuova variabile sperimentale
LocalReduceMotion
CompositionLocal
che disattiva la scalabilità e la dissolvenza suScalingLazyColumn
. (I58024)
Correzioni di bug
- Abbiamo aggiornato i profili di riferimento per le librerie di base e materiali di Wear Compose(I4725d)
- Abbiamo corretto un'incoerenza nei valori predefiniti per
SwipeToDismissBox
parametricontentScrimColor
(I2d70f) - Abbiamo corretto il valore predefinito di
DefaultTextStyle
utilizzato per l'impostazioneIncludeFontPadding
(I737ed)
Versione 1.2.0-beta01
24 maggio 2023
androidx.wear.compose:compose-*:1.2.0-beta01
viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.
Cosa c'è in Compose per Wear OS 1.2
La release 1.2-beta01 di Compose per Wear OS indica che questa release della libreria è completa e che l'API è bloccata (tranne dove è stata contrassegnata come sperimentale). Wear Compose 1.2 include le seguenti nuove funzionalità:
expandableItem
eexpandableItems
sono due nuovi componentiFoundation
che supportano l'espansione degli elementi all'interno di un elementoScalingLazyColumn
. UtilizzaexpandableItem
per un singolo elemento espandibile, ad esempio "Testo" in cui il numero di righe. UtilizzaexpandableItems
per un gruppo di elementi espandibili eexpandableButton
per semplificare la creazione di un pulsante che si comprime dopo l'espansione dei contenuti.HierarchicalFocusCoordinator
: questo componibile sperimentale consente di contrassegnare i sottoalberi della composizione come messa a fuoco attivata o disattivata.Picker
: l'API ora includeuserScrollEnabled
per controllare se il selettore è attivo per lo scorrimento dell'utente.PickerGroup
: un nuovo componibile per la gestione contemporanea di più selettori. Gestisce lo stato attivo tra i selettori utilizzando l'APIHierarchicalFocusCoordinator
e consente la centratura automatica degli elementi dei selettori.Placeholder
- abbiamo aggiornato le animazioni con bagliore e "a comparsa". L'effetto di cancellazione dei contenuti viene ora applicato immediatamente quando i contenuti sono pronti.ScalingLazyColumn
- abbiamo eseguito la migrazione diScalingLazyColumn
e dei corsi associati daandroidx.wear.compose.material.ScalingLazyColumn
aandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
. Esegui l'aggiornamento per utilizzare la versioneFoundation.Lazy
.SwipeToReveal
- Abbiamo aggiunto il supporto sperimentale dello scorrimento per scoprire come mezzo per accedere alle azioni secondarie, integrando il pattern esistente di "pressione prolungata".Stepper
: ora è presente un sovraccarico con un parametroenableRangeSemantics
aggiuntivo per facilitare la disattivazione della semantica dell'intervallo predefinito.Previews
- abbiamo aggiunto le seguenti annotazioni personalizzate per l'anteprima dei componibili sugli schermi Wear:WearPreviewSmallRound
visualizza l'anteprima del componibile su un dispositivo rotondo di piccole dimensioni;WearPreviewLargeRound
visualizza l'anteprima del componibile su un dispositivo rotondo di grandi dimensioni;WearPreviewSquare
visualizza l'anteprima del componibile su un dispositivo quadrato. Inoltre, la seguente annotazione e le annotazioni in anteprima multipla:WearPreviewFontScales
visualizza l'anteprima dei componibili su un dispositivo Wear con caratteri di varie dimensioni, mentreWearPreviewDevices
visualizza l'anteprima dei componibili su diversi dispositivi Wear.- Abbiamo aggiunto un elemento
DefaultTextStyle
a Wear Compose che, per impostazione predefinita, ha impostato il valore true per la proprietàPlatformTextStyle.includeFontPadding
(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 precedente della versione 1.3 alpha. Per ulteriori informazioni, vedi 1.2.0-alpha10.
Nuove funzionalità
- Abbiamo aggiunto il supporto sperimentale della disattivazione del ridimensionamento e della dissolvenza delle animazioni quando l'impostazione reduce_motion è attivata. (I58024)
Correzioni di bug
- Documentazione migliorata per
angularWidthDp
inCurvedSize.kt
(Iab75c) SwipeDismissableNavHost
ora registra un avviso con le potenziali cause di un backstack vuoto. Questo avviene per evitare arresti anomali imprevisti causati daIllegalArgumentException
, che è stato generato quando l'stack di backup era vuoto. (I04a81, b/277700155).
Versione 1.2.0-alpha10
10 maggio 2023
androidx.wear.compose:compose-*:1.2.0-alpha10
viene rilasciato. La versione 1.2.0-alpha10 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto dello scorrimento per scoprire, come mezzo per accedere alle azioni secondarie. Questo schema integra il modello di "pressione prolungata", ovvero il modo in cui un utente potrebbe rivelare azioni secondarie (diverse). (I60862)
Modifiche alle API
- Abbiamo aggiunto
RevealScope
agli elementi componibili di azioni inSwipeToReveal
, per dare accesso all'offset in cui vengono rivelate le azioni aggiuntive. (I3fd56)
Correzioni di bug
- Risolto il problema per cui
ScalingLazyColumn
rimane bloccato sull'API Wear 33 dopo lo scorrimento (Ic4599) - Abbiamo apportato alcuni miglioramenti delle prestazioni a
PositionIndicator
per la riduzione del jank. (I35e92). - Abbiamo corretto un bug in Chip e
CompactChip
in cui il ruolo semantico non veniva più impostato suRole.Button
. (I93f91, b/277326264).
Problemi noti
Abbiamo identificato un bug in Android Studio che causa errori nell'anteprima del rendering quando l'utente è annotato con @WearPreviewDevices e @WearPreviewFontScales. A breve verrà rilasciata una correzione. Tieni presente che le altre annotazioni di anteprima di Wear funzionano come previsto in Android Studio Giraffe 2022.3.1 e versioni successive.
Nella versione 1.2.0-alpha07 abbiamo aggiunto predefinitoTextStyle a Wear Compose, mantenendo il valore esistente PlatformTextStyle.includeFontPadding su true. Per lo sfondo, consulta la sezione Correggere la spaziatura interna dei caratteri in Compose. Cambieremo defaultTextStyle per disattivare la spaziatura interna dei caratteri in una versione alpha iniziale 1.3, in modo da garantire la coerenza su tutta la piattaforma Android. Questo risolve alcuni casi di ritagli di testo con caratteri di grandi dimensioni e può anche incidere sui layout dello schermo, per cui è necessario aggiornare i test degli screenshot. Ad esempio, con caratteri di grandi dimensioni vediamo il testo tagliato qui:
- Non è più presente quando la spaziatura interna dei caratteri è disattivata:
La nuova impostazione può essere adottata ora sostituendo la tipografia nel tema; vedi il codice di esempio.
Versione 1.2.0-alpha09
19 aprile 2023
androidx.wear.compose:compose-*:1.2.0-alpha09
viene rilasciato. 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 del selettore temporale(Id0eb7)
Versione 1.2.0-alpha08
5 aprile 2023
androidx.wear.compose:compose-*:1.2.0-alpha08
viene rilasciato. La versione 1.2.0-alpha08 contiene questi commit.
Modifiche alle API
- Abbiamo rinominato
ExpandableItemsState
inExpandableState
. (If85ea) - Abbiamo aggiunto
expandableButton
per semplificare la creazione di un pulsante che si comprime quando il contenuto viene espanso e anche aggiornato gli esempi di annunci espandibili. (Iae309)
Correzioni di bug
- Campioni espandibili migliorati per mostrare più possibilità. Animazione modificata di
expandableItem
per mantenere i contenuti centrati nell'animazione. (I2f637). - È stato aggiornato
ToggleControls
per evitare ricomposizioni aggiuntive quando si animano manualmente i colori utilizzando lo stato. (I5d319)
Versione 1.2.0-alpha07
22 marzo 2023
androidx.wear.compose:compose-*:1.2.0-alpha07
viene rilasciato. La versione 1.2.0-alpha07 contiene questi commit.
Modifiche alle API
- Abbiamo spostato i componenti dell'elemento espandibile (aggiunti nella versione 1.2.0-alpha06) dal materiale alla base, dato che non avevano riferimenti significativi a
MaterialTheme
. (Ib0525)
Correzioni di bug
- Abbiamo corretto un arresto anomalo che si è verificato in una schermata che utilizza
PickerGroup
, assicurandoti chePickerGroup
gestisca correttamente lo stato attivo quando non è impostato alcun selettore. È stato inoltre aggiunto il supporto dello scorrimento RSB nelle demo del selettore. (If8c19) - Abbiamo migliorato le transizioni delle finestre di dialogo: la transizione all'introduzione è ora più fluida in base a quella finale. (Ib5af9).
- Abbiamo aggiunto un elemento
DefaultTextStyle
a Wear Compose che, per impostazione predefinita, ha impostato il valore true per la proprietàPlatformTextStyle.includeFontPadding
(questa è l'impostazione attuale). In questo modo, in futuro potremo sincronizzare la disattivazione della spaziatura interna dei caratteri per impostazione predefinita con le librerie di Compose. Per informazioni sullo sfondo, vedi (Correggere la spaziatura interna dei caratteri in Compose). (I2aee8). - È stata ripristinata una dipendenza per l'anteprima di
UpsideDownCake
tramite la composizione dell'attività, che bloccava la pubblicazione delle app sul Google Play Store. (I6443d)
Versione 1.2.0-alpha06
8 marzo 2023
androidx.wear.compose:compose-*:1.2.0-alpha06
viene rilasciato. La versione 1.2.0-alpha06 contiene questi commit.
Modifiche alle API
- Aggiungi il componente
CurvedBox
, che posiziona i componenti uno sopra l'altro nel mondo curvo. (I29200) - Aggiunti elementi espandibili: due nuovi componenti per supportare un gruppo di elementi espandibili in un elemento
ScalingLazyColumn
o un elemento singolo espandibile, ad esempio un testo in cui si espande il numero di righe. (I95dd5). - Abbiamo aggiunto le seguenti annotazioni personalizzate per l'anteprima dei componibili sugli schermi 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, la seguente annotazione e le annotazioni in anteprima multipla:WearPreviewFontScales
visualizza l'anteprima dei componibili su un dispositivo Wear con caratteri di varie dimensioni, mentreWearPreviewDevices
visualizza l'anteprima dei componibili su diversi dispositivi Wear. Per utilizzare queste anteprime, devi utilizzare la versione più recente di Android Studio (Giraffe Canary 6) o versioni successive. Tieni presente che, se queste annotazioni non sono adatte al tuo scopo, l'anteprima può comunque essere utilizzata e supporta ulteriori personalizzazioni tramite parametri. (I397ff) - Abbiamo contrassegnato
HierarchicalFocusCoordinator
come sperimentale anche se è considerato un candidato per il trasferimento nelle librerie di composizione principali, data la sua ampia applicabilità. (I3a768)
Correzioni di bug
- È stato corretto un bug in
HierarchicalFocusCoordinator
: quando la funzione lambda passata per il parametrofocusEnabled
viene modificata, ora utilizziamo correttamente il nuovo parametro. (Icb353) - Abbiamo aggiornato il colore predefinito dei contenuti disattivato impostandolo su Sfondo quando vengono utilizzati colori primari come sfondo in
Button
,CompactButton
,Chip
,CompactChip
eToggleButton
. Ciò migliora il contrasto per l'accessibilità. (I527cc)
Versione 1.2.0-alpha05
22 febbraio 2023
androidx.wear.compose:compose-*:1.2.0-alpha05
viene rilasciato. La versione 1.2.0-alpha05 contiene questi commit.
Modifiche alle API
- È stata aggiornata l'API
PickerGroup
per consentire la propagazione dei vincoli minimi nel componibile facoltativamente. Se impostato su true, i vincoli minimi trasferiti dall'elemento componibile principale saranno consentiti nell'elementoPickerGroup
. Se viene impostato su false,PickerGroup
reimposterà i vincoli minimi. (I3e046). - Abbiamo aggiunto
animateScrollToOption
all'API Picker per supportare l'animazione programmatica a un'opzione del selettore specifica (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
androidx.wear.compose:compose-*:1.2.0-alpha04
viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.
Nuove funzionalità
PickerGroup
per gestire più selettori 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 cambiare l'impostazione dello stato attivo tra i diversi selettori, gestendo al contempo gli eventi del gruppo. In modalità TalkBack,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 ulteriore parametro
enableRangeSemantics
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 della pulizia dei file Kdocs Stepper e dei test di
StepperTest
. (Ic118e) - Dipendenza
androidx.navigation
aggiornata alla versione 2.5.3 (If58ed)
Versione 1.2.0-alpha03
25 gennaio 2023
androidx.wear.compose:compose-*:1.2.0-alpha03
viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.
Modifiche 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 più da vicino a quella dicompose.foundation.lazy.LazyColumn
ed è più naturale in quanto non è un componente Material come "guida". Il cambiamento è in corso in preparazione a una nuova libreria Material3, a cui lavoreremo in parallelo con la libreria Material esistente. (I060e7)
Le seguenti modifiche fanno parte della migrazione di ScalingLazyColumn
da Material a Foundation.Lazy
:
- Le API
PositionIndicator
che hanno come target il materialeScalingLazyColumn
sono state ritirate. Esegui l'aggiornamento aFoundation.Lazy ScalingLazyColumn
. Inoltre, il campoanchorType
è stato aggiunto aScalingLazyListLayoutInfo
. (I29d95). - L'app
ScalingLazyColumn
è stata contrassegnata come deprecata nel pacchetto Materiali di Wear Compose (I16d34) - Abbiamo aggiornato il modificatore
ScrollAway
in modo che utilizziScalingLazyListState
da Wear ComposeFoundation.Lazy
e ritirato il sovraccarico che ha richiestoScalingLazyListState
al materiale di Wear Compose. (Ifc42c). - Abbiamo aggiornato le API di dialogo in modo da utilizzare
ScalingLazyListState
daFoundation.Lazy
e ritirato i sovraccarichi che utilizzavano MaterialScalingLazyListState
(Ic8960) - Abbiamo aggiornato le API Picker in modo da utilizzare
ScalingParams
daFoundation.Lazy
e ritirato i sovraccarichi che utilizzavano MaterialScalingParams
. (Idc3d8)
Correzioni di bug
- Abbiamo corretto un bug che causava ricomposizioni non necessarie in
ScalingLazyListState.centerItemIndex
assicurandoci che invii gli aggiornamenti solo quando il valore cambia effettivamente (Ia9f38) - Abbiamo migliorato il rendimento di
SwipeToDismissBox
(I3933b) - Aggiunti test di benchmark per
ScalingLazyColumn
in Wear Compose Foundation (Ie00f9) - Abbiamo aggiornato alcuni metodi interni dei corsi
ScalingLazyColumn
in Material in modo da utilizzare i loro equivalenti diFoundation.Lazy
(I38aab) - Abbiamo risolto alcuni problemi nei test del selettore e abbiamo aggiunto altri test per controllare lo scorrimento con offset (I6ac34)
- Abbiamo eseguito la migrazione delle demo di integrazione di
ScalingLazyColumn
in modo che dipendono daFoundation.Lazy
anziché dal materialeScalingLazyColumn
(Ic6caa) - Abbiamo aggiunto parametri
fromDate/toDate
facoltativi alla nostra demoDatePicker
(I961cd)
Versione 1.2.0-alpha02
11 gennaio 2023
androidx.wear.compose:compose-*:1.2.0-alpha02
viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
Modifiche alle API
- Ora i test dell'interfaccia utente di Android Compose eseguiranno i passaggi per il layout di ogni frame durante l'esecuzione di frame per diventare inattivi (ad es. tramite
waitForIdle
). Ciò potrebbe influire sui test che eseguono l'affermazione sui singoli frame delle animazioni del layout. (I8ea08, b/222093277). - Il parametro
minLines
viene aggiunto a Testo di Wear per garantire un comportamento coerente conBasicText
(I24874) CompactChipTapTargetPadding
è stato reso pubblico in modo che possa essere visualizzato nella documentazione (If1e70, b/234119038)
Correzioni di bug
- Disabilita le build multipiattaforma per i pacchetti
wear.compose
(Iad3d7) - Correggi kdocs per
scrollToOption
(I6f9a0) - Il valore
PlaceholderState.rememberPlaceholderState()
è stato aggiornato in modo da utilizzare il valorerememberUpdatedState
. Lo stato verrà aggiornato in caso di lambdaonContentReady
. (I02635, b/260343754) - Abbiamo risolto un problema di tremolio del testo nel componente
Picker
sfruttando la nuova strategia di composizione aggiunta aModifier.graphicsLayer
. (I99302) - Abbiamo corretto un bug che causava sfarfallii nella nostra demo
DatePicker
(I660bd) - Abbiamo migliorato l'accessibilità per le demo dei selettori della data e dell'ora di 12 ore (I05e12)
- Abbiamo aggiornato le demo dei selettori di data e ora in modo che i selettori non siano interessati dalle modifiche alle richieste di risposta quando non sono selezionati (I4aecb)
Versione 1.2.0-alpha01
7 dicembre 2022
androidx.wear.compose:compose-*:1.2.0-alpha01
viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Cancella i contenuti" venga applicato immediatamente quando i contenuti sono pronti, anziché attendere l'avvio del loop di animazione successivo. Abbiamo anche apportato alcuni aggiornamenti alle animazioni di bagliore e cancellazione. (I5a7f4).
Modifiche alle API
- Abbiamo aggiunto un
HierarchicalFocusCoordinator
componibile per consentire di contrassegnare i sottoalberi della composizione come focus attivato o focus disattivato.(I827cb) - Abbiamo aggiunto una nuova proprietà per eseguire l'override del ruolo semantico per
ToggleButton
.(I67132) - Abbiamo aggiornato
TimeTextDefaults.TimeFormat12Hours
in modo da rimuovere AM/PM inTimeText
. Questo modificherà il valore predefinito dei parametritimeSource
nell'APITimeText
. (I1eb7f). - Abbiamo esteso l'API Selettore per migliorare l'accessibilità per gli schermi con selettore multiplo. È disponibile una nuova proprietà (
userScrollEnabled
) per controllare se il selettore è attivo per lo scorrimento dell'utente. (I3c3aa).
Correzioni di bug
- Abbiamo modificato la larghezza predefinita del bordo di un
OutlinedButton/OutlinedCompactButton
da 2.dp a 1.dp per rispettare le specifiche finali dell'esperienza utente. (Icf84d). - Per ridurre l'effetto del primo elemento aggiunto a un
ScalingLazyColumn
vuoto che sembra scorrere fino a posizionarsi, abbiamo aggiunto un numero stimato diautoCentering topPadding
quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura interna superiore necessaria ipotizzando un elemento iniziale con altezza pari a 0,dp. PerScalingLazyListAnchorType.ItemStart
verrà calcolata la spaziatura interna superiore corretta, mentre perScalingLazyListAnchorType.ItemCenter
questo calcolo non sarà corretto perché l'altezza degli elementi è necessaria per dimensionare correttamente i contenuti e, di conseguenza, viene visualizzato un effetto di scorrimento ridotto in base all'altezza reale degli elementi (I239a4). - Abbiamo aggiornato la protezione dello sfondo applicata all'animazione
SwipeToDismiss
in modo che corrisponda alla piattaforma Wear. (I9003e). - Abbiamo corretto la gestione di
PositionIndicator
diLazyListState
eScalingLazyListState
per le voci dell'elenco di dimensione 0 al fine di evitare errori di divisione per zero.(Ic28dd)
Versione 1.1
Versione 1.1.2
8 febbraio 2023
androidx.wear.compose:compose-foundation:1.1.2
, androidx.wear.compose:compose-material:1.1.2
e androidx.wear.compose:compose-navigation:1.1.2
vengono rilasciati. La versione 1.1.2 contiene questi commit.
Correzioni di bug
- Abbiamo corretto un bug che causava ricomposizioni non necessarie in
ScalingLazyListState.centerItemIndex
assicurandoci che invii gli aggiornamenti solo quando il valore cambia effettivamente (Ia9f38)
Versione 1.1.1
11 gennaio 2023
androidx.wear.compose:compose-foundation:1.1.1
, androidx.wear.compose:compose-material:1.1.1
e androidx.wear.compose:compose-navigation:1.1.1
vengono rilasciati. La versione 1.1.1 contiene questi commit.
Correzioni di bug
- Il valore
PlaceholderState.rememberPlaceholderState()
è stato aggiornato in modo da utilizzare il valorerememberUpdatedState
. Lo stato verrà aggiornato in caso di lambdaonContentReady
. (I02635, b/260343754)
Versione 1.1.0
7 dicembre 2022
androidx.wear.compose:compose-foundation:1.1.0
, androidx.wear.compose:compose-material:1.1.0
e androidx.wear.compose:compose-navigation:1.1.0
vengono rilasciati. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Release stabile di Compose per Wear OS 1.1.0 (scopri di più).
- Per un elenco delle modifiche principali in Wear Compose 1.1, consulta le note di rilascio relative a (Compose for Wear OS 1.1 Beta01).
Nuove funzionalità
- Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Cancella i contenuti" venga applicato immediatamente quando i contenuti sono pronti, anziché attendere l'avvio del loop di animazione successivo. Abbiamo anche apportato alcuni aggiornamenti alle animazioni di bagliore e cancellazione. (I5a7f4).
Correzioni di bug
- Abbiamo modificato la larghezza predefinita del bordo di un
OutlinedButton/OutlinedCompactButton
da 2.dp a 1.dp per rispettare le specifiche finali dell'esperienza utente. (Icf84d). - Per ridurre l'effetto del primo elemento aggiunto a un
ScalingLazyColumn
vuoto che sembra scorrere fino a posizionarsi, abbiamo aggiunto un numero stimato diautoCentering topPadding
quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura interna superiore necessaria ipotizzando un elemento iniziale con altezza pari a 0,dp. PerScalingLazyListAnchorType.ItemStart
verrà calcolata la spaziatura interna superiore corretta, mentre perScalingLazyListAnchorType.ItemCenter
questo calcolo non sarà corretto perché l'altezza degli elementi è necessaria per dimensionare correttamente i contenuti e, di conseguenza, viene visualizzato un effetto di scorrimento ridotto in base all'altezza reale degli elementi (I239a4). - Abbiamo aggiornato la protezione dello sfondo applicata all'animazione
SwipeToDismiss
in modo che corrisponda alla piattaforma Wear.(I9003e) - Abbiamo corretto la gestione di
PositionIndicator
diLazyListState
eScalingLazyListState
per le voci dell'elenco di dimensione 0 al fine di evitare errori di divisione per zero.(Ic28dd)
Versione 1.1.0-rc01
9 novembre 2022
androidx.wear.compose:compose-foundation:1.1.0-rc01
, androidx.wear.compose:compose-material:1.1.0-rc01
e androidx.wear.compose:compose-navigation:1.1.0-rc01
vengono rilasciati. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto regole del profilo di riferimento 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 degli elementi non rientra nell'intervallo), oraTimeText
continuerà a essere visualizzato. (I2137a) - Abbiamo aggiornato l'animazione
SwipeToDismissBox
in modo che corrisponda all'implementazione della piattaforma. Dopo l'animazione iniziale della pressione, lo schermo si sposta verso destra una volta attivato lo spegnimento. (I41d34). - A scopo di 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 la documentazione e un esempio ai segnaposto per mostrare l'ordine corretto per
Modifier.placeholder
eModifier.placeholderShimmer
quando applicati allo stesso componibile. (Ie96f4, b/256583229). - Abbiamo modificato la larghezza predefinita del bordo di un
OutlinedCompactChip/OutlinedChip
da 2.dp a 1.dp per rispettare le specifiche finali dell'esperienza utente. (Ib3d8e). - Abbiamo corretto un bug in
rememberPickerState
per cui gli input aggiornati non venivano salvati, per cui gli elementi componibili non venivano aggiornati dopo le modifiche agli input. (I49ff6, b/255323197) - Abbiamo apportato alcuni aggiornamenti all'interfaccia utente per i segnaposto, 1) cambiare il gradiente di shimmer a 1,5 volte le dimensioni dello schermo, 2) aggiungere l'easing (bezier cubica) della progressione di shimmer e 3) accelerare l'animazione di wipe-off (250 ms). (Id29c1)
- Abbiamo corretto un bug dell'interfaccia utente nell'effetto wipeOff dei segnaposto, a causa del quale gli sfondi di Chip e Card venivano cancellati leggermente in anticipo perché non prendeva in considerazione la posizione del componente sullo schermo. (I2c7cb)
- Abbiamo aggiornato il disegno di sfondo del segnaposto in modo da unire i colori anziché sovrapporre loro, ove possibile, per ridurre il rischio che la fusione alpha dei diversi livelli ritagliati non consenta la perdita dei colori sottostanti in corrispondenza dei bordi dello sfondo dei 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
. A questo punto, verrà restituito un elenco vuoto finché tutti gli elementi dell'elenco non saranno visibili e avranno gli offset corretti. Il controllo diScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
confermerà che l'inizializzazione diScalingLazyColumn
è completa e gli elementi sono visibili. (I3a3b8).
Versione 1.1.0-beta01
24 ottobre 2022
androidx.wear.compose:compose-foundation:1.1.0-beta01
, androidx.wear.compose:compose-material:1.1.0-beta01
e androidx.wear.compose:compose-navigation:1.1.0-beta01
vengono rilasciati. La versione 1.1.0-beta01 contiene questi commit.
Cosa c'è in Compose per Wear OS 1.1
La versione 1.1.0-beta01 di Compose per Wear OS indicava che questa release della libreria è completa e l'API è bloccata.
- La release 1.1 di Wear Compose include le seguenti nuove funzionalità:
- Selettore: miglioramenti dell'accessibilità al selettore in modo che le schermate con più selettore siano navigabili con gli screen reader e la descrizione dei contenuti sia accessibile
- Il parametro
contentDescription
del selettore viene ora utilizzato solo per l'opzione del selettore selezionata e accetta una stringa con valore null (nel commit precedente, era necessario passare una mappatura dall'opzione alla descrizione dei contenuti, ma veniva utilizzata solo l'opzione selezionata). - Gli elementi del selettore ora sono sempre allineati al centro. La correzione di un bug durante l'impostazione di
gradientRatio
su zero ha avuto l'effetto collaterale di modificare l'allineamento. Chip/ToggleChip
- Abbiamo aggiornato i gradienti predefiniti perChip/ToggleChip
per allinearli alle ultime specifiche UX.ChipDefaults.gradientBackgroundChipColors
è stato aggiornato per iniziare dal 50% di quello principale anziché dal 32,5%.Chip/ToggleChip
- Aggiunti sovraccarichi per la modifica delle forme dei chipChip/Button/ToggleButton
- È stato aggiunto un nuovo stile con contorni per chip e pulsanti, oltre a nuovi componenti componibiliOutlinedChip
eOutlinedButton
che forniscono unChip/Button
trasparente con un bordo sottile.- Scheda: sono state aggiornate le sfumature predefinite delle schede per allinearle alle ultime specifiche UX. La tabella
CardDefaults.cardBackgroundPainter
è stata aggiornata in modo da iniziare dal 30% di quelle principali e terminare al 20% dionSurfaceVariant
(in precedenza era compresa tra il 20% e il 10%onSurfaceVariant
).ToggleChip.toggleChipColors
passa da un gradiente lineare del 75% di superficie al 32,5% di superficie principale a 0% di superficie principale al 50% di superficie principale. Button/ToggleButton
- Sono state aggiunte proprietà per la modifica delle forme dei pulsanti.- Tema: sono stati aggiornati alcuni colori predefiniti in
MaterialTheme
al fine di migliorare l'accessibilità in quanto i colori originali non presentavano un contrasto sufficiente, con conseguente difficoltà per gli utenti a distinguere gli sfondi chip/scheda/pulsante dal colore di sfondo del tema. InlineSlider/Stepper
- Ruoli relativi ai pulsanti aggiunti in modo cheTalkback
possa riconoscerli come pulsanti.- Impalcatura: ora
PositionIndicator
è posizionato e ridimensionato in modo da occupare solo lo spazio necessario. Questo è utile: ad esempio, se vengono aggiunte informazioni semantiche, TalkBack ora ottiene i limiti corretti diPositionIndicator
sullo schermo. CurvedText/TimeText
- È stato aggiuntoModifier.scrollAway
, che consente di far scorrere un elemento verticalmente dentro e fuori dalla visualizzazione, in base allo stato di scorrimento (con sovraccarichi per funzionare conColumn
,LazyColumn
eScalingLazyColumn
).ScrollAway
viene in genere utilizzato per far scorrere la sezioneTimeText
all'esterno della visualizzazione quando l'utente inizia a scorrere un elenco di elementi verso l'alto.CurvedText/TimeText
. Aggiunto il supporto perfontFamily
,fontStyle
efontSynthesis
inCurvedTextStyle
, utilizzabile sucurvedText
ebasicCurvedText
.CurvedText/TimeText
-fontWeight
aggiunto al costruttore e al metodo di copia suCurvedTextStyle
ToggleControls
- Sono stati aggiunti i controlli animatiCheckbox
,Switch
eRadioButton
da usare conToggleChip
eSplitToggleChip
. Possono essere utilizzate al posto delle icone statiche fornite daToggleChipDefaults
(switchIcon
,checkboxIcon
eradioIcon
).- Segnaposto - Aggiunto il supporto per i segnaposto sperimentali. Offre tre effetti visivi distinti progettati per funzionare insieme.
- In primo luogo, un effetto pennello per lo sfondo del segnaposto utilizzato in contenitori come Chip e Schede da disegnare sul normale sfondo durante l'attesa del caricamento dei contenuti.
- In secondo luogo, un modificatore (
Modifier.placeholder()
) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento. - In terzo luogo, un effetto gradiente/brillante del modificatore (
Modifier.placeholderShimmer()
) disegnato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati.- Tutti questi effetti sono progettati per essere coordinati, brillano e si cancellano in un modo orchestrato.
- Dipendenze di Compose principali aggiornate dalla versione 1.2 alla versione 1.3
Modifiche alle API
- Ora i parametri dei caratteri (
fontFamily
,fontWeight
,fontStyle
efontSynthesis
) possono essere specificati direttamente come parametri dicurvedText
(Idc422)
Correzioni di bug
curveText
ebasicCurvedText
ora funzioneranno correttamente con TalkBack (è associato a un nodo Composer-UI correttamente dimensionato e posizionato (ma vuoto) utilizzando il testo come descrizione dei contenuti) (I7af7c, b/210721259)- È stata corretta la correzione di
Picker
quandoPickerState.repeatedItems = false
per aggiungere un'impostazione esplicita dei parametri di centratura automatica nell'ScalingLazyColumn
interna dei selettori per garantire che sia possibile scorrere l'opzione zero fino al centro della vista. (I8a4d7).
Versione 1.1.0-alpha07
5 ottobre 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha07
, androidx.wear.compose:compose-material:1.1.0-alpha07
e androidx.wear.compose:compose-navigation:1.1.0-alpha07
vengono rilasciati. La versione 1.1.0-alpha07 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto sperimentale per i segnaposto. Offre tre effetti visivi distinti progettati per funzionare insieme. In primo luogo, un effetto pennello per lo sfondo del segnaposto utilizzato in contenitori come Chip e Schede da disegnare sul normale sfondo durante l'attesa del caricamento dei contenuti. In secondo luogo, un modificatore (
Modifier.placeholder()
) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento. In terzo luogo, un effetto gradiente/brillante del modificatore (Modifier.placeholderShimmer()
) disegnato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati. Tutti questi effetti sono progettati per essere coordinati, brillano e si cancellano in un 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 nel testo curvo.(Iaa1a8),(I72759) - Parametro di offset di
Modifier.scrollAway
aggiornato a Dp per coerenza conModifier.offset
(in precedenza era in pixel). Inoltre, è stato sottoposto a refactoring comeLayoutModifier
per garantire efficienza. (I9f94b). - Nell'ambito della nuova API di attivazione/disattivazione dei controlli, abbiamo rinominato
RadioButton’s circleColor
inringColor
. (I28fa9). - Abbiamo aggiunto i controlli di attivazione/disattivazione animati
Checkbox
,Switch
eRadioButton
da utilizzare conToggleChip
eSplitToggleChip
. Possono essere utilizzate al posto delle icone statiche fornite daToggleChipDefaults
(switchIcon
,checkboxIcon
eradioIcon
). (I8a8c4)
Versione 1.1.0-alpha06
21 settembre 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha06
, androidx.wear.compose:compose-material:1.1.0-alpha06
e androidx.wear.compose:compose-navigation:1.1.0-alpha06
vengono rilasciati. La versione 1.1.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
Modifier.scrollAway
, che consente di far scorrere un elemento verticalmente dentro e fuori dalla visualizzazione, in base allo stato di scorrimento (con sovraccarichi per funzionare conColumn
,LazyColumn
eScalingLazyColumn
). Di solitoScrollAway
viene utilizzato per scorrere unaTimeText
fuori dalla visualizzazione quando l'utente inizia a scorrere un elenco di elementi verso l'alto. (I61766)
Correzioni di bug
PositionIndicator
ora è posizionato e ridimensionato in modo da occupare solo lo spazio necessario. Questo è utile: ad esempio, se vengono aggiunte informazioni semantiche, TalkBack ora ottiene i limiti corretti diPositionIndicator
sullo schermo. (Ie6106, b/244409133)
Versione 1.1.0-alpha05
7 settembre 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha05
, androidx.wear.compose:compose-material:1.1.0-alpha05
e androidx.wear.compose:compose-navigation:1.1.0-alpha05
vengono rilasciati. La versione 1.1.0-alpha05 contiene questi commit.
Correzioni di bug
- I ruoli relativi ai 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 di pagina nell'impalcatura. Gli indicatori ora si troveranno sopra la vignetta, in modo che non siano oscurati dalla vignetta, se presente. (Ib988f, b/244207528).
Versione 1.1.0-alpha04
24 agosto 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha04
, androidx.wear.compose:compose-material:1.1.0-alpha04
e androidx.wear.compose:compose-navigation:1.1.0-alpha04
vengono rilasciati. La versione 1.1.0-alpha04 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato una serie di colori predefiniti in MaterialTheme per migliorare l'accessibilità poiché i colori originali non presentavano un contrasto sufficiente, con conseguente difficoltà per gli utenti a distinguere gli sfondi chip/schede/pulsanti dal colore di sfondo del tema. I colori aggiornati sono superficie (0xFF202124-> 0xFF303133), onprimary(0xFF202124-> 0xFF303133), onSecondary(0xFF202124-> 0xFF303133), primarioVariant(0xFF669DF6-> 0xFF8AB0FF0) Le variazioni di colore, sebbene relativamente lievi, potrebbero influire sui test degli screenshot esistenti. (81ab09)
Correzioni di bug
- È stato corretto un bug logico in
ScalingLazyColumn
che potrebbe comportare il mancato completamento dell'inizializzazione da parte degli elenchi con un numero ridotto (in genere esattamente 2) di elementi dell'elenco. Di conseguenza, l'inizializzazione è necessaria. (504347)
Versione 1.1.0-alpha03
10 agosto 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha03
, androidx.wear.compose:compose-material:1.1.0-alpha03
e androidx.wear.compose:compose-navigation:1.1.0-alpha03
vengono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un nuovo stile con contorni per
Chips
eButtons
e i nuovi componenti componibiliOutlinedChip
eOutlinedButton
che forniscono unChip/Button
trasparente con un bordo sottile. (Id5972)
Modifiche alle API
- Aggiunti sovraccarichi per la modifica delle forme dei pulsanti (ICCde)
Correzioni di bug
- Abbiamo corretto le dimensioni dell'area di controllo dell'attivazione/disattivazione di
ToggleChip
, in quanto non corrispondeva alle specifiche UX. La specifica UX richiede un spaziatore di 4 dp tra l'etichetta e un'area dell'icona del controllo di attivazione/disattivazione di 24 x 24 dp, per una larghezza totale di 28 dp. Tuttavia, l'implementazione fornisce erroneamente l'area di controllo dell'attivazione/disattivazione 36x24.dp. Ciò comporta la rimozione di 8 dp di area utilizzabile delle etichette di testo. NOTA: questa correzione del bug offre ulteriore spazio per l'etichetta di testo e, di conseguenza, può influire (positivamente) sul layout del testo in caso di overflow. Se hai test degli screenshot, tra cuiToggleChips
, potrebbe essere necessario aggiornarli. (I514c8, b/240548670)
Versione 1.1.0-alpha02
27 luglio 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha02
, androidx.wear.compose:compose-material:1.1.0-alpha02
e androidx.wear.compose:compose-navigation:1.1.0-alpha02
vengono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.
Nuove funzionalità
- Abbiamo cambiato le dipendenze di Compose per Wear OS dalle librerie principali di Compose da 1.2.0 a 1.3.0-alpha0X
Modifiche alle API
- Aggiunti sovraccarichi per la modifica delle forme dei chip (I02e87)
Correzioni di bug
- Abbiamo animato la visibilità della vignettatura per mostrare/nascondere la finestra di dialogo, in modo da essere coerente con l'animazione di scalabilità esistente. (Ida33e)
- Abbiamo corretto un bug per cui potrebbe verificarsi una divisione per zero a causa del comportamento scorretto durante lo scorrimento. (I86cb6).
- È stato corretto un bug in
ChipDefaults.childChipColor()
per garantire che il colore di sfondo disattivato fosse completamente trasparente. (I2b3c3, b/238057342).
Versione 1.1.0-alpha01
29 giugno 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha01
, androidx.wear.compose:compose-material:1.1.0-alpha01
e androidx.wear.compose:compose-navigation:1.1.0-alpha01
vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche alle API
- Il parametro
contentDescription
del selettore viene ora utilizzato solo per l'opzione del selettore selezionata e accetta una stringa con valore null (in precedenza, era necessario passare una mappatura da un'opzione alla descrizione dei contenuti, ma veniva utilizzata solo l'opzione selezionata). (Ife6a7). - Abbiamo apportato miglioramenti all'accessibilità al selettore in modo che le schermate con selezione multipla siano navigabili con gli screen reader e la descrizione dei contenuti sia accessibile (I64edb)
Correzioni di bug
- Abbiamo aggiornato le regole del profilo di riferimento incluse nella libreria Compose di Wear (I9c694)
- Abbiamo corretto la direzione del gradiente per i 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 allinearli con le specifiche UX più recenti.ChipDefaults.gradientBackgroundChipColors
è stato aggiornato in modo da iniziare dal 50% di quella principale anziché dal 32,5%. La metricaCardDefaults.cardBackgroundPainter
è stata aggiornata per iniziare dal 30% di quella primaria e terminare al 20% dionSurfaceVariant
(in precedenza era compresa tra 20% e 10%onSurfaceVariant
).ToggleChip.toggleChipColors
passa da un gradiente lineare del 75% di superficie al 32,5% di superficie primaria al 0% di superficie principale al 50% di superficie primaria. (I43bbd) - Abbiamo aggiunto un colore di sfondo (
MaterialTheme.color.surface
) dietro aChip/ToggleChips
con sfondi sfumati per garantire che siano correttamente visibili nell'improbabile eventualità che lo sfondo sia di un colore chiaro. (Ibe1a4, b/235937657). - Gli elementi del selettore ora sono sempre allineati al centro. La correzione di un bug durante l'impostazione di
gradientRatio
su zero ha avuto l'effetto collaterale di modificare l'allineamento. (I712b8)
Versione 1.0
Versione 1.0.2
7 settembre 2022
androidx.wear.compose:compose-foundation:1.0.2
, androidx.wear.compose:compose-material:1.0.2
e androidx.wear.compose:compose-navigation:1.0.2
vengono rilasciati. La versione 1.0.2 contiene questi commit.
Correzioni di bug
- Abbiamo corretto l'ordine z degli indicatori di posizione e di pagina nell'impalcatura. Gli indicatori ora si troveranno sopra la vignetta, in modo che non siano oscurati dalla vignetta, se presente. (Ib988f, b/244207528).
Versione 1.0.1
24 agosto 2022
androidx.wear.compose:compose-foundation:1.0.1
, androidx.wear.compose:compose-material:1.0.1
e androidx.wear.compose:compose-navigation:1.0.1
vengono rilasciati. La versione 1.0.1 contiene questi commit.
Correzioni di bug
- È stato corretto un bug logico in
ScalingLazyColumn
che potrebbe comportare il mancato completamento dell'inizializzazione da parte degli elenchi con un numero ridotto (in genere esattamente 2) di elementi dell'elenco. Di conseguenza, l'inizializzazione è necessaria. (076c61)
Versione 1.0.0
27 luglio 2022
androidx.wear.compose:compose-foundation:1.0.0
, androidx.wear.compose:compose-material:1.0.0
e androidx.wear.compose:compose-navigation:1.0.0
vengono rilasciati. La versione 1.0.0 contiene questi commit.
Funzionalità principali della versione 1.0.0
- Questa è la prima release stabile di Compose per Wear OS (scopri di più).
- Compose per Wear OS si basa sulle librerie principali di Compose, fornendo componenti aggiuntivi specifici per gli indossabili e, ove appropriato, implementazioni alternative dei componenti principali di Compose, personalizzate per i dispositivi indossabili.
- Per un elenco dei componenti chiave di Wear Compose, consulta le note di rilascio relative a (Compose for Wear OS Beta01).
Correzioni di bug
- Abbiamo animato la visibilità della vignettatura per mostrare/nascondere la finestra di dialogo, in modo da essere coerente con l'animazione di scalabilità esistente. (Ida33e)
- Abbiamo corretto un bug per cui potrebbe verificarsi una divisione per zero a causa del comportamento scorretto durante lo scorrimento. (I86cb6).
- È stato corretto un bug in
ChipDefaults.childChipColor()
per garantire che il colore di sfondo disattivato fosse completamente trasparente. (I2b3c3, b/238057342).
Versione 1.0.0-rc02
22 giugno 2022
androidx.wear.compose:compose-foundation:1.0.0-rc02
, androidx.wear.compose:compose-material:1.0.0-rc02
e androidx.wear.compose:compose-navigation:1.0.0-rc02
vengono rilasciati. La versione 1.0.0-rc02 contiene questi commit.
Correzioni di bug
- Abbiamo corretto la direzione del gradiente per le schede in modalità da destra a sinistra (RTL). Era in alto a sinistra->in basso a destra e ora si trova in alto a destra->in basso a sinistra. (Ic2e77).
- Abbiamo aggiornato i gradienti predefiniti per
Chip/ToggleChip/Card
per renderli in linea con le ultime specifiche UX.ChipDefaults.gradientBackgroundChipColors
è stato aggiornato in modo da iniziare dal 50% di quella principale anziché dal 32,5%. La metricaCardDefaults.cardBackgroundPainter
è stata aggiornata in modo che parte dal 30% di quella primaria e termini al 20% dionSurfaceVariant
(in precedenza era compresa tra 20% e 10% su SurfaceVariant).ToggleChip.toggleChipColors
passa da un gradiente lineare di superficie del 75% al 32,5% di superficie principale, a uno 0% di superficie principale al 50% di superficie principale. (I43bbd) - Abbiamo aggiunto un colore di sfondo (
MaterialTheme.color.surface
) dietro aChip/ToggleChips
con sfondi sfumati per garantire che siano correttamente visibili nell'improbabile eventualità che lo sfondo sia di un colore chiaro. (Ibe1a4, b/235937657). - Abbiamo aggiornato le regole del profilo di riferimento incluse nella libreria Compose di Wear (I9c694)
Versione 1.0.0-rc01
15 giugno 2022
androidx.wear.compose:compose-foundation:1.0.0-rc01
, androidx.wear.compose:compose-material:1.0.0-rc01
e androidx.wear.compose:compose-navigation:1.0.0-rc01
vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.
Modifiche alle API
- Le interfacce nelle librerie di scrittura ora vengono create utilizzando i metodi di interfaccia predefinita jdk8 (I5bcf1)
Correzioni di bug
- Abbiamo rimosso la chiamata esplicita a
fillMaxWidth()
dall'intestazione dell'elenco perché non è necessaria e può causare problemi se unaScalinglazyColumn
ha una combinazione di componentiListHeader()
eChip()
, poiché la larghezza tenderà ad aumentare/ridursi man mano cheListHeader
elementi vengono fatti scorrere dentro e fuori dalla visualizzazione. (I37144, b/235074035) - Abbiamo corretto un bug in
ScalingLazyColumn
che potrebbe far sì che le voci dell'elenco non vengano visualizzate correttamente fino alla scorrimento se la prima voce dell'elenco era abbastanza grande (inclusa la spaziatura interna) (Ic6159, b/234328517) - Abbiamo apportato una piccola modifica nell'interpolazione di
ScalingLazyColumn
quando gli elementi raggiungono il bordo dello schermo per adeguarsi agli aggiornamenti delle specifiche UX. Valori precedentiCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)
-> nuovi valoriCubicBezierEasing(0.3f, 0f, 0.7f, 1f)
. Per mantenere il comportamento precedente, puoi eseguire l'override discalingParams
diScalingLazyColumn
(Ie375c) - Abbiamo aggiunto una spaziatura interna a
CompactChip
per garantire che le dimensioni del target dei tocchi siano alte almeno 48.dp, in modo da rispettare le linee guida sull'accessibilità dei materiali. Questa operazione potrebbe interessare eventuali layout che utilizziCompactChips
, che occuperanno spazio aggiuntivo. (I3d57c).
Versione 1.0.0-beta03
1° giugno 2022
androidx.wear.compose:compose-foundation:1.0.0-beta03
, androidx.wear.compose:compose-material:1.0.0-beta03
e androidx.wear.compose:compose-navigation:1.0.0-beta03
vengono rilasciati. 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 modificato il valore predefinito per la proprietà
ScalingLazyColumn.horizontalAlignment
da "Start" a "CenterHorizontally
" per garantire che gli elementi dell'elenco che non riempiano l'intera larghezza della colonna vengano allineati per garantire la massima visibilità. Per tornare al comportamento precedente, impostahorizontalAlignment = Alignment.Start
.(I9ed4b)
Problemi noti
- L'altezza di tocco/tocco di CompactChip è inferiore alle linee guida sull'accessibilità di Material. Questo problema verrà corretto nella prossima release (il 15 giugno). Se utilizzi CompactChip, questa operazione influisce sui tuoi layout, poiché ora includerà una spaziatura interna aggiuntiva sopra e sotto. Modifica e testa i layout o consulta i commenti sul bug per una soluzione alternativa al comportamento del 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ù simile alle specifiche UX (Ib7ea1)
Versione 1.0.0-beta02
18 maggio 2022
androidx.wear.compose:compose-foundation:1.0.0-beta02
, androidx.wear.compose:compose-material:1.0.0-beta02
e androidx.wear.compose:compose-navigation:1.0.0-beta02
vengono rilasciati. La versione 1.0.0-beta02 contiene questi commit.
Nuove funzionalità
- Il selettore ora risponde sempre agli eventi di scorrimento anche quando è in modalità di sola lettura. In questo modo non sarà necessario che gli utenti selezionino un selettore toccandoli prima di poter scorrere. In modalità di sola lettura, le opzioni diverse da quelle attualmente selezionate sono oscurate da uno shim in
gradientColor
. (I72925) - Abbiamo modificato il comportamento dell'UX di
Chip/ToggleChip/CompactChip/SplitToggleChip
per impedire all'utente di eseguirefillMaxWidth
per impostazione predefinita. ma crescono per adattarsi ai contenuti. Per mantenere il comportamento precedente, aggiungi semplicementemodifier = Modifier.fillMaxWidth()
(I60a2c, b/232206371)
Correzioni di bug
- Il costruttore
CurvedTextStyle
che usa unTextStyle
ora rispetta anchefontWeight
(questa opzione può essere aggiunta al costruttore e ai metodi di copia nelle future revisioni dell'API) (Ieebb9) - Miglioramenti allo scorrimento sui bordi. Quando viene utilizzato
Modifier.edgeSwipeToDismiss
e viene attivato uno scorrimento verso sinistra dall'area del bordo, lo scorrimento per ignorare l'annuncio non viene più attivato quando la direzione dello scorrimento cambia verso destra. In precedenza, era possibile attivare lo scorrimento per ignorare l'annuncio scorrendo verso sinistra e poi verso destra.(I916ea) HorizontalPageIndicator
ora mostra fino a 6 pagine sullo schermo. Se ci sono più di 6 pagine in totale, viene mostrato un indicatore di dimensioni dimezzate a sinistra o a destra, con una transizione uniforme tra le pagine.(I2ac29)- Comportamento di agganciamento predefinito migliorato su
ScalingLazyColumn
ePicker
(I49539) - Miglioramenti allo scorrimento sui bordi. Quando viene utilizzato
Modifier.edgeSwipeToDismiss
, l'opzione per ignorare lo scorrimento si attiva solo quando il primo tocco viene posizionato sul bordo e scorri verso destra. In precedenza, era possibile attivare lo scorrimento per ignorare lo scorrimento da qualsiasi parte dello schermo se si raggiungeva l'inizio dello scorrimento (I8ca2a).
Versione 1.0.0-beta01
11 maggio 2022
androidx.wear.compose:compose-foundation:1.0.0-beta01
, androidx.wear.compose:compose-material:1.0.0-beta01
e androidx.wear.compose:compose-navigation:1.0.0-beta01
vengono rilasciati. La versione 1.0.0-beta01 contiene questi commit.
Cosa c'è in Compose per Wear OS 1.0
Il 1.0.0-beta01
di Compose per Wear OS segna un traguardo importante, in quanto le funzionalità della raccolta sono complete e l'API è bloccata.
I componenti di Wear Compose Material nella release 1.0 includono:
- Tema Material: utilizzato in sostituzione di Compose per Mobile
MaterialTheme
, fornisce i colori, le forme e la tipografia per creare componenti su dispositivi indossabili che implementano immediatamente le linee guida relative all'UX di Wear Material Design. Button
,CompactButton
eToggleButton
: questo pulsante offre un'unica area in cui scattare un'icona, un'immagine o un testo breve (massimo 3 caratteri). Di forma circolare con dimensioni consigliate per pulsanti predefiniti, grandi o piccoli.CompactButton
offre un'unica area per ospitare qualsiasi contenuto (icona, immagine o testo) ed è di forma circolare con dimensioni di sfondo molto piccole.CompactButton
presenta una spaziatura interna trasparente facoltativa sullo sfondo che aumenta l'area cliccabile.ToggleButton
è un pulsante che offre un'unica area in cui inserire qualsiasi contenuto (testo breve, icona o immagine) e presenta stati on/off (selezionato/deselezionato) con colori e icone diverse da mostrare se selezionati o meno- Schede: utilizzate per visualizzare informazioni su applicazioni come le notifiche. Design flessibile per diversi casi d'uso:
AppCard
eTitleCard
offrono layout diversi e supporto per le immagini come contenuti della scheda o sfondi. - Fiches: componenti a forma di stadio simili ai pulsanti, ma con un'area più ampia e più slot per inserire etichette, etichette secondarie e icone. In diverse dimensioni e con il supporto per le immagini come sfondi.
- SwitchChips e SplitToggleChips: un chip con stato selezionato/deselezionato e aggiunta di uno slot
ToggleControl
per mostrare un'icona, ad esempio un sensore o un pulsante di opzione, per mostrare lo stato selezionato del componente. Inoltre,SplitToggleChip
ha due aree toccabili, una cliccabile e una attivabile. - CircolareProgressIndicator: indicatore di avanzamento del materiale di usura con due variazioni. Il primo esprime la proporzione di completamento di un'attività in corso e sostiene un divario nel percorso circolare tra gli angoli di inizio e fine. Il secondo indica l'avanzamento indeterminato per un tempo di attesa non specificato.
- curvedText: fa parte della DSL per descrivere
CurvedLayouts
, insieme acurvedRow
ecurvedColumn
, per disporre i componenti intorno a dispositivi circolari. Consulta la sezione Nozioni di base dei componenti Wear di seguito per maggiori dettagli suCurvedLayout
eCurvedModifier
(questa funzionalità svolge un ruolo simile ai modificatori nel mondo non curvo 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 lo scorrimento per ignorare. Occorre un singolo slot che dovrebbe avere contenuti della finestra di dialogo Materiale di Wear, come Avviso o Conferma. L'avviso è costituito da contenuti di finestre di dialogo con spazi per l'icona, il titolo e il messaggio. Presenta sovraccarichi per due pulsanti negativi e positivi mostrati affiancati o uno slot per uno o più chip impilati verticalmente. La conferma è un contenuto della finestra di dialogo che mostra un messaggio di una durata specifica. È dotato di uno slot per un'icona o un'immagine (che potrebbe essere animata).
- HorizontalPageIndicator: mostra la posizione orizzontale della pagina in modo appropriato al fattore di forma Wearable. Progettata per mostrare le immagini a schermo intero e mostrare un indicatore curvo sui dispositivi rotondi. Può essere utilizzato con il visualizzatore di pagina Accompanista.
- Icona: un'implementazione Wear di un'icona che prende colore e alpha dal tema dei materiali di Wear. Per un'icona cliccabile, vedi Pulsante o Chip.
- Selettore: visualizza un elenco scorrevole di elementi da cui selezionare. 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.
- PosizioneIndicator: mostra la posizione di scorrimento o un'altra indicazione di posizione in modo appropriato al fattore di forma Wearable. Progettata per essere visualizzata a schermo intero, mostra un indicatore curvo sui dispositivi rotondi.
- Ponte: implementa la struttura visiva del layout di base di Wear Material Design. Questo componente fornisce un'API per assemblare diversi componenti in materiale Wear (ad esempio
TimeText
,PositionIndicator
eVignette
) per costruire la schermata, garantire una strategia di layout adeguata e raccogliere i dati necessari affinché questi componenti funzionino insieme correttamente. - ScalingLazyColumn: un componente di elenco fisheye/scale a scorrimento che costituisce una parte fondamentale del linguaggio di Wear Material Design. Fornisce effetti di scalabilità e trasparenza ai 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 visualizzato sotto forma di barra, che può essere visualizzata facoltativamente con separatori.
- Stepper: un componente a schermo intero che consente agli utenti di effettuare una selezione da un intervallo di valori, utilizzando i pulsanti di aumento/diminuzione nella parte superiore e inferiore dello schermo, con uno slot al centro per il testo o un chip.
- Scorri per ignorare: gestisce il gesto di scorrimento per ignorare. È disponibile un'unica area per lo sfondo (visualizzato solo durante il gesto di scorrimento) e per i contenuti in primo piano. Facoltativamente, può essere combinata con la libreria di navigazione Androidx utilizzando
SwipeDismissableNavHost
(vedi la libreria di navigazione di Wear Compose di seguito). - Testo: un'implementazione Wear del componente Materiale di scrittura che prende i colori e le versioni alpha del tema Materiale di Wear.
- TimeText: un componente per mostrare l'ora e lo stato dell'applicazione nella parte superiore dello schermo. Si adatta alla forma dello schermo utilizzando il testo curvo sugli schermi rotondi.
Vignettatura: una funzionalità dello schermo da utilizzare nell'impalcatura che sfoca la parte superiore e inferiore dello schermo quando sono in uso contenuti scorrevoli.
In Wear Compose Foundation sono inclusi anche i seguenti componenti:
CurvedLayout - Wear Foundation
CurvedLayout
è un layout componibile che posiziona i componenti secondari all'interno di un arco, ruotandoli secondo necessità. Questo è simile a un layout a riga curvo in un segmento di una corona circolare. Tieni presente che il contenuto di unCurvedLayout
non è una funzione lambda componibile, ma una DSL (lingua specifica del dominio). Tutti gli elementi nella DSL di CurvedLayout supportano un parametro di modifica facoltativo, creato a partire daCurvedModifier
.BasicCurvedText, un elemento di
CurvedLayout
DSL,basicCurvedText
consente agli sviluppatori di scrivere facilmente un testo ricurvo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare). È possibile crearebasicCurvedText
soltanto all'interno diCurvedLayout
per garantire un'esperienza ottimale, ad esempio la possibilità di specificare il posizionamento e l'uso diCurvedModifiers
. Tieni presente che, nella maggior parte dei casi, è necessario usare curvedText, poiché utilizza i temi Material.curvedComposable: aggrega i normali contenuti componibili in modo da poterli utilizzare con
CurvedLayout
. SecurvedComposable
ha diversi elementi al suo interno, questi verranno disegnati uno sopra l'altro (come un riquadro). Per posizionare diversi elementi componibili lungo una curva, aggrega ogni elemento concurvedComposable
.curvedRow e curvedColumn: come per Row e Column, i
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 Scrittura in Wear:
SwipeIgnoraableNavHost: consente di inserire nella gerarchia di Scrivi una posizione in cui eseguire la navigazione autonoma, con la navigazione a ritroso fornita da un gesto di scorrimento. I contenuti vengono visualizzati all'interno di un
SwipeToDismissBox
, che mostra il livello di navigazione corrente. Durante un gesto di scorrimento per ignorare viene visualizzato il livello di navigazione precedente (se presente) sullo sfondo.Per ulteriori informazioni sui contenuti caricati, consulta le note di rilascio precedenti delle varie release alpha.
Modifiche alle API
- Funzioni
CurvedModifier.padding*
aggiunte. Questi 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 guida (I57cab) - Aggiungi parametro attivato a
AppCard
eTitleCard
. Ora ha un'API simile alle schedeandroidx.compose.material
. Se il parametro è impostato su false, non è possibile fare clic sulla scheda. (Idc48d, b/228869805).
Correzioni di bug
- Stepper ora disabilita i pulsanti di diminuzione e aumento quando sono stati raggiunti i limiti inferiori/superiori (e applica ContentAlpha.disabilitato a iconColor) (I4be9f)
- Abbiamo aggiunto una spaziatura interna di 1 dp intorno ai contenuti del selettore quando sono disegnati con una sfumatura, per evitare tremolio sul testo visto durante lo scorrimento. (I0b7b9)
- Aggiungi test degli screenshot per
PositionIndicator
(I5e8bc) - Aggiungi altri test per
AppCard
eTitleCard
(I85391, b/228869805)
Versione 1.0.0-alpha21
20 aprile 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha21
, androidx.wear.compose:compose-material:1.0.0-alpha21
e androidx.wear.compose:compose-navigation:1.0.0-alpha21
vengono rilasciati. La versione 1.0.0-alpha21 contiene questi commit.
Nuove funzionalità
- Sono stati aggiunti nuovi modificatori curvi per specificare lo sfondo di un elemento curvo:
CurvedModifier.background
,.radialGradientBackground
e.angularGradientBackground
(I8f392) - Consenti la specifica della modalità di overflow del testo curvo (clip/ellissi/visibile). (I8e7aa).
- Aggiunto il modificatore di
CurvedModifier.weight
, simile a quello di Scrivi. Può essere utilizzata sugli elementi secondari di curvedRow e CurvedLayout (per la larghezza) e sugli elementi secondari di curvedColumn (per l'altezza). (I8abbd) - Sono stati aggiunti i modificatori
CurvedModifier.size
,.angularSize
e.radialSize
per specificare le dimensioni di un elemento curvo. (I623c7)
Modifiche alle API
- Riordina i parametri per assicurarti che lo sfondo sia prima del colore coerente nell'API Wear Compose (I43208)
- Parametri
insideOut
e in senso orario rimossi e sostituiti con costanti più espressive in nuove classi. La direzione del layout curvo ora può essere sensibile aLayoutDirection
e viene ereditata quando non specificata (If0e6a) - Abbiamo sostituito
autoCenter: Boolean
conautoCenter: AutoCentringParams
al fine di risolvere un problema relativo all'API conScalingLazyColumn
. (Ia9c90) - Abbiamo rinominato
iconTintColor
etoggleControlTintColor
iniconColor
etoggleControlColor
in tutta l'API (Chip/ToggleChip/Dialog/Slider/Stepper/...) perché il colore viene applicato all'area icon/toggleControl. (Ied238) - Riscrivi l'enum di
PageIndicatorStyle
nella classe di valore (I2dc72) - Abbiamo aggiunto
RowScope/ColumnScope/BoxScope
ad alcune aree dei nostri componibili per indicare agli sviluppatori quali sono i presupposti dei layout. In questo modo gli sviluppatori potranno usare modificatori aggiuntivi su alcuni contenuti dell'area annuncio ed evitare di dover fornire elementi di layout aggiuntivi. Inoltre, abbiamo apportato alcuni piccoli aggiornamenti ai colori delle schede dell'app e del titolo, in modo che i colori delle schedetimeColor
eappColor
vengano impostati automaticamente sucontentColor
e, se necessario, è comunque possibile sostituire singolarmente queste proprietà. (I26b59). - Oggetto
SwipeToDismissBoxState.Companion
reso privato (I39e84) - Correggi l'ordine dei parametri per
InlineSlider
eStepper
. Una semplice modifica per seguire le linee guida delle API (I11fec) - L'oggetto risparmio per
SwipeToDismissBoxState
è stato rimosso perché non era utilizzato. (Ifb54e). - Abbiamo aggiornato
CompactChip
per integrarlo con la specifica UX più recente. La spaziatura interna è stata ridotta a 12,0 dp orizzontale e su 0,dp verticale. Il carattere dell'etichetta è stato modificato da "button" a "caption1". Le dimensioni consigliate per le icone sono 20 x 20 quando sono presenti sia icone che etichette e 24 x 24 per un chip compatto che include solo un'icona. Per il caso d'uso solo per le icone, abbiamo anche fatto in modo che l'icona sia allineata al centro. (Iea2be). - Abbiamo aggiunto una serie di nuovi campi a
ScalingLazyListLayoutInfo
per consentire agli sviluppatori di conoscere la quantità dicontentPadding
eautoCenteringPadding
applicata. Possono essere utili per gli sviluppatori per il calcolo di scorrimenti/scorrimenti (I7577b) - Abbiamo implementato le transizioni di entrata e uscita per la finestra di dialogo. È stato aggiunto un parametro
showDialog
e la finestra di dialogo ora controlla la propria visibilità. In questo modo, la finestra di dialogo può eseguire le animazioni dell'introduzione e della chiusura quando la finestra 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 sovraccaricoSwipeToDismissBox
aggiunto di recente. (I682a0) - Per supportare meglio i18n e a11y, abbiamo modificato
ToggleChip
eSplitToggleChip
in modo che non abbiano più un valore predefinito per lo slottoggleControl
. Abbiamo modificato ancheToggleChipDefaults
, pertanto i seguenti metodi ora restituiscono 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()
. In questo modo gli sviluppatori possono creare i propri componenti componibiliIcon()
con un setcontentDescription
appropriato. (I5bb5b). - Abbiamo aggiunto un parametro
SwipeDismissableNavHostState
aSwipeDismissableNavHost
. È supportato l'uso dello scorrimento sui bordi sulle schermate utilizzate come destinazioni della navigazione, perché oraSwipeToDismissBoxState
può essere sollevato e utilizzato per inizializzareSwipeDismissableNavHostState
eModifier.edgeSwipeToDismiss
su schermi che richiedono lo scorrimento sui bordi. (I819f5, b/228336555).
Correzioni di bug
- Assicurati che i layout curvi vengano aggiornati quando necessario. (Ie8bfa, b/229079150)
- Correzione di bug per https://issuetracker.google.com/problemi/226648931 (Ia0a0a, b/226648931)
- Rimosse le annotazioni sperimentali non necessarie (I88d7e)
Versione 1.0.0-alpha20
6 aprile 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha20
, androidx.wear.compose:compose-material:1.0.0-alpha20
e androidx.wear.compose:compose-navigation:1.0.0-alpha20
vengono rilasciati. La versione 1.0.0-alpha20 contiene questi commit.
Nuove funzionalità
- Aggiungi il modificatore
edgeSwipeToDismiss
perSwipeToDismiss
. Consente di attivareswipeToDismiss
solo sul bordo sinistro dell'area visibile. Da utilizzare quando il centro dello schermo deve poter gestire pagine orizzontali, ad esempio lo scorrimento in 2D di una mappa o lo scorrimento orizzontalmente tra le pagine.(I3fcec, b/200699800)
Modifiche alle API
- L'implementazione di base di
CurvedModifiers
consente di introdurre modi per personalizzare i contenuti curvi (ma non sono ancora disponibiliCurvedModifiers
e la possibilità di creare modificatori personalizzati potrebbe essere disponibile in seguito) (I9b8df) EdgeSwipe
la documentazione del modificatore e i valori predefiniti vengono aggiornati per una migliore comprensione .(I6d00d)- Aggiungi
PageIndicator
slot nell'impalcatura. Se aggiungiPageIndicator
direttamente in impalcatura, possiamo assicurarti che verrà visualizzata correttamente sui dispositivi circolari. (Ia6042) - Rimuovi le icone predefinite da
InlineSlider
e dai parametri Stepper. Questo 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 al termine del gesto di scorrimento. (I50353, b/226565726) - Rimosse
ExperimentalWearMaterialApi
annotazioni dall'utilizzo diTimeText
(Ide520) - Abbiamo contrassegnato le interfacce informative e relative all'ambito di
ScalingLazyList/Column
come sigillate, in quanto non sono pensate per l'implementazione da parte di sviluppatori esterni. Ciò ci consentirà di aggiungere nuovi membri in loro in futuro senza modifiche che provocano un errore nel programma binario. (I7d99f) - Abbiamo aggiunto una nuova proprietà
flingBehaviour
al selettore e un metodoPickerDefaults.flingBehaviour()
per attivare la configurazione del comportamento di scorrimento come l'aggiunta del supporto RSB. OraPickerState
implementa l'interfacciaScrollableState
. (Ib89c7).
Correzioni di bug
- Aggiorna le regole del profilo di base di Android Runtime (ART) per le librerie di Wear Compose. ART può sfruttare le regole del profilo sui dispositivi per compilare in anticipo un sottoinsieme specifico dell'applicazione al fine di migliorarne le prestazioni. Tieni presente che 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
androidx.wear.compose:compose-foundation:1.0.0-alpha19
, androidx.wear.compose:compose-material:1.0.0-alpha19
e androidx.wear.compose:compose-navigation:1.0.0-alpha19
vengono rilasciati. La versione 1.0.0-alpha19 contiene questi commit.
Modifiche alle API
CurvedRow
rinominato inCurvedLayout
e rielaborato per diventare un ambito con una DSL. Con 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 del layout, possono essere utilizzati tre elementi:curvedComposable
(per aggiungere qualsiasi @Composable),basicCurvedText
(testo curvo della base) ecurvedText
(testo curvo basato sul materiale indossabile). (Ib776a)- Imposta il lato per
PositionIndicator
configurabile. La posizione dell'indicatore di posizione di base ora può essere configurata in modo che sia Fine (in base alla direzione di layout), AntRsb (prende in considerazione la rotazione dello schermo per posizionarsi opposta all'RSB fisico) o i valori assoluti A sinistra e destra. (I2f1f3). - Per
SwipeToDismissBox
, abbiamo rinominatoSwipeDismissTarget
.Originale inSwipeToDismissValue.Default
eSwipeDismissTarget.Dismissal
inSwipeToDismissValue.Dismissed
. Abbiamo anche spostatoSwipeToDismissBoxDefaults.BackgroundKey
eSwipeToDismissBoxDefaults.ContentKey
inSwipeToDismissKeys.Background
,SwipeToDismissKeys.Content
. (I47a36). - Abbiamo aggiunto una modalità di sola lettura al selettore, per le schermate con più selettori in cui è modificabile un solo selettore alla volta. Quando il selettore è di sola lettura, visualizza l'opzione attualmente selezionata e un'etichetta, se ne è stata fornita una. (I879de)
SwipeToDismissBoxState
è stato sottoposto a refactoring per limitare l'ambito diExperimentalWearMaterialApi
aModifier.swipeable
eSwipeableState
, che ora vengono utilizzati internamente. OraSwipeToDismissBoxState
hacurrentValue
,targetValue
,isAnimationRunning
esnapTo
membri per supportare casi d'uso comuni. Contattaci se hai bisogno di rendere disponibili altre proprietà. È stato anche corretto il comportamento diSwipeableState
nel caso in cui l'offset di scorrimento si trovi all'interno di un errore di arrotondamento di un ancoraggio. (I58302)
Correzioni di bug
- Codice semplificato e fisso per rilevare se il contenuto di un
ScalingLazyColumn
può essere fatto scorrere (utilizzato per decidere se visualizzare o meno una barra di scorrimento) (I7bce0) - Risolto il bug relativo all'indicatore di posizione quando viene utilizzato in più stati e si passa da uno stato all'altro (I320b5)
- Abbiamo aggiornato l'impostazione predefinita di Scrivi per la tipografia e i caratteri dei temi per Wear OS in modo che corrispondano alle nostre ultime indicazioni UX. Di nota: display1 (40.sp) e display2 (34.sp) ora sono più piccoli dei loro valori precedenti e vari altri piccoli aggiornamenti all'altezza delle righe e all'interlinea sono stati apportati. (Ie3077)
- Abbiamo aggiunto resistenza a
SwipeToDismissBox
, in modo che il movimento si verifichi solo quando scorri per ignorare e non nella direzione opposta. (Ifdfb9). - Abbiamo modificato alcuni valori predefiniti dei parametri per le funzioni
CircularProgressIndicator
al fine di allinearle alle indicazioni relative all'esperienza utente di Wear Material Design. Per la versione Spinner/Indeterminata, sono state aggiornate le dimensioni (40->24.dp), IndicatorColor (primary->onBackground), la trasparenza trackColor (30%->10%) e lo spessore del tratto (4->3 dp). Per la versione Progress/Determinate, è stata aggiornata la trasparenza trackColor (30%->10%). (I659cc) - Abbiamo aggiornato i parametri di scalabilità predefiniti di
ScalingLazyColumn
in linea con le più recenti specifiche UX di Wear Material Design. A livello visivo, gli elementi dell'elenco iniziano a essere ridimensionati più vicino al centro dell'elenco, ma sono meno ridimensionati in corrispondenza 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
androidx.wear.compose:compose-foundation:1.0.0-alpha18
, androidx.wear.compose:compose-material:1.0.0-alpha18
e androidx.wear.compose:compose-navigation:1.0.0-alpha18
vengono rilasciati. La versione 1.0.0-alpha18 contiene questi commit.
Modifiche alle API
- Diversi miglioramenti all'indicatore PositionIndicator: ShowResult ha rinominato PositionIndicatorSyntax. Alcuni miglioramenti delle prestazioni per evitare di ripetere i calcoli quando non sono necessari (Iaed9d)
- La colorazione consigliata per
SplitToggleChip
è stata aggiornata. Gli elementi SplitToggleChip ora hanno uno sfondo in tinta unita quando sono selezionati o deselezionati. La colorazione del controllo VPAID è l'indicazione principale per stabilire se il componente è selezionato o meno. Abbiamo aggiunto un nuovoToggleDefaults.splitToggleChipColors()
per supportare la nuova combinazione di colori. Abbiamo anche semplificato i metoditoggleChipColors()
rimuovendo splitBackgroundOverlayColor (I7e66e) - Abbiamo aggiunto unadjustedSize a
ScalingLazyListItemInfo
perché non è sicuro calcolare la dimensione originale dell'elemento utilizzando la dimensione scalata e il fattore di scalabilità a causa della precisione dei calcoli matematici. (I54657, b/221079441) - Aggiungi
HorizontalPageIndicator
. Rappresenta il numero totale di pagine e una pagina selezionata. Potrebbe essere lineare o curva, a seconda della forma del dispositivo. Supporta inoltre una forma dell'indicatore personalizzata, che definisce il modo in cui ogni indicatore è rappresentato visivamente. (Iac898) - Abbiamo aggiornato
PickerState
in modo che sia possibile aggiornare numberOfOptions. Questo supporta casi d'uso comeDatePicker
, in cui il numero di giorni nel mese cambia in base al mese selezionato. Il parametro del costruttore per PickerState è stato modificato in startNumberOfOptions di conseguenza. (Iad066) - Nascondi
PositionIndicator
quando è una barra di scorrimento e non può scorrere. (Id0a7f) - Per garantire la coerenza con l'infrastruttura, il nostro componente Finestra di dialogo a schermo intero ora mostra un
PositionIndicator
e unVignette
. Ora stiamo utilizzando ancheScalingLazyColumn
anzichéColumn
, il che significa che i contenuti della finestra di dialogo sono ora inScalingLazyListScope
(e in genere devono essere racchiusi dall'elemento { /* content */ }). La finestra di dialogo supporta il parametro verticalArrangement di conseguenza. (Idea13) - Abbiamo modificato il nome della proprietà
ToggleChip
eSplitToggleChip
transformIcon in FoldControl per allinearci meglio a Material Design e aiutare progettisti e sviluppatori a navigare nell'API. (If5921, b/220129803) - Abbiamo aggiunto una nuova voce caption3 alla tipologia del tema materiale per l'usura.Caption3 è un piccolo carattere utilizzato per scrivere in formato extra lungo come testi legali. (I74b13, b/220128356).
Correzioni di bug
- Interrompi l'animazione di agganciamento quando ci siamo. (Idb69d)
- Animazione delle modifiche nell'indicatore di posizione. (I94cb9)
- In base al feedback dell'interfaccia utente e dell'esperienza utente, abbiamo modificato la centratura automatica di
ScalingLazyColumn
in modo da fornire solo spazio sufficiente per assicurarci che sia possibile scorrere fino al centro dell'area visibile per gli elementi con indiceScalingLazyListState.initialCenterItemIndex
o superiore. In questo modo gli sviluppatori possono posizionare inizialmente uno o due elementi relativi all'elemento al centro e non possono scorrere al centro. Ciò significa che unScalingLazyColumn
con centratura automatica non potrà scorrere soprainitialCenterItemIndex/initialCenterItemScrollOffset
(I22ee2) - Abbiamo aggiunto una demo per un Selettore di data e abbiamo corretto un bug in
PickerState
a causa del quale inizialmenteSelectedOption non veniva applicata finché il Selettore di date non era stato visualizzato. (Id0d7e) - Per ridurre il ritaglio degli elementi
ScalingLazyColumn
più larghi su schermi circolari, abbiamo aumentato la spaziatura interna dei contenuti orizzontale predefinita da 8 a 10 dp. (I0d609) - Assicurati che
PositionIndicator
venga visualizzato durante lo scorrimento. (Ied9a2).
Versione 1.0.0-alpha17
23 febbraio 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha17
, androidx.wear.compose:compose-material:1.0.0-alpha17
e androidx.wear.compose:compose-navigation:1.0.0-alpha17
vengono rilasciati. La versione 1.0.0-alpha17 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto Snap che può essere utilizzato con
ScalingLazyColumn
. ImpostaflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)
per attivare il supporto Snap. (I068d3, b/217377069) - Abbiamo aggiunto le demo per il selettore utilizzato per selezionare un'ora nel formato a 24 o 12 ore. (Ie5552)
Modifiche alle API
- Risolvi un problema relativo a
TimeText
caratteri e stili personalizzati sul dispositivo quadrato (Iea76e) ScalingLazyListLayoutInfo
ora hareverseLayout
,viewportSize
e proprietà di orientamento corrispondenti a quelle diLazyListLayoutInfo
(I4f258, b/217917020)ScalingLazyColumn
ora ha una proprietàuserScrollEnabled
corrispondente a quella diLazyList
(I164d0, b/217912513)- Per impostazione predefinita, i selettori hanno un gradiente nella parte superiore e inferiore (Iab92a)
Correzioni di bug
- Abbiamo modificato
ScalingLazyColumn
in modo che non riempia più avidamente tutti gli spazi dell'elemento principale. Prenderà invece la sua dimensione dalla dimensione dei suoi contenuti. Questo lo rende coerente con il comportamento diLazyColumn
. Se desideri ripristinare il comportamento precedente, passaModifier.fillMaxWidth()/width()/widthIn()
aScalingLazyColumn
(I51bf8) - Abbiamo migliorato il messaggio di eccezione in
SwipeDismissableNavHost.kt
che è stato attivato se il backstack di navigazione era vuoto. (I1b1dc)
Versione 1.0.0-alpha16
9 febbraio 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha16
, androidx.wear.compose:compose-material:1.0.0-alpha16
e androidx.wear.compose:compose-navigation:1.0.0-alpha16
vengono rilasciati. La versione 1.0.0-alpha16 contiene questi commit.
Nuove funzionalità
- Aggiungi
CircularProgressIndicator
. Gli indicatori di avanzamento mostrano la durata di un processo o un tempo di attesa non specificato. Supporta un intervallo (ritaglio) per TimeText o altri componenti, se utilizzato a schermo intero. (Iab8da).
Modifiche alle API
- I selettori ora hanno un parametro
flingBehavior
; il valore predefinito li fa agganciare all'opzione più vicina durante lo scorrimento o lo scorrimento. (I09000) - API numeri interi aggiuntiva per InlineSlider e Stepper (I1b5d6)
Correzioni di bug
- Il valore predefinito firstCenterItemIndex per
ScalingLazyListState
è stato modificato da 0 a 1. Ciò significa che, a meno che non venga eseguito l'override durante la creazione dello stato conScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =
)
, il secondo elemento dell'elenco (indice == 1) verrà posizionato al centro dell'area visibile al momento dell'inizializzazione e il primo (indice == 0) verrà posizionato prima di quest'ultimo. Ciò consente di ottenere un migliore effetto visivo predefinito, in quanto la maggior parte dell'area visibile sarà riempita con elementi di elenco. (I0c623, b/217344252) - Abbiamo ridotto il valore
ScalingLazyColumn
predefinitoextraPadding
fornito per assicurare che ci siano molti elementi dell'elenco da tracciare (anche quando ne riduciamo alcune dimensioni) dal 10% al 5%. In questo modo eviterai di comporre ulteriori elementi dell'elenco che potrebbero non apparire nell'area visibile. Se vengono utilizzati scalingParams non standard (ad esempio, una scalabilità più estrema), lo sviluppatore può modificare la spaziatura interna aggiuntiva utilizzandoviewportVerticalOffsetResolver
. (I76be4). - Risolvere un problema con TimeText su più righe sul dispositivo quadrato (Ibd3fb)
- Abbiamo modificato
ScalingLazyColumn
in modo che non riempia più avidamente tutti gli spazi dell'elemento principale. Prenderà invece la sua dimensione dalla dimensione dei suoi contenuti. Questo lo rende coerente con il comportamento diLazyColumn
. Se desideri reintegrare il comportamento precedente, passaModifier.fillMaxSize()
alScalingLazyColumn
. NOTA: questa modifica è incompleta e verrà risolta in una modifica successiva nella prossima release alpha. (I3cbfa)
Versione 1.0.0-alpha15
26 gennaio 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha15
, androidx.wear.compose:compose-material:1.0.0-alpha15
e androidx.wear.compose:compose-navigation:1.0.0-alpha15
vengono rilasciati. La versione 1.0.0-alpha15 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto una nuova proprietà
autoCentering
aScalingLazyColumn
. Se il valore è true (valore predefinito), questo garantisce che tutti gli elementi, inclusi il primo e l'ultimo, possano essere fatti scorrere in modo da essere 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 sono disponibili sia la centratura automatica che la spaziatura interna dei contenuti verticale, entrambi avranno a disposizione ulteriore spazio prima della prima e dopo l'ultima voce dell'elenco, consentendo un ulteriore scorrimento delle voci. (I2a282, b/214922490). - Abbiamo aggiunto un componente
Dialog
che consente a qualsiasi componibile di attivare una finestra di dialogo a schermo intero sovrapposta agli altri contenuti. Quando viene mostrata, la finestra di dialogo supporta lo scorrimento per ignorare e mostra i contenuti del genitore 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 inclusi nel pacchettoandroidx.wear.compose.material.dialog
. Gli avvisi e la conferma possono essere utilizzati come destinazioni della navigazione. Inoltre, è stato aggiunto ColumnScope ai parametri Avviso e Conferma, se necessario. (Ia9014) - Abbiamo rimosso
onSurfaceVariant2
dai colori del tema materiale di Compose per WearOS e sostituito gli utilizzi nella raccolta cononSurfaceVariant
. (Icd592) - È stato aggiunto un metodo per selezionare in modo programmatico un'opzione su
PickerState
. Ora è possibile specificare anche l'opzione inizialmente selezionata durante la creazione di unPickerState
. (I92bdf) - Abbiamo aggiunto il supporto della personalizzazione del comportamento del modello
ScalingLazyColumn
. (I1ad2e, b/208842968). - Abbiamo aggiunto
NavController.currentBackStackEntryAsState()
alla libreriaWear.Compose.Navigation
. (If9028, b/212739653) - Aggiunti
Modifier.onRotaryScrollEvent()
eModifier.onPreRotaryScrollEvent()
per i dispositivi Wear con pulsante laterale rotante.(I18bf5, b/210748686)
Versione 1.0.0-alpha14
12 gennaio 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha14
, androidx.wear.compose:compose-material:1.0.0-alpha14
e androidx.wear.compose:compose-navigation:1.0.0-alpha14
vengono rilasciati. La versione 1.0.0-alpha14 contiene questi commit.
Nuove funzionalità
Abbiamo aggiunto diversi metodi a
ScalingLazyListState
per consentire agli sviluppatori di controllare lo scorrimento fino a voci specifiche dell'elenco, nonché per impostare la voce iniziale e l'offset dell'elenco.Nell'ambito di questa modifica, abbiamo anche modificato ScalingLazyList in modo che sia orientato intorno al centro dell'area visibile di ScalingLazyList anziché all'inizio.
È stata aggiunta una nuova proprietà
anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
aScalingLazyList
per controllare se il centro (ScalingLazyListAnchorType.ItemCenter
) oEdge
(ScalingLazyListAnchorType.ItemStart
) deve essere allineato alla linea centrale dell'area visibile.Di conseguenza, i valori
ScalingLazyListItemInfo.offset
eScalingLazyListItemInfo.adjustedOffset
sono cambiati e ora rispecchieranno lo scarto dell'elemento rispetto alla posizione dell'elemento dell'elenco e aianchorType
dell'elenco. Ad esempio, per un elementoScalingLazyColumn
conanchorType
pari aItemCenter
e un elemento elenco posizionato con il centro rispetto alla linea centrale dell'area visibile, l'offset sarà pari a0
.I nuovi metodi sono
scrollTo
,animatedScrollTo
,centerItemIndex
ecenterItemOffset
. (I61b61)Abbiamo aggiunto un gestore del pulsante Indietro a
SwipeDismissableNavHost
, quindi premendo Indietro puoi tornare al livello precedente nella gerarchia di navigazione. (I5b086, b/210205624)
Versione 1.0.0-alpha13
15 dicembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha13
, androidx.wear.compose:compose-material:1.0.0-alpha13
e androidx.wear.compose:compose-navigation:1.0.0-alpha13
vengono rilasciati. La versione 1.0.0-alpha13 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto
RangeIcons
come interno (a cui fanno riferimentoInlineSlider
eStepper
). (I927ec)
Correzioni di bug
Risolto il problema per cui
SwipeDismissableNavHost
aggiungeva una destinazione alla gerarchia di Compose prima di raggiungere lo stato del ciclo di vitaCREATED
, generando un valoreIllegalStateException
. Questa correzione era un prerequisito per l'aggiornamento della dipendenza danavigation-compose
a2.4.0-beta02
e oltre. (I40a2b, b/207328687).È stata aggiunta una classe enum di Drawables per recuperare risorse disegnabili all'interno della libreria di Wear Compose, in modo che il riflesso non sia più necessario. È stato corretto un bug per cui gli elementi di disegno della raccolta venivano rimossi quando
minifyEnabled=true
oshrinkResources=true
. (Ib2a98)Sono stati aggiunti test per
Stepper
in Wear Compose (I2d03a)Sono stati aggiunti esempi per
SwipeDismissableNavHost
nella navigazione di Wear Compose. (I85f06)
Versione 1.0.0-alpha12
1° dicembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha12
, androidx.wear.compose:compose-material:1.0.0-alpha12
e androidx.wear.compose:compose-navigation:1.0.0-alpha12
vengono rilasciati. La versione 1.0.0-alpha12 contiene questi commit.
Nuove funzionalità
Abbiamo aggiunto un componente Stepper che consente agli utenti di effettuare una selezione da un intervallo di valori. Stepper è un controllo a schermo intero con pulsanti di aumento e diminuzione in alto e in basso e uno slot al centro (che dovrebbe contenere chip o testo). Se necessario, le icone dei pulsanti possono essere personalizzate. (I625fe)
Abbiamo aggiunto 2 nuovi componenti componibili per la visualizzazione delle finestre di dialogo: AlertDialog attende una risposta dell'utente e visualizza un titolo, un'icona, un messaggio e a) due pulsanti per semplici scelte positive/negative oppure b) chip impilati verticalmente o chip di attivazione/disattivazione per scelte più flessibili, ConfirmationDialog 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
androidx.wear.compose:compose-foundation:1.0.0-alpha11
, androidx.wear.compose:compose-material:1.0.0-alpha11
e androidx.wear.compose:compose-navigation:1.0.0-alpha11
vengono rilasciati. La versione 1.0.0-alpha11 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un componente selettore che consente all'utente di selezionare un elemento da un elenco 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à: agganciamento a un valore dopo scorrimento o scorrimento; aggiunta di 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 FillParentMaxSize/fillParentMaxLarghezza/fillParentMaxHeight per consentire il ridimensionamento 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. Questo espone la funzionalità già disponibile in LazyRow/Colonna (I4612f)
- Aggiunto il supporto a ScalingLazyColumn per consentire agli elementi di avere una chiave. Sono stati aggiunti anche metodi di convenienza per consentire l'aggiunta di elementi da array ed elenchi. (Ic1f89)
Correzioni di bug
- Esempi aggiuntivi per TimeText (I8cb64)
Versione 1.0.0-alpha10
3 novembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha10
, androidx.wear.compose:compose-material:1.0.0-alpha10
e androidx.wear.compose:compose-navigation:1.0.0-alpha10
vengono rilasciati. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
È stato aggiunto un InlineSlider per Wear Composer. 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 al nuovo Compose per WearOS Codelab.
Modifiche alle API
- Macrobenchmark ora ha un
minSdkVersion
pari a23
. (If2655)
Correzioni di bug
- Aggiorna la gestione della transizione in ScorriIgnoraableNavHost in un Effetto collaterale (I04994, b/202863359)
- Aggiorna la gestione della transizione in ScorriIgnoraableNavHost (I1cbe0, b/202863359)
Versione 1.0.0-alpha09
27 ottobre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha09
, androidx.wear.compose:compose-material:1.0.0-alpha09
e androidx.wear.compose:compose-navigation:1.0.0-alpha09
vengono rilasciati. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- Abbiamo lanciato l'anteprima per gli sviluppatori di Compose su Wear OS. Leggi il post del nostro blog in cui sono esaminati i principali componenti componibili e contiene i link a ulteriori risorse per iniziare a utilizzarli.
Modifiche alle API
- Abbiamo aggiunto il supporto per consentire agli sviluppatori di personalizzare tutti i colori nel tema colore e Material Design per Wear. (I4759b, b/199754668).
Correzioni di bug
- Sono stati aggiunti esempi di SwipeToIgnoraBox con stato persistente (Ibaffe)
- Sono stati aggiunti link alle guide developer.android.com da KDocs per CurvedText, TimeText e ScorriToDeployBox. (I399d4)
- ScorriIgnoraableNavHost ora viene generato se non esiste una destinazione corrente (indica che NavGraph non è stato creato con la funzione di utilità wear.compose.navigation.composable (I91403)
- Sono stati aggiunti esempi e documentazione aggiuntiva per l'utilizzo dell'origine temporale in TimeText (I4f6f0)
Versione 1.0.0-alpha08
13 ottobre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha08
, androidx.wear.compose:compose-material:1.0.0-alpha08
e androidx.wear.compose:compose-navigation:1.0.0-alpha08
vengono rilasciati. 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 poterle fornire come lambda finale. Inoltre,bodyColor
è stato rinominato incontentColor
per coerenza con i nuovi nomi degli slot. (I57e78).
Correzioni di bug
- Sono stati aggiunti link alle guide developer.android.com da Documenti Google per pulsanti, schede, chip, temi, indicatori di posizione e scalabilità dei componenti delle colonne lazy. (I22428)
- È stato risolto un problema che a volte non consente di gestire gli scorrimenti in WearOS. (I9387e)
- Sono stati aggiunti esempi per Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, VPAIDChip, SplitToggleChip (Iddc15)
- Sono stati aggiunti i test sulle prestazioni del microbenchmark per Card, Chip, FoldChip, TimeText e ScalingLazyColumn. (If2fe9)
Versione 1.0.0-alpha07
29 settembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha07
, androidx.wear.compose:compose-material:1.0.0-alpha07
e androidx.wear.compose:compose-navigation:1.0.0-alpha07
vengono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- È stato aggiunto un componente CurvedText nel materiale, un componente che consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare). (I19593)
Modifiche alle API
- Test aggiunti per TimeText (Idfead)
- Trasforma ArcPaddingValues in un'interfaccia. (Iecd4c).
- È stata aggiunta l'animazione a SwipeToDismissBox (I9ad1b)
- È stato aggiunto il parametro hasBackground all'API SwipeToBeforeBox in modo che il gesto di scorrimento possa essere disattivato quando non ci sono contenuti in background da visualizzare. (I313d8)
rememberNavController()
ora utilizza un insieme facoltativo di istanzeNavigator
che verrà aggiunto alleNavController
restituite per supportare meglio i navigatori facoltativi come quelli del materiale di navigazione accompagnato. (I4619e).- Fai riferimento a NamedNavArgument da navigation-common e rimuovi la copia da wear.compose.navigation. (I43af6).
Correzioni di bug
- È stata corretta l'instabilità del test CurvedRow sui dispositivi più piccoli. (If7941)
- È stato risolto il possibile sfarfallio su CurvedRow quando i contenuti vengono aggiornati e garantisce che la riga curva venga misurata nuovamente (Ie4e06)
- ChipDefaults.gradientBackgroundChipColors() è stato aggiornato in linea con le modifiche alle specifiche UX. Il gradiente ora inizia con MaterialTheme.colors.primary con alfa al 32,5% e termina con MaterialTheme.colors.surface con alfa allo 0% su uno sfondo di MaterialTheme.colors.surface al 75% di alfa. (Id1548)
- Abbiamo aggiornato i colori dei propri comandi a bilanciere nello stato selezionato in modo che corrispondano alle ultime indicazioni relative alle specifiche UX di Wear Material Design. Quando questa opzione è selezionata, ora ha uno sfondo sfumato da MaterialTheme.color.surface allo 0% alpha, in alto a sinistra, a MaterialTheme.color.primary al 32% alfa, in basso a destra, su uno sfondo di MaterialTheme.color.surface al 75% alfa. Ciò si traduce in una differenza più sottile tra gli elementi selezionati e quelli deselezionati per il FoldChip. (Idd40b)
Versione 1.0.0-alpha06
15 settembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha06
, androidx.wear.compose:compose-material:1.0.0-alpha06
e androidx.wear.compose:compose-navigation:1.0.0-alpha06
vengono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto Scaffold, un'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 una vignettatura per sfocare il bordo superiore e inferiore dello schermo per i contenuti scorrevoli. L'area principale dell'impalcatura è il punto in cui vengono posizionati i contenuti dell'applicazione. (I5e0bf)
- Aggiunta l'implementazione di TimeText per Wear Compose (I5654c)
Libreria di navigazione di Compose per Wear
Abbiamo aggiunto la prima release della libreria di navigazione Wear Compose, che offre l'integrazione tra le librerie di navigazione Wear Compose e Androidx. Offre un mezzo semplice per navigare tra le funzioni @Composable come destinazioni della tua applicazione.
Questa release iniziale fornisce:
- Un componibile
SwipeDismissableNavHost
che ospita un grafico di navigazione e consente di spostarsi a ritroso tramite gesti di scorrimento - Estensione
NavGraphBuilder.composable
per facilitare la creazione di grafici di navigazione rememberSwipeDismissableNavController()
per consentire lo stato di sollevamento
- Un componibile
Esempio di utilizzo in cui creiamo due schermate e passiamo da una all'altra:
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "start" ) { composable("start") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Button(onClick = { navController.navigate("next") }) { Text("Go") } } } composable("next") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Text("Swipe to go back") } } }
Wear Compose Navigation è pacchettizzato come libreria separata per fare 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 supportarerememberSaveable
mediante l'impostazione dell'identità chiave per lo sfondo e i contenuti (I746fd) - Abbiamo aggiunto un adattatore PositionIndicator in grado di gestire LazyListState (I21b88)
- Scorrimento per ignorare l'opzione Scorrimento riuscito aggiornato per supportare l'opzione ricordabile (Ie728b)
- Abbiamo aggiunto il supporto reverseLayout a ScalingLazyColumn. Ciò consente di invertire la direzione dello scorrimento e del layout (I9e2fc)
performGesture
eGestureScope
deprecati, che sono stati sostituiti daperformTouchInput
eTouchInjectionScope
. (Ia5f3f, b/190493367).- Abbiamo rinominato VignetteValue in VignettePosition e abbiamo rinominato VignetteValue.Both in VignettePosition.TopAndBottom. (I57ad7)
- Abbiamo rinominato ScalingLazyColumnState in ScalingLazyListState, ScalingLazyColumnItemInfo in ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo in ScalingLazyListLayoutInfo e ScalingLazyColumnScope in ScalingLazyListScope, nel caso in cui decidessimo di aggiungere un'implementazione ScalingLazyRow in futuro. (I22734)
Correzioni di bug
- La documentazione di CompactChip è stata aggiornata per descrivere cosa succede se non viene fornita né un'icona né un'etichetta. (I4ba88).
- Abbiamo apportato alcune modifiche ai componenti della scheda Wear. (I6b3d0)
- Spaziatura intertitolo tra Titolo e Corpo ridotta da 8.dp a 2.dp.
- Carattere dell'intestazione della scheda del titolo cambiato dal corpo al titolo 3.
- Gradiente di sfondo della scheda modificato per rendere lo sfondo più scuro.
Versione 1.0.0-alpha05
1° settembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha05
e androidx.wear.compose:compose-material:1.0.0-alpha05
vengono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche alle API
- Contrassegna ArcPaddingValues come @Stable (I57deb)
- ScalingLazyColumnState ora implementa l'interfaccia scrollableState, che fornisce agli sviluppatori l'accesso programmatico per far scorrere il componente. (I47dbc)
Correzioni di bug
- Abbiamo ridotto la spaziatura tra l'icona e il testo in chip e Attiva/Disattiva Chip per allinearli agli aggiornamenti delle specifiche UX. (I83802)
Versione 1.0.0-alpha04
18 agosto 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha04
e androidx.wear.compose:compose-material:1.0.0-alpha04
vengono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- Sono stati aggiunti un volume Scorri per ignorare e un modificatore di scorrimento che è possibile usare per supportare il gesto di scorrimento da sinistra a destra per ignorare. Sebbene sia indipendente dai componenti di navigazione, questa opzione dovrebbe essere utilizzata per uscire da una schermata e passare a un'altra. Sono stati aggiunti test di integrazione per la dimostrazione dello scorrimento per ignorare l'annuncio. (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 veniva calcolato il ridimensionamento quando viene applicata la spaziatura interna dei contenuti "in alto" a ScalingLazyColumn. (I27c07).
Modifiche alle API
- Aggiungi la classe CurvedTextStyle per specificare le opzioni di stile del testo curvo. Simile a TextStyle, ma ora supporta solo 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 veniva calcolato il ridimensionamento quando viene applicata la spaziatura interna dei contenuti "in alto" a ScalingLazyColumn. (I27c07).
- Aggiunto
@ExperimentalWearMaterialApi
all'enumerazioneSwipeDismissTarget
, parte dell'APISwipeToDismissBox
. (I48b5e).
Correzioni di bug
- È stato aggiunto il materiale di test per SwipeToDismissBox (I9febc)
Versione 1.0.0-alpha03
4 agosto 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha03
e androidx.wear.compose:compose-material:1.0.0-alpha03
vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche alle API
- Aggiunto il componente CurvedText, che consente agli sviluppatori di scrivere facilmente testo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare) (Id1267)
- Abbiamo rinominato
CardDefaults.imageBackgroundPainter()
inCardDefaults.imageWithScrimBackgroundPainter()
per chiarire che l'immagine di sfondo con un reticolo disegnato. (I53206) - Aggiunta del componente ScalingLazyColumn che fornisce un componente elenco per il materiale di Wear che offre una visualizzazione fisheye con i contenuti dell'elenco che vengono ridimensionati e diventano trasparenti se 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 di appName è ora
MaterialTheme.colors.onSurfaceVariant
. È stata inoltre aggiunta una descrizione del documento dei parametri mancante per l'area del titolo. (Ic4ad1)
Versione 1.0.0-alpha02
21 luglio 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha02
e androidx.wear.compose:compose-material:1.0.0-alpha02
vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- È stata aggiunta una nuova classe CurvedRow per disporre i componibili in un arco (I29941)
- È stato aggiunto un nuovo tipo di schede da utilizzare nelle applicazioni (TitleCard); è stato inoltre aggiunto il supporto dell'utilizzo di immagini come sfondo per le schede per metterne in evidenza i contenuti (I53b0f)
Modifiche alle API
- Aggiungi il supporto per l'allineamento radiale a CurvedRow (simile all'allineamento verticale in una riga) (Id9de5)
- Aggiungi una nuova classe CurvedRow per disporre i componibili in un arco (I29941)
- È stato aggiunto un nuovo tipo di schede da utilizzare nelle applicazioni (TitleCard); è stato inoltre aggiunto il supporto dell'utilizzo di immagini come sfondo per le schede per metterne in evidenza i contenuti (I53b0f)
- Aggiunta di icone di attivazione/disattivazione (casella di controllo, opzione e pulsanti di opzione) a Attivazione/disattivazioneChipDefaults per semplificare la configurazione di Attivazione/disattivazioneChip e SplitToggleChips (I7b639)
- La spaziatura interna dei contenuti di inizio e fine per i chip è stata aggiornata in modo da essere costantemente pari a 14.dp indipendentemente dalla presenza o meno di un'icona nel chip (in precedenza era 12.dp se l'icona era presente e 14.dp in caso contrario) (I34c86)
Correzioni di bug
- Aggiungere test per CurvedRow (I93cdb)
- Collegamento delle dipendenze di Wear Compose a Compose 1.0.0-rc01. (Ie6bc9).
- È stata modificata la gestione 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 Pulsante e Pulsante Pulsante. (5e27ed2).
- Sono stati aggiunti altri test del chip per coprire i colori dei contenuti di imageBackgroundChips (Ia9183)
Versione 1.0.0-alpha01
1° luglio 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha01
e androidx.wear.compose:compose-material:1.0.0-alpha01
vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Wear Compose è una libreria basata su Kotlin, Compose, che supporta il design Wear Material Design, un'estensione di Material Design per gli indossabili WearOS. Questa prima versione alpha contiene implementazioni iniziali e funzionali dei seguenti elementi:
- Tema Material: consente di configurare colori, tipografia e forme in modo coerente tra i componenti utilizzati da questa libreria.
- Chip, CompactChip: le fiches hanno la forma di uno stadio e sono disponibili varianti per prendere i contenuti di icone, etichette ed etichette secondarie.
- - Attivazione/disattivazione, SplitToggleChip: un tipo specializzato di chip che include uno slot per un'icona di attivazione/disattivazione a due stati, ad esempio un pulsante di opzione o una casella di controllo. Inoltre, SplitToggleChip ha due aree toccabili, una cliccabile e una attivabile.
- Pulsante, CompactButton: i pulsanti hanno forma circolare, con un'unica fessura per i contenuti che può contenere un'icona o testo minimo (massimo 3 caratteri).
- Pulsante di attivazione/disattivazione: un pulsante che attiva o disattiva un'azione, con un'unica area per l'icona o testo minimo (massimo 3 caratteri).
- Scheda, AppCard: di forma rettangolare con angoli arrotondati e offre slot per contenuti quali l'icona dell'app, l'ora, il titolo e il corpo.
Le versioni future estenderanno il set di widget aggiungendo il supporto per selettori, dispositivi di scorrimento, elenchi, indicatori di pagina, finestre di dialogo, indicatori dell'rsb di scorrimento, toast e altro ancora.
Verrà inoltre fornito supporto per altre funzionalità specifiche per i dispositivi indossabili, come layout curvi e testo, oltre a impalcature che semplificano la creazione di app/overlay indossabili per gli sviluppatori.
Wear Compose Material è stato progettato con gli stessi principi di Compose Material, anche se è rivolto agli indossabili. La raccolta Compose Material di Wear deve essere utilizzata al posto della raccolta Compose Material durante la creazione di un dispositivo indossabile.
Le due librerie "Material" devono essere considerate che si escludono a vicenda e non devono essere combinate nella stessa app. Se gli sviluppatori si ritrovano a includere la libreria Compose Material nelle loro dipendenze, ciò suggerirà che a) manchino alcuni componenti nella libreria di Wear Compose Material, comunicaci cosa ti serve oppure b) stiano usando un componente che sconsigliamo di usare su un dispositivo indossabile.