Wear Compose
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Alpha Release |
---|---|---|---|---|
2 luglio 2025 | 1.4.1 | - | 1.5.0-beta05 | - |
Dichiarazione di dipendenze
Per aggiungere una dipendenza a Wear, devi aggiungere il Repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli artefatti che ti servono nel file build.gradle
per
la tua app o il tuo modulo:
Alla moda
dependencies { implementation "androidx.wear.compose:compose-foundation:1.4.1" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.4.1" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.4.1" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.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.4.1") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.4.1") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.4.1") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.1") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa libreria. 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 versione 1.5
Versione 1.5.0-beta05
2 luglio 2025
androidx.wear.compose:compose-*:1.5.0-beta05
viene ritirata. La versione 1.5.0-beta05 contiene questi commit.
Correzioni di bug
- Aggiornata la documentazione per chiarire l'utilizzo di
Modifier.edgeSwipeToDismiss
(I78cb5) - È stato risolto un bug a causa del quale potevano essere visualizzati più elementi rivelati con
SwipeToReveal
negli elenchi pigri (I1d4f6) - Le forme dei contenitori in
TransformingLazyColumn
ora vengono scalate per evitare il troncamento dei contenuti. (I9221a) - Le etichette
TimePicker
eDatePicker
per ora/minuto/secondo o anno/mese/giorno ora hanno una semantica di intestazione per gli screen reader (I77d8b). - Rimossa la pausa tra i loop nell'intent indeterminato
CircularProgressIndicator
(Iaf0bb) - È stato corretto un bug dell'animazione in
TransformingLazyColumn
quando vengono rimossi elementi. (I73034) - È stata corretta la gestione degli elementi di ancoraggio in
TransformingLazyColumn
quando gli elementi vengono rimossi. (I841a8) PickerGroup
ora anima i selettori orizzontalmente quando il centraggio automatico è attivato e il selettore selezionato (centrato) viene modificato. (Ic82c4)
Versione 1.5.0-beta04
18 giugno 2025
androidx.wear.compose:compose-*:1.5.0-beta04
viene ritirata. La versione 1.5.0-beta04 contiene questi commit.
Correzioni di bug
- È stato corretto un bug di layout in
TransformingLazyColumn
, in cui i contenuti che rientrano nello schermo ora sono allineati correttamente dalla parte superiore dello schermo (I80115). - È stato risolto un problema relativo a
TransformingLazyColumn
per cui l'elemento in basso veniva scalato in modo errato durante lo scorrimento fino alla fine di un elenco con unEdgeButton
. Ora l'avanzamento dello scorrimento segue una discesa del gradiente durante il ripristino del layout. (Iea375) TransformingLazyColumn
ora legge l'altezza dell'elemento all'interno del pittore di sfondo, il che consente aTransformationSpecs
personalizzati di implementare la trasformazione. (I022f0)SwipeToReveal
ora centra verticalmente le azioni visualizzate in modo corretto. (I4419b)- È stato corretto un bug in
SwipeToReveal
che impediva il corretto funzionamento dello scorrimento per chiudere se sullo schermo erano in uso sia le visualizzazioni che la composizione. (I5dc0e) - È stato corretto un bug per cui le azioni
SwipeToReveal
venivano disegnate con un offset verticale durante lo scorrimento. (I29444) AlertDialog
,ConfirmationDialog
,OpenOnPhoneDialog
eSwipeToReveal
ora arrotondano per eccesso i margini interni e le dimensioni calcolate come percentuale delle dimensioni dello schermo. (I76367)ButtonDefaults.outlinedButtonBorder
ora si aggiorna in seguito alle modifiche dello stato abilitato/disabilitato size(If2ddd)- È stato corretto un bug nell'altezza di
EdgeButton
che si verificava su schermate complesse con Pager eScreenScaffold
. (I946e3) - È stata corretta una race condition che poteva causare l'interruzione delle animazioni segnaposto. (I53530)
- Miglioramento delle prestazioni di
HorizontalPageIndicator
eVerticalPageIndicator
grazie al disegno su Canvas. (Ifae1e) - È stata perfezionata la forma del pulsante Edge per rendere più fluide le transizioni tra i puntini e i cerchi che compongono il contorno. (I7721e)
- È stato corretto un bug in
LevelIndicator
che causava l'interruzione delle animazioni a causa di ricomposizioni non necessarie. (I45d08)
Versione 1.5.0-beta03
4 giugno 2025
androidx.wear.compose:compose-*:1.5.0-beta03
viene ritirata. La versione 1.5.0-beta03 contiene questi commit.
Modifiche alle API
OpenOnPhoneDialog
ora annuncia solo il testo del messaggio in TalkBack e salta la semantica delle icone.OpenOnPhoneDialogDefaults
sono stati aggiornati per rimuovereiconContentDescription
e il parametrocontentDescription
daicon()
. Inoltre,ConfirmationDialogDefaults
ora ha parametri di modificatore sui composableSuccessIcon
eFailureIcon
. (Id2ae2)
Correzioni di bug
- È stato modificato l'ordine in cui viene applicato l'effetto dei parametri
SurfaceTransformation
. In precedenza, le trasformazioni applicate ai componenti Wear Material3 venivano eseguite nel seguente modo: pittore dello sfondo, trasformazione del contenitore, trasformazione dei contenuti. Ora, i primi due sono invertiti e applichiamo qualsiasi modificatore passato tra loro, quindi è influenzato dalle trasformazioni del contenitore. In questo modo vengono risolti casi come l'utilizzo di un effetto luccichio segnaposto con elementi in un TLC utilizzando il parametro di trasformazione. (I786cf) RevealState.Saver
è stato aggiunto per essere utilizzato per ripristinare lo stato diSwipeToReveal
quando l'attività o il processo viene ricreato. La funzionerememberRevealState
ora utilizza questo risparmiatore per impostazione predefinita. (Ie0ecb)- I pulsanti delle azioni principali e secondarie
SwipeToReveal
devono essere impostati per impostazione predefinita suButtonDefault.Height
(è stato corretto un bug che riempiva l'altezza massima per i pulsanti più alti). (Ibfba1) - È stato modificato
SwipeToReveal
per reimpostare l'ultimo componente con cui è stata eseguita un'interazione quando viene eseguito il gesto di scorrimento verso destra. (Ia8450) SwipeToReveal
è stato modificato per impostare lo statoRevealing
quando la posizione finale dello scorrimento si trova tra gli ancoraggi di visualizzazione e visualizzato ed è più vicina all'ancoraggio di visualizzazione. (If4458)- Ora i contenuti di
ButtonGroup
sono invertiti correttamente in un layout RTL (Ib378d) AnimatedText
ora supporta la direzione del testo da destra a sinistra (I4533c)TransformingLazyColumn
ora ridimensiona correttamente gli elementi quando viene rimosso l'elemento in basso (Idacab)TransformingLazyColumn
ora esegue un solo passaggio di misurazione, il che migliora le prestazioni riducendo i tempi dei frame. (I501a1)
Versione 1.5.0-beta02
20 maggio 2025
androidx.wear.compose:compose-*:1.5.0-beta02
viene ritirata. La versione 1.5.0-beta02 contiene questi commit.
Correzioni di bug
- Profili di base aggiornati per le librerie foundation, material e material3. (I53f06)
- È stato corretto un bug in
TransformingLazyColumn
, in cui le dimensioni degli elementi venivano modificate quando l'elemento in basso veniva rimosso. (Idacab) - È stato corretto un bug relativo a
TransformingLazyColumn
, quando l'elenco rimaneva bloccato in alto o in basso. (I49d00) OpenOnPhoneDialog
in TalkBack dovrebbe annunciare il testo curvo, anziché la descrizione dei contenuti dell'icona. (I4efe8)- È stato corretto un bug in
SwipeToReveal
che segnalava l'ancora errata inRevealState.currentValue
quandohasPartiallyRevealedState
è impostato su false. (I9c7cf) - I pulsanti
SwipeToReveal
Annulla sono oraButtonDefaults.Height
per impostazione predefinita. (I1f6c8) - Le prestazioni di
BasicSwipeToDismissBox
sono state migliorate eliminando l'utilizzo di Canvas per disegnare le protezioni. (I68f2c) - È stato corretto un bug di accessibilità in Slider, in cui la percentuale annunciata non corrispondeva al valore dopo gli aggiornamenti (I91146).
- È stato corretto un bug relativo all'implementazione di
placeholderShimmer
. (Iee39b - Il rendimento di
TransformingLazyColumn
è stato migliorato ottimizzando il calcolo diScrollProgress
del 30%. (I4c4cb)
Versione 1.5.0-beta01
7 maggio 2025
androidx.wear.compose:compose-*:1.5.0-beta01
viene ritirata. La versione 1.5.0-beta01 contiene questi commit.
La release 1.5.0-beta01 di Compose for Wear OS indica che questa release della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale).
Wear Compose 1.5.0-beta01 include la libreria Wear Compose Material3, che supporta il nuovo sistema di progettazione dell'interfaccia utente chiamato Material 3 Expressive. Ti consigliamo di eseguire l'upgrade da Material a Material3 per adottare il nuovo design visivo nelle app e sfruttare i nuovi componenti nel seguente modo:
MaterialTheme
per combinazioni di colori, tipografia e forme aggiornate ed estese per dare profondità e varietà ai tuoi progetti.- Temi Dynamic Color che generano automaticamente una combinazione di colori per l'app in modo che corrispondano ai colori del quadrante.
- Per impostazione predefinita, i nuovi componenti si adattano automaticamente alle dimensioni dello schermo più grandi
- Morphing delle forme: i componenti dei pulsanti rotondi come
IconButton
,TextButton
,IconToggleButton
eTextToggleButton
supportano variazioni che vengono animate quando vengono premuti o selezionati. EdgeButton
: un nuovo pulsante che si adatta al bordo con una forma speciale progettata per la parte inferiore dello schermo.- Strutture: introduzione di
AppScaffold
eScreenScaffold
per definire la struttura della schermata e coordinare le animazioniScrollIndicator
eTimeText
. - Pulsanti: sono supportati numerosi pulsanti a forma di stadio con contenitori flessibili a un solo slot e varianti multi-slot per pulsanti con icone ed etichette.
CheckboxButton
eSwitchButton
vengono forniti quando sono necessari pulsanti di attivazione/disattivazione, mentreRadioButton
è il pulsante di selezione disponibile (vengono fornite anche le varianti "Dividi" dei pulsanti di attivazione/disattivazione e di selezione). ButtonGroup
: implementa un gruppo espressivo di pulsanti in una riga che cambiano forma quando vengono toccati.- Le varianti
AlertDialog
supportano i pulsanti OK/Annulla o unEdgeButton
. ConfirmationDialog
è disponibile per visualizzare un messaggio con un timeout, supportando animazioni speciali per le varianti di operazione riuscita, non riuscita e apertura sullo smartphone.- Sono supportate anche le varianti dei selettori
TimePicker
eDatePicker
, nonché i componenti Selettore ePickerGroup
per creare le tue schermate del selettore. ProgressIndicators
: sono supportati gli indicatori di avanzamento circolari e lineari (CircularProgressIndicator
presenta varianti segmentate e indeterminate).- Schede: sono disponibili diverse varianti di schede, tra cui
TitleCard
, che offre layout specifici per schede con titolo, ora, sottotitoli codificati o slot di contenuti.TitleCard
può anche avere un'immagine di sfondo per rafforzare il significato delle informazioni in una scheda. - I componenti Pager
HorizontalPagerScaffold
,VerticalPagerScaffold
eAnimatedPage
coordinano le animazioniHorizontalPageIndicator
eVerticalPagerIndicator
.HorizontalPager
eVerticalPager
vengono rilasciati nella libreria Wear Compose Foundation. - Segnaposto: disegna una forma scheletrica su un componente, per le situazioni in cui non sono disponibili contenuti provvisori.
- Dispositivi di scorrimento e incrementi: entrambi consentono agli utenti di effettuare una selezione da un intervallo di valori. I cursori sono più compatti e possono essere segmentati, mentre il componente Stepper è a schermo intero e in genere è abbinato a un
StepperLevelIndicator
. SwipeToReveal
: utilizzato per aggiungere azioni aggiuntive a un elemento componibile quando viene eseguito uno scorrimento da destra a sinistra.
Inoltre, Wear Compose Foundation 1.5.0-beta01 include questi nuovi componenti:
TransformingLazyColumn
: un elenco a scorrimento verticale pigro che supporta le animazioni di scalabilità e morphing- Gruppi di messa a fuoco gerarchici: utilizzati per annotare i componenti combinabili in un'applicazione, per tenere traccia della parte attiva della composizione e coordinare la messa a fuoco.
- Pager: componenti
HorizontalPager
eVerticalPager
, basati sui componenti di Compose Foundation con miglioramenti specifici per Wear per migliorare le prestazioni e il rispetto delle linee guida di Wear OS.
Modifiche alle API
- È stata aggiornata l'API Hierarchical Focus: è stato rinominato
Modifier.hierarchicalFocus
inModifier.hierarchicalFocusGroup
ed è stato rimosso il parametro di callback; è stato rimosso l'overload diModifier.hierarchicalFocusRequester
con un parametroFocusRequester
; sono stati creati nuoviCompositionLocal
eLocalScreenIsActive
in modo che i componenti possano comunicare e controllare quale schermo è attivo. (I5ff7c). - È stato ritirato
SwipeToReveal
da Wear Compose Foundation a favore delle APISwipeToReveal
in Wear Compose Material e Wear Compose Material3. Sostituisci le importazioni di Wear FoundationSwipeToReveal
con le importazioni di Wear Compose Material/ Wear Compose Material3 per continuare a utilizzare le API. (Ia147d). - Le dipendenze di Wear Compose Material3
SwipeToReveal
da Foundation sono state spostate nel pacchetto material3, ad esempioRevealValue
,RevealDirection
,RevealActionType
,RevealState
,rememberRevealState
. Gli sviluppatori devono modificare le importazioni di queste classi e funzioni daandroidx.wear.compose.foundation
aandroidx.wear.compose.material3
. (I640e6). - È stata aggiornata l'API Wear Compose Material3
SwipeToReveal
come segue: sono stati aggiunti i parametriprimaryAction
,onFullSwipe
,secondaryAction
,undoPrimaryAction
,undoSecondaryAction
ehasPartiallyRevealedState
al composableSwipeToReveal
; è stata rimossa la possibilità di personalizzarepositionalThreshold
eanimationSpec
daRevealState
; sono stati rimossilastActionType
,revealThreshold
e la larghezza daRevealState
; è stato modificato il costruttoreRevealState
in modo che accetti unRevealDirection
anziché gli ancoraggi; sono state rimosse le funzionicreateRevealAnchors
, gli ancoraggi ebidirectionalAnchors
; le funzioniSwipeToRevealScope
primaryAction
,secondaryAction
,undoPrimaryAction
eundoSecondaryAction
sono state rinominatePrimaryActionButton
,SecondaryActionButton
,UndoActionButton
e trasformate in funzioni composable;RevealActionType
è stato contrassegnato come interno. (I885d0). - Ulteriore aggiornamento dell'API
SwipeToReveal
come segue: rinominatoonFullSwipe
inonSwipePrimaryAction
; rinominatoSwipeToRevealNonAnchoredSample
per indicare l'utilizzo del parametrohasPartiallyRevealedState
; rimossoactionButtonHeight
, poiché il valore predefinito è l'altezza predefinita del pulsante e l'altezza maggiore può essere impostata utilizzando un modificatore; rimossoSmallActionButtonHeight
daSwipeToRevealDefaults
; reso privato il parametro value nei costruttoriRevealValue
eRevealDirection
. (I465ce).
Correzioni di bug
- È stata corretta la gestione di
ScreenScaffold
diEdgeButton
in modo che, dopo la rimozione di un elementoTransformingLazyColumn
,EdgeButton
venga animato in posizione. (I6d366). - Aggiornamento delle dipendenze di Wear Compose dalle librerie Compose alla versione 1.8.0. (I2ef3f).
- È stato aggiornato il movimento dell'indeterminate
CircularProgressIndicator
in modo che non regredisca più temporaneamente. (Ieddb1). - È stato corretto un bug di
SwipeDismissableNavHost
: il focus non veniva spostato correttamente dopo lo scorrimento indietro, causando un errore di input rotativo (per API 36+, che utilizza la navigazione predittiva). (Ieddb1). - Documentazione modificata per l'API Hierarchical Focus (Idf2ff).
- È stata aggiornata la documentazione per i pulsanti e le schede per indicare come
containerPainter
edisabledContainerPainter
sostituisconocontainerColor
edisabledContainerColor
(I4a453). - È stato ripristinato una modifica a
TimeText
nella release precedente che spostavaBroadcastReceiver
in un thread di lavoro, perché causava problemi per le app che gestiscono i propri thread durante la navigazione. (I34d02). - Sono stati aggiornati gli esempi di Picker per rimuovere le chiamate remember non necessarie e utilizzare invece
rememberUpdatedState
in Picker per memorizzare l'ultima funzione lambdacontentDescription
. (Icb5b1). - Gli stili di testo in
TimePicker
eDatePicker
sono stati aggiornati in modo che le modifiche al carattere non comportino più il troncamento. (I26194). ListHeader
eListSubHeader
ora allineano il testo al centro e all'inizio, rispettivamente. (I78339).- Sono stati aggiornati gli esempi e le demo di Foundation e Material Swipe to Reveal per annunciare le azioni di accessibilità personalizzate (le azioni personalizzate devono essere aggiunte come semantica ai contenuti, non al composable
SwipeToReveal
stesso). (Ie92a3). - È stato aggiornato il valore predefinito di
MaxLines
impostato sui contenutiEdgeButton
in base alle dimensioni: ora è 1 per le dimensioni extra small, 2 per le dimensioni small e medium e 3 per le dimensioni large. (Ie35f6). LocalReduceMotion
semplificato in modo che l'osservatore venga registrato una sola volta, per migliorare il rendimento. (Ib1979).- È stato ridotto al minimo il numero di ridisegni in
ScrollIndicator
per migliorare le prestazioni. (Ia7a67). - È stato corretto un bug in
TransformingLazyColumn
, a causa del quale l'elemento visibile in alto nell'elenco non veniva scalato correttamente quando EdgeButton raggiungeva la sua altezza massima. (I30580).
Versione 1.5.0-alpha14
23 aprile 2025
androidx.wear.compose:compose-*:1.5.0-alpha14
viene ritirata. La versione 1.5.0-alpha14 contiene questi commit.
Modifiche alle API
- Tutte le dipendenze di Material
SwipeToReveal
da FoundationSwipeToReveal
sono state spostate nel pacchetto Material, ad esempioRevealValue
,RevealDirection
,RevealActionType
,RevealState
,rememberRevealState
. Gli sviluppatori devono modificare le importazioni di queste classi e funzioni daandroidx.wear.compose.foundation
aandroidx.wear.compose.material
. (Ib7cb8) - L'API di
HierarchicalFocusCoordinator
è stata aggiornata in modo che siano modificatori anziché componibili. - Note sulla migrazione:
HierarchicalFocusCoordinator(function, content)
può essere sostituito aggiungendo unModifier.hierarchicalFocus(function())
acontent
o al composable contenitore.ActiveFocusListener { if (it) focusRequester.requestFocus() }
può essere sostituito aggiungendoModifier.hierarchicalFocusRequester(focusRequester)
- Altri utilizzi più rari di
ActiveFocusListener
possono utilizzare il nuovo parametro suModifier.hierarchicalFocus
focusRequester(rememberActiveFocusRequester())
può essere sostituito dahierarchicalFocusRequester()
val focusRequester = rememberActiveFocusRequester()
può essere sostituito daremember { FocusRequester() }
e dall'aggiunta diModifier.hierarchicalFocusRequester(focusRequester)
. (Ie319a)
Correzioni di bug
- La soglia di velocità che i gesti di scorrimento devono superare per attivare un cambio di stato è stata aumentata per i seguenti componenti:
SwipeToReveal
,BasicSwipeToDismissBox
eSwipeDismissableNavHost
(solo per API 35 e versioni precedenti perSwipeDismissableNavHost
). (If47bf) - È stato risolto un problema di animazione quando vengono aggiunti nuovi elementi in
TransformingLazyColumn
. (I589b2)
Versione 1.5.0-alpha13
9 aprile 2025
androidx.wear.compose:compose-*:1.5.0-alpha13
viene ritirata. La versione 1.5.0-alpha13 contiene questi commit.
Modifiche alle API
- I progetti rilasciati con Kotlin 2.0 richiedono l'utilizzo di KGP 2.0.0 o versioni successive (Idb6b5)
- Proprietà
targetPage
aggiunta aPagerState
(I4de8b)
Correzioni di bug
- Evita la ricomposizione non necessaria durante l'animazione Indietro predittiva. (Iecd6d)
- È stata corretta la proprietà
isScrollable
diScrollInfoProvider
per restituire il valore corrente. (Icbfb8)
Versione 1.5.0-alpha12
26 marzo 2025
androidx.wear.compose:compose-*:1.5.0-alpha12
viene ritirata. La versione 1.5.0-alpha12 contiene questi commit.
Modifiche alle API
- Migliora l'implementazione predefinita di
SwipeToReveal
digestureInclusion
in modo da ignorare i gesti solo se lo stato del componente è Covered. (I7e3d6) - Per
SwipeToReveal
,bidirectionalGestureInclusion
è stato reso un valore anziché una funzione ed è stato aggiunto@FloatRange
al parametroedgeZoneFraction
ingestureInclusion
. (Ica7c3)
Correzioni di bug
- Modifica
SwipeToReveal
bidirectionalGestureInclusion
per restituire un oggetto anziché una classe. (I29597) - È stato disattivato l'uso della tecnologia aptica durante l'esecuzione dei test in
RoboElectric
. (I58bd1) - Aggiorna le spaziature interne
SwipeToReveal
tra i contenuti e i pulsanti di azione, nonché la spaziatura interna tra l'icona e il testo dei pulsanti di azione. (Ic46cb)
Versione 1.5.0-alpha11
12 marzo 2025
androidx.wear.compose:compose-*:1.5.0-alpha11
viene ritirata. La versione 1.5.0-alpha11 contiene questi commit.
Modifiche alle API
- È stato aggiornato
PagerState
, rimuovendo Compose FoundationPagerState
come classe base e aggiungendo le proprietàcurrentPage
,currentPageOffsetFraction
epageCount
. È stata aggiornata l'interfacciaGestureInclusion
, rinominando il metodo inignoreGestureStart
. (I4ae07) - Aggiungi
requireOffset
aSwipeToDismissBoxState
come modo consigliato per ottenere un offset diSwipeToDismissBoxState
. (I21042) - Aggiunta di
CurvedModifier.semantics
, inizialmente con supporto per la descrizione dei contenuti e l'indice di attraversamento (I0b093) - Abbiamo aggiunto
CurvedModifier.clearAndSetSemantics
per fornire un mezzo per disattivare la semantica curva.CurvedText
continua a impostare come predefinita la descrizione dei contenuti sul testo, matimeTextCurvedText
etimeTextSeparator
ora non annunciano i propri contenuti. (I4b568) - La gestione predefinita dei gesti di scorrimento di
HorizontalPager
è stata rinominata inPagerDefaults.gestureInclusion
. Il comportamento predefinito ora prevede di ignorare solo i gesti di scorrimento che iniziano sul bordo sinistro della prima pagina e solo quando TalkBack è disattivato. Negli altri casi, il comportamento predefinito prevede che i gesti di scorrimento non vengano ignorati dal pager, quindi non saranno disponibili per i gestori di scorrimento per chiudere. (Iee486) - Aggiunta la funzionalità di overscroll rotativo per l'API
rotaryScrollable
. Sono stati aggiunti lo scorrimento eccessivo e lo scorrimento nidificato al comportamento di scorrimento rapido dirotaryScrollable
. Questa modifica dovrebbe rendere la funzionalità di overscroll e scorrimento nidificato simile tra lo scorrimento tattile e lo scorrimento rotativo. (I71926) - È stato aggiunto il supporto per una zona di scorrimento dal bordo a
SwipeToReveal
. Il comportamento predefinito di FoundationSwipeToReveal
ora è quello di non consentire lo scorrimento quando il gesto inizia dal bordo. Il comportamento predefinito di Material3SwipeToReveal
ora è quello di non consentire lo scorrimento quando il gesto inizia dal bordo, quandoSwipeDirection
è impostato su una sola direzione. (I32ef0) - Ora TLC utilizza per impostazione predefinita contentPadding vuoto anziché centrare il primo e l'ultimo elemento. (I77ab7)
Correzioni di bug
- Le librerie Wear Compose sono state aggiornate al compilatore Kotlin 2.0. (I2de79)
- È stato corretto l'esempio di
LetterSpacing
curvo sulla base. (Iebf7c)
Versione 1.5.0-alpha10
26 febbraio 2025
androidx.wear.compose:compose-*:1.5.0-alpha10
viene ritirata. La versione 1.5.0-alpha10 contiene questi commit.
Modifiche alle API
- Rendi pubblico
SwipeToRevealDefaults
. (I0c34c) - Abbiamo sostituito il parametro
swipeToDismissEdgeZoneFraction
inHorizontalPager
. È stato invece introdotto un nuovo parametro,gestureInclusion
, che può essere utilizzato per ottenere lo scorrimento necessario per chiudere.gestureInclusion
accetta un'istanza diGestureInclusion
che decide se l'evento di scorrimento successivo deve procedere o meno. Se consenti un gesto, il pager lo utilizza. In caso contrario, verrà gestito altrove, ad esempio da un gestore di scorrimento per chiudere. Il nuovo comportamento predefinito consiste nel non consentire i gesti sul bordo più a sinistra della prima pagina del pager e quindi consentire lo scorrimento per chiudere in questa regione. Tutte le altre pagine consentiranno al pager di utilizzare tutti i gesti, il che significa che non è possibile attivare lo scorrimento per chiudere. Per ottenere il comportamento di scorrimento per chiudere su tutte le pagine, fornisci semplicemente un'istanzaGestureInclusion
personalizzata (vediPagerDefaults.disableLeftEdgeOnFirstPage
) che ignori la pagina corrente. Un'altra modifica sostanziale introdotta qui è che il componente Pager non è più a schermo intero per impostazione predefinita. Aggiungi inveceModifier.fillMaxSize()
per ottenere questo comportamento. (I9d3aa) - Abbiamo rinominato
createAnchors
increateRevealAnchors
nell'API swipe-to-reveal(If5999) - Abbiamo rimosso
RevealScope
dall'API di scorrimento per la visualizzazione. (Ie4ad5) - Abbiamo rimosso Revealing e Revealed da
RevealValue
nell'API Swipe-to-reveal. (I8dbc5) - Abbiamo rinominato
SwipeDirection
inRevealDirection
nell'API di scorrimento per rivelare. (I7472f) - Abbiamo modificato la firma del parametro
positionalThreshold
della funzionerememberRevealState
diSwipeToReveal
. (I29c0a) - Abbiamo aggiunto un nuovo parametro
overscrollEffect
aScalingLazyColumn
,TransformingLazyColumn
eScreenScaffold
. (I0cee8) - Quando si utilizza
PagerDefaults#snapFlingBehaviour
, il parametropagerSnapDistance
è stato sostituito da un parametro IntmaxFlingPages
, che può essere utilizzato per specificare il numero massimo di pagine che il pager deve scorrere. (I8cfc0) - Wear Pager ora ha il proprio
PagerScope
anziché utilizzare Compose FoundationPagerScope
. (I9195b) - È stato aggiunto il supporto per
lineHeight
in Testo curvo (I1c936) - Abbiamo aggiunto
initialAnchorItemIndex
einitialAnchorItemOffset
aTransformingLazyColumnState
erememberTransformingLazyColumnState
in modo che la posizione di scorrimento iniziale possa essere specificata inTransformationLazyColumn
. (I0a0d5) - Ritira
runWithTimingDisabled
a favore dirunWithMeasurementDisabled
, che descrive più chiaramente il comportamento: tutte le metriche vengono messe in pausa. Inoltre, espone la superclasseMicrobenchmarkScope
poiché non è possibile dichiarare nuovamente la funzionerunWithMeasurementDisabled
per aprire l'accesso, in quanto è inline. (I9e23b, b/389149423, b/149979716) - Abbiamo aggiunto
TransformingLazyColumnItemScrollProgress.Unspecified
all'API per evitare il boxing suTransformingLazyColumnItemScrollProgress
. (I0835d)
Correzioni di bug
- Migliora Kdoc per
CurvedTextStyle
(Id45e3) - Abbiamo reso
SwipeableV2
(parte dell'implementazione diSwipeToReveal
) interno anziché pubblico, ma limitato al gruppo di biblioteche. (Idbb94) - Abbiamo aggiunto test a
HierarchicalFocusCoordinator
(I1ce54, b/395548918) - Abbiamo apportato miglioramenti a
SwipeToReveal
negli esempi di base di Wear Compose. (I5f307) - Correggi i dati semantici dell'asse di scorrimento per
verticalScrollAxisRange
inTransformingLazyColumn
per l'accessibilità (I68123) - Migliora le prestazioni della risposta aptica rotativa su Wear4+ rimuovendo i thread in background non necessari (I39cfe)
- Modifica
SwipeDismissableNavHost
per utilizzarePredictiveBackNavHost
solo sull'API 36 e versioni successive. (I59bed) - Abbiamo aggiunto una protezione contro un arresto anomalo durante l'accesso all'impostazione Riduci movimento. (I01e2c)
- Abbiamo implementato il prefetching per
TransformingLazyColumn
per ridurre i problemi di fluidità (Icca88)
Versione 1.5.0-alpha09
29 gennaio 2025
androidx.wear.compose:compose-*:1.5.0-alpha09
viene ritirata. La versione 1.5.0-alpha09 contiene questi commit.
Modifiche alle API
- Su
CurvedTextStyle
, abbiamo suddiviso la spaziatura tra le lettere in spaziatura tra le lettere in senso orario e spaziatura tra le lettere in senso antiorario. Questa operazione è obbligatoria perché le lettere in senso orario si aprono dalla linea di base, mentre le lettere in senso antiorario si chiudono (quindi è necessaria una spaziatura più ampia) (I4b848). CompositionLocal
LocalReduceMotion
è stato semplificato per restituire un valore booleano anziché un oggettoReduceMotion
. L'interfacciaReduceMotion
è ora deprecata. Le invocazioni precedenti, ad esempioLocalReduceMotion.current.enabled()
, possono essere sostituite conLocalReduceMotion.current
(I4937f)- In
PagerDefaults
,snapAnimationSpec
è stato rinominato inSnapAnimationSpec
. (I20c9a)
Versione 1.5.0-alpha08
15 gennaio 2025
androidx.wear.compose:compose-*:1.5.0-alpha08
viene ritirata. La versione 1.5.0-alpha08 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato tutte le librerie Wear Compose alla modalità "API esplicita". (Iebf9f)
- Abbiamo reso il parametro di animazione dello scorrimento della pagina parte di
PagerDefaults
. (Ifff64) - Abbiamo aggiunto un parametro di offset a
SwipeToDismissBoxState
. (I586bd)
Correzioni di bug
- La risposta aptica della piattaforma rotante ora viene chiamata per le versioni di Wear OS successive alla V (Idb03e)
Versione 1.5.0-alpha07
11 dicembre 2024
androidx.wear.compose:compose-*:1.5.0-alpha07
viene ritirata. La versione 1.5.0-alpha07 contiene questi commit.
Modifiche alle API
TransformingLazyColumnState
ora offre un modo per osservare l'avanzamento corrente dello scorrimento in base agli indici degli elementi di ancoraggio. (I72b01)- Abbiamo aggiunto animazioni a
TransformingLazyColumn
quando aggiungi, rimuovi e sposti elementi, se hanno il nuovoModifier.animateItem
. (Iecb9c) TransformingLazyColumn
ora espone i valori perbeforeContentPadding
eafterContentPadding
. (Iccd5f)TransformingLazyColumn
ora fornisce la composizione localeLocalTransformingLazyColumnItemScope
che i componenti (comeCard
eButton
in Material3) possono utilizzare per trasformarsi automaticamente quando vengono inseriti all'interno di unTransformingLazyColumn
. I chiamanti possono disattivare la trasformazione automatica utilizzando il nuovo wrapperTransformExclusion
. (I1652f)
Correzioni di bug
- Abbiamo aggiornato le velocità di trasferimento minime e massime per la rotazione sui dispositivi che hanno come target U e versioni successive. (I33559)
- Abbiamo corretto un arresto anomalo che si verificava se un elemento in
TransformingLazyColumn
non conteneva composable (Idb99d) - Abbiamo aggiunto il supporto di
ScrollFeedbackProvider
per l'aptica rotativa su Android Vanilla ice cream. (Ibc553) - Abbiamo applicato un aumento della tolleranza al tocco quando si utilizza
SwipeToReveal
per ridurre le probabilità di attivare accidentalmente uno scorrimento quando si scorre verticalmente. (Ic0672) - Abbiamo aggiornato
SwipeDismissableNavHost
per utilizzarePredictiveBackHandler
quando disponibile con l'API 35 e versioni successive. In questo caso, verranno applicate nuove animazioni. (I08c11)
Versione 1.5.0-alpha06
13 novembre 2024
androidx.wear.compose:compose-*:1.5.0-alpha06
viene ritirata. La versione 1.5.0-alpha06 contiene questi commit.
Modifiche alle API
- Abbiamo semplificato
ScrollInfoProvider
perPagerState
rimuovendo il parametroorientation
, che non è più necessario. Il nuovo comportamento prevede cheTimeText
rimanga in posizione sia per la paginazione orizzontale che per quella verticale. (I71767) TransformingLazyColumn
è stato introdotto nelle release precedenti. Stiamo rimuovendo gli aliasLazyColumn
di Wear (che reindirizzavano aTransformingLazyColumn
) a favore del nuovo nomeTransformingLazyColumn
. Abbiamo rimosso anche la proprietàheight
diTransformingLazyColumnVisibleItemInfo
. Utilizza invecemeasuredHeight
. (I0ea1e)- Abbiamo modificato la
PagerDefaults.snapFlingBehavior
snapAnimationSpec
da unaTween
a unaSpring
(I10d02, b/349781047, b/303807950) - Abbiamo promosso la versione
LocalReduceMotion
CompositionLocal
alla versione stabile (Ia6f32)
Correzioni di bug
- Abbiamo aggiornato
Modifier.rotaryScrollable
per utilizzarefocusTargetWithSemantics
per un migliore supporto semantico nella navigazione rotativa. (Ief0a0) - Abbiamo aggiornato la dipendenza API minima alla versione 1.7.4 per le librerie Compose. (I88b46)
- Abbiamo disattivato la deformazione della larghezza in
TransformingLazyColumn
come soluzione alternativa a un bug di ritaglio. (I3dfb8) - Abbiamo corretto un bug che causava la scomparsa degli elementi dopo lo scorrimento eccessivo con
TransformingLazyColumn
(Id7668) - Abbiamo aggiunto
LazyLayoutSemantics
perTransformingLazyColumn
. (Ia8f56)
Versione 1.5.0-alpha05
30 ottobre 2024
androidx.wear.compose:compose-*:1.5.0-alpha05
viene ritirata. La versione 1.5.0-alpha05 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto il supporto di
animateScrollTo
suTransformingLazyColumnState
in modo che lo scorrimento fino a un elemento possa essere animato. (I4097d) - Abbiamo aggiunto
requestScrollTo
il giornoTransformingLazyColumnState
per posticipare lo scorrimento alla misurazione successiva. (I20a5e) - Abbiamo aggiunto il supporto per
contentPadding
inTransformingLazyColumn
. (I3a69c)
Correzioni di bug
- Abbiamo corretto un bug nel rendering di
TransformingLazyColumn
quando l'altezza dei contenuti è inferiore all'altezza dello schermo. (I6c3e1) - Il
ScrollInfoProvder
perTransformingLazyColumn
ora monitora correttamente il primo elemento. (I1e4a3) TransformingLazyColumnState
ora salva il suo stato (anchorItemIndex
eanchorItemScrollOffset
). (I3d265)
Versione 1.5.0-alpha04
16 ottobre 2024
androidx.wear.compose:compose-*:1.5.0-alpha04
viene ritirata. La versione 1.5.0-alpha04 contiene questi commit.
Modifiche alle API
- Abbiamo rinominato Wear Compose Foundation
LazyColumn
inTransformingLazyColumn
in modo che la distinzione tra questa e Compose FoundationLazyColumn
sia più chiara. (I0608b) - Aggiunto il supporto della rotazione per i pager orizzontali/verticali, consentendo agli utenti di navigare nei pager utilizzando dispositivi di input rotativi. (I9770d)
- Abbiamo aggiornato il nuovo
PagerDefaults
per chiarire che il pager si sposta automaticamente alla pagina per impostazione predefinita. (Iff7d0) TransformingLazyColumnItemScrollProgress
ora è una classe di valori che dovrebbe migliorare il rendimento. (Ic399e)TransformingLazyColumn
ora supporta la rotazione predefinita. (I05206)TransformingLazyColumnState
ora supportascrollToItem
. (I507b3)- Rimossa
@ExperimentalWearFoundationApi
dall'APISwipeToReveal
(I34a66)
Versione 1.5.0-alpha03
2 ottobre 2024
androidx.wear.compose:compose-*:1.5.0-alpha03
viene ritirata. La versione 1.5.0-alpha03 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto il supporto per lo scorrimento bidirezionale in
SwipeToReveal
, per i rari casi in cui la schermata corrente non supporta lo scorrimento per chiudere. . L'impostazione predefinita prevede lo scorrimento per rivelare solo per gli scorrimenti da destra a sinistra ed è vivamente consigliato di rispettare il comportamento predefinito per evitare conflitti con lo scorrimento per chiudere. (Ifac04) - Abbiamo aggiornato
LazyColumnState
per ignorarecanScrollForward
ecanScrollBackward
. Ora lo scorrimento si interrompe quando il primo o l'ultimo elemento si trova esattamente al centro dello schermo. (Ia77d7) - Abbiamo aggiunto nuovi componenti
HorizontalPager
eVerticalPager
che risolvono problemi comuni, come la gestione della messa a fuoco e l'interazione con lo scorrimento per chiudere del sistema che potrebbero verificarsi su Wear. (I2902b) - Abbiamo aggiunto il supporto per
LazyColumn
per esporrekey
econtentType
del cliente tramitelayoutItems
. (I1bd9c)
Correzioni di bug
- Abbiamo aggiornato le animazioni del testo curvo per renderle più fluide, utilizzando i flag di pittura. (I73a15)
- Abbiamo aggiornato la documentazione della finestra di dialogo Material per indicare che
onDismissRequest
non viene chiamato dopo che il flag show è impostato su false. (Ifd8d6) - Abbiamo corretto un bug relativo all'animazione della vignetta nella finestra di dialogo Material (I126bf)
Versione 1.5.0-alpha02
18 settembre 2024
androidx.wear.compose:compose-*:1.5.0-alpha02
viene ritirata. La versione 1.5.0-alpha02 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto il supporto di Wear Compose
LazyColumn
con il nostroScreenScaffold
(e abbiamo aggiunto un'implementazione diScrollInfoProvider
perLazyColumnState
). (Ib8d29) - Abbiamo aggiunto
viewportSize
aLazyColumnLayoutInfo
. (I4187f)
Correzioni di bug
- Abbiamo corretto un bug in modo che lo scorrimento rotativo sia ora disattivato in
ScalingLazyColumn
quando il flaguserScrollEnabled
è impostato sufalse
. (I490ab, b/360295825) - Abbiamo corretto un bug per risolvere il problema della spaziatura verticale imprevista nel testo curvo. L'altezza del testo curvo ora corrisponde più da vicino allo spazio effettivo utilizzato dal testo. Tieni presente che è probabile che ciò interrompa i test degli screenshot che coinvolgono testo curvo (Iaa6ef).
- Abbiamo ripristinato una correzione di bug in
Dialog
in cui veniva chiamata la funzione di callbackonDismissRequest
quandoshowDialog
era impostato su false, perché in alcuni casi ciò comportava la chiamata dionDismissRequest
più volte. (I64656)
Versione 1.5.0-alpha01
4 settembre 2024
androidx.wear.compose:compose-*:1.5.0-alpha01
viene ritirata. La versione 1.5.0-alpha01 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto un nuovo
LazyColumn
alla libreria Wear Compose Foundation con APILazyColumnState
eLazyColumnScope
associate. Questo serve come base per la creazione di effetti di scalabilità e morphing personalizzabili con Wear Compose. (Ib3b22) - Abbiamo aggiunto una versione indicizzata di
itemsIndexed
inLazyColumnScope
nell'ambito della nuova APILazyColumn
. (Ib4a57) - Abbiamo aggiunto i modificatori
LazyColumn
per supportare i comportamenti di scalabilità e morphing. (Ie229a) HierarchicalFocusCoordinator
è stata promossa alla versione stabile. (I31035)- Abbiamo aggiunto il supporto della spaziatura tra le lettere al testo curvo. (I3c740)
- È stato aggiunto un parametro
rotationLocked
aCurvedLayout.curvedComposable
per impedire la rotazione dei componenti. (I66898) - L'API temporanea
LocalUseFallbackRippleImplementation
di wear material e wear material3 è stata rimossa (I62282) - Rimozione di
WearDevices.SQUARE
dalla multi-anteprima@WearPreviewDevices
(I11c02)
Correzioni di bug
SwipeToReveal
ora posiziona gli elementi rivelati nella parte visibile dello schermo, il che è utile quandoSwipeToReveal
viene utilizzato all'interno di un elenco, in modo che gli elementi siano sempre interattivi e non escano mai dallo schermo. (I38929)SwipeToReveal
ora reimpostalastActionType
su Nessuno al termine dianimatedTo
. (I59b03)- È stata migliorata la documentazione per il nuovo parametro
rotationLocked
sucurvedComposable
. (Ifbd57) - È stato corretto un arresto anomalo che si verificava quando si passava
NaN
inScalingLazyColumnSnapFlingBehavior
'sperformFling
. (Ic13da) - È stato corretto un bug relativo al modificatore delle dimensioni del layout curvo (I0fedf).
- Abbiamo aggiunto il supporto per la spaziatura tra le lettere specificata in "sp". (I9f6e3)
- Abbiamo corretto un bug nella finestra di dialogo Material2 in cui il callback
onDismissRequest
non veniva chiamato quando la finestra di dialogo diventava invisibile (I64656). LayoutCoordinates.introducesFrameOfReference
è stato rinominato inLayoutCoordinates.introducesMotionFrameOfReference
per riflettere meglio il suo scopo. È stata rinominata la funzione correlata per calcolare le coordinate in base a questo flag. (I3a330)
Versione 1.4
Versione 1.4.1
12 febbraio 2025
androidx.wear.compose:compose-*:1.4.1
viene ritirata. La versione 1.4.1 contiene questi commit.
Correzioni di bug
- Abbiamo implementato una protezione contro l'arresto anomalo durante l'accesso all'impostazione globale di riduzione del movimento, che veniva attivata su alcune piattaforme in cui questa impostazione non era disponibile. (I01e2c)
Versione 1.4.0
4 settembre 2024
androidx.wear.compose:compose-*:1.4.0
viene ritirata. La versione 1.4.0 contiene questi commit.
Modifiche importanti dalla versione 1.3.0
ScalingLazyColumn
ePicker
ora supportano l'input rotativo per impostazione predefinita. Ti consigliamo di rimuovere la gestione rotativa esplicita e di rimandare al comportamento predefinito del sistema. Se necessario, utilizza il parametrorotaryScrollableBehavior
per configurare lo scorrimento o lo scatto. Per lo scatto, è consigliabile fornire lo scatto e le funzionalità di scorrimento tramite tocco utilizzando il parametroflingBehavior
.Modifier.rotaryScrollable
è un nuovo modificatore che collega gli eventi rotativi ai contenitori scorrevoli, consentendo agli utenti di scorrere utilizzando una corona o una ghiera rotante sul proprio dispositivo Wear OS.SwipeDismissableNavHost
ora fornisce un'animazione di entrata per le transizioni in-app.PositionIndicator
ora viene mostrato per impostazione predefinita quando viene visualizzata una schermata per la prima volta.
Ulteriori modifiche
- Per un insieme più completo delle modifiche introdotte nella versione 1.3.0, consulta le note di rilascio beta01.
Versione 1.4.0-rc01
21 agosto 2024
androidx.wear.compose:compose-*:1.4.0-rc01
viene ritirata. La versione 1.4.0-rc01 contiene questi commit.
- Abbiamo aggiornato le dipendenze di Compose alla versione 1.7.0-rc01 e bloccato Wear Compose Navigation su androidx.lifecycle 2.8.3
Versione 1.4.0-beta03
12 giugno 2024
androidx.wear.compose:compose-*:1.4.0-beta03
viene ritirata. La versione 1.4.0-beta03 contiene questi commit.
Correzioni di bug
- Abbiamo aggiornato
Modifier.rotaryScrollable
per sostituire l'utilizzo di "focusable" con "focusTarget", il che migliora il rendimento. (Id294b) - Abbiamo risolto un problema per cui
ProgressIndicator
ripeteva il suo annuncio inTalkBack
. (I94563) - Abbiamo aggiornato i profili di base della libreria Wear Compose. (I3cbc3)
Versione 1.4.0-beta02
29 maggio 2024
androidx.wear.compose:compose-*:1.4.0-beta02
viene ritirata. La versione 1.4.0-beta02 contiene questi commit.
Correzioni di bug
- Abbiamo aumentato la larghezza del confine passata agli screen reader dal testo curvo per risolvere i problemi di troncamento (Id865f).
- Abbiamo limitato il confine del
HorizontalPageIndicator
passato agli screen reader. In precedenza, l'indicatore occupava l'intero schermo (Id8d7a).
Versione 1.4.0-beta01
14 maggio 2024
androidx.wear.compose:compose-*:1.4.0-beta01
viene ritirata. La versione 1.4.0-beta01 contiene questi commit.
La release 1.4-beta01 di Compose for Wear OS indica che questa release della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear Compose 1.4 include le seguenti nuove funzionalità:
- Abbiamo aggiunto
Modifier.rotaryScrollable
, un nuovo modificatore che collega gli eventi di rotazione ai contenitori scorrevoli, consentendo agli utenti di scorrere tramite una corona o una ghiera rotante sul proprio dispositivo Wear OS. Inoltre,ScalingLazyColumn
ePicker
ora supportano l'input rotativo per impostazione predefinita. Utilizza il parametrorotaryScrollableBehavior
per configurare lo scorrimento o lo snap. Per il comportamento di snap, è consigliabile fornire lo snap anche tramite il parametroflingBehavior
per lo scorrimento touch. SwipeDismissableNavHost
ora fornisce un'animazione di entrata per le transizioni in-app.PositionIndicator
ora viene mostrato per impostazione predefinita quando viene visualizzata una schermata per la prima volta.SelectableChip
eSplitSelectableChip
sono stati aggiunti come variazione diToggleChip
. Utilizza questa opzione conRadioButton
per fornire una semantica selezionabile anziché attivabile/disattivabile per l'accessibilitàListHeader
ora supporta le regolazioni dell'altezza quando i contenuti necessitano di un'altezza aggiuntiva per adattarsi a dimensioni del carattere grandi.
Correzioni di bug
- È stato corretto un bug a causa del quale i chip selezionabili annunciavano il doppio tocco per attivare/disattivare quando erano già selezionati. (I7ed88)
Versione 1.4.0-alpha08
1° maggio 2024
androidx.wear.compose:compose-*:1.4.0-alpha08
viene ritirata. La versione 1.4.0-alpha08 contiene questi commit.
Modifiche alle API
- Abbiamo apportato le seguenti modifiche alla nuova API rotativa: abbiamo rinominato
Modifier.rotary
inModifier.rotaryScrollable
, l'interfacciaRotaryBehavior
inRotaryScrollableBehavior
e la relativa funzionehandleScrollEvent
inperformScroll
, abbiamo rinominatoRotaryScrollableAdapter
inRotaryScrollableLayoutInfoProvider
e rimosso la proprietàscrollableState
. (I0c8a6) - Abbiamo apportato ulteriori modifiche all'API Rotary: abbiamo rinominato
RotaryScrollableLayoutInfoProvider
inRotarySnapLayoutInfoProvider
(perché questo provider è necessario solo per la rotazione con snap); abbiamo modificato il tipo del parametrosnapOffset
inRotaryScrollableDefaults.snapBehavior snapOffset
da Int a Dp. (Iddebe) - Abbiamo rinominato il parametro
clickInteractionSource
inSplitSelectableChip
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 il padding orizzontale per
PositionIndicator
a 2 dp (era 5 dp) per correggere un bug in cuiPositionIndicator
(barra di scorrimento) si sovrapponeva ai contenuti scorrevoli. Tieni presente che questa modifica dovrebbe interrompere gli screenshot esistenti che includonoPositionIndicator
a causa della modifica del padding. (I57472) - Abbiamo migliorato la documentazione della nuova API Rotary descrivendo le differenze tra i dispositivi rotativi a bassa e alta risoluzione. (I63abe)
- Abbiamo risolto un'eccezione fuori intervallo in
SwipeDismissableNavHost
che poteva essere attivata quando i valori alfa interpolati erano inferiori a zero. (Ib75a1, b/335782510)
Versione 1.4.0-alpha07
17 aprile 2024
androidx.wear.compose:compose-*:1.4.0-alpha07
viene ritirata. La versione 1.4.0-alpha07 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto
Modifier.rotary
, un nuovo modificatore che collega gli eventi di rotazione ai contenitori scorrevoli, consentendo agli utenti di scorrere tramite una corona o una ghiera rotante sul proprio dispositivo Wear OS. Inoltre,ScalingLazyColumn
e Picker ora supportano l'input rotativo per impostazione predefinita, con nuovi overload che includono il parametrorotaryBehavior
per specificare la configurazione dello scorrimento o dello snap. Se il parametrorotaryBehavior
è impostato su snap, è consigliabile fornire snap anche tramite il parametroflingBehavior
per lo scorrimento touch. (I2ef6f) - Le origini
NestedScroll
Drag and Fling vengono sostituite daUserInput
eSideEffect
per tenere conto della definizione estesa di queste origini, che ora includono animazioni (Side Effect) e rotellina del mouse e tastiera (UserInput). (I40579) - Abbiamo aggiunto
SelectableChip
eSplitSelectableChip
per distinguere più chiaramente i controlli di attivazione/disattivazione, comeSwitch/Checkbox
, dai controlli selezionabili, comeRadioButton
. Questo sostituisce gli overload aggiunti in precedenza diToggleChip/SplitToggleChip
con i parametriselectionControl
. (Ia0217) - Modificatore di visibilità di
IndeterminateStrokeWidth
inProgressIndicatorDefaults
aggiornato a pubblico. (I5b5a4)
Versione 1.4.0-alpha06
3 aprile 2024
androidx.wear.compose:compose-*:1.4.0-alpha06
viene ritirata. La versione 1.4.0-alpha06 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto una bozza interna del supporto della rotazione, nell'ambito dell'impegno più ampio di migrazione del comportamento di rotazione in AndroidX da Horologist. (I617d1)
- Abbiamo aggiunto una bozza interna del supporto aptico, nell'ambito dell'impegno più ampio di migrazione del comportamento di rotazione in AndroidX da Horologist. (I5568a)
Versione 1.4.0-alpha05
20 marzo 2024
androidx.wear.compose:compose-*:1.4.0-alpha05
viene ritirata. 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 le prestazioni 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 ritirata. La versione 1.4.0-alpha04 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto un nuovo overload per
ToggleChip
eSplitToggleChip
che accetta un parametroselectionControl
anziché il parametrotoggleControl
. Questo attributo deve essere utilizzato con il controlloRadioButton
per fornire una semantica selezionabile anziché attivabile/disattivabile per l'accessibilità (I1d6d9). - Abbiamo aggiornato i nomi dei parametri per il nuovo
selectionControl
sovraccarico daonSelected
aonSelect
perToggleChip
eSplitToggleChip
(I1a971)
Versione 1.4.0-alpha03
21 febbraio 2024
androidx.wear.compose:compose-*:1.4.0-alpha03
viene ritirata. 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, pertanto il suo utilizzo è ora sconsigliato. Gli sviluppatori sono invitati a implementare il metodoinspectableProperties()
suModifierNodeElement
se vogliono esporre le proprietà dei modificatori agli strumenti. (Ib3236)
Correzioni di bug
- Abbiamo corretto un bug della documentazione per le annotazioni
WearPreview*
. (Id526d)
Versione 1.4.0-alpha02
7 febbraio 2024
androidx.wear.compose:compose-*:1.4.0-alpha02
viene ritirata. La versione 1.4.0-alpha02 contiene questi commit.
Correzioni di bug
- Abbiamo corretto un bug nella funzionalità di scorrimento per rivelare, in cui era possibile interagire con (e annullare) un'azione eseguita su un elemento iniziando a scorrere un altro elemento.(Ide059)
- Abbiamo aggiornato
ListHeader
per supportare le regolazioni dell'altezza quando i contenuti necessitano di un'altezza aggiuntiva per adattarsi a dimensioni dei caratteri grandi. (I7290c, b/251166127)
Versione 1.4.0-alpha01
24 gennaio 2024
androidx.wear.compose:compose-*:1.4.0-alpha01
viene ritirata. La versione 1.4.0-alpha01 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto l'animazione di entrata a
SwipeDismissableNavHost
per le transizioni in-app.(cfeb79a) PositionIndicator
ora viene mostrato per impostazione predefinita quando viene visualizzata una schermata per la prima volta. Questa modifica è stata introdotta per contribuire a soddisfare i requisiti qualitativi per Wear. Purtroppo, ciò significa che i test degli screenshot dovranno essere aggiornati nelle schermate che includonoPositionIndicator
, in quantoPositionIndicator
non sarebbe stato visualizzato in precedenza. (419cef7)
Modifiche alle API
- Abbiamo aggiunto una nuova API ripple nelle librerie
wear:compose-material
ewear:compose-material3
che sostituisce l'APIrememberRipple
, ormai obsoleta. Aggiunge anche unCompositionLocal
temporaneo,LocalUseFallbackRippleImplementation
, per ripristinare l'utilizzo delle APIrememberRipple/RippleTheme
deprecate per i componenti Material. Questo elemento verrà rimosso nella prossima release stabile ed è inteso solo come ausilio temporaneo per la migrazione nei casi in cui fornisci unRippleTheme
personalizzato. Visita il sito developer.android.com per 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, ma rendendo più efficiente l'utilizzo più comune dei colori. Il motivo di questa modifica è che la maggior parte delle app non ha l'aggiornamento dei singoli colori come caso d'uso principale. È ancora possibile, ma la ricomposizione sarà maggiore rispetto a prima, il che ridurrà significativamente la quantità di abbonamenti allo stato in tutto il codice del materiale e influirà sul costo di inizializzazione e runtime dei casi d'uso più standard. (f5c48b7) - I componenti Wear Material e Wear Material3 che espongono un
MutableInteractionSource
nella loro API sono stati aggiornati in modo da esporre unMutableInteractionSource
nullable che ha come valore predefinito null. Non sono state apportate modifiche semantiche: il passaggio di null significa che non vuoi sollevareMutableInteractionSource
e verrà creato all'interno del componente, se necessario. Se viene impostato su null, alcuni componenti non allocano mai unMutableInteractionSource
, mentre altri creano un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizziMutableInteractionSource
che trasmetti a questi componenti, ti consigliamo di trasmettere null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (f8fa920) - Abbiamo aggiornato
rememberExpandableState
per salvare lo stato espandibile. In questo modo, i dati vengono memorizzati quando passi a un'altra schermata e ripristinati quando torni alla schermata originale. (5c80095)
Correzioni di bug
- Abbiamo aggiornato l'impostazione
ReduceMotion
per utilizzare un listener consapevole del 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 reso
BasicSwipeToDismissBox
più solido per gli offset NaN per evitare eccezioni (b983739) - Abbiamo aggiornato
BasicSwipeToDismissBox
per assicurarci che i valori alfa siano compresi nell'intervallo 0,1 - Abbiamo corretto un bug in
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
eRadioButton
in modo che gli annunci di accessibilità non vengano ripetuti (in precedenza, i ruoli semantici venivano duplicati) (d11eeb7)
Versione 1.3
Versione 1.3.1
3 aprile 2024
androidx.wear.compose:compose-*:1.3.1
viene ritirata. La versione 1.3.1 contiene questi commit.
Correzioni di bug
- Abbiamo corretto un bug nella funzionalità di scorrimento per rivelare, in cui era possibile interagire con (e annullare) un'azione eseguita su un elemento iniziando a scorrere un altro elemento. (Ide059)
Versione 1.3.0
24 gennaio 2024
androidx.wear.compose:compose-*:1.3.0
viene ritirata. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- La classe
SwipeToDismissBoxState
, l'enumerazioneSwipeToDismissValue
e la funzione di estensioneModifier.edgeSwipeToDismiss
ora fanno parte del pacchettoandroidx.wear.compose.foundation
anziché del pacchettoandroidx.wear.compose.material
. Questa architettura aggiornata ti consente di implementare la gestione dei gesti indipendentemente da altre considerazioni di progettazione. I flussi di lavoro Material Design, come l'applicazione dei colori di un tema configurato, vengono gestiti separatamente. - I corsi
SwipeToRevealCard
eSwipeToRevealChip
ti aiutano a implementarerecommended swipe-to-reveal guidance
. La classeSwipeToRevealSample
mostra come utilizzare questi componenti. La release 1.3.0-alpha02 ha introdotto una modifica che fa aumentare l'altezza degli oggetti
Chip
eToggleChip
per supportare meglio la scalabilità dei caratteri selezionata dall'utente. Ciò può causare un po' di clipping. Per risolvere questo problema, la formalarge
perMaterialTheme
ora utilizza un raggio d'angolo più grande (26 dp anziché 24 dp). Gli oggettiChip
eToggleChip
utilizzano questo nuovo raggio dell'angolo per evitare il ritaglio dei contenuti negli angoli del chip e diToggleChip
.- La maggior parte di
Chips
eToggleChips
rimane invariata, data l'altezza predefinita di 52 dp. Tuttavia, gli oggettiChip
eToggleChip
che contengono più righe di testo dell'etichetta principale o secondaria o per i quali è stata sostituita l'altezza potrebbero causare l'interruzione dei test degli screenshot.
- La maggior parte di
Ulteriori modifiche
Per un insieme più completo delle modifiche introdotte nella versione 1.3.0, consulta le note di rilascio beta01.
Consigli per l'implementazione
- Se la tua app consente agli utenti di spostarsi tra i contenuti dello schermo, ad esempio in un'app basata su mappe, disattiva la gestione dello scorrimento impostando
userSwipeEnabled
sufalse
nel composableSwipeDismissableNavHost
e includi un pulsante che consenta agli utenti di tornare alla schermata precedente. - Per disattivare le animazioni per un indicatore di posizione durante le animazioni di dissolvenza in entrata e cambio di posizione all'interno di un elenco scorrevole, utilizza un oggetto
SnapSpec
. - Durante l'attesa del caricamento dei contenuti di un'app multimediale per la riproduzione, mostra un composable
Placeholder
vuoto. - Per creare una raccolta di elementi espandibili on demand, valuta la possibilità di utilizzare la classe sperimentale
ExpandableStateMapping
.
Versione 1.3.0-rc01
10 gennaio 2024
androidx.wear.compose:compose-*:1.3.0-rc01
viene ritirata. La versione 1.3.0-rc01 contiene questi commit.
Correzioni di bug
-
Abbiamo aggiornato la forma grande
MaterialTheme
in modo che utilizzi un raggio dell'angolo arrotondato di 26 dp e ora verrà utilizzata da Chip eToggleChip
. Questa modifica è necessaria per supportare le regolazioni dell'altezza quando i contenuti richiedono un'altezza aggiuntiva per adattarsi a dimensioni del carattere grandi. In caso contrario, la forma a stadio esistente taglia alcuni contenuti di testo.Figura 1: testo tagliato sugli angoli. Figura 2: testo non tagliato. Questa modifica potrebbe causare un errore nei test degli screenshot. (I2e6ae)
Versione 1.3.0-beta02
13 dicembre 2023
androidx.wear.compose:compose-*:1.3.0-beta02
viene ritirata. La versione 1.3.0-beta02 contiene questi commit.
Correzioni di bug
- Abbiamo ripristinato il movimento di scorrimento previsto in
BasicSwipeToDismissBox
. Questa impostazione era stata modificata in una release precedente, in modo che la parte di scorrimento della transizione avvenisse mentre il dito toccava lo schermo. (Id8e76)
Versione 1.3.0-beta01
15 novembre 2023
androidx.wear.compose:compose-*:1.3.0-beta01
viene ritirata. La versione 1.3.0-beta01 contiene questi commit.
La release 1.3-beta01 di Compose for Wear OS indica che questa release della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear Compose 1.3 include le seguenti nuove funzionalità:
SwipeToDismissBoxState
,SwipeToDismissValue
eModifier.edgeSwipeToDismiss
sono stati migrati daandroidx.wear.compose.material
aandroidx.wear.compose.foundation
, insieme all'implementazione sottostante dello scorrimento per chiudere inBasicSwipeToDismissBox
. In questo modo, la gestione dei gesti per lo scorrimento per chiudere può essere utilizzata indipendentemente da Material Design, ad esempio dallaSwipeDismissableNavHost
inandroidx.wear.compose.navigation
. È ancora consigliabile utilizzareSwipeToDismissBox
diandroidx.wear.compose.material
con Material Design, perché estrae i colori daMaterialTheme
e delega l'implementazione rimanente aBasicSwipeToDismissBox
.SwipeDismissableNavHost
ora supporta un nuovo parametrouserSwipeEnabled
in modo che la gestione dello scorrimento possa essere disattivata per le schermate in cui non è richiesta.BasicSwipeToDismissBox
ha migliorato la gestione della messa a fuoco utilizzandoHierarchicalFocusCoordinator
.SwipeToReveal
ha nuovi composableSwipeToRevealCard
eSwipeToRevealChip
in Material che seguono le indicazioni UX consigliate perCard
eChip
. Supporta anche l'annullamento dell'azione secondaria.DefaultTextStyle
ora disattiva il padding dei caratteri per garantire la coerenza su tutta la piattaforma Android.Chip
eToggleChip
ora regolano la loro altezza per adattarsi ai contenuti che sono aumentati di dimensioni a causa dei caratteri grandi per l'accessibilitàPositionIndicator
ora ha specifiche di animazione individuali per le animazioni di dissolvenza in entrata, dissolvenza in uscita e cambio di posizione. Per motivi di prestazioni, ti consigliamo di disattivare l'effetto dissolvenza in entrata e il cambio di posizione quando vengono utilizzati con elenchi scorrevoli.ExpandableStateMapping
offre un nuovo modo per generareExpandableStates
quando devono essere creati su richiesta e non necessariamente con un ambito@Composable
.Placeholder
ora consente il ripristino se i contenuti non sono più in stato Pronto. Inoltre, l'impostazione di riduzione del movimento ora si applica all'effetto luccichio e al movimento di cancellazione suPlaceholder
.
Problemi noti
PositionIndicator
non viene visualizzato inizialmente quando viene visualizzata per la prima volta una schermata. Intendiamo apportare una modifica in una delle prime versioni alpha 1.4 in modo che venga visualizzato inizialmente, ma senza alcuna animazione.
Modifiche alle API
- Abbiamo rinominato il livello Foundation
SwipeToDismissBox
inBasicSwipeToDismissBox
. In questo modo, la distinzione tra il componente a livello di base e il livello MaterialeSwipeToDismissBox
è più chiara. Quest'ultimo estrae i colori daMaterialTheme
da utilizzare nelle schermate e delega l'implementazione rimanente aBasicSwipeToDismissBox
. (Ibecfc) - Abbiamo contrassegnato
rememberExpandableStateMapping
come sperimentale e migliorato il rendimento diexpandableItem
. (I5f6bc) - Abbiamo sostituito la classe
SwipeToRevealAction
nelle API MaterialSwipeToReveal
Card e Chip con un'API basata su slot che utilizza i composableSwipeToRevealPrimaryAction
,SwipeToRevealSecondaryAction
eSwipeToRevealUndoAction
. Consulta l'esempio di codice per esempi su come utilizzare la nuova API. (Ia8943) - Abbiamo sostituito i flag di animazione
PositionIndicator
con i parametriAnimationSpec
. Le singole animazioni possono essere disattivate passandosnap
comeAnimationSpec
. (I6c523)
Correzioni di bug
- Abbiamo corretto un bug attivato da testo curvo limitato quando le dimensioni sono limitate (I50efe)
- Abbiamo risolto un potenziale arresto anomalo NaN correlato a
curvedComposable
(I970eb) - Abbiamo annullato la rimozione dell'animazione di evidenziazione della modifica della posizione su
PositionIndicator
. (Ieb424) - Abbiamo rimosso il livello material-core per il componente Chip per migliorarne il rendimento. (If2dcb)
Versione 1.3.0-alpha08
18 ottobre 2023
androidx.wear.compose:compose-*:1.3.0-alpha08
viene ritirata. La versione 1.3.0-alpha08 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto singoli flag agli overload di
PositionIndicator
per controllare diverse animazioni:showFadeInAnimation
,showFadeOutAnimation
eshowPositionAnimation
. L'API precedente è stata ritirata e inoltra le chiamate alla nuova. Per motivi di prestazioni e per garantire la coerenza dell'esperienza utente, quandoPositionIndicator
viene utilizzato con un elenco scorrevole, ti consigliamo di disattivare i flagshowFadeInAnimation
eshowPositionAnimation
. SePositionIndicator
viene utilizzato come indicatore autonomo, ad esempio per la modifica del volume, ti consigliamo di attivare tutte e tre le animazioni. (I44294) - Abbiamo ritirato i componenti Material
SwipeToDismissBoxState
,SwipeToDismissValue
eedgeSwipeToDismiss
in seguito alla migrazione della funzionalità Scorrimento per chiudere awear.compose.foundation
. Sostituisci con gli equivalenti diwear.compose.foundation
. (Iee8c9)
Correzioni di bug
- Abbiamo aggiornato i profili di base per le librerie di composizione, materiali e navigazione di Wear. (Idb060)
- Abbiamo ripristinato una modifica del comportamento per
PositionIndicator
introdotta in una CL precedente, in modo chePositionIndicator
venga animato quando viene visualizzata inizialmente una schermata. Intendiamo apportare una modifica simile in una delle prime versioni alpha 1.4, in modo che venga visualizzato inizialmente ilPositionIndicator
, ma senza alcuna animazione. (I41843) - Abbiamo risolto alcuni problemi di prestazioni in
PositionIndicator
. (I1c654, b/302399827) - Abbiamo ottimizzato il rendimento dell'implementazione predefinita del provider di stato di esplorazione al tocco in modo che si basi su
State<Boolean>
anziché sullo stato derivato. (Ieec4d) - Abbiamo impostato 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 ritirata. 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 alla nuova. Per motivi di prestazioni e per garantire la coerenza dell'esperienza utente, quandoPositionIndicator
viene utilizzato con un elenco scorrevole, ti consigliamo di disattivare i flagshowFadeInAnimation
eshowPositionAnimation
. SePositionIndicator
viene utilizzato come indicatore autonomo, ad esempio per la modifica del volume, ti consigliamo di attivare tutte e tre le animazioni. (Ia2d63)
Correzioni di bug
- Abbiamo apportato miglioramenti al movimento di scorrimento per rivelare l'azione aggiungendo un'animazione di dissolvenza al testo dell'azione principale e dissolvendo l'azione secondaria/modificando la scala dell'icona con l'espansione completa dello scorrimento. (Ib7223)
- È consigliabile rendere accessibili le azioni di scorrimento per mostrare e abbiamo aggiunto azioni di accessibilità personalizzate ai nostri esempi di scorrimento per mostrare. (I42224)
- Abbiamo migliorato il rendimento di
SwipeToDismissBox
, incluso il refactoring per garantire che la logica iniziale non attivi una ricomposizione.SwipeToDismissBox
ora viene disegnato a schermo intero. (Ie0aa2) - Abbiamo corretto un bug che causava la scomparsa errata di
PositionIndicator
. (I2091a) - Miglioramento delle prestazioni di
PositionIndicator
grazie all'ottimizzazione delle ricomposizioni. Successivamente sono stati aggiunti nuovi flag per controllare le animazioni (fadeIn
,fadeOut
epositionChange
) (vedi Modifiche all'API) (Ifac7d) - Abbiamo aggiunto test di microbenchmark per
PositionIndicator
(Idf875)
Versione 1.3.0-alpha06
20 settembre 2023
androidx.wear.compose:compose-*:1.3.0-alpha06
viene ritirata. La versione 1.3.0-alpha06 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto il supporto per
Modifier.edgeSwipeToDismiss
conSwipeToReveal
. (I95774, b/293444286) - Abbiamo aggiunto esempi per i materiali
SwipeToRevealChip
eSwipeToRevealCard
. (Ieb974) - Abbiamo aggiornato i profili di base 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 ritirata. La versione 1.3.0-alpha05 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto la gestione in Scorri per rivelare in modo che sia possibile scorrere un solo elemento alla volta. (I3cd7a)
- È stata migliorata la documentazione di
ScalingLazyColumnDefaults
per adattarla meglio al suo comportamento effettivo. (I886d3)
Versione 1.3.0-alpha04
23 agosto 2023
androidx.wear.compose:compose-*:1.3.0-alpha04
viene ritirata. La versione 1.3.0-alpha04 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto per l'annullamento dell'azione secondaria di
SwipeToReveal
. (I7a22d)
Modifiche alle API
- Aggiungi
HorizontalPageIndicator
nella libreria Wear Material3. (Ifee99) - È stato aggiornato lo strumento di anteprima di Wear Compose per utilizzare la libreria
androidx.wear.tooling.preview
. (Ib036e)
Correzioni di bug
- Correzione di un bug nei pulsanti rotondi in cui i modificatori non venivano concatenati correttamente. (I5e162)
Versione 1.3.0-alpha03
9 agosto 2023
androidx.wear.compose:compose-*:1.3.0-alpha03
viene ritirata. La versione 1.3.0-alpha03 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto due nuovi composable in Material per implementare
SwipeToReveal
con schede e chip. Questi componenti componibili seguono le linee guida UX consigliate per il componente e semplificano l'implementazione diSwipeToReveal
con i componenti esistenti in Wear Material. (I7ec65) - Abbiamo attivato le annotazioni
FloatRange
come vincoli API, che in precedenza erano indicati nei commenti. (Icb401)
Correzioni di bug
- Abbiamo spostato la logica di scorrimento iniziale di
ScalingLazyColumn
all'interno dionGloballyPositioned()
. (Ic90f1) - Ora utilizziamo
drawWithCache
inPositionIndicator
,ProgressIndicator
eSelectionControls
per ottimizzare le allocazioni dei tratti. (I5f225, b/288234617) - Abbiamo corretto la visibilità del segno di spunta della casella di controllo negli stati disattivati. (Ib25bf)
- Abbiamo aggiornato
Placeholder
per consentire il ripristino in modo da mostrare il segnaposto se i contenuti non sono più nello stato pronto. (Ibd820) - Abbiamo apportato alcune correzioni ai test
Placeholder
instabili (Idb560)
Versione 1.3.0-alpha02
26 luglio 2023
androidx.wear.compose:compose-*:1.3.0-alpha02
viene ritirata. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche alle API
- Abbiamo fornito
ExpandableStateMapping
, un nuovo modo per generareExpandableStates
, per i casi in cui devono essere creati on demand, non necessariamente all'interno di un ambito@Composable
(Iff9e0) SwipeToDismissBox
è stato migrato dal pacchettoandroidx.wear.compose.material
al pacchettoandroidx.wear.compose.foundation
. (I275fb)- File API aggiornati per annotare la soppressione della compatibilità. (I8e87a, b/287516207)
- Abbiamo reso pubbliche le costanti di altezza per
Chip
,CompactChip
eToggleChip
(Idbfde) - Abbiamo reso pubblici i padding orizzontale e verticale per
Chip
eCompactChip
. (Ieeaf7) - È stata aggiunta la funzionalità per disattivare la gestione dello scorrimento in
SwipeDismissableNavHost
tramite il nuovo parametrouserSwipeEnabled
. (Id2a0b, b/230865655) - Abbiamo aggiornato la libreria di navigazione Wear Compose per utilizzare il nuovo
SwipeToDismissBox
di Wear Compose Foundation. (I4ff8e)
Correzioni di bug
- Abbiamo corretto un bug dell'ordine Z per cui
expandedItem
non mostrava i contenuti corretti dopo aver fatto clic sul comportamento di un pulsante quando sono presenti pulsanti. (I1899d, b/289991514) - 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 base per la release 1.2. (Id5740)
- In seguito alla migrazione di
SwipeToDismissBox
a Foundation, l'implementazione di MaterialSwipeToDismissBox
ora viene inoltrata a Foundation e fornisce i valori di colore predefiniti dal suo tema.(If8451) - Abbiamo aggiunto la semantica delle intestazioni a
ListHeader
. (Ic5420) Chip
eToggleChip
ora regoleranno la loro altezza per adattarsi ai contenuti che sono aumentati a causa dei caratteri grandi per l'accessibilità, se necessario. (Iaf302)- È stato corretto un bug nel ruolo semantico dell'area selezionabile di
SplitToggleChip
per l'accessibilità. (Ieed3a) - L'impostazione Riduci movimento ora disattiva l'effetto luccichio e il movimento di cancellazione sui segnaposto. (I91046)
Stepper
eInlineSlider
ora supportano i clic ripetuti sulla 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 ritirata. La versione 1.3.0-alpha01 contiene questi commit.
Correzioni di bug
- Come annunciato in
1.2.0-alpha07
e1.2.0-alpha10
, ora stiamo modificandoDefaultTextStyle
per disattivare il padding dei caratteri in modo che sia coerente su tutta la piattaforma Android. In questo modo verranno risolti alcuni casi di troncamento del testo con dimensioni del carattere grandi e potrebbero essere interessati anche i layout dello schermo, pertanto i test degli screenshot dovranno essere aggiornati. Ad esempio, qui vediamo il testo troncato (Ic6a86)

- Non è più presente quando il riempimento del carattere è disattivato:

- Abbiamo aggiornato
wear.compose.foundation
in modo che sia una dipendenza API diwear.compose.material
(I72004, b/285404743) - Abbiamo corretto un bug in
SwipeToDismissBox
. Le chiavi di sfondo e dei contenuti vengono ora passate al blocco di memorizzazione, in modo che vengano creati nuovi modificatori quando cambiano i contenuti o lo sfondo. (Ib876c, b/280392104) - Abbiamo aggiornato
TimeText
per utilizzare le impostazioni internazionali quando si sceglie il formato dell'ora a 12 o 24 ore. (If4a3d) - Abbiamo corretto un'incoerenza nei parametri predefiniti di
SwipeToDismissBox
contentScrimColor
. (I2d70f) - Abbiamo migliorato la gestione del movimento in
SwipeToReveal
. (I28fb7)
Problemi noti
- Il supporto delle dimensioni dei caratteri configurate dall'utente è un requisito di accessibilità. Sappiamo che i chip multilinea possono causare il troncamento del testo quando vengono visualizzati con dimensioni del carattere grandi, pertanto aggiorneremo il chip in una versione alpha 1.3 iniziale per apportare modifiche all'altezza in questi casi.
Versione 1.2
Versione 1.2.1
18 ottobre 2023
androidx.wear.compose:compose-*:1.2.1
viene ritirata. La versione 1.2.1 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava la scomparsa errata di
PositionIndicator
. (7a167f)
Versione 1.2.0
9 agosto 2023
androidx.wear.compose:compose-*:1.2.0
viene ritirata. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- Release stabile di Compose for Wear OS 1.2.0 (scopri di più)
- Per un elenco delle modifiche principali in Wear Compose 1.2, consulta le note di rilascio per (Compose for Wear OS 1.2 Beta01)
Versione 1.2.0-rc01
26 luglio 2023
androidx.wear.compose:compose-*:1.2.0-rc01
viene ritirata. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Abbiamo finalizzato i profili di base per la release 1.2 (ID 5740)
Versione 1.2.0-beta02
7 giugno 2023
androidx.wear.compose:compose-*:1.2.0-beta02
viene ritirata. La versione 1.2.0-beta02 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto la nuova variabile sperimentale
LocalReduceMotion
CompositionLocal
, che disattiva il ridimensionamento e la dissolvenza suScalingLazyColumn
. (I58024)
Correzioni di bug
- Abbiamo aggiornato i profili di base per le librerie di materiali e la base di composizione di Wear(I4725d).
- Abbiamo corretto un'incoerenza nei valori predefiniti per i parametri
SwipeToDismissBox
contentScrimColor
(I2d70f) - Abbiamo corretto il valore predefinito
DefaultTextStyle
utilizzato per l'impostazioneIncludeFontPadding
(I737ed)
Versione 1.2.0-beta01
24 maggio 2023
androidx.wear.compose:compose-*:1.2.0-beta01
viene ritirata. La versione 1.2.0-beta01 contiene questi commit.
Novità di Compose per Wear OS 1.2
La release 1.2-beta01 di Compose for Wear OS indica che questa release della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear Compose 1.2 include le seguenti nuove funzionalità:
expandableItem
eexpandableItems
sono due nuovi componentiFoundation
che supportano l'espansione degli elementi all'interno di unScalingLazyColumn
. UtilizzaexpandableItem
per un singolo elemento espandibile, ad esempio Testo in cui il numero di righe. UtilizzaexpandableItems
per un gruppo di elementi espandibili eexpandableButton
per semplificare la creazione di un pulsante che si comprime dopo l'espansione dei contenuti.HierarchicalFocusCoordinator
: questo componente sperimentale consente di contrassegnare i sottoalberi della composizione come abilitati o disabilitati per la messa a fuoco.Picker
: l'API ora includeuserScrollEnabled
per controllare se il selettore è attivo per lo scorrimento dell'utente.PickerGroup
: un nuovo elemento componibile per gestire più selettori contemporaneamente. Gestisce lo stato attivo tra i selettori utilizzando l'APIHierarchicalFocusCoordinator
e consente il centraggio automatico degli elementi del selettore.Placeholder
: abbiamo apportato aggiornamenti alle animazioni di luccichio e "Pulizia". L'effetto cancellatura viene ora applicato immediatamente quando i contenuti sono pronti.ScalingLazyColumn
: abbiamo eseguito la migrazione diScalingLazyColumn
e dei corsi associati daandroidx.wear.compose.material.ScalingLazyColumn
aandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
. Esegui l'aggiornamento per utilizzare la versioneFoundation.Lazy
.SwipeToReveal
: abbiamo aggiunto il supporto sperimentale per lo scorrimento per rivelare le azioni secondarie, integrando il pattern esistente di "pressione prolungata".Stepper
ora ha un overload con un parametroenableRangeSemantics
aggiuntivo per facilitare la disattivazione della semantica dell'intervallo predefinito.Previews
: abbiamo aggiunto le seguenti annotazioni personalizzate per l'anteprima dei composable sugli schermi Wear:WearPreviewSmallRound
mostra l'anteprima del composable su un dispositivo piccolo e rotondo;WearPreviewLargeRound
mostra l'anteprima del composable su un dispositivo rotondo di grandi dimensioni;WearPreviewSquare
mostra l'anteprima del composable su un dispositivo quadrato. Inoltre, le annotazioni seguenti e di anteprima multipla:WearPreviewFontScales
visualizza l'anteprima dei componenti componibili su un dispositivo indossabile con più dimensioni del carattere, mentreWearPreviewDevices
visualizza l'anteprima dei componenti componibili su diversi dispositivi indossabili.- Abbiamo aggiunto un
DefaultTextStyle
a Wear Compose che imposta la proprietàPlatformTextStyle.includeFontPadding
su true (questa è l'impostazione attuale). In questo modo potremo sincronizzare la disattivazione del padding dei caratteri per impostazione predefinita con le librerie Compose in una versione alpha 1.3 iniziale. Per saperne di più, consulta la pagina 1.2.0-alpha10.
Nuove funzionalità
- Abbiamo aggiunto il supporto sperimentale per la scalabilità e l'animazione di dissolvenza disabilitate quando l'impostazione reduce_motion è attiva. (I58024)
Correzioni di bug
- Documentazione migliorata per
angularWidthDp
inCurvedSize.kt
(Iab75c) SwipeDismissableNavHost
ora registra un avviso con le potenziali cause dello stack di ritorno vuoto. Ciò avviene per evitare arresti anomali imprevisti causati daIllegalArgumentException
generato quando lo stack di cronologia era vuoto. (I04a81, b/277700155)
Versione 1.2.0-alpha10
10 maggio 2023
androidx.wear.compose:compose-*:1.2.0-alpha10
viene ritirata. La versione 1.2.0-alpha10 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto per lo scorrimento per rivelare, come mezzo per accedere alle azioni secondarie. Questo pattern integra il pattern "pressione prolungata", il modo esistente in cui un utente può rivelare azioni secondarie (diverse). (I60862)
Modifiche alle API
- Abbiamo aggiunto
RevealScope
ai composable di azioni inSwipeToReveal
, che consente di accedere all'offset in corrispondenza del quale vengono visualizzate azioni aggiuntive. (I3fd56)
Correzioni di bug
- Risolto un problema per cui
ScalingLazyColumn
rimaneva bloccato sull'API Wear 33 dopo lo scorrimento rapido (Ic4599) - Abbiamo apportato alcuni miglioramenti delle prestazioni a
PositionIndicator
per ridurre i problemi di scattosità. (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 un errore nel rendering dell'anteprima quando è annotata con @WearPreviewDevices e @WearPreviewFontScales. È previsto un rilascio della correzione a breve. 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 DefaultTextStyle a Wear Compose, mantenendo il valore esistente di PlatformTextStyle.includeFontPadding su true. Per informazioni di base, vedi Correzione del padding dei caratteri in Compose. Modificheremo DefaultTextStyle per disattivare il padding dei caratteri in una delle prime versioni alpha 1.3, in modo da garantire la coerenza su tutta la piattaforma Android. In questo modo si risolvono alcuni casi di troncamento del testo con dimensioni del carattere grandi e si potrebbe influire anche sui layout dello schermo, pertanto è necessario aggiornare i test degli screenshot. Ad esempio, con dimensioni del carattere grandi, il testo viene troncato:

- Non è più presente quando il riempimento del carattere è disattivato:

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 ritirata. 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 di ora(Id0eb7)
Versione 1.2.0-alpha08
5 aprile 2023
androidx.wear.compose:compose-*:1.2.0-alpha08
viene ritirata. La versione 1.2.0-alpha08 contiene questi commit.
Modifiche alle API
- Abbiamo rinominato
ExpandableItemsState
inExpandableState
. (If85ea) - Abbiamo aggiunto
expandableButton
per semplificare la creazione di un pulsante che si comprime quando i contenuti vengono espansi e abbiamo anche aggiornato gli esempi di elementi espandibili. (Iae309)
Correzioni di bug
- Miglioramento degli esempi espandibili per mostrare più possibilità. Animazione di
expandableItem
modificata per mantenere i contenuti centrati durante l'animazione. (I2f637) - Aggiornamento di
ToggleControls
per evitare ricomposizioni aggiuntive durante l'animazione manuale dei colori utilizzando State. (I5d319)
Versione 1.2.0-alpha07
22 marzo 2023
androidx.wear.compose:compose-*:1.2.0-alpha07
viene ritirata. 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) da Material a Foundation, poiché non avevano alcun riferimento significativo a
MaterialTheme
. (Ib0525)
Correzioni di bug
- Abbiamo risolto un arresto anomalo che si verificava in una schermata utilizzando
PickerGroup
, assicurandoci chePickerGroup
gestisca correttamente lo stato attivo quando nessun selettore è attivo. È stato aggiunto anche il supporto per lo scorrimento RSB nelle nostre demo del selettore. (If8c19) - Abbiamo migliorato le transizioni dei dialoghi: la transizione di introduzione è ora più fluida per corrispondere alla transizione di chiusura. (Ib5af9)
- Abbiamo aggiunto un
DefaultTextStyle
a Wear Compose che imposta la proprietàPlatformTextStyle.includeFontPadding
su true (questa è l'impostazione attuale). In questo modo, in futuro potremo sincronizzare la disattivazione del padding dei caratteri per impostazione predefinita con le librerie Compose. Per maggiori informazioni, consulta Correggere il padding dei caratteri in Compose. (I2aee8) - È stata ripristinata una dipendenza di anteprima di
UpsideDownCake
tramite activity-compose che impediva la pubblicazione di app sul Google Play Store. (I6443d)
Versione 1.2.0-alpha06
8 marzo 2023
androidx.wear.compose:compose-*:1.2.0-alpha06
viene ritirata. 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) - Sono stati aggiunti due nuovi componenti, Elemento/i espandibile/i, per supportare un gruppo di elementi espandibili in un
ScalingLazyColumn
o un singolo elemento espandibile, ad esempio Testo, in cui il numero di righe si espande. (I95dd5) - Abbiamo aggiunto le seguenti annotazioni personalizzate per visualizzare l'anteprima dei composable sugli schermi Wear:
WearPreviewSmallRound
visualizza l'anteprima del composable su un dispositivo piccolo e rotondo;WearPreviewLargeRound
visualizza l'anteprima del composable su un dispositivo rotondo di grandi dimensioni;WearPreviewSquare
visualizza l'anteprima del composable su un dispositivo quadrato. Inoltre, le annotazioni seguenti e di anteprima multipla:WearPreviewFontScales
visualizza l'anteprima dei componenti componibili su un dispositivo indossabile con più dimensioni del carattere, mentreWearPreviewDevices
visualizza l'anteprima dei componenti componibili su diversi dispositivi indossabili. Per utilizzare queste anteprime, devi utilizzare l'ultima versione di Android Studio (Giraffe Canary 6) o versioni successive. Tieni presente che, se queste annotazioni non sono adatte al tuo scopo, puoi comunque utilizzare l'anteprima, che supporta ulteriori personalizzazioni tramite parametri. (I397ff) - Abbiamo contrassegnato
HierarchicalFocusCoordinator
come sperimentale in quanto è considerato un candidato per essere spostato nelle librerie di composizione principali, data la sua ampia applicabilità. (I3a768)
Correzioni di bug
- È stato corretto un bug su
HierarchicalFocusCoordinator
: quando viene modificata la lambda passata per il parametrofocusEnabled
, ora utilizziamo correttamente quella nuova. (Icb353) - Abbiamo aggiornato il colore predefinito dei contenuti disattivati a Sfondo quando si utilizzano i colori primari come sfondo in
Button
,CompactButton
,Chip
,CompactChip
eToggleButton
. In questo modo il contrasto viene migliorato per l'accessibilità. (I527cc)
Versione 1.2.0-alpha05
22 febbraio 2023
androidx.wear.compose:compose-*:1.2.0-alpha05
viene ritirata. La versione 1.2.0-alpha05 contiene questi commit.
Modifiche alle API
- API
PickerGroup
aggiornata per consentire la propagazione facoltativa dei vincoli minimi al composable. Se impostato su true, i vincoli minimi passati dal componibile principale saranno consentiti suPickerGroup
. Se impostato su false,PickerGroup
reimposterà i vincoli minimi. (I3e046) - Abbiamo aggiunto
animateScrollToOption
all'API Picker per supportare l'animazione programmatica a un'opzione specifica del selettore (I6fe67).
Correzioni di bug
- Abbiamo aggiornato
HorizontalPageIndicator
per supportare i layout da destra a sinistra. (Ia4359) - Aggiunti test degli screenshot per il layout da destra a sinistra in
HorizontalPageIndicator
(I6fbb8) - Sono stati aggiunti altri test a
SwipeDismissableNavHostTest
che utilizzanoTestNavHostController
(I61d54)
Versione 1.2.0-alpha04
8 febbraio 2023
androidx.wear.compose:compose-*:1.2.0-alpha04
viene ritirata. 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 il centraggio automatico dei selettori in base ai parametri e permette agli sviluppatori di cambiare lo stato attivo tra i diversi selettori durante la gestione degli eventi del gruppo. In modalità TalkBack,PickerGroup
gestisce lo stato attivo di TalkBack spostandolo sul selettore selezionato del gruppo. (I60840)
Modifiche alle API
- Abbiamo aggiunto un overload a Stepper con un parametro
enableRangeSemantics
aggiuntivo per facilitare la disattivazione della semantica dell'intervallo predefinito (Ia61d4)
Correzioni di bug
- Consenti l'incorporamento di
ScalingLazyColumn
in una pagina a scorrimento orizzontale (Iec3f8, b/266555016) - Miglioramento dei kdoc di Stepper e pulizia dei test
StepperTest
. (Ic118e) - Dipendenza
androidx.navigation
aggiornata alla versione 2.5.3 (If58ed)
Versione 1.2.0-alpha03
25 gennaio 2023
androidx.wear.compose:compose-*:1.2.0-alpha03
viene ritirata. 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 con opinioni. La modifica è in corso in preparazione di una nuova libreria Material3, su cui lavoreremo in parallelo con la libreria Material esistente. (I060e7)
Le seguenti modifiche fanno parte della migrazione di ScalingLazyColumn
da Material a Foundation.Lazy
:
- Le API
PositionIndicator
che hanno come target MaterialScalingLazyColumn
sono state ritirate. Esegui l'aggiornamento aFoundation.Lazy ScalingLazyColumn
. Inoltre, il campoanchorType
è stato aggiunto aScalingLazyListLayoutInfo
. (I29d95) ScalingLazyColumn
è stato contrassegnato come deprecato nel pacchetto Wear Compose Material (I16d34)- Abbiamo aggiornato il modificatore
ScrollAway
per utilizzareScalingLazyListState
da Wear ComposeFoundation.Lazy
e abbiamo ritirato l'overload che utilizzavaScalingLazyListState
da Wear Compose Material. (Ifc42c) - Abbiamo aggiornato le API Dialog per utilizzare
ScalingLazyListState
daFoundation.Lazy
e abbiamo ritirato gli overload che utilizzavano MaterialScalingLazyListState
(Ic8960) - Abbiamo aggiornato le API Picker per utilizzare
ScalingParams
daFoundation.Lazy
e abbiamo ritirato gli overload che utilizzavano MaterialScalingParams
. (Idc3d8)
Correzioni di bug
- È stato corretto un bug che causava ricomposizioni non necessarie in
ScalingLazyListState.centerItemIndex
garantendo che gli aggiornamenti vengano inviati solo quando il valore cambia effettivamente (Ia9f38). - Abbiamo migliorato il rendimento di
SwipeToDismissBox
(I3933b) - Sono stati aggiunti test benchmark per
ScalingLazyColumn
in Wear Compose Foundation (Ie00f9) - Abbiamo aggiornato alcuni metodi delle classi
ScalingLazyColumn
interne in Material per utilizzare i loro equivalenti diFoundation.Lazy
(I38aab) - Abbiamo corretto alcuni problemi nei test di Picker e aggiunto altri test per controllare lo scorrimento con offset (I6ac34).
- Abbiamo eseguito la migrazione delle
ScalingLazyColumn
demo di integrazione in modo che dipendano daFoundation.Lazy
anziché da MaterialScalingLazyColumn
(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 ritirata. La versione 1.2.0-alpha02 contiene questi commit.
Modifiche alle API
- I test dell'interfaccia utente di Android Compose ora eseguiranno passaggi di layout per ogni frame durante l'esecuzione dei frame per raggiungere lo stato di inattività (ad es. tramite
waitForIdle
). Ciò potrebbe influire sui test che asseriscono singoli frame delle animazioni di layout. (I8ea08, b/222093277) - Il parametro
minLines
viene aggiunto a Wear Text per un comportamento coerente conBasicText
(I24874) CompactChipTapTargetPadding
è stato reso pubblico in modo che venga visualizzato nella documentazione (If1e70, b/234119038)
Correzioni di bug
- Disabilita le build multipiattaforma per i pacchetti
wear.compose
(Iad3d7) - Correggi i documenti KDocs per
scrollToOption
(I6f9a0) PlaceholderState.rememberPlaceholderState()
aggiornato per utilizzarerememberUpdatedState
in modo che lo stato venga aggiornato se la lambdaonContentReady
. (I02635, b/260343754)- Abbiamo risolto un problema di tremolio del testo riscontrato nel componente
Picker
sfruttando la nuova strategia di composizione aggiunta aModifier.graphicsLayer
. (I99302) - Abbiamo corretto un bug che causava sfarfallio nella nostra demo
DatePicker
(I660bd) - Abbiamo migliorato l'accessibilità delle demo del selettore di data e ora di 12 ore (I05e12).
- Abbiamo aggiornato le demo dei selettori di data e ora in modo che non siano interessati dalle modifiche alla barra di stato quando non sono selezionati (I4aecb).
Versione 1.2.0-alpha01
7 dicembre 2022
androidx.wear.compose:compose-*:1.2.0-alpha01
viene ritirata. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Pulitura" venga applicato immediatamente quando i contenuti sono pronti, anziché attendere l'inizio del ciclo di animazione successivo. Abbiamo anche apportato alcuni aggiornamenti alle animazioni di luccichio e pulizia. (I5a7f4)
Modifiche alle API
- Abbiamo aggiunto un
HierarchicalFocusCoordinator
componente componibile per consentire di contrassegnare i sottoalberi della composizione come abilitati o disabilitati per la messa a fuoco.(I827cb) - Abbiamo aggiunto una nuova proprietà per ignorare il ruolo semantico per
ToggleButton
.(I67132) - Abbiamo aggiornato
TimeTextDefaults.TimeFormat12Hours
per rimuovere AM/PM inTimeText
. In questo modo, il valore predefinito dei parametritimeSource
nell'APITimeText
verrà modificato. (I1eb7f) - Abbiamo esteso l'API Picker per migliorare l'accessibilità per le schermate 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 del bordo predefinita per un
OutlinedButton/OutlinedCompactButton
da 2 dp a 1 dp in modo che corrisponda alle specifiche UX finali. (Icf84d) - Per ridurre l'effetto del primo elemento aggiunto a un
ScalingLazyColumn
vuoto che sembra scorrere in posizione, abbiamo aggiunto unautoCentering topPadding
stimato quando i contenuti sono vuoti. Questa modifica calcola la quantità di spazio interno superiore necessario presupponendo un elemento iniziale di altezza 0 dp. PerScalingLazyListAnchorType.ItemStart
verrà calcolato il padding superiore corretto, mentre perScalingLazyListAnchorType.ItemCenter
questo calcolo non sarà corretto, poiché è necessaria l'altezza degli elementi per dimensionare correttamente i contenuti, il che comporta un piccolo effetto di scorrimento in posizione in base all'altezza effettiva degli elementi.(I239a4) - Abbiamo aggiornato la semitrasparenza dello sfondo applicata all'animazione
SwipeToDismiss
in modo che corrisponda alla piattaforma Wear. (I9003e) - Abbiamo corretto la gestione di
PositionIndicator
diLazyListState
eScalingLazyListState
per gli elementi di elenco di dimensioni 0 per evitare errori di divisione per zero.(Ic28dd)
Versione 1.1
Versione 1.1.2
8 febbraio 2023
androidx.wear.compose:compose-foundation:1.1.2
, androidx.wear.compose:compose-material:1.1.2
e androidx.wear.compose:compose-navigation:1.1.2
sono rilasciati. La versione 1.1.2 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava ricomposizioni non necessarie in
ScalingLazyListState.centerItemIndex
garantendo che gli aggiornamenti vengano inviati 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
sono rilasciati. La versione 1.1.1 contiene questi commit.
Correzioni di bug
PlaceholderState.rememberPlaceholderState()
aggiornato per utilizzarerememberUpdatedState
in modo che lo stato venga aggiornato se la 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
sono rilasciati. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Release stabile di Compose for Wear OS 1.1.0 (scopri di più).
- Per un elenco delle modifiche principali in Wear Compose 1.1, consulta le note di rilascio per Compose for Wear OS 1.1 Beta01.
Nuove funzionalità
- Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Pulitura" venga applicato immediatamente quando i contenuti sono pronti, anziché attendere l'inizio del ciclo di animazione successivo. Abbiamo anche apportato alcuni aggiornamenti alle animazioni di luccichio e pulizia. (I5a7f4)
Correzioni di bug
- Abbiamo modificato la larghezza del bordo predefinita per un
OutlinedButton/OutlinedCompactButton
da 2 dp a 1 dp in modo che corrisponda alle specifiche UX finali. (Icf84d) - Per ridurre l'effetto del primo elemento aggiunto a un
ScalingLazyColumn
vuoto che sembra scorrere in posizione, abbiamo aggiunto unautoCentering topPadding
stimato quando i contenuti sono vuoti. Questa modifica calcola la quantità di spazio interno superiore necessario presupponendo un elemento iniziale di altezza 0 dp. PerScalingLazyListAnchorType.ItemStart
verrà calcolato il padding superiore corretto, mentre perScalingLazyListAnchorType.ItemCenter
questo calcolo non sarà corretto, poiché è necessaria l'altezza degli elementi per dimensionare correttamente i contenuti, il che comporta un piccolo effetto di scorrimento in posizione in base all'altezza effettiva degli elementi.(I239a4) - Abbiamo aggiornato il velo di sfondo applicato all'animazione
SwipeToDismiss
in modo che corrisponda alla piattaforma Wear.(I9003e) - Abbiamo corretto la gestione di
PositionIndicator
diLazyListState
eScalingLazyListState
per gli elementi di elenco di dimensioni 0 per evitare errori di divisione per zero.(Ic28dd)
Versione 1.1.0-rc01
9 novembre 2022
androidx.wear.compose:compose-foundation:1.1.0-rc01
, androidx.wear.compose:compose-material:1.1.0-rc01
e androidx.wear.compose:compose-navigation:1.1.0-rc01
sono rilasciati. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- Abbiamo aggiunto regole di profilo di base per
Placeholders
,ScrollAway
,RadioButton
,Switch
,Checkbox
,OutlinedButton
,OutlinedCompactButton
,OutlinedChip
eOutlinedCompactChip
. (I8249c) - Abbiamo corretto un bug in
Modifier.scrollAway
in modo che, se l'itemIndex
specificato non è valido (ad esempio, se l'indice dell'elemento non è compreso nell'intervallo), l'TimeText
venga comunque visualizzato. (I2137a) - Abbiamo aggiornato l'animazione
SwipeToDismissBox
in modo che corrisponda all'implementazione della piattaforma. Dopo l'animazione di compressione iniziale, lo schermo ora scorre verso destra una volta attivata la chiusura. (I41d34) - Come ottimizzazione, abbiamo aggiornato
Modifier.scrollAway
in modo che legga soloscrollState
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 vengono applicati allo stesso elemento componibile. (Ie96f4, b/256583229) - Abbiamo modificato la larghezza del bordo predefinita per un
OutlinedCompactChip/OutlinedChip
da 2 dp a 1 dp in modo che corrisponda alle specifiche UX finali. (Ib3d8e) - Abbiamo corretto un bug in
rememberPickerState
per cui gli input aggiornati non venivano salvati, in modo che i composable non venissero aggiornati dopo le modifiche agli input. (I49ff6, b/255323197) - Abbiamo apportato alcuni aggiornamenti all'interfaccia utente dei segnaposto: 1) abbiamo modificato il gradiente di brillantezza portandolo a 1, 5 volte la dimensione dello schermo, 2) abbiamo aggiunto l'accelerazione (bezier cubica) della progressione della brillantezza e 3) abbiamo velocizzato l'animazione di cancellazione (250 ms). (Id29c1)
- Abbiamo corretto un bug dell'interfaccia utente nell'effetto di cancellazione del segnaposto in cui gli sfondi di chip e schede venivano cancellati leggermente in anticipo perché non tenevano conto della posizione del componente sullo schermo. (I2c7cb)
- Abbiamo aggiornato il disegno dello sfondo del segnaposto per unire i colori anziché sovrapporli, ove possibile, per ridurre il rischio di fusione alfa dei diversi livelli ritagliati che consentono ai colori sottostanti di trasparire sui bordi dello sfondo del segnaposto. (I2ea26)
- Abbiamo corretto il calcolo di
ScalingLazyListState.centerItemIndex/centerItemOffset
in modo che, se due elementi si trovano su entrambi i lati della linea centrale del riquadro, quello più vicino venga consideratocenterItem
. (I30709, b/254257769) - Abbiamo corretto un bug in
ScalingLazyListState.layoutInfo.visibleItemsInfo
che segnalava offset errati durante l'inizializzazione diScalingLazyColumn
. Ora verrà restituito un elenco vuoto finché tutti gli elementi dell'elenco non saranno visibili e non avranno gli offset corretti. Il controllo diScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
confermerà che l'inizializzazione diScalingLazyColumn
è completa e che gli elementi sono visibili. (I3a3b8)
Versione 1.1.0-beta01
24 ottobre 2022
androidx.wear.compose:compose-foundation:1.1.0-beta01
, androidx.wear.compose:compose-material:1.1.0-beta01
e androidx.wear.compose:compose-navigation:1.1.0-beta01
sono rilasciati. La versione 1.1.0-beta01 contiene questi commit.
Novità di Compose per Wear OS 1.1
La versione 1.1.0-beta01 di Compose for 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 di selezione multipla siano navigabili con gli screen reader e la descrizione dei contenuti sia accessibile
- Il parametro Picker
contentDescription
viene ora utilizzato solo per l'opzione Picker selezionata e accetta una stringa nullable (nel commit precedente era necessario passare una mappatura dall'opzione alla descrizione dei contenuti, ma veniva utilizzata solo l'opzione selezionata). - Gli elementi del selettore ora sono sempre allineati al centro, correggendo un bug che si verificava quando l'impostazione
gradientRatio
era pari a zero e che aveva 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% del colore principale anziché dal 32,5%.Chip/ToggleChip
- Aggiunta di overload per la modifica delle forme dei chipChip/Button/ToggleButton
- È stato aggiunto un nuovo stile contorno per i chip e i pulsanti e nuovi composableOutlinedChip
eOutlinedButton
che forniscono unChip/Button
trasparente con un bordo sottile.- Scheda: sono state aggiornate le sfumature predefinite per le schede per allinearle alle ultime specifiche UX.
CardDefaults.cardBackgroundPainter
è stato aggiornato per iniziare dal 30% del colore principale e terminare al 20% dionSurfaceVariant
(in precedenza era dal 20% al 10% dionSurfaceVariant
).ToggleChip.toggleChipColors
passa da una sfumatura lineare dal 75% della superficie al 32,5% del colore principale, allo 0% della superficie e al 50% del colore principale. Button/ToggleButton
: sono state aggiunte proprietà per modificare le forme dei pulsanti.- Tema: sono stati aggiornati alcuni colori predefiniti in
MaterialTheme
per migliorare l'accessibilità, in quanto i colori originali non avevano un contrasto sufficiente, il che rendeva difficile per gli utenti distinguere gli sfondi di chip, schede e pulsanti dal colore di sfondo del tema. InlineSlider/Stepper
- Aggiunta dei ruoli dei pulsanti in modo cheTalkback
possa riconoscerli come pulsanti.- Struttura:
PositionIndicator
ora è posizionata e dimensionata in modo da occupare solo lo spazio necessario. Ciò è utile, ad esempio, se vengono aggiunte informazioni semantiche, TalkBack ora ottiene i limiti corretti diPositionIndicator
sullo schermo. CurvedText/TimeText
: è stato aggiuntoModifier.scrollAway
, che scorre un elemento verticalmente dentro/fuori dalla visualizzazione, in base allo stato di scorrimento (con overload per funzionare conColumn
,LazyColumn
eScalingLazyColumn
).ScrollAway
viene in genere utilizzato per scorrere unTimeText
fuori dalla visualizzazione quando l'utente inizia a scorrere un elenco di elementi verso l'alto.CurvedText/TimeText
: è stato aggiunto il supporto perfontFamily
,fontStyle
efontSynthesis
inCurvedTextStyle
, utilizzabili sucurvedText
ebasicCurvedText
CurvedText/TimeText
- Aggiunta difontWeight
al costruttore e al metodo di copia suCurvedTextStyle
ToggleControls
: sono stati aggiunti controlli di attivazione/disattivazione animati perCheckbox
,Switch
eRadioButton
da utilizzare conToggleChip
eSplitToggleChip
. Questi possono essere utilizzati al posto delle icone statiche fornite daToggleChipDefaults
(switchIcon
,checkboxIcon
eradioIcon
).- Segnaposto: è stato aggiunto il supporto sperimentale per i segnaposto. Questo effetto è composto da tre effetti visivi distinti progettati per funzionare insieme.
- Innanzitutto, un effetto pennello di sfondo segnaposto utilizzato nei contenitori come Chip e Schede per disegnare sullo sfondo normale durante l'attesa del caricamento dei contenuti.
- In secondo luogo, un modificatore (
Modifier.placeholder()
) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento. - Terzo, un effetto sfumato/luccicante 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 e brillare e scomparire in modo orchestrato.
- Dipendenze di Compose Core aggiornate dalla versione 1.2 alla 1.3
Modifiche alle API
- I parametri del carattere (
fontFamily
,fontWeight
,fontStyle
efontSynthesis
) ora possono essere specificati direttamente come parametri dicurvedText
(Idc422).
Correzioni di bug
curveText
ebasicCurvedText
ora funzioneranno correttamente con TalkBack (hanno un nodo compose-ui di dimensioni e posizionamento corretti (ma vuoto) associato, utilizzando il testo come descrizione dei contenuti) (I7af7c, b/210721259)- Correzione di bug per
Picker
quandoPickerState.repeatedItems = false
per aggiungere un'impostazione esplicita dei parametri di centraggio automatico nelScalingLazyColumn
interno dei selettori per garantire che sia possibile scorrere la zeroesima opzione fino al centro della visualizzazione. (I8a4d7)
Versione 1.1.0-alpha07
5 ottobre 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha07
, androidx.wear.compose:compose-material:1.1.0-alpha07
e androidx.wear.compose:compose-navigation:1.1.0-alpha07
sono rilasciati. La versione 1.1.0-alpha07 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto sperimentale dei segnaposto. Questo effetto è composto da tre effetti visivi distinti progettati per funzionare insieme. Innanzitutto, un effetto pennello di sfondo segnaposto utilizzato nei contenitori come Chip e Schede per disegnare sullo sfondo normale durante l'attesa del caricamento dei contenuti. In secondo luogo, un modificatore (
Modifier.placeholder()
) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento. Terzo, un effetto sfumato/luccicante 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 e brillare e scomparire in modo orchestrato. (I3c339)
Modifiche alle API
- È stato aggiunto il supporto per
fontWeight
,fontFamily
,fontStyle
efontSynthesis
inCurvedTextStyle
, utilizzabile sucurvedText
ebasicCurvedText
. Questi parametri possono essere utilizzati per specificare il carattere e lo stile da utilizzare nel testo curvo.(Iaa1a8),(I72759) - È stato aggiornato il parametro di offset di
Modifier.scrollAway
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 per i controlli dei pulsanti di attivazione/disattivazione, abbiamo rinominato
RadioButton’s circleColor
inringColor
. (I28fa9) - Abbiamo aggiunto controlli di attivazione/disattivazione animati per
Checkbox
,Switch
eRadioButton
da utilizzare conToggleChip
eSplitToggleChip
. Questi possono essere utilizzati 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
sono rilasciati. La versione 1.1.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
Modifier.scrollAway
, che scorre un elemento verticalmente dentro e fuori dalla visualizzazione, in base allo stato di scorrimento (con overload per funzionare conColumn
,LazyColumn
eScalingLazyColumn
).ScrollAway
viene in genere utilizzato per scorrere unTimeText
fuori dalla visualizzazione quando l'utente inizia a scorrere un elenco di elementi verso l'alto. (I61766)
Correzioni di bug
- Ora
PositionIndicator
è posizionato e dimensionato in modo da occupare solo lo spazio necessario. Ciò è 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
sono rilasciati. La versione 1.1.0-alpha05 contiene questi commit.
Correzioni di bug
- I ruoli dei pulsanti sono stati aggiunti a
InlineSlider
eStepper
in modo che TalkBack possa riconoscerli come pulsanti. (Icb46c, b/244260275) - Abbiamo corretto l'ordine Z degli indicatori di posizione e pagina nello scaffold. Gli indicatori ora si trovano sopra la vignetta e quindi non vengono 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
sono rilasciati. La versione 1.1.0-alpha04 contiene questi commit.
Modifiche alle API
- Abbiamo aggiornato alcuni dei colori predefiniti in MaterialTheme per migliorare l'accessibilità, in quanto i colori originali non avevano un contrasto sufficiente, il che rendeva difficile per gli utenti distinguere gli sfondi di chip, schede e pulsanti dal colore di sfondo del tema. I colori aggiornati sono surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8) e onError(0xFF202124->0xFF000000). Le modifiche ai colori, sebbene relativamente lievi, potrebbero influire sui test degli screenshot esistenti. (81ab09)
Correzioni di bug
- Correzione di un bug logico in
ScalingLazyColumn
che potrebbe impedire il completamento dell'inizializzazione degli elenchi con un numero ridotto (in genere esattamente 2) di elementi dell'elenco e, di conseguenza, la loro trasparenza. (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
sono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un nuovo stile contornato per
Chips
eButtons
e nuovi composableOutlinedChip
eOutlinedButton
che forniscono unChip/Button
trasparente con un bordo sottile. (Id5972)
Modifiche alle API
- Aggiunta di overload per la modifica delle forme dei pulsanti (Icccde)
Correzioni di bug
- Abbiamo corretto le dimensioni dell'area di controllo del pulsante di attivazione/disattivazione di
ToggleChip
perché non corrispondevano alle specifiche UX. Le specifiche UX prevedono uno spazio di 4 dp tra l'etichetta e un'area dell'icona di controllo del pulsante di attivazione/disattivazione di 24 x 24 dp, per una larghezza totale di 28 dp. Tuttavia, l'implementazione fornisce erroneamente l'area di controllo del pulsante di attivazione/disattivazione 36x24.dp. In questo modo, vengono sottratti 8 dp di area utilizzabile per l'etichetta di testo. NOTA: questa correzione di bug offre spazio aggiuntivo per l'etichetta di testo e di conseguenza può influire (positivamente) sul layout del testo per il testo in overflow. Se hai test degli screenshot che includonoToggleChips
, 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
sono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.
Nuove funzionalità
- Abbiamo cambiato le dipendenze di Compose for Wear OS dalle librerie Compose di base dalla versione 1.2.0 alla 1.3.0-alpha0X
Modifiche alle API
- Aggiunti overload per la modifica delle forme dei chip (I02e87)
Correzioni di bug
- Abbiamo animato la visibilità della vignetta quando viene mostrato/nascosto Dialogo, in modo che sia coerente con l'animazione di ridimensionamento esistente. (Ida33e)
- Abbiamo corretto un bug per cui si poteva verificare una divisione per zero con alcuni comportamenti di scorrimento. (I86cb6)
- È stato corretto un bug in
ChipDefaults.childChipColor()
per garantire che il colore di sfondo disattivato sia completamente trasparente. (I2b3c3, b/238057342)
Versione 1.1.0-alpha01
29 giugno 2022
androidx.wear.compose:compose-foundation:1.1.0-alpha01
, androidx.wear.compose:compose-material:1.1.0-alpha01
e androidx.wear.compose:compose-navigation:1.1.0-alpha01
sono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche alle API
- Il parametro
contentDescription
del selettore ora viene utilizzato solo per l'opzione del selettore selezionata e accetta una stringa nullable (in precedenza era necessario passare una mappatura dall'opzione alla descrizione dei contenuti, ma veniva utilizzata solo l'opzione selezionata). (Ife6a7) - Abbiamo apportato miglioramenti all'accessibilità del selettore in modo che le schermate di 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 base incluse nella libreria Wear Compose (I9c694)
- Abbiamo corretto la direzione del gradiente per i chip in modalità da destra a sinistra. Era dall'alto a sinistra verso il basso a destra, ora è dall'alto a destra verso il basso a sinistra. (Ic2e77)
- Abbiamo aggiornato i gradienti predefiniti per
Chip/ToggleChip/Card
per allinearli alle ultime specifiche UX.ChipDefaults.gradientBackgroundChipColors
è stato aggiornato per iniziare dal 50% del colore principale anziché dal 32,5%.CardDefaults.cardBackgroundPainter
è stato aggiornato in modo che inizi dal 30% del colore principale e termini al 20% dionSurfaceVariant
(in precedenza era dal 20% al 10% dionSurfaceVariant
).ToggleChip.toggleChipColors
passa da una sfumatura lineare dal 75% di superficie al 32,5% di colore principale, allo 0% di superficie e al 50% di colore principale. (I43bbd) - Abbiamo aggiunto un colore di sfondo (
MaterialTheme.color.surface
) dietroChip/ToggleChips
con sfondi sfumati per garantire che siano visibili correttamente nell'improbabile eventualità che venga utilizzato un colore chiaro dietro. (Ibe1a4, b/235937657) - Gli elementi del selettore ora sono sempre allineati al centro, correggendo un bug che si verificava quando l'impostazione
gradientRatio
era pari a zero e che aveva 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
sono rilasciati. La versione 1.0.2 contiene questi commit.
Correzioni di bug
- Abbiamo corretto l'ordine Z degli indicatori di posizione e pagina nello scaffold. Gli indicatori ora si trovano sopra la vignetta e quindi non vengono 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
sono rilasciati. La versione 1.0.1 contiene questi commit.
Correzioni di bug
- Correzione di un bug logico in
ScalingLazyColumn
che potrebbe impedire il completamento dell'inizializzazione degli elenchi con un numero ridotto (in genere esattamente 2) di elementi dell'elenco e, di conseguenza, la loro trasparenza. (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
sono 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 for Wear OS si basa sulle librerie Compose di base e fornisce componenti aggiuntivi specifici per i dispositivi indossabili e, se opportuno, implementazioni alternative dei componenti Compose di base personalizzate per i dispositivi indossabili.
- Per un elenco dei componenti chiave di Wear Compose, consulta le note di rilascio di (Compose for Wear OS Beta01).
Correzioni di bug
- Abbiamo animato la visibilità della vignetta quando viene mostrato/nascosto Dialogo, in modo che sia coerente con l'animazione di ridimensionamento esistente. (Ida33e)
- Abbiamo corretto un bug per cui si poteva verificare una divisione per zero con alcuni comportamenti di scorrimento. (I86cb6)
- È stato corretto un bug in
ChipDefaults.childChipColor()
per garantire che il colore di sfondo disattivato sia completamente trasparente. (I2b3c3, b/238057342)
Versione 1.0.0-rc02
22 giugno 2022
androidx.wear.compose:compose-foundation:1.0.0-rc02
, androidx.wear.compose:compose-material:1.0.0-rc02
e androidx.wear.compose:compose-navigation:1.0.0-rc02
sono 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). Prima era dall'alto a sinistra verso il basso a destra, ora è dall'alto a destra verso il basso a sinistra. (Ic2e77)
- Abbiamo aggiornato i gradienti predefiniti per
Chip/ToggleChip/Card
per allinearli alle ultime specifiche UX.ChipDefaults.gradientBackgroundChipColors
è stato aggiornato per iniziare dal 50% del colore principale anziché dal 32,5%.CardDefaults.cardBackgroundPainter
è stato aggiornato per iniziare dal 30% del colore principale e terminare al 20% dionSurfaceVariant
(in precedenza era dal 20% al 10% su SurfaceVariant).ToggleChip.toggleChipColors
passa da una sfumatura lineare del 75% di superficie al 32,5% di colore principale, allo 0% di superficie e al 50% di colore principale. (I43bbd) - Abbiamo aggiunto un colore di sfondo (
MaterialTheme.color.surface
) dietroChip/ToggleChips
con sfondi sfumati per garantire che siano visibili correttamente nell'improbabile eventualità che venga utilizzato un colore chiaro dietro. (Ibe1a4, b/235937657) - Abbiamo aggiornato le regole del profilo di base incluse nella libreria Wear Compose (I9c694)
Versione 1.0.0-rc01
15 giugno 2022
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
sono rilasciati. La versione 1.0.0-rc01 contiene questi commit.
Modifiche alle API
- Le interfacce nelle librerie Compose ora sono create utilizzando i metodi di interfaccia predefiniti di jdk8 (I5bcf1)
Correzioni di bug
- Abbiamo rimosso la chiamata esplicita a
fillMaxWidth()
nell'intestazione dell'elenco perché non è necessaria e può causare problemi se unScalinglazyColumn
ha una combinazione di componentiListHeader()
eChip()
, poiché la larghezza tende ad aumentare/diminuire quando gli elementiListHeader
vengono visualizzati/nascosti. (I37144, b/235074035) - Abbiamo corretto un bug in
ScalingLazyColumn
che poteva causare il mancato disegno corretto degli elementi dell'elenco fino allo scorrimento se il primo elemento dell'elenco era sufficientemente grande (incluso il padding) (Ic6159, b/234328517) - Abbiamo apportato una piccola modifica all'
ScalingLazyColumn
quando gli elementi raggiungono il bordo dello schermo per adattarsi 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 spaziatura interna a
CompactChip
per garantire che le dimensioni del target di tocco siano almeno di 48 dp di altezza, in modo da rispettare le linee guida per l'accessibilità di Material. Ciò potrebbe influire su tutti i layout che utilizzanoCompactChips
, in quanto 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
sono rilasciati. La versione 1.0.0-beta03 contiene questi commit.
Nuove funzionalità
- Abbiamo reso disponibile
ScalingLazyColumn
in modalità@Preview
. (I3b3b6, b/232947354)
Modifiche alle API
- Abbiamo modificato il valore predefinito della proprietà
ScalingLazyColumn.horizontalAlignment
da Inizio aCenterHorizontally
per garantire che gli elementi dell'elenco non riempiano l'intera larghezza della colonna e siano allineati per la massima visibilità. Per tornare al set di comportamenti precedentehorizontalAlignment = Alignment.Start
.(I9ed4b)
Problemi noti
- L'altezza del tocco/tocco di CompactChip è inferiore alle linee guida per l'accessibilità di Material. Questo problema verrà corretto nella prossima release (15 giugno). Se utilizzi CompactChip, questo influenzerà i tuoi layout, in quanto ora CompactChip avrà un padding aggiuntivo sopra e sotto. Modifica e testa i layout o consulta i commenti relativi al bug per una soluzione alternativa per utilizzare il comportamento esistente. (b/234332135)
Correzioni di bug
- Nuova demo per animare l'aggiunta o la rimozione di un testo iniziale su un
TimeText
. (I16d75) - Aggiungi test per
HorizontalPageIndicator.PagesState
(I64ed0) - Aggiornamento di
TimeText
in linea con le 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
sono rilasciati. La versione 1.0.0-beta02 contiene questi commit.
Nuove funzionalità
- Ora il selettore risponde sempre agli eventi di scorrimento anche in modalità di sola lettura. In questo modo gli utenti non devono prima selezionare un selettore toccandolo prima di poter scorrere. In modalità di sola lettura, le opzioni diverse da quella attualmente selezionata sono oscurate da un riempimento in
gradientColor
. (I72925) - Abbiamo modificato il comportamento dell'esperienza utente di
Chip/ToggleChip/CompactChip/SplitToggleChip
per impedire l'esecuzione difillMaxWidth
per impostazione predefinita. Al contrario, si espanderanno per adattarsi ai contenuti. Per mantenere il comportamento precedente, aggiungi semplicementemodifier = Modifier.fillMaxWidth()
(I60a2c, b/232206371)
Correzioni di bug
- Il costruttore
CurvedTextStyle
che accetta unTextStyle
ora rispetta anchefontWeight
. Questo potrebbe essere aggiunto ai metodi di copia e al costruttore nelle revisioni future dell'API. (Ieebb9) - Miglioramenti dello scorrimento dai bordi. Quando viene utilizzato
Modifier.edgeSwipeToDismiss
e viene attivato uno scorrimento verso sinistra dall'area del bordo, lo scorrimento per chiudere non viene più attivato quando la direzione dello scorrimento cambia verso destra. In precedenza, era possibile attivare lo scorrimento per chiudere scorrendo verso sinistra e poi verso destra.(I916ea) HorizontalPageIndicator
ora mostra fino a 6 pagine sullo schermo. Se ci sono più di 6 pagine in totale, viene visualizzato un indicatore a metà pagina a sinistra o a destra, con una transizione fluida tra le pagine.(I2ac29)- Miglioramento del comportamento di snap predefinito su
ScalingLazyColumn
ePicker
(I49539) - Miglioramenti dello scorrimento dai bordi. Quando viene utilizzato
Modifier.edgeSwipeToDismiss
, lo scorrimento per chiudere viene attivato solo quando il primo tocco avviene sul bordo e si scorre verso destra. In precedenza, era possibile attivare lo scorrimento per chiudere scorrendo da qualsiasi parte dello schermo se uno scorrimento raggiunge l'inizio.(I8ca2a)
Versione 1.0.0-beta01
11 maggio 2022
androidx.wear.compose:compose-foundation:1.0.0-beta01
, androidx.wear.compose:compose-material:1.0.0-beta01
e androidx.wear.compose:compose-navigation:1.0.0-beta01
sono rilasciati. La versione 1.0.0-beta01 contiene questi commit.
Contenuto di Compose per Wear OS 1.0
La versione 1.0.0-beta01
di Compose for Wear OS segna una tappa importante, in quanto la libreria è completa e l'API è bloccata.
I componenti di Wear Compose Material nella versione 1.0 includono:
- Tema Material: utilizzato in sostituzione di Compose for Mobile
MaterialTheme
, fornisce i colori, le forme e la tipografia per la creazione di componenti su dispositivi indossabili che implementano le linee guida UX di Wear Material Design pronte all'uso. Button
,CompactButton
eToggleButton
: il pulsante offre un singolo spazio per inserire un'icona, un'immagine o un breve testo (massimo 3 caratteri). Di forma circolare con dimensioni consigliate per pulsanti predefiniti, grandi o piccoli.CompactButton
offre un singolo spazio per inserire qualsiasi contenuto (icona, immagine o testo) ed è di forma circolare con dimensioni dello sfondo molto piccole.CompactButton
ha un padding trasparente facoltativo intorno allo sfondo che aumenta l'area selezionabile.ToggleButton
è un pulsante che offre un singolo spazio per inserire qualsiasi contenuto (testo breve, icona o immagine) e ha stati di attivazione/disattivazione (selezionato/deselezionato) con colori e icone diversi per mostrare se è selezionato o meno- Schede: utilizzate per visualizzare informazioni sulle applicazioni, ad esempio le notifiche. Design flessibile per diversi casi d'uso con
AppCard
eTitleCard
che offrono layout diversi e supporto per le immagini come contenuti delle schede o sfondi. - Chip: componenti a forma di stadio simili ai pulsanti, ma con un'area più ampia e più slot per consentire l'inserimento di etichette, etichette secondarie e icone. In diverse dimensioni e con il supporto delle immagini come sfondi.
- ToggleChips e SplitToggleChips: un chip con uno stato selezionato/deselezionato e l'aggiunta di uno slot
ToggleControl
per mostrare un'icona come un interruttore o un pulsante di opzione per mostrare lo stato selezionato del componente. Inoltre, ilSplitToggleChip
ha due aree toccabili, una cliccabile e una attivabile/disattivabile. - CircularProgressIndicator: indicatore di avanzamento Wear Material con due varianti. Il primo esprime la proporzione di completamento di un'attività in corso e supporta un intervallo nella traccia circolare tra gli angoli iniziale e finale. Il secondo indica un avanzamento indeterminato per un tempo di attesa non specificato.
- curvedText: fa parte del DSL per la descrizione di
CurvedLayouts
, insieme acurvedRow
ecurvedColumn
, per disporre i componenti intorno ai dispositivi circolari. Per maggiori dettagli suCurvedLayout
eCurvedModifier
(che svolge un ruolo simile ai modificatori nel mondo non curvo e consente la configurazione di vari aspetti di layout, spaziatura interna, gradienti e così via), vedi Wear Component Foundation di seguito. - 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 chiudere. Occupa un singolo spazio che dovrebbe contenere contenuti della finestra di dialogo Material per Wear, come avvisi o conferme. L'avviso è un contenuto di dialogo con spazi per icona, titolo e messaggio. Ha overflow per due pulsanti negativi e positivi visualizzati uno accanto all'altro o uno spazio per uno o più chip impilati verticalmente. La conferma è un contenuto della finestra di dialogo che mostra un messaggio per una determinata durata. Ha uno spazio per un'icona o un'immagine (che può essere animata).
- HorizontalPageIndicator: mostra la posizione orizzontale della pagina in modo appropriato per il fattore di forma indossabile. Progettato per occupare l'intero schermo e mostrare un indicatore curvo sui dispositivi rotondi. Può essere utilizzato con il visualizzatore di pagine di Accompanist.
- Icona: un'implementazione di Icona per Wear che prende il colore e l'alfa dal tema Material di Wear. Per un'icona su cui è possibile fare clic, vedi Pulsante o Chip.
- Selettore: mostra un elenco scorribile di elementi tra cui scegliere. Per impostazione predefinita, gli elementi vengono ripetuti "all'infinito" in entrambe le direzioni. Può essere visualizzato in modalità di sola lettura per nascondere le opzioni non selezionate.
- PositionIndicator: mostra la posizione di scorrimento o un'altra indicazione di posizione in modo appropriato per il fattore di forma del dispositivo indossabile. Progettato per occupare l'intero schermo e mostra un indicatore curvo sui dispositivi rotondi.
- Scaffold: implementa la struttura di base del layout visivo di Wear Material Design. Questo componente fornisce un'API per assemblare diversi componenti Wear Material (come
TimeText
,PositionIndicator
eVignette
) che compongono la schermata, garantendo una strategia di layout corretta e raccogliendo i dati necessari affinché questi componenti funzionino correttamente insieme. - ScalingLazyColumn: un componente di elenco scorrevole con effetto scalatura/occhio di pesce che costituisce una parte fondamentale del linguaggio di progettazione Material per Wear. Fornisce effetti di ridimensionamento e trasparenza agli elementi dei contenuti.
ScalingLazyColumn
è progettato per gestire un numero potenzialmente elevato di elementi di contenuti, che vengono materializzati e composti solo quando necessario. - Cursore: consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene visualizzato come una barra, che può essere visualizzata facoltativamente con i 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 spazio al centro per il testo o un chip.
- SwipeToDismissBox: gestisce il gesto di scorrimento per ignorare. Occupa un solo spazio per lo sfondo (visualizzato solo durante lo scorrimento) e i contenuti in primo piano. Può essere combinato facoltativamente con la libreria di navigazione androidx utilizzando
SwipeDismissableNavHost
(vedi la libreria di navigazione Wear Compose di seguito). - Testo: un'implementazione Wear del componente di testo Material di Compose, che prende il colore e l'alfa dal tema Material 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 testo curvo sugli schermi rotondi.
Vignetta: un trattamento dello schermo da utilizzare nello Scaffold che sfoca la parte superiore e inferiore dello schermo quando vengono utilizzati contenuti scorrevoli.
Sono inclusi anche i seguenti componenti di Wear Compose Foundation:
CurvedLayout - Wear Foundation
CurvedLayout
è un composable di layout che posiziona i suoi elementi secondari in un arco, ruotandoli in base alle necessità. È simile a un layout a riga curvato in un segmento di un anello. Tieni presente che il contenuto di unCurvedLayout
non è una lambda componibile, ma una DSL (lingua specifica del dominio). Tutti gli elementi nel DSL di CurvedLayout supportano un parametro modificatore facoltativo, creato daCurvedModifier
.basicCurvedText: un elemento nel DSL
CurvedLayout
,basicCurvedText
consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare).basicCurvedText
può essere creato solo all'interno diCurvedLayout
per garantire la migliore esperienza, ad esempio la possibilità di specificare il posizionamento e l'utilizzo diCurvedModifiers
. Tieni presente che nella maggior parte dei casi è consigliabile utilizzare curvedText, poiché utilizza i temi Material.curvedComposable: esegue il wrapping dei contenuti componibili normali in modo che possano essere utilizzati con
CurvedLayout
. SecurvedComposable
contiene più elementi, questi verranno disegnati uno sopra l'altro (come una scatola). Per posizionare più composable lungo una curva, racchiudili incurvedComposable
.curvedRow e curvedColumn: simili a Row e Column,
curvedRow
ecurvedColumn
possono essere nidificati all'interno di unCurvedLayout
per disporre gli elementi in base alle esigenze. Per uncurvedRow
, è possibile specificare la direzione del layout angolare e l'allineamento radiale. Per uncurvedColumn
, è possibile specificare l'allineamento angolare e la direzione radiale.CurvedModifier: tutti i componenti curvi accettano un parametro di modifica che può essere creato utilizzando
CurvedModifier
. Sono supportati sfondo, dimensioni, spessore e spaziatura interna.Da Wear Compose Navigation è incluso anche il seguente componente:
SwipeDismissableNavHost: fornisce un punto nella gerarchia di Compose in cui si verifica la navigazione autonoma, con la navigazione all'indietro 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 chiudere, il livello di navigazione precedente (se presente) viene mostrato in background.Per ulteriori dettagli su ciò che è stato rilasciato, consulta le note di rilascio precedenti per le varie versioni alpha.
Modifiche alle API
- Aggiunte funzioni
CurvedModifier.padding*
. Vengono utilizzati per specificare lo spazio aggiuntivo da aggiungere intorno a un componente curvo. (I4dbb4) - Rimozione della classificazione interna
CompositionLocal
(I42490) - Abbiamo aggiunto valori costanti per le dimensioni delle icone
Button
,CompactButton
eToggleButton
, come indicazione (I57cab) - Aggiungi il parametro abilitato a
AppCard
eTitleCard
. Ora hanno un'API simile alle schedeandroidx.compose.material
. Se il parametro è impostato su false, non sarà possibile fare clic sulla scheda. (Idc48d, b/228869805)
Correzioni di bug
- Lo stepper ora disattiva i pulsanti di decremento e incremento quando sono stati raggiunti i limiti inferiore/superiore (e applica ContentAlpha.disabled a iconColor) (I4be9f)
- Abbiamo aggiunto un riempimento di 1 dp intorno ai contenuti del selettore quando vengono disegnati con un gradiente per evitare il jitter sul testo visualizzato 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
sono rilasciati. La versione 1.0.0-alpha21 contiene questi commit.
Nuove funzionalità
- Sono stati aggiunti nuovi modificatori curvi per specificare lo sfondo di un elemento curvo:
CurvedModifier.background
,.radialGradientBackground
e.angularGradientBackground
(I8f392) - Consente di specificare la modalità di overflow del testo curvo (taglio/ellissi/visibile). (I8e7aa)
- È stato aggiunto il modificatore
CurvedModifier.weight
, simile a quello di Scrivi. Può essere utilizzato per i figli di curvedRow e CurvedLayout (per la larghezza) e per i figli 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 garantire che lo sfondo preceda il colore in modo coerente nell'API Wear Compose (I43208)
- Sono stati rimossi i parametri clockwise e
insideOut
e sostituiti con costanti più espressive nelle nuove classi. La direzione del layout curvo ora può essereLayoutDirection
e viene ereditata se non specificata (If0e6a) - Abbiamo sostituito
autoCenter: Boolean
conautoCenter: AutoCentringParams
per risolvere un problema dell'API conScalingLazyColumn
. (Ia9c90) - Abbiamo rinominato
iconTintColor
etoggleControlTintColor
iniconColor
etoggleControlColor
in tutta l'API (Chip/ToggleChip/Dialog/Slider/Stepper/...) perché il colore viene applicato allo slot icon/toggleControl. (Ied238) - Riscrivi l'enum
PageIndicatorStyle
nella classe di valori (I2dc72) - Abbiamo aggiunto
RowScope/ColumnScope/BoxScope
ad alcuni slot dei nostri componenti componibili per indicare agli sviluppatori quali sono i presupposti dei layout. In questo modo, gli sviluppatori potranno utilizzare modificatori aggiuntivi su alcuni contenuti degli slot ed evitare di fornire elementi di layout aggiuntivi. Inoltre, abbiamo apportato alcuni aggiornamenti minori ai colori di AppCard/TitleCard, in modo chetimeColor
eappColor
abbiano come valore predefinitocontentColor
. Se necessario, è comunque possibile eseguire l'override di tutte queste proprietà singolarmente. (I26b59) - Oggetto
SwipeToDismissBoxState.Companion
reso privato (I39e84) - Correggi l'ordine dei parametri per
InlineSlider
eStepper
. Una semplice modifica per rispettare le linee guida delle API (I11fec) - Abbiamo rimosso l'oggetto Risparmio per
SwipeToDismissBoxState
perché non è stato utilizzato. (Ifb54e) - Abbiamo aggiornato
CompactChip
per allinearlo alle specifiche UX più recenti. Il padding è stato ridotto a orizzontale = 12 dp e verticale = 0 dp. Il carattere dell'etichetta è stato modificato da pulsante a didascalia1. Le dimensioni consigliate per le icone sono 20 x 20 quando sono presenti sia l'icona che l'etichetta e 24 x 24 per un chip compatto solo con l'icona. Per il caso d'uso solo con l'icona, 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 l'importo dicontentPadding
eautoCenteringPadding
che è stato applicato. Questi valori possono essere utili agli sviluppatori per calcolare lo scorrimento (I7577b). - Abbiamo implementato le transizioni di entrata/uscita per Dialog. È stato aggiunto un parametro
showDialog
e ora la finestra di dialogo controlla la propria visibilità (in questo modo la finestra di dialogo può eseguire le animazioni di introduzione e chiusura quando viene mostrata/nascosta). Tieni presente che l'animazione finale non viene eseguita quando l'utente esce dalla finestra di dialogo tramite scorrimento per chiudere. Abbiamo anche aggiunto un valore predefinito per lo stato nell'overloadSwipeToDismissBox
aggiunto di recente. (I682a0) - Per supportare meglio l'internazionalizzazione e l'accessibilità, abbiamo modificato
ToggleChip
eSplitToggleChip
in modo che non abbiano più un valore predefinito per lo slottoggleControl
. Abbiamo anche modificatoToggleChipDefaults
in modo che i seguenti metodi restituiscano ora ImageVector anziché Icon (tieni presente che, poiché non restituiscono più @Composables, iniziano con la lettera minuscola),SwitchIcon()->switchIcon()
,CheckboxIcon->checkboxIcon()
eRadioIcon()->radioIcon()
. In questo modo, gli sviluppatori possono creare i propri composableIcon()
con un setcontentDescription
appropriato. (I5bb5b) - Abbiamo aggiunto un parametro
SwipeDismissableNavHostState
aSwipeDismissableNavHost
. Ciò supporta l'utilizzo dello scorrimento dai bordi sugli schermi utilizzati come destinazioni di navigazione, perché oraSwipeToDismissBoxState
può essere sollevato e utilizzato per inizializzare siaSwipeDismissableNavHostState
siaModifier.edgeSwipeToDismiss
sugli schermi che richiedono lo scorrimento dai 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/issues/226648931 (Ia0a0a, b/226648931)
- Sono state rimosse le annotazioni sperimentali non necessarie (I88d7e).
Versione 1.0.0-alpha20
6 aprile 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha20
, androidx.wear.compose:compose-material:1.0.0-alpha20
e androidx.wear.compose:compose-navigation:1.0.0-alpha20
sono rilasciati. La versione 1.0.0-alpha20 contiene questi commit.
Nuove funzionalità
- Aggiungi il modificatore
edgeSwipeToDismiss
perSwipeToDismiss
. Consente l'attivazione diswipeToDismiss
solo sul bordo sinistro dell'area visibile. Utilizzato quando il centro dello schermo deve essere in grado di gestire lo scorrimento orizzontale, ad esempio lo scorrimento bidimensionale di una mappa o lo scorrimento orizzontale tra le pagine.(I3fcec, b/200699800)
Modifiche alle API
- Implementazione di base di
CurvedModifiers
, che apre la strada all'introduzione di modi per personalizzare i contenuti curvi (ma non sono ancora disponibiliCurvedModifiers
e la possibilità di creare modificatori personalizzati potrebbe essere disponibile in un secondo momento) (I9b8df) EdgeSwipe
Aggiornamento della documentazione sui modificatori e dei valori predefiniti per una migliore comprensione .(I6d00d)- Aggiungi lo slot
PageIndicator
a Scaffold. AggiungendoPageIndicator
direttamente in Scaffold, possiamo assicurarci che venga visualizzato correttamente sui dispositivi circolari. (Ia6042) - Rimuovi le icone predefinite dai parametri
InlineSlider
e Stepper. In questo modo gli sviluppatori potranno prestare maggiore attenzione ai requisiti di localizzazione e accessibilità. Gli utilizzi delle icone predefinite sono stati mostrati nelle demo e nei campioni. (I7e6fd) - Sostituisci i nomi dei parametri iniziali e finali con Start e End in TimeText (Iaac32)
- Abbiamo aggiunto un overload
SwipeToDismissBox
con un parametroonDismissed
per supportare l'utilizzo comune dell'attivazione di un evento di navigazione al termine del gesto di scorrimento. (I50353, b/226565726) - Rimozione di
ExperimentalWearMaterialApi
annotazioni dall'utilizzo diTimeText
(Ide520) - Abbiamo contrassegnato le interfacce di ambito e informazioni di
ScalingLazyList/Column
come sigillate, in quanto non sono destinate all'implementazione da parte di sviluppatori esterni. Ciò ci consentirà di aggiungere nuovi membri in futuro senza modifiche che causano interruzioni binarie. (I7d99f) - Abbiamo aggiunto una nuova proprietà
flingBehaviour
al selettore e un metodoPickerDefaults.flingBehaviour()
per abilitare la configurazione del comportamento di scorrimento, ad esempio l'aggiunta del supporto RSB.PickerState
ora implementa l'interfacciaScrollableState
. (Ib89c7)
Correzioni di bug
- Aggiorna le regole del profilo di base di Android Runtime (ART) per le librerie Wear Compose. ART può sfruttare le regole del profilo sui dispositivi per compilare in anticipo un sottoinsieme specifico dell'applicazione per migliorarne le prestazioni. Tieni presente che questa operazione non avrà alcun effetto sulle applicazioni sottoposte a debug. (Iaa8ef)
- Migliorare la documentazione (I2c051)
Versione 1.0.0-alpha19
23 marzo 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha19
, androidx.wear.compose:compose-material:1.0.0-alpha19
e androidx.wear.compose:compose-navigation:1.0.0-alpha19
sono rilasciati. La versione 1.0.0-alpha19 contiene questi commit.
Modifiche alle API
CurvedRow
è stato rinominatoCurvedLayout
e rielaborato per essere un ambito con un DSL. Utilizzando questo DSL, è possibile specificare layout curvi più complessi utilizzando una serie dicurvedRow
ecurvedColumn
nidificati (che sono gli equivalenti di riga e colonna per i layout curvi). All'interno di questi elementi di layout, è possibile utilizzare tre elementi:curvedComposable
(per aggiungere qualsiasi @Composable),basicCurvedText
(testo curvo di base) ecurvedText
(testo curvo che tiene conto del materiale di usura). (Ib776a)- Rendi configurabile il lato per
PositionIndicator
. Ora è possibile configurare la posizione dell'indicatore di posizione di base in modo che sia alla fine (in base alla direzione del layout), opposta alla barra laterale destra (tenendo conto della rotazione dello schermo, in modo da posizionarsi in modo opposto alla barra laterale destra fisica) o nelle posizioni assolute sinistra e destra. (I2f1f3) - Per
SwipeToDismissBox
, abbiamo rinominatoSwipeDismissTarget
.Original inSwipeToDismissValue.Default
eSwipeDismissTarget.Dismissal
inSwipeToDismissValue.Dismissed
. Abbiamo anche spostatoSwipeToDismissBoxDefaults.BackgroundKey
eSwipeToDismissBoxDefaults.ContentKey
rispettivamente inSwipeToDismissKeys.Background
eSwipeToDismissKeys.Content
. (I47a36) - Abbiamo aggiunto una modalità di sola lettura al selettore per le schermate con più selettori in cui è possibile modificare un solo selettore alla volta. Quando il selettore è di sola lettura, mostra 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.SwipeToDismissBoxState
ora hacurrentValue
,targetValue
,isAnimationRunning
esnapTo
membri per supportare i casi d'uso comuni. Comunicaci se hai bisogno di altre proprietà. È stato corretto anche il comportamento diSwipeableState
nel caso in cui l'offset di scorrimento rientri in un errore di arrotondamento di un ancoraggio. (I58302)
Correzioni di bug
- Codice semplificato e corretto per rilevare se è possibile scorrere i contenuti di un
ScalingLazyColumn
(utilizzato per decidere se visualizzare o meno una barra di scorrimento) (I7bce0) - È stato corretto un bug nell'indicatore di posizione quando viene utilizzato con più di uno stato e si passa da uno all'altro (I320b5)
- Abbiamo aggiornato la tipografia/i caratteri del tema predefinito di Compose for Wear OS in modo che corrispondano alle nostre ultime indicazioni UX. Da notare che display1 (40.sp) e display2 (34.sp) ora sono più piccoli dei valori precedenti e sono stati apportati vari altri aggiornamenti minori all'altezza e alla spaziatura delle righe. (Ie3077)
- Abbiamo aggiunto resistenza a
SwipeToDismissBox
in modo che il movimento si verifichi solo quando scorri per chiudere e non nella direzione opposta. (Ifdfb9) - Abbiamo modificato alcuni valori predefiniti dei parametri per le funzioni
CircularProgressIndicator
per allinearli alle linee guida UX di Wear Material Design. Per la versione con indicatore di caricamento/indeterminato, sono stati aggiornati le dimensioni (da 40 a 24 dp), il colore dell'indicatore (da primary a onBackground), la trasparenza del colore della traccia (da 30% a 10%) e la larghezza del tratto (da 4 a 3 dp). Per la versione Progress/Determinate, la trasparenza di trackColor (dal 30% al 10%) è stata aggiornata. (I659cc) - Abbiamo aggiornato i parametri di scalabilità predefiniti di
ScalingLazyColumn
in linea con le ultime specifiche UX di Wear Material Design. A livello visivo, gli elementi dell'elenco vengono scalati più vicino al centro dell'elenco, ma la scalabilità è inferiore rispetto a prima sul bordo dell'elenco. (Ica8f3) - Alcuni aggiustamenti a
ScalingLazyColumnDefaults.snapFlingBehavior
per migliorare la fine dell'animazione (If3260)
Versione 1.0.0-alpha18
9 marzo 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha18
, androidx.wear.compose:compose-material:1.0.0-alpha18
e androidx.wear.compose:compose-navigation:1.0.0-alpha18
sono rilasciati. La versione 1.0.0-alpha18 contiene questi commit.
Modifiche alle API
- Diversi miglioramenti a PositionIndicator: ShowResult è stato rinominato PositionIndicatorVisibility. Alcuni miglioramenti delle prestazioni per evitare ricalcoli quando non necessari (Iaed9d)
- La colorazione consigliata per
SplitToggleChip
è stata aggiornata. Ora i SplitToggleChip hanno uno sfondo a tinta unita quando sono selezionati o deselezionati, mentre la colorazione di ToggleControl è l'indicazione principale per capire 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 le dimensioni originali dell'articolo utilizzando le dimensioni scalate e il fattore di scalabilità a causa della precisione dei calcoli con numeri in virgola mobile. (I54657, b/221079441) - Aggiungi
HorizontalPageIndicator
. Rappresenta il numero totale di pagine e una pagina selezionata. Potrebbe essere lineare o curvo, a seconda della forma del dispositivo. Supporta anche la forma personalizzata dell'indicatore, che definisce la rappresentazione visiva di ogni indicatore. (Iac898) - Abbiamo aggiornato
PickerState
in modo che numberOfOptions possa essere aggiornato. Ciò supporta casi d'uso come unDatePicker
, in cui il numero di giorni del mese cambia a seconda del mese selezionato. Il parametro del costruttore per PickerState è stato modificato in initialNumberOfOptions di conseguenza. (Iad066) - Nascondi
PositionIndicator
quando è una barra di scorrimento e non è possibile scorrere. (Id0a7f) - Per garantire la coerenza con Scaffold, il nostro componente Dialogo a schermo intero ora mostra un
PositionIndicator
e unVignette
. Ora utilizziamo ancheScalingLazyColumn
anzichéColumn
, il che significa che i contenuti della finestra di dialogo si trovano ora inScalingLazyListScope
(e in genere devono essere racchiusi tra item { /* content */ }). Di conseguenza, la finestra di dialogo supporta il parametro verticalArrangement. (Idea13) - Abbiamo modificato il nome della proprietà toggleIcon di
ToggleChip
eSplitToggleChip
in toggleControl per allinearlo meglio a Material Design e aiutare così designer e sviluppatori a navigare nell'API. (If5921, b/220129803) - Abbiamo aggiunto una nuova voce caption3 alla tipologia del tema Material Wear.Caption3 è un carattere piccolo utilizzato per i testi in formato lungo come i testi legali. (I74b13, b/220128356)
Correzioni di bug
- Interrompi l'animazione di snapping quando arriviamo. (Idb69d)
- Anima le modifiche in PositionIndicator. (I94cb9)
- In base ai feedback sull'interfaccia utente e sull'esperienza utente, abbiamo modificato il
ScalingLazyColumn
centraggio automatico in modo che fornisca solo lo spazio sufficiente per garantire che gli elementi con indiceScalingLazyListState.initialCenterItemIndex
o superiore possano essere completamente scorribili fino al centro del riquadro visibile. In questo modo, gli sviluppatori possono posizionare uno o due elementi inizialmente al centro, che non sono scorrevoli al centro. Ciò significa che un autoCenter'ingScalingLazyColumn
non potrà scorrere al di sopra diinitialCenterItemIndex/initialCenterItemScrollOffset
(I22ee2) - Abbiamo aggiunto una demo per un selettore della data e corretto un bug in
PickerState
in cui l'opzione inizialmente selezionata non veniva applicata finché il selettore non veniva visualizzato. (Id0d7e) - Per ridurre il ritaglio degli elementi
ScalingLazyColumn
più larghi sugli schermi circolari, abbiamo aumentato il padding orizzontale predefinito dei contenuti 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
sono rilasciati. La versione 1.0.0-alpha17 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto il supporto degli snap che possono essere utilizzati con
ScalingLazyColumn
. ImpostaflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)
per attivare il supporto di snap. (I068d3, b/217377069) - Abbiamo aggiunto demo per il selettore utilizzato per selezionare un orario nel formato 24 ore o 12 ore. (Ie5552)
Modifiche alle API
- Risolto un problema con gli stili e i caratteri personalizzati di
TimeText
sul dispositivo quadrato (Iea76e) ScalingLazyListLayoutInfo
ora ha le proprietàreverseLayout
,viewportSize
e di orientamento corrispondenti a quelle diLazyListLayoutInfo
(I4f258, b/217917020)ScalingLazyColumn
ora ha una proprietàuserScrollEnabled
corrispondente a quella diLazyList
(I164d0, b/217912513)- Per impostazione predefinita, i selettori ora hanno una sfumatura nella parte superiore e inferiore (Iab92a).
Correzioni di bug
- Abbiamo modificato
ScalingLazyColumn
in modo che non occupi più tutto lo spazio del contenitore principale. Le dimensioni verranno invece determinate dalle dimensioni dei contenuti. In questo modo, il comportamento è coerente con quello diLazyColumn
. Se vuoi ripristinare il vecchio comportamento, passaModifier.fillMaxWidth()/width()/widthIn()
aScalingLazyColumn
(I51bf8). - Abbiamo migliorato il messaggio di eccezione in
SwipeDismissableNavHost.kt
che veniva attivato se lo stack 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
sono rilasciati. La versione 1.0.0-alpha16 contiene questi commit.
Nuove funzionalità
- Aggiungi
CircularProgressIndicator
. Gli indicatori di avanzamento mostrano la durata di un processo o un tempo di attesa non specificato. Supporta uno spazio (intaglio) per TimeText o altri componenti se utilizzato a schermo intero. (Iab8da)
Modifiche alle API
- I selettori ora hanno un parametro
flingBehavior
, il cui valore predefinito fa sì che si aggancino all'opzione più vicina durante lo scorrimento. (I09000) - API per numeri interi aggiuntiva per InlineSlider e Stepper (I1b5d6)
Correzioni di bug
- Abbiamo modificato l'initialCenterItemIndex predefinito per
ScalingLazyListState
da 0 a 1. Ciò significa che, a meno che non venga sostituito nella costruzione dello stato conScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =
)
, il secondo elemento dell'elenco (index == 1) verrà posizionato al centro della visualizzazione all'inizializzazione e il primo (index == 0) verrà posizionato prima. In questo modo, l'effetto visivo predefinito è migliore, in quanto la maggior parte dell'area visibile è riempita con elementi di elenco. (I0c623, b/217344252) - Abbiamo ridotto il
ScalingLazyColumn
predefinitoextraPadding
fornito per garantire che ci siano molti elementi di elenco da cui attingere (anche quando riduciamo le dimensioni di alcuni di essi) dal 10% al 5%. In questo modo si evita di comporre elementi di elenco aggiuntivi che potrebbero non essere visualizzati nel riquadro. Se vengono utilizzati parametri scalingParams non standard (ad esempio, un ridimensionamento più estremo), lo sviluppatore può regolare il padding aggiuntivo utilizzandoviewportVerticalOffsetResolver
. (I76be4) - Risolvere un problema con TimeText su più righe su un dispositivo quadrato (Ibd3fb)
- Abbiamo modificato
ScalingLazyColumn
in modo che non occupi più tutto lo spazio del contenitore principale. Le dimensioni verranno invece determinate dalle dimensioni dei contenuti. In questo modo, il comportamento è coerente con quello diLazyColumn
. Se vuoi ripristinare il comportamento precedente, passaModifier.fillMaxSize()
aScalingLazyColumn
. NOTA: questa modifica è incompleta e verrà completata 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
sono rilasciati. La versione 1.0.0-alpha15 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto una nuova proprietà
autoCentering
aScalingLazyColumn
. Se impostato su true (valore predefinito), tutti gli elementi, inclusi il primo e l'ultimo, possono essere scorri in modo che siano visibili al centro della finestra di visualizzazione degli elenchi. Tieni presente che, se utilizzi il centraggio automatico, probabilmente vorrai impostare il padding dei contenuti verticali su 0 dp. Se vengono forniti sia il centraggio automatico sia il riempimento verticale dei contenuti, entrambi genereranno spazio aggiuntivo prima del primo e dopo l'ultimo elemento dell'elenco, consentendo di scorrere ancora più in basso. (I2a282, b/214922490) - Abbiamo aggiunto un componente
Dialog
che consente a qualsiasi elemento componibile di attivare una finestra di dialogo a schermo intero che si trova sopra gli altri contenuti. Quando viene visualizzata, la finestra di dialogo supporta lo scorrimento per chiuderla e mostra i contenuti del relativo elemento principale in background durante il gesto di scorrimento. I contenuti della finestra di dialogo devono essereAlert
oConfirmation
(rinominati dai componenti precedentiAlertDialog
eConfirmationDialog
) -Alert
,Confirmation
eDialog
si trovano tutti nel pacchettoandroidx.wear.compose.material.dialog
. Avviso e Conferma possono essere utilizzati come destinazioni di navigazione. Inoltre, è stato aggiunto ColumnScope ai parametri di avviso e conferma, se necessario. (Ia9014) - Abbiamo rimosso
onSurfaceVariant2
dai colori del tema Material di Compose per WearOS e sostituito gli utilizzi nella libreria cononSurfaceVariant
. (Icd592) - È stato aggiunto un metodo per selezionare in modo programmatico un'opzione nel
PickerState
. Ora è possibile specificare anche l'opzione selezionata inizialmente durante la creazione di unPickerState
. (I92bdf) - Abbiamo aggiunto il supporto per la personalizzazione del comportamento di scorrimento rapido di
ScalingLazyColumn
. (I1ad2e, b/208842968) - Abbiamo aggiunto
NavController.currentBackStackEntryAsState()
alla raccoltaWear.Compose.Navigation
. (If9028, b/212739653) - Aggiunti
Modifier.onRotaryScrollEvent()
eModifier.onPreRotaryScrollEvent()
per i dispositivi Wear con un pulsante laterale rotante.(I18bf5, b/210748686)
Versione 1.0.0-alpha14
12 gennaio 2022
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
sono 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 di elementi specifici dell'elenco e di impostare l'elemento iniziale dell'elenco e l'offset.Nell'ambito di questa modifica, abbiamo anche modificato ScalingLazyList in modo che sia orientato al centro dell'area visibile di ScalingLazyList anziché all'inizio dell'area visibile.
È stata aggiunta una nuova proprietà
anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
aScalingLazyList
per controllare se il centro (ScalingLazyListAnchorType.ItemCenter
) oEdge
(ScalingLazyListAnchorType.ItemStart
) deve essere allineato alla linea centrale del riquadro visibile.Di conseguenza,
ScalingLazyListItemInfo.offset
eScalingLazyListItemInfo.adjustedOffset
sono cambiati e ora riflettono l'offset dell'elemento rispetto sia alla posizione dell'elemento dell'elenco sia aanchorType
dell'elenco. Ad esempio, per unScalingLazyColumn
conanchorType
diItemCenter
e un elemento di elenco posizionato con il centro sulla linea centrale del riquadro visibile, l'offset sarebbe0
.I nuovi metodi sono
scrollTo
,animatedScrollTo
,centerItemIndex
ecenterItemOffset
. (I61b61)Abbiamo aggiunto un gestore del pulsante Indietro a
SwipeDismissableNavHost
, in modo che la pressione del pulsante Indietro consenta di passare 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
sono rilasciati. La versione 1.0.0-alpha13 contiene questi commit.
Modifiche alle API
- Abbiamo reso
RangeIcons
interno (a cui fanno riferimento internamenteInlineSlider
eStepper
). (I927ec)
Correzioni di bug
È stato risolto un problema per cui
SwipeDismissableNavHost
aggiungeva una destinazione alla gerarchia di composizione prima che raggiungesse lo stato del ciclo di vitaCREATED
, causando unIllegalStateException
. Questa correzione era un prerequisito per l'aggiornamento della dipendenza danavigation-compose
a2.4.0-beta02
e versioni successive. (I40a2b, b/207328687)È stata aggiunta una classe enum Drawables per ottenere risorse disegnabili all'interno della libreria Wear Compose, in modo che la reflection non sia più necessaria. È stato corretto un bug che causava la rimozione delle risorse disegnabili della libreria quando
minifyEnabled=true
oshrinkResources=true
). (Ib2a98)Sono stati aggiunti test per
Stepper
in Wear Compose (I2d03a)Sono stati aggiunti esempi per
SwipeDismissableNavHost
in Wear Compose Navigation. (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
sono 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. Lo stepper è un controllo a schermo intero con pulsanti di aumento e diminuzione nella parte superiore e inferiore e uno spazio al centro (previsto per un chip o un testo). Se necessario, le icone dei pulsanti possono essere personalizzate. (I625fe)
Abbiamo aggiunto due nuovi componenti componibili per la visualizzazione delle finestre di dialogo: AlertDialog attende una risposta dall'utente e mostra un titolo, un'icona, un messaggio e a) due pulsanti per scelte semplici positive/negative o b) chip o chip di attivazione/disattivazione impilati verticalmente per scelte più flessibili, ConfirmationDialog mostra un riconoscimento con un timeout. Questa semplice finestra di dialogo ha spazi per un titolo e un'icona (animata). (Ic2cf8)
Modifiche alle API
- Aggiungi unità (millisecondi) ai valori suggeriti per la durata della finestra di dialogo. (I09b48)
Versione 1.0.0-alpha11
17 novembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha11
, androidx.wear.compose:compose-material:1.0.0-alpha11
e androidx.wear.compose:compose-navigation:1.0.0-alpha11
sono rilasciati. La versione 1.0.0-alpha11 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un componente selettore che consente all'utente di selezionare un elemento da un elenco scorrevole. Per impostazione predefinita, l'elenco degli 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à: lo snapping a un valore dopo uno scorrimento rapido e l'aggiunta di una funzione a PickerState per impostare/scorrere fino al valore corrente. (I6461b)
Modifiche alle API
- Sono stati aggiunti uno ScalingLazyItemScope e alcuni nuovi modificatori fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight per consentire il dimensionamento degli elementi dell'elenco in base alle dimensioni del contenitore principale. Gli elementi possono essere impostati in modo da riempire tutto lo spazio o una frazione delle dimensioni dell'elemento principale. In questo modo viene esposta una funzionalità già disponibile in LazyRow/Column (I4612f)
- È stato aggiunto il supporto a ScalingLazyColumn per consentire agli elementi di avere una chiave. Sono stati aggiunti anche metodi pratici per consentire l'aggiunta di elementi da array ed elenchi. (Ic1f89)
Correzioni di bug
- Altri esempi per TimeText (I8cb64)
Versione 1.0.0-alpha10
3 novembre 2021
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
sono rilasciati. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
È stato aggiunto un InlineSlider per la composizione di usura. InlineSlider consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene visualizzato come una barra tra i valori minimo e massimo dell'intervallo, da cui gli utenti possono selezionare un singolo valore. (If0148)
Dai un'occhiata al nuovo codelab di Compose per WearOS.
Modifiche alle API
- Macrobenchmark ora ha un
minSdkVersion
di23
. (If2655)
Correzioni di bug
- Aggiorna la gestione delle transizioni in SwipeDismissableNavHost in un SideEffect (I04994, b/202863359)
- Aggiornamento della gestione delle transizioni in SwipeDismissableNavHost (I1cbe0, b/202863359)
Versione 1.0.0-alpha09
27 ottobre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha09
, androidx.wear.compose:compose-material:1.0.0-alpha09
e androidx.wear.compose:compose-navigation:1.0.0-alpha09
sono rilasciati. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- Abbiamo lanciato l'Anteprima per gli sviluppatori di Compose su Wear OS. Consulta il nostro post del blog, che esamina i principali composable e fornisce link ad altre risorse per iniziare a utilizzarli.
Modifiche alle API
- Abbiamo aggiunto il supporto per consentire agli sviluppatori di personalizzare tutti i colori nel tema Wear Material Design Color. (I4759b, b/199754668)
Correzioni di bug
- Aggiunti esempi di SwipeToDismissBox che mantengono lo stato (Ibaffe)
- Sono stati aggiunti link alle guide di developer.android.com da KDocs per CurvedText, TimeText e SwipeToDismissBox. (I399d4)
- SwipeDismissableNavHost ora genera un'eccezione se non è presente una destinazione corrente (indica che NavGraph non è stato creato con la funzione di utilità wear.compose.navigation.composable) (I91403)
- Sono stati aggiunti documentazione ed esempi aggiuntivi 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
sono 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 consentire di fornirle 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 di developer.android.com da KDocs per i componenti pulsante, scheda, chip, tema, indicatore di posizione e colonna pigra di scalabilità. (I22428)
- Correzione di un problema per cui a volte WearOS SwipeToDismissBox non gestisce gli scorrimenti. (I9387e)
- Aggiunti esempi per Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip (Iddc15)
- Sono stati aggiunti test delle prestazioni di microbenchmark per Card, Chip, ToggleChip, TimeText e ScalingLazyColumn. (If2fe9)
Versione 1.0.0-alpha07
29 settembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha07
, androidx.wear.compose:compose-material:1.0.0-alpha07
e androidx.wear.compose:compose-navigation:1.0.0-alpha07
sono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- È stato aggiunto un componente CurvedText in Material, che consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare). (I19593)
Modifiche alle API
- Aggiunti test per TimeText (Idfead)
- Trasforma ArcPaddingValues in un'interfaccia. (Iecd4c)
- Aggiunta animazione a SwipeToDismissBox (I9ad1b)
- È stato aggiunto il parametro hasBackground all'API SwipeToDismissBox in modo che il gesto di scorrimento possa essere disattivato quando non sono presenti contenuti di sfondo da visualizzare. (I313d8)
rememberNavController()
ora accetta un insieme facoltativo di istanzeNavigator
che verranno aggiunte alNavController
restituito per supportare meglio i navigatori opzionali come quelli di Accompanist Navigation Material. (I4619e)- Fai riferimento a NamedNavArgument da navigation-common e rimuovi la copia da wear.compose.navigation. (I43af6)
Correzioni di bug
- È stato risolto il problema di instabilità del test CurvedRow sui dispositivi più piccoli. (If7941)
- È stato risolto un possibile sfarfallio su CurvedRow quando i contenuti vengono aggiornati e viene garantita la misurazione della riga curva (Ie4e06)
- ChipDefaults.gradientBackgroundChipColors() è stato aggiornato in linea con le modifiche alle specifiche UX. La sfumatura ora inizia con MaterialTheme.colors.primary con alpha 32,5% e termina con MaterialTheme.colors.surface con alpha 0% su uno sfondo di MaterialTheme.colors.surface con alpha 75%. (Id1548)
- Abbiamo aggiornato i colori di ToggleChips quando è nello stato selezionato in modo che corrispondano alle ultime indicazioni delle specifiche UX di Wear Material Design. Se selezionati, i ToggleChip ora hanno uno sfondo sfumato da MaterialTheme.color.surface @ 0% alpha, in alto a sinistra, a MaterialTheme.color.primary @ 32% alpha, in basso a destra, su uno sfondo di MaterialTheme.color.surface @ 75% alpha. Ciò comporta una differenza più sottile tra la casella di controllo selezionata e deselezionata per il ToggleChip. (Idd40b)
Versione 1.0.0-alpha06
15 settembre 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha06
, androidx.wear.compose:compose-material:1.0.0-alpha06
e androidx.wear.compose:compose-navigation:1.0.0-alpha06
sono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un composable dell'applicazione di primo livello Scaffold che fornisce una struttura per la gestione della posizione di PositionIndicators (come Scorrimento o Volume), un'area nella parte superiore dello schermo per visualizzare l'ora e lo stato dell'applicazione e supporta anche una vignetta per sfocare il bordo superiore e inferiore dello schermo per i contenuti scorrevoli. L'area principale dello scaffold è quella in cui vengono inseriti i contenuti dell'applicazione. (I5e0bf)
- È stata aggiunta l'implementazione di TimeText per Wear Compose (I5654c)
Libreria di navigazione di Wear Compose
Abbiamo aggiunto la prima release della libreria Wear Compose Navigation, che fornisce l'integrazione tra le librerie Wear Compose e Androidx Navigation. Fornisce un modo semplice per navigare tra le funzioni @Composable come destinazioni nella tua applicazione.
Questa release iniziale offre:
- Un composable
SwipeDismissableNavHost
che ospita un grafico di navigazione e fornisce la navigazione indietro tramite i gesti di scorrimento NavGraphBuilder.composable
per facilitare la creazione di grafici di navigazionerememberSwipeDismissableNavController()
per consentire l'innalzamento dello stato
- Un composable
Esempio di utilizzo in cui creiamo due schermate e ci spostiamo tra di esse:
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, in modo che le semplici applicazioni Wear Compose che implementano la propria navigazione personalizzata non debbano dipendere dalla libreria Androidx Navigation.
Modifiche alle API
SwipeDismissableNavHost
aggiornato per supportarerememberSaveable
impostando l'identità della chiave per lo sfondo e i contenuti (I746fd)- Abbiamo aggiunto un adattatore PositionIndicator in grado di gestire LazyListState (I21b88).
- Aggiornamento di SwipeToDismissBox per supportare rememberSaveable (Ie728b)
- Abbiamo aggiunto il supporto di reverseLayout a ScalingLazyColumn. Ciò consente di invertire la direzione di scorrimento e il layout (I9e2fc).
performGesture
eGestureScope
sono stati ritirati e sostituiti daperformTouchInput
eTouchInjectionScope
. (Ia5f3f, b/190493367)- Abbiamo rinominato VignetteValue in VignettePosition e VignetteValue.Both in VignettePosition.TopAndBottom. (I57ad7)
- Abbiamo rinominato ScalingLazyColumnState in ScalingLazyListState, ScalingLazyColumnItemInfo in ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo in ScalingLazyListLayoutInfo e ScalingLazyColumnScope in ScalingLazyListScope nel caso in cui decidessimo di aggiungere un'implementazione di ScalingLazyRow in futuro. (I22734)
Correzioni di bug
- È stata aggiornata la documentazione di CompactChip per descrivere cosa succede se non vengono forniti né un'icona né un'etichetta. (I4ba88)
- Abbiamo apportato alcune modifiche ai componenti delle schede Wear. (I6b3d0)
- La spaziatura della scheda del titolo tra il titolo e il corpo è stata ridotta da 8 dp a 2 dp.
- Il carattere dell'intestazione della scheda del titolo è stato modificato da corpo a titolo3.
- La sfumatura dello sfondo della scheda è stata modificata 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
sono stati 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 consente agli sviluppatori di accedere in modo programmatico allo scorrimento del componente. (I47dbc)
Correzioni di bug
- Abbiamo ridotto la spaziatura tra l'icona e il testo in Chip e ToggleChip per allinearli agli aggiornamenti delle specifiche UX. (I83802)
Versione 1.0.0-alpha04
18 agosto 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha04
e androidx.wear.compose:compose-material:1.0.0-alpha04
sono stati rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- Sono stati aggiunti uno SwipeToDismissBox e un modificatore scorrevole che possono essere utilizzati per supportare un gesto di scorrimento per chiudere da sinistra a destra. Sebbene indipendente dai componenti di navigazione, questo elemento dovrebbe essere utilizzato per uscire da una schermata e passare a un'altra. Aggiunti test di integrazione per la demo dello scorrimento per chiudere. (I7bbaa)
- Abbiamo aggiunto le interfacce ScalingLazyColumnItemInfo e ScalingLazyColumnLayoutInfo alla classe ScalingLazyColumnState per consentire agli sviluppatori di conoscere le posizioni e le dimensioni effettive degli elementi in ScalingLazyColumn dopo l'applicazione del ridimensionamento. Abbiamo anche corretto un bug relativo al modo in cui veniva calcolato lo scaling quando il padding dei contenuti "superiori" veniva applicato 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 colore, 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 del ridimensionamento. Abbiamo anche corretto un bug relativo al modo in cui veniva calcolato lo scaling quando il padding dei contenuti "superiori" veniva applicato a ScalingLazyColumn. (I27c07)
- Aggiunta di
@ExperimentalWearMaterialApi
all'enumerazioneSwipeDismissTarget
, parte dell'APISwipeToDismissBox
. (I48b5e)
Correzioni di bug
- Aggiunto materiale di test per SwipeToDismissBox (I9febc)
Versione 1.0.0-alpha03
4 agosto 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha03
e androidx.wear.compose:compose-material:1.0.0-alpha03
sono stati rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche alle API
- È stato 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 indicare chiaramente che l'immagine di sfondo avrà un velo sopra. (I53206) - Aggiunta del componente ScalingLazyColumn che fornisce un componente di elenco per Wear Material che offre una visualizzazione a occhio di pesce con i contenuti dell'elenco che si riducono di dimensioni e diventano trasparenti man mano che si avvicinano al bordo del componente. (I7070c)
Correzioni di bug
- Abbiamo modificato il colore predefinito dei contenuti appName in AppCard in risposta a un aggiornamento delle specifiche UX. Il colore predefinito per appName ora è
MaterialTheme.colors.onSurfaceVariant
. Inoltre, è stata aggiunta una descrizione del parametro mancante per lo spazio del titolo. (Ic4ad1)
Versione 1.0.0-alpha02
21 luglio 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha02
e androidx.wear.compose:compose-material:1.0.0-alpha02
sono stati rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- È stata aggiunta una nuova classe CurvedRow per disporre i composable in un arco (I29941)
- È stato aggiunto un nuovo tipo di scheda da utilizzare nelle applicazioni (TitleCard). È stato aggiunto anche il supporto per le immagini come sfondo delle schede per enfatizzarne i contenuti (I53b0f).
Modifiche alle API
- Aggiunta del supporto dell'allineamento radiale a CurvedRow (simile all'allineamento verticale in una riga) (Id9de5)
- Aggiungi una nuova classe CurvedRow ai composable disposti ad arco (I29941)
- È stato aggiunto un nuovo tipo di scheda da utilizzare nelle applicazioni (TitleCard). È stato aggiunto anche il supporto per le immagini come sfondo delle schede per enfatizzarne i contenuti (I53b0f).
- Sono state aggiunte icone di attivazione/disattivazione (casella di controllo, opzione e pulsanti di opzione) a ToggleChipDefaults per consentire agli sviluppatori di configurare più facilmente ToggleChip e SplitToggleChips (I7b639).
- Il padding dei contenuti iniziali e finali per le chip è stato aggiornato in modo che sia sempre di 14 dp, indipendentemente dalla presenza o meno di un'icona (in precedenza era di 12 dp se era presente un'icona e di 14 dp in caso contrario) (I34c86)
Correzioni di bug
- Aggiungi test per CurvedRow (I93cdb)
- Collegamento delle dipendenze di Wear Compose a Compose 1.0.0-rc01. (Ie6bc9)
- È stata modificata la gestione del disegno dell'immagine di sfondo in Schede e Chip in modo che l'immagine venga ritagliata anziché allungata per mantenere le proporzioni. (I29b41)
- Sono state aggiunte altre demo e test di integrazione per Button e ToggleButton. (5e27ed2)
- Sono stati aggiunti altri test dei chip per coprire i colori dei contenuti per imageBackgroundChips (Ia9183)
Versione 1.0.0-alpha01
1° luglio 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha01
e androidx.wear.compose:compose-material:1.0.0-alpha01
sono stati rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Wear Compose è una libreria basata su Kotlin e Compose che supporta Wear Material Design, un'estensione di Material Design per i dispositivi indossabili WearOS. Questa prima release alpha contiene implementazioni funzionali preliminari di quanto segue:
- Tema Material: configura in modo coerente colori, tipografia e forme in tutti i componenti utilizzati di questa libreria.
- Chip, CompactChip: i chip hanno la forma di uno stadio e sono disponibili varianti per visualizzare contenuti di icone, etichette ed etichette secondarie.
- - ToggleChip, SplitToggleChip: un tipo speciale di chip che include uno spazio 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 selezionabile e una attivabile/disattivabile.
- Button, CompactButton: i pulsanti hanno forma circolare, con un singolo spazio per un'icona o un testo minimo (massimo 3 caratteri).
- ToggleButton: un pulsante che attiva o disattiva un'azione, con un singolo spazio per l'icona o il testo minimale (massimo 3 caratteri).
- Scheda, AppCard: di forma rettangolare con angoli arrotondati, offre spazi per contenuti come icona dell'app, ora, titolo e corpo.
Le versioni future amplieranno il set di widget aggiungendo il supporto per selettori, slider, elenchi, indicatori di pagina, dialoghi, indicatori di scorrimento, toast e altro ancora di Wear Material Design.
Inoltre, verrà fornito supporto per altre funzionalità specifiche per i dispositivi indossabili, come layout e testo curvi, nonché scaffolding per consentire agli sviluppatori di creare facilmente app/overlay per dispositivi indossabili.
Wear Compose Material è progettato con gli stessi principi di Compose Material, anche se è destinato ai dispositivi indossabili. La libreria Wear Compose Material deve essere utilizzata al posto della libreria Compose Material quando si sviluppa per un dispositivo indossabile.
Le due librerie "Material" devono essere considerate reciprocamente esclusive e non devono essere combinate nella stessa app. Se gli sviluppatori includono la libreria Compose Material nelle loro dipendenze, significa che a) mancano componenti nella libreria Wear Compose Material. Comunicaci di cosa hai bisogno oppure b) stai utilizzando un componente che non consigliamo per l'uso su un dispositivo indossabile.