wear protolayout
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
11 dicembre 2024 | 1.2.1 | - | - | 1.3.0-alpha05 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza da wear-protolayout, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Groovy
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0-alpha04" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0-alpha04" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0-alpha04" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0-alpha04") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0-alpha04") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0-alpha04") }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.
Versione 1.3
Versione 1.3.0-alpha05
11 dicembre 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha05
viene rilasciato. La versione 1.3.0-alpha05 contiene questi commit.
Nuove funzionalità
- È stato aggiunto
LayoutString
per supportare i campi di stringa di layout vincolabili. (Ida650) - È stato aggiunto il componente contenitore della scheda
ProtoLayout Material3
. (Ic985a)
Correzioni di bug
- Questa libreria ora utilizza le annotazioni di nullità JSpecify, che sono di tipo di utilizzo. Gli sviluppatori Kotlin devono utilizzare i seguenti argomenti del compilatore per applicare l'utilizzo corretto:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(Id1f9b, b/326456246)
Versione 1.3.0-alpha04
13 novembre 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha04
viene rilasciato. La versione 1.3.0-alpha04 contiene questi commit.
Nuove funzionalità
- La forma Material3 è stata aggiornata in modo da essere una classe con campi che contengono il valore effettivo di Angolo, come in Wear Compose. (Ied8cd)
- I colori di Material3 sono stati aggiornati per includere il concetto
ColorScheme
, come in Wear Compose. (If645e) - Aggiungi alla libreria di test più corrispondenze di uso comune. (Ie5cec)
Versione 1.3.0-alpha03
30 ottobre 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha03
viene rilasciato. La versione 1.3.0-alpha03 contiene questi commit.
Nuove funzionalità
- Aggiungi
LayoutElementAssertionsProvider
,LayoutElementAssertion
eLayoutElementMatcher
alla raccolta di test (Id1110)
Versione 1.3.0-alpha02
16 ottobre 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha02
viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Nuove funzionalità
- Versione iniziale della libreria Material 3. Sono inclusi i componenti
text
,edgeButton
,buttonGroup
eprimaryLayout
.
Correzioni relative alla sicurezza
- A partire da questa modifica, androidx viene compilato in base a protobuf 4.28.2 per risolvere il problema CVE-2024-7254. Esegui l'upgrade della dipendenza dalla versione 1.3.0-alpha01 di
androidx.wear.protolayout:protolayout-proto
eandroidx.wear.protolayout:protolayout-external-protobuf
alla versione 1.3.0-alpha02 per risolvere il rischio di vulnerabilità.
Contributo esterno
Versione 1.3.0-alpha01
2 ottobre 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha01
viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Correzioni di bug
- È stato chiarito che la disponibilità dei nomi delle famiglie di caratteri Roboto e Roboto Flex dipende dal dispositivo. (I193be)
- È stata attivata la famiglia di caratteri Roboto Flex nel renderer di riquadri AndroidX. (I08e94)
Versione 1.2
Versione 1.2.1
16 ottobre 2024
androidx.wear.protolayout:protolayout-*:1.2.1
viene rilasciato. La versione 1.2.1 contiene questi commit.
Correzioni relative alla sicurezza
- A partire da questa modifica, androidx viene compilato in base a protobuf 4.28.2 per risolvere il problema CVE-2024-7254. Esegui l'upgrade della dipendenza dalla versione 1.2.0 di
androidx.wear.protolayout:protolayout-proto
eandroidx.wear.protolayout:protolayout-external-protobuf
alla versione 1.2.1 per risolvere il rischio di vulnerabilità.
Versione 1.2.0
7 agosto 2024
androidx.wear.protolayout:protolayout-*:1.2.0
viene rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
FontStyle
è stato aggiornato per supportare ulteriori caratteri per gli assi variabili e un'API di selezione dei caratteri migliore per supportare i caratteri Flex futuri.- Supporto aggiuntivo per i modificatori:
- Modificatore di trasformazione che offre traslazione, rotazione e ridimensionamento con o senza animazioni.
- Specifica valori diversi (orizzontali e verticali) per ogni raggio di curvatura.
- Accessibilità migliorata di tutti i touch target grazie all'estensione dell'area tocchettabile di qualsiasi elemento che utilizza il modificatore Cliccabile in modo che sia di almeno
48dp
x48dp
. - Abbiamo migliorato
PrimaryLayout
eEdgeContentLayout
aggiungendosetResponsiveContentInsetEnabled
per supportare meglio il comportamento adattabile di questi layout su schermi di dimensioni diverse e migliorare la coerenza dei riquadri. - Miglioramento del ridimensionamento/del mancato ridimensionamento del testo Material per il ridimensionamento dei caratteri non lineari di Android 14.
- Supporto migliorato per la direzione del layout RTL in tutti gli elementi arco.
Modifiche aggiuntive
- Per un insieme più completo delle modifiche introdotte nella versione 1.1.0, consulta le note di rilascio della versione beta01.
Versione 1.2.0-rc01
24 luglio 2024
androidx.wear.protolayout:protolayout-*:1.2.0-rc01
viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Abbiamo corretto il chip Material standard in modo che possa essere utilizzato come icona solo se non viene passata nessuna delle etichette principali o secondarie. (Iceef9)
- La documentazione relativa ai layout di Material è stata aggiornata per includere immagini dalla pagina pertinente per una comprensione più facile dei layout. (I0256a)
Versione 1.2.0-beta01
10 luglio 2024
androidx.wear.protolayout:protolayout-*:1.2.0-beta01
viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.
Nuove funzionalità
La release 1.2.0-beta01 di Wear ProtoLayout indica che questa release della libreria è completa di funzionalità e l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear ProtoLayout 1.2 include le seguenti nuove funzionalità e API:
FontStyle
è stato aggiornato per supportare i seguenti caratteri aggiuntivi:- Impostazione di una variante di carattere diversa, ad esempio
FontSetting.weight
eFontSetting.width
- Impostazione della stessa larghezza per tutti i caratteri numerici: numeri tabulati (impostazione della funzionalità del carattere
FontSetting.tnum
) - API di selezione dei caratteri migliorate per supportare i caratteri flessibili imminenti specificando i nomi delle famiglie di caratteri preferiti da utilizzare.
- Impostazione di una variante di carattere diversa, ad esempio
- Il modificatore
Corner
è stato esteso per supportare la specifica di ogniCornerRadius
con valori orizzontali e verticali separati per consentire la creazione di elementi con angoli asimmetrici. - È stato aggiunto un nuovo modificatore
Transformation
che offre la traduzione, la rotazione e la scalatura diLayoutElement
. Queste trasformazioni possono essere animate utilizzando valori dinamici. - È stato aggiunto
setArcDirection
con le opzioniClockwise
,CounterClockwise
eNormal
a tutti gli elementi arco (Arc
,ArcLine
eArcText
) per un supporto migliore in diverse direzioni di layout (ad esempio LTR e RTL). - Accessibilità migliorata di tutti i touch target mediante l'estensione dell'area tocchettabile di qualsiasi elemento che utilizza il modificatore
Clickable
in modo che sia di almeno48dp
x48dp
. - Abbiamo migliorato
PrimaryLayout
eEdgeContentLayout
aggiungendosetResponsiveContentInsetEnabled
per supportare meglio il comportamento adattabile di questi layout su schermi di dimensioni diverse e migliorare la coerenza dei riquadri. È stato aggiunto un avviso linter per suggerire l'utilizzo di queste API con una correzione rapida. - Miglioramento del ridimensionamento/del non ridimensionamento di Material
Text
per il ridimensionamento dei caratteri non lineari di Android 14.
Modifiche all'API
- Il nome della famiglia di caratteri predefinita (
DEFAULT_SYSTEM_FONT
) viene rimosso perché è implicito se non utilizzi l'APIpreferredFontFamilies
. (I39dab) - Il parametro passato a
FontSetting.width
deve essere positivo. (I1266f)
Versione 1.2.0-alpha05
26 giugno 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha05
viene rilasciato. La versione 1.2.0-alpha05 contiene questi commit.
Nuove funzionalità
- Aggiungi il metodo
hasText
aMaterial.CompactChip
per verificare se i contenuti di testo sono stati impostati. (I6e8fc)
Modifiche all'API
- Le costanti
FontFamily
vengono spostate inFontStyle
anziché nella relativa classe Builder. (I06ced) - Aggiornamento dell'API
FontSetting.weight
eFontSetting.width
per includere le annotazioni dell'intervallo e modificare il parametro del peso in modo che sia int. (Ia726c)
Correzioni di bug
- I testi non scalabili nella libreria Material ora funzionano correttamente con il ridimensionamento dei caratteri non lineari di Android 14. (I6601e)
Versione 1.2.0-alpha04
29 maggio 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha04
viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.
Modifiche all'API
- È stata aggiunta l'API per gli angoli asimmetrici per poter specificare separatamente il raggio di ogni angolo con 2 valori. (Icbd69)
- È stata estesa l'API
FontSetting
per includere: - È stata aggiunta l'API delle famiglie di caratteri a
FontStyle
per consentire di specificare un elenco di famiglie di caratteri da utilizzare in ordine. (Iba9f5) - Le costanti per l'altezza dello spazio tra i contenuti e l'etichetta secondaria in
LayoutDefaults
di Material sono state rinominate e inizialmente avevano il prefisso "Contenuti laterali" per essere più generiche, in quanto possono essere applicate sia aPrimaryLayout
che aEdgeContentLayout
. (I4dc32)
Correzioni di bug
- I nomi degli assi dei caratteri delle variabili sono stati rinominati da
axisName
aaxisTag
. (I02ba3)
Versione 1.2.0-alpha03
14 maggio 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha03
viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.
Nuove funzionalità
- È stata aggiunta l'API per l'impostazione di valori di peso personalizzati per
FontStyle
. (I7390a)
Correzioni di bug
- Correggi l'errore in
getTouchDelegateInfo
a causa della mappa di destinazione vuota. (I2accf)
Versione 1.2.0-alpha02
1° maggio 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto il supporto per la disattivazione del feedback sull'effetto a onda su singoli elementi cliccabili. (If1ede)
- L'API per la trasformazione è stata rimossa da
ArcModifiers
in quanto non supporta questa funzionalità (Ic0827) ArcDirectionProp
Builder ora si aspetta un valore nel costruttore. (I76ada)- Il metodo
PlatformDataValues.Builder.putAll
consente di unire unPlatformDataValue
a un altro. (I50ba3) - Il nuovo nome di
Text#setIsScalable
èText#setScalable
. (If920e) - Material Text può impostare se utilizzare o meno le dimensioni scalabili (aumentano quando le dimensioni del carattere dell'utente vengono modificate). (Ibc849)
- Abbiamo aggiunto l'opzione per impostare la descrizione dei contenuti su
TitleChip
. (I5d21f) - È stato corretto il problema relativo al funzionamento di
CompactChip
solo con l'icona ed è stata aggiornata l'API per consentire questa opzione. (I6589e)
Correzioni di bug
- È stato risolto un problema relativo a potenziali dati duplicati della piattaforma durante l'inizializzazione. (Iba0fd)
- Introduci un nuovo getter in
DynamicDataNode
per recuperare il costo del nodo. Il costo viene utilizzato per l'acquisizione della quota di nodi dinamici. Attualmente, i nodi con valori fissi avranno un costo pari a 0, mentre tutti gli altri avranno un costo pari a 1. (Ia33e1) - Rimuovi la logica di conteggio da
NO_OP_QUOTA_MANAGER
. (Ib50b8) - Abbiamo aggiunto una regola di lint per segnalare un avviso quando
PrimaryLayout
viene utilizzato senzasetResponsiveContentInsetEnabled
e fornire una correzione rapida. (I12025) - Esiste un limite al numero di nodi di espressioni dinamiche. (Iffae8)
Versione 1.2.0-alpha01
6 marzo 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha01
viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- Ora gli elementi
ProtoLayout Arc
hanno la possibilità di aggiungereArcDirection
(Clockwise
,Counterclockwise
oNormal
). L'aggiunta di questo comportamento aArc
,ArcLine
oArcText
ne correggerà il comportamento nei layout RTL. (I90699) EdgeContentLayout
è stato aggiornato con un nuovo set disetResponsiveContentInsetEnabled
per allinearsi meglio alle linee guida UX, garantire la coerenza nei riquadri inserendo l'etichetta principale in un punto fisso in alto e inserire un'insenatura adattabile per le etichette. (I60175)- Abbiamo aggiunto
PrimaryLayout.setResponsiveContentInsetEnabled
per inserire un'insenatura adattabile all'etichetta principale, all'etichetta secondaria e al chip in basso in questo layout, per evitare che i contenuti escano dal bordo dello schermo. (I0c457) - Aggiunge un metodo per rimuovere i margini esterni da
CircularProgressIndicator
in modo che possa essere utilizzato come componente più piccolo. (I55c06)
Modifiche all'API
- Il visualizzatore di riquadri ora esclude per impostazione predefinita i margini dei caratteri in tutti gli elementi di testo, senza un'opzione per includerli. (I3e300)
Correzioni di bug
- È stato risolto il problema di allineamento del testo quando vengono utilizzati ellissi, spaziatura tra le lettere e allineamento al centro nel testo. (I716c7)
- Aggiunta di una soluzione alternativa per un problema di disegno dell'arco di Skia. (I08f09)
- Correggi la direzione di disegno
ArcLine
per i layout RTL. (I6c141)
Versione 1.1
Versione 1.1.0
7 febbraio 2024
androidx.wear.protolayout:protolayout-*:1.1.0
viene rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Supporto per i gradienti e una migliore rappresentazione delle lunghezze superiori a 360 gradi in
ArcLine
. - La formattazione della data e dell'ora supporta fusi orari diversi per i tipi di dati dinamici.
- Opzioni di ridimensionamento automatico e ellissi del testo migliori per gestire il testo troncato.
- Lo spazio supporta le dimensioni espanse con un'opzione di peso.
- Annotazione del requisito della versione dello schema per tutte le API
ProtoLayout
. - Estensione dell'area di destinazione a qualsiasi elemento
Clickable
a 48 dp x 48 dp per soddisfare i requisiti di accessibilità. - Il rientro del carattere è disattivato per impostazione predefinita ed è l'unico comportamento di tutti gli elementi di testo e dei componenti Material che contengono testo.
Modifiche aggiuntive
- Per un insieme più completo delle modifiche introdotte nella versione 1.1.0, consulta le note di rilascio della versione beta01.
Versione 1.1.0-rc01
24 gennaio 2024
androidx.wear.protolayout:protolayout-*:1.1.0-rc01
viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
PlatformTimeUpdateNotifierImpl
viene selezionato immediatamente dopo l'attivazione dell'aggiornamento. (I77145)- Il problema relativo a
CircularProgressIndicator
è stato risolto per i layout RTL. D'ora in poi, andrà in senso orario in tutti i casi. (I95ee3) - Aggiunta di una soluzione alternativa per un problema di disegno dell'arco di Skia. (I08f09)
Versione 1.1.0-beta01
10 gennaio 2024
androidx.wear.protolayout:protolayout-*:1.1.0-beta01
viene rilasciato. La versione 1.1.0-beta01 contiene questi commit.
Nuove funzionalità
La release 1.1.0-beta01 di Wear ProtoLayout indica che questa release della libreria è completa di funzionalità e che l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear ProtoLayout 1.1 include le seguenti nuove funzionalità e API:
ArcLine
ora supporta il gradiente aggiungendoBrush
conSweepGradient
e dispone di un'ombra sul tappo per rappresentare meglio la lunghezza maggiore di 360 gradi aggiungendoShadow
all'StrokeCap
esistente.DynamicInstant
supporta la formattazione di date e ore con il fuso orario.DynamicInstant
eDynamicDuration
possono essere utilizzati come tipi di dati di stato o piattaforma.- Funzionalità di ridimensionamento automatico per le dimensioni del testo che consente di impostare più dimensioni su
FontStyle.setSizes
, in modo che le dimensioni del testo vengano ridimensionate automaticamente in base allo spazio disponibile all'interno dell'elemento principale. Inoltre, abbiamo migliorato le opzioni di ellissi per il testo che esce fuori dall'area aggiungendoTEXT_OVERFLOW_ELLIPSIZE
e ritirandoTEXT_OVERFLOW_ELLIPSIZE_END
. Spacer
ora supporta le dimensioni espanse con un peso facoltativo. Per la compilazioneExpandedDimensionProp
abbiamo aggiunto un metodo di assistenzaDimensionBuilders.weight
.- Supporto per l'occultamento e l'oscuramento dinamici degli elementi di layout con
Modifier.visible
. Sono inclusi i valori dinamici inBoolProp
. - Tutte le API
ProtoLayout
ora hanno l'annotazione del requisito della versione dello schema e la versione può essere controllata prima di chiamare un'API più recente. - Ora l'area target di ogni elemento che contiene
Clickable
viene estesa ad almeno 48 x 48 nel renderer per supportare meglio i requisiti di accessibilità. - Seguendo altre iniziative relative ai componenti Material e a Compose, abbiamo disattivato per impostazione predefinita i margini dei caratteri in tutti gli elementi
Text
. Inoltre,AndroidTextStyle
e i relativi set sono stati rimossi dall'API pubblica. con le seguenti correzioni di bug: - È stato aggiunto un set per il posizionamento dei contenuti in primo piano in
EdgeContentLayout
in modo che possano essere posizionati prima di altri contenuti. - Viene lanciata costantemente un'eccezione quando viene rilevato un valore dell'enum non riconosciuto.
- Annullare il risultato di un'espressione quando restituisce un valore numerico non valido (NaN o infinito) o genera un
ArithmeticException
.
Modifiche all'API
- Aggiornamenti all'API
SweepGradient
per consentire l'accettazione di colori oColorStops
nel costruttore. (I6676f)
Correzioni di bug
- Aggiunta di un'API e del supporto del renderer con limitazioni per l'impostazione di una direzione in cui vengono disegnati gli elementi ad arco. (Idef5a)
- Se non specificato, il valore predefinito di
RoundMode
inFloatToInt32Node
èFloor
. Il nodo continuerà a generare un'eccezione se il valoreRoundMode
fornito non è riconosciuto. (I1b2d8)
Versione 1.1.0-alpha04
13 dicembre 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04
viene rilasciato. La versione 1.1.0-alpha04 contiene questi commit.
Nuove funzionalità
- La classe
VersionInfo
non implementa l'interfacciaComparable
. (I8d13c) - Il renderer ora supporta l'opzione
TEXT_OVERFLOW_ELLIPSIZE
. (I7f085)
Modifiche all'API
- L'opzione di overflow del testo
TEXT_OVERFLOW_ELLIPSIZE_END
è stata ritirata. Utilizza la nuova APITEXT_OVERFLOW_ELLIPSIZE
con un comportamento molto simile. (I822d8) - Seguendo altre iniziative relative ai componenti Material e a Compose, abbiamo disattivato per impostazione predefinita l'interno dei caratteri in tutti gli elementi di testo. Inoltre,
AndroidTextStyle
e i relativi set sono stati rimossi dall'API pubblica. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3) Modifier.hidden
viene sostituito conModifier.visible
(I56902)FontStyle#setSizes
ora accetta argomenti int anzichéSpProp
. (I02b37)
Correzioni di bug
- Lancia un'eccezione quando viene rilevato un valore di enum Undefined o Unrecognized. (I9d2cf)
- Rielabora
DynamicTypeBindingRequest
. (I27b57) - Annullare il risultato di un'espressione quando restituisce un valore numerico non valido (NaN o infinito) o genera un
ArithmeticException
. (I681ae)
Versione 1.1.0-alpha03
29 novembre 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03
viene rilasciato. La versione 1.1.0-alpha03 contiene questi commit.
Nuove funzionalità
- Aggiunta del supporto sperimentale per l'occultamento/l'oscuramento dinamico degli elementi di layout (I64a78)
- Aggiunta del supporto dei valori dinamici a
BoolProp
(I2fe96) - Aggiungere l'annotazione del requisito della versione dello schema alle API
ProtoLayout
(I0f03c) - Estensione dell'API con la nuova opzione in
TextOverflow
per inserire i puntini di sospensione nel testo in un contenitore principale fisso anche quando non viene raggiunto il numero massimo di righe (ma lo spazio per il testo non è sufficiente). (I110a9) - È stato aggiunto il metodo di assistenza
DimensionBuilders.weight
per l'edificioExpandedDimensionProp
con peso. (I4f72b) DynamicInstant
eDynamicDuration
possono essere utilizzati come tipi di dati di stato o piattaforma. (I6819f)
Modifiche all'API
- Aggiorna l'API per nascondere
DynamicZonedDateTime
e spostare tutte le relative operazioni inDyanamicInstant
(I34b94) - Lo spazio ora supporta la dimensione Espansa per larghezza/altezza. (Ie7c94)
- Supporto dell'estensione dell'area target dei clic nel Renderer (I39c79)
Versione 1.1.0-alpha02
15 novembre 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
viene rilasciato. La versione 1.1.0-alpha02 contiene questi commit.
Nuove funzionalità
- È stato aggiunto un campo
ArcLine
StrokeCap
Shadow
all'API. (I830ec) - Estensione dell'API per poter specificare la larghezza o l'altezza di Spacer da espandere. (I757ca)
- Abbiamo aggiunto un'API sperimentale per ridimensionare automaticamente il testo in base allo spazio disponibile all'interno dell'elemento principale. (Ibbe63)
- Supporta le dimensioni minime dei link cliccabili (I178e3)
- È stato aggiunto il supporto del rendering per
StrokeCap
Shadow
. (I48b17) - È stato aggiunto il supporto del renderer per il gradiente a scorrimento in
ArcLine
. (I4d5bb)
Versione 1.1.0-alpha01
18 ottobre 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stata aggiunta un'opzione di pennello a
Arcline
, con il supporto diSweepGradient
. (Ie7ce3) - È stato aggiunto il supporto per la formattazione di date e ore con i fusi orari. (Ibfae0)
- Sono stati aggiunti proto e wrapper Java necessari per la formattazione della data e dell'ora con il fuso orario. (I97126)
- Sono stati aggiunti getter per leggere il valore memorizzato in un
DynamicDataValue
. (Ie6cea) - È stato aggiunto un set per posizionare i contenuti in primo piano in
EdgeContentLayout
in modo che possano essere posizionati prima di altri contenuti. (Ie8e8a)
Correzioni di bug
- È stato risolto un problema per cui un'espressione con più registrazioni di origini dati di tempo non veniva aggiornata immediatamente. (I8e1a8)
- È stato corretto un bug relativo al centratura dell'elemento radice durante gli aggiornamenti delle differenze. (Ie48f7)
- I valori non impostati (o vuoti) delle limitazioni del layout non verranno più ignorati. (Ibc785)
- Riduzione del ritardo tra il momento in cui un layout diventa visibile e l'inizializzazione dei relativi nodi della pipeline. (I38d4e)
Versione 1.0
Versione 1.0.0
9 agosto 2023
androidx.wear.protolayout:protolayout-*:1.0.0
viene rilasciato. La versione 1.0.0 contiene questi commit.
Funzionalità principali della versione 1.0.0
La libreria ProtoLayout introduce API per la creazione di layout ed espressioni che possono essere utilizzati su diverse piattaforme Wear OS. Ad esempio, la libreria Tiles utilizza queste API per supportare il binding dei dati della piattaforma (per aggiornamenti più rapidi dei dati dei riquadri) e le animazioni.
Versione 1.0.0-rc01
26 luglio 2023
androidx.wear.protolayout:protolayout-*:1.0.0-rc01
viene rilasciato. La versione 1.0.0-rc01 contiene questi commit.
- Per eseguire la migrazione da riquadri a
ProtoLayout
, segui le istruzioni riportate qui.
Modifiche all'API
- Abbiamo rimosso i metodi
setLayoutConstraintForDynamicAnchorAngle
egetLayoutConstraintForDynamicAnchorAngle
dall'elemento Arc. Questi metodi sono stati aggiunti per errore e non hanno avuto alcun effetto sul layout fornito. (If7d01) - Abbiamo limitato la profondità massima del layout di un
ProtoLayout
a 30LayoutElements
nidificati. (I8a74b)
Correzioni di bug
- Abbiamo aggiunto un controllo da lanciare se
DynamicColor
è stato impostato per unSpanText
. (I0e5bc) - È stato chiarito che l'unità dell'origine dati
DAILY_CALORIES
è kcal. (Iaa785)
Versione 1.0.0-beta01
21 giu 2023
androidx.wear.protolayout:protolayout-*:1.0.0-beta01
viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.
Nuove funzionalità
- Consenti di impostare l'orologio per i test di associazione al tempo. (I05622)
Modifiche all'API
PlatformDataReceiver.onData()
eStateBuilders.Builder.addKeyToValueMapping
ora accettano la mappatura sicura diDynamicDataKey
aDynamicDataValue
anziché di tipi generici non sicuri. Ciò significa cheDynamicDataValue
ora viene digitato con il suoDynamicType
. Le costantiHEART_RATE_ACCURACY_X
sono state spostate nella posizione principale diPlatformHealthSources
per allinearsi al posizionamento delle altre costanti Android. Le costanti intHEART_RATE_ACCURACY_X
vengono ora utilizzate direttamente inDynamicHeartRateAccuracy.constant()
eDynamicHeartRateAccuracy.dynamicDataValueOf()
anziché nella costante di valore. (I82ff5)- La classe
PlatformHealthSources.Constants
è stata istanziata per errore. Il problema è stato risolto. (Icb849) PlatformTimeUpdateNotifier#setReceiver
ora riceveRunnable
anziché la funzioneSupplier
eExecutor
per la notifica. (I9d938)- Abbiamo modificato il tipo di parametro in
PlatformTimeUpdateNotifier#setReceiver
daCallable
aSupplier
. (I664bf) CompactChip
eTitleChip
ora supportano l'aggiunta di un'icona. (I5a01e)
Correzioni di bug
- Aggiorna i messaggi Prop con campi dinamici in modo da utilizzare oneof (I81739)
- Riutilizzare l'implementazione dei setter per gli overload che hanno i setter (Ied70c)
- Registrare correttamente le impronte nei setter con sovraccarichi (I86ed2)
Versione 1.0.0-alpha11
7 giugno 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11
viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un
PlatformDataKey
per la precisione della frequenza cardiaca. (I7f9b8)
Modifiche all'API
- Rinomina
StateBuilders#getIdToValueMapping
ingetKeyToValueMapping
e modifica il tipo di ritorno inMap<<AppDataKey<?>,DynamicDataValue>
. (Iaa7ae) - Impostare
StateStore
come corso finale (I408ca) - L'interfaccia
TimeGateway
è stata sostituita daPlatformTimeUpdateNotifier
nella libreriaprotolayout-expression-pipeline
, che fornisce la frequenza desiderata per l'aggiornamento dei dati relativi al tempo. (I60869) - Rinomina
register
/unregisterForData
inPlatformDataProvider
inset
/clearReceiver
(I14b02) - In Material Text,
getExcludeFontPadding
è stato rinominato inhasExcludeFontPadding
. (Iea01d) - A tutti i componenti del chip è stato aggiunto un set per allineare perfettamente l'etichetta. A tutti i chip è stato ora applicato il target minimo toccabile. (I8ae92)
LayoutDefaults#BUTTON_MAX_NUMBER
è stato rinominato inMAX_BUTTONS
. (I84788)- Il nuovo nome di
DAILY_DISTANCE
èDAILY_DISTANCE_M
. (I4f758)
Correzioni di bug
- Aggiornare la documentazione di Prop types per chiarire il motivo per cui viene applicato il valore statico. Specifica il valore predefinito utilizzato se non è stato fornito un valore statico. (I155aa)
- Gli spazi dei nomi
PlatformDataKey
devono seguire le convenzioni di denominazione Java. (I47bda)
Versione 1.0.0-alpha10
24 maggio 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
- Aggiungi
AppDataKey
per accedere allo stato dell'app inviata; aggiungiPlatformDataKey
per accedere ai dati della piattaforma; aggiungi il supporto dello spazio dei nomi inStateStore
. (I7985e) - Supporta le operazioni
Equal
eNotEqual
perDynamicBool
. (I6a0c1)
Modifiche all'API
- Il corso
FontStyles
è ora definitivo (Iaa2ea) LayoutElementBuilders#FontStyles
è stato deprecato. Utilizzaandroidx.wear.protolayout.Typography
o crea il tuoFontStyle
. (Ic929b)- Nascondi l'interfaccia nidificata
Action#Builder
dall'interfacciaAction
. Le implementazioni di Builder sono già fornite dalle classiLoadAction
eLaunchAction
. (I1d70c) - Consenti l'utilizzo di
DynamicFloat
conFloatProp
. Tieni presente cheFloatProp
non richiede vincoli di layout perché non viene utilizzato come proprietà di modifica del layout. (I286ac) - Le azioni
LoalAction
eSetStateAction
sono state rimosse perché non erano ancora supportate. (I5d6a6) - È stato aggiunto il supporto per il formato ARGB_8888 per le risorse immagine in linea. (I8a07c)
- Rinomina
StateEntryValue
inDynamicDataValue
e aggiorna le API di stato in modo da utilizzareDynamicDataKey
(If1c01) - Stiamo limitando il numero di voci consentite in
StateStore
per garantire che l'utilizzo della memoria e il tempo di aggiornamento dello stato siano ben contenuti e controllati per ogni istanza diStateStore
. Di conseguenza, lo sviluppatore deve assicurarsi di non avere più diMAX_STATE_ENTRY_COUNT
voci nella mappa, altrimenti riceverà unIllegalStateException
durante la creazione o l'aggiornamento delStateStore
. (Ibadb3) - Nascondi i gruppi
OnLoadTrigger
eOnConditionMetTrigger
e rinominasetTrigger
insetCondition
perOnConditionMetTrigger
. (Ibf629) - Per motivi di prestazioni e compatibilità, i visualizzatori
ProtoLayout
non supportano l'intero insieme di funzionalità nelle risorseAnimatedVectorDrawable
. Queste API sono contrassegnate come sperimentali finché non potremo definire l'insieme supportato. (Ic6daf) - Sono stati aggiunti tipi dinamici per distanza giornaliera, calorie giornaliere e piani giornalieri. Le chiavi per le origini dell'integrità della piattaforma ora si trovano in
PlatformHealthSources.Keys
(Ib7637) - Il metodo
Easing.cubicBezier
sostituisceCubicBezierEasing.Builder
. Di conseguenza, la classeEasingFunction
viene rimossa e le costanti di easing di questa classe sono ora direttamente accessibili dall'interfacciaEasing
. Inoltre,setInfiniteRepeatable
viene sostituito daINFINITE_REPEATABLE_WITH_RESTART
eINFINITE_REPEATABLE_WITH_REVERSE
(Ib41e7) - Implementa
PlatformDataProvider
per fornire il battito cardiaco e i passi giornalieri. L'interfacciaSensorGateway
viene rimossa dall'API pubblica. (I55b84) - Aggiungi
PlatformDataProvider
e aggiornaStateStore
per registrarti aPlatformDataProvider
quando la chiave supportata del provider è richiesta dal nodo dalla pipeline di espressioni. (Ib616a) SensorGateway
non è piùCloseable
perché non gestisce più alcun stato. (I6b4f7)- Consenti l'utilizzo di
FloatProp
conDynamicFloat
per l'avanzamento inCircularProgressIndicator
. Questa opzione è supportata per i renderer che supportano la versione 1.2. I vecchi visualizzatori torneranno astaticValue
se specificato, altrimenti a 0 (I0d91b) - Le costanti
MultiButtonLayout
sono state ristrutturate nella classeLayoutDefaults.MultiButtonLayoutDefaults
, che ora contiene quelle per le dimensioni dei pulsanti a seconda del numero di pulsanti nel layout. (I13973) - Supporto per l'utilizzo di
StringProp
conDynamicString
in Material Text. Questa opzione è supportata per i renderer che supportano la versione 1.2. I vecchi visualizzatori utilizzeranno il valore statico fornito. Aggiorna il tipo di ritornoText#getText
daString
aStringProp
. (I7275b)
Versione 1.0.0-alpha09
10 maggio 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
viene rilasciato. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un elemento di layout dell'estensione sperimentale. Tieni presente che non può essere utilizzato per impostazione predefinita e richiede un'estensione del renderer in grado di comprendere l'elemento di layout. (I6581d)
- È stato aggiunto il supporto di
StrokeCap
perArcLine
. (I94951) - È stato aggiunto il supporto per l'operazione istantanea condizionale. (I489a7)
- È stato aggiunto il supporto per l'operazione Durata condizionale. (Iab469)
- È stato aggiunto il supporto per la creazione della durata in secondi. (Ib5fa1)
Modifiche all'API
- I metodi
enable/disablePlatformSource
sono stati rimossi daDynamicTypeEvaluator
. L'utente che effettua la chiamata deve essere responsabile degli aggiornamenti. (I78c6d) - Consente di limitare le dimensioni dei tipi di dati vincolati. (Ie2966)
- Aggiunta del supporto per la descrizione dei contenuti dinamici in
protolayout-material
. (I62c8e) - Utilizza long e
@IntRange
per durata e ritardo in AnimationParameters. (I388b6)
Versione 1.0.0-alpha08
19 aprile 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08
viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
AndroidTextStyle
è stato/a aggiunto/a aLayoutElementBuilders
. (I8d967)- Abbiamo aggiunto il supporto per l'impostazione dell'esclusione del padding dei caratteri in
ProtoLayout
Testo Materiale. (I17f5d) - ARGB_8888 è ora supportato per le immagini in linea. (I18c1e)
DynamicColor
ora supporta l'operazioneonCondition
. (I10927)
Modifiche all'API
- Supporto della durata personalizzata per l'animazione in retromarcia (I3251f)
- Abbiamo aggiunto il modificatore
SemanticDescription
. Inoltre,ContentDescription
non è associabile. (I3f1d) - Il metodo
DynamicBool.isFalse()
è ora sostituito daDynamicBool.negate()
eDynamicBool.isTrue()
viene rimosso. Inoltre, i valori NaNDynamicFloat
e la restrizione di unDynamicInt32
a unDynamicFloat
ora generano un risultato dinamico non valido. (I6ac1e) - I formattatori di interi e numeri in virgola mobile ora utilizzano il pattern Builder. (Ieb213)
Correzioni di bug
- Il valore statico di riserva è stato rimosso dai campi animabili. (Ifcb01)
DynamicTypeValueReceiver#onPreUpdate
è stato rimosso. (I2dc35)- La lunghezza delle stringhe nelle espressioni dinamiche è ora limitata. (I4c93)
- Le dipendenze di Gradle sono ora impostate correttamente su
api
anziché suimplementation
, se necessario. (I40503)
Versione 1.0.0-alpha07
5 aprile 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- Aggiunta del supporto dei valori dinamici a
StringProp
(I04342) - Contrassegna gli elementi di layout vincolabili (Ia110b)
Modifiche all'API
sensorGateway#registerSensorGatewayConsumer
prende il tipo di dati come parametro anziché come metodo in Consumer. (Icf314)ObservableStateStore
è stato rinominato inStateStore
. (Ieb0e2)- È stato aggiunto
DynamicTypeEvaluator.Builder
anziché gli argomenti del costruttore per consentire più argomenti facoltativi, tra cuiObservableStateStore
, che ora per impostazione predefinita è un negozio vuoto. (I6f832) - Ordine dei parametri ristrutturato in
DynamicTypeEvaluator
. (Ic1ba4)
Correzioni di bug
- Propagazione corretta degli indicatori dalle origini dei sensori della piattaforma ai nodi a valle (I5a922)
Versione 1.0.0-alpha06
22 marzo 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un'API sperimentale per l'utilizzo della frequenza cardiaca e dei passi giornalieri nelle espressioni dinamiche (Ifd711)
- Abbiamo aggiunto il supporto per il ritardo in avanti e all'indietro per le animazioni. (Ic25f7)
- Abbiamo aggiunto il supporto di
DynamicColor
a Bordo e Sfondo - Abbiamo aggiunto il supporto dei valori dinamici ai tipi in
DimensionBuilder
- Il layout e i componenti di
tiles-material
vengono spostati inprotolayout-material
Modifiche all'API
LoadActionListener
è stato/a aggiunto/a aProtoLayoutViewInstance
. (If7806)
Correzioni di bug
FloatNodesTest
aggiunto (Id7281)- Correzione dell'arresto anomalo del renderer quando non è possibile caricare la bitmap strutturata.
Versione 1.0.0-alpha05
8 marzo 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05
viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un'animazione sperimentale "aggiornamento dei contenuti" all'oggetto
Modifiers
. Questa animazione viene attivata ogni volta che l'elemento (con questo modificatore) o uno dei suoi elementi secondari cambia durante un aggiornamento del layout. (bd03e5d)
Modifiche all'API
- Abbiamo aggiunto
forwardRepeatDelayMillis
ereverseRepeatDelayMillis
aRepeatable
. Abbiamo anche rinominatodelayMillis
inAnimationSpec
instartDelayMillis
(Ifb266) - I metodi
DynamicTypeEvaluator.bind
ora accettano un Executor. (I346ab) - Abbiamo aggiunto il metodo
startEvaluation
aBoundDynamicType
per attivare la valutazione dopo il vincolo del tipo dinamico. (I19908)
Correzioni di bug
- L'oggetto Animator verrà riutilizzato per le animazioni successive di un singolo elemento. (Ia3be9)
Versione 1.0.0-alpha04
22 febbraio 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04
viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
ObservableStateStore
ora informa gli ascoltatori anche quando una chiave viene rimossa.- Abbiamo aggiunto la versione dello schema del renderer e la scala dei caratteri a
DeviceParameters
(che può essere utilizzata per creare layout in modo condizionale in risposta a versioni e impostazioni dei caratteri diverse). - Abbiamo aggiunto il supporto per l'animazione dei valori
DynamicInt32
(I05485) - Abbiamo aggiunto gli attivatori
OnLoad
eOnConditionalMet
. Questi possono essere utilizzati per avviare animazioni che supportano un attivatore. - Abbiamo aggiunto l'importanza del layout per le dimensioni espanse e la dimensione minima per le dimensioni con a capo.
- Abbiamo aggiunto i tipi di annunci dinamici istantanei e con durata. Questi valori possono essere utilizzati per rappresentare un istante di tempo o una durata in un'espressione dinamica.
- Abbiamo aggiunto il supporto per
AnimatedVectorDrawable
eSeekableAnimatedVectorDrawable
come risorse di layout.
Modifiche all'API
- I dati dei sensori richiedono l'API 29 o versioni successive. (I8099e)
- Abbiamo aggiunto due metodi di assistenza
launchAction
(per avviare le attività).
Correzioni di bug
- Rinomina
set/getSpec
inset/getAnimationSpec
nell'animazione Riquadri (I3d74b)
Versione 1.0.0-alpha03
8 febbraio 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto
toByteArray()
efromByteArray()
ai tipi dinamici nella libreria protolayout-express. - Abbiamo aggiunto
toString()
ai tipi dinamici nella libreria protolayout-expression. - Abbiamo aggiunto il supporto della valutazione per i tipi dinamici. La classe
DynamicTypeEvaluator
della libreria protolayout-expression-pipeline può essere utilizzata per valutare (e ricevere valori aggiornati) per un tipo dinamico creato in precedenza (DynamicString
,DynamicFloat
e così via). - Quando non è possibile riprodurre le animazioni (perché sono disattivate dall'valutatore o perché il numero di animazioni in esecuzione ha raggiunto il limite impostato), i valori statici impostati sul nodo animabile verranno utilizzati per sostituire l'animazione.
Versione 1.0.0-alpha02
25 gennaio 2023
androidx.wear.protolayout:protolayout:1.0.0-alpha02
, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02
e androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02
vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- I creator di layout di
androidx.wear.tiles:tiles
passeranno aandroidx.wear.protolayout:protolayout
. Quelli inandroidx.wear.tiles:tiles
verranno ritirati in una delle prossime release alpha.
Versione 1.0.0-alpha01
11 gennaio 2023
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
e androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
- Questa release introduce una nuova libreria "ProtoLayout Expression" per la creazione di espressioni da variabili dinamiche.