come indossare protolayout
Aggiornamento più recente | Release stabile | Candidato per l'uscita | Versione beta | Release alpha |
---|---|---|---|---|
7 agosto 2024 | 1.2.0 | - | - | - |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza su wear-protolayout, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il modulo:
Alla moda
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.2.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0") }
Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.
Consulta la documentazione di Issue Tracker per ulteriori informazioni.
Versione 1.2
Versione 1.2.0
7 agosto 2024
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.2.0
. Versione 1.2.0 contiene. questi commit.
Modifiche importanti dalla versione 1.1.0
FontStyle
è stato aggiornato per offrire un supporto aggiuntivo per i caratteri degli assi delle variabili e una migliore API di selezione dei caratteri per supportare i caratteri Flex futuri.- Supporto per i modificatori aggiuntivi:
- Modificatore di trasformazione che offre traslazione, rotazione e scalabilità con o senza animazioni.
- Specificare valori diversi (orizzontale e verticale) per ogni raggio d'angolo.
- È stata migliorata l'accessibilità di tutti i touch target mediante l'estensione dell'area toccabile di ogni elemento che utilizza il tasto di modifica Cliccabile fino ad almeno
48dp
per48dp
. - Sono stati migliorati
PrimaryLayout
eEdgeContentLayout
aggiungendosetResponsiveContentInsetEnabled
per supportare meglio il comportamento reattivo di questi layout su schermi di diverse dimensioni e migliorare la coerenza dei riquadri. - Ridimensionamento/non dimensionamento migliorato del testo materiale per il ridimensionamento non lineare dei caratteri di Android 14.
- Supporto migliorato per la direzione del layout RTL su tutti gli elementi dell'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
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.2.0-rc01
. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Abbiamo corretto il chip Material standard, quindi può essere utilizzato come icona solo se non viene passata nessuna etichetta principale o secondaria. (Iceef9)
- La documentazione relativa ai layout Material è stata aggiornata in modo da includere gli elementi visivi provenienti dalla pagina pertinente per facilitare la comprensione dei layout. (I0256a)
Versione 1.2.0-beta01
10 luglio 2024
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.2.0-beta01
. La versione 1.2.0-beta01 contiene questi commit.
Nuove funzionalità
La versione 1.2.0-beta01 di Wear ProtoLayout indica che questa release della libreria è completa di funzionalità e l'API è bloccata (tranne se contrassegnata come sperimentale). Wear ProtoLayout 1.2 include le seguenti nuove funzionalità e API:
FontStyle
è stato aggiornato in modo da offrire un supporto aggiuntivo per i caratteri riportati di seguito:- Impostazione di una variante del carattere diversa, ad esempio
FontSetting.weight
eFontSetting.width
- Impostazione della stessa larghezza per tutti i caratteri numerici - numeri tabulari (impostazione della funzionalità del carattere
FontSetting.tnum
) - API di selezione dei caratteri migliorate per supportare i caratteri flessibili in arrivo specificando i nomi delle famiglie di caratteri preferiti da utilizzare.
- Impostazione di una variante del carattere diversa, ad esempio
- Modificatore
Corner
esteso per supportare la specifica di ogniCornerRadius
con valori orizzontali e verticali separati in modo da consentire gli elementi degli edifici con angoli asimmetrici. - È stato aggiunto un nuovo modificatore
Transformation
che offre traduzione, rotazione e scalabilità diLayoutElement
. Queste trasformazioni possono essere animate utilizzando valori dinamici. - Sono state aggiunte le opzioni
setArcDirection
conClockwise
,CounterClockwise
eNormal
a tutti gli elementi dell'arco (Arc
,ArcLine
eArcText
) per un supporto migliore in diverse direzioni di layout (ad esempio LTR e RTL). - È stata migliorata l'accessibilità di tutti i touch target mediante l'estensione dell'area toccabile di ogni elemento che utilizza il modificatore di
Clickable
fino ad almeno48dp
per48dp
. - Sono stati migliorati
PrimaryLayout
eEdgeContentLayout
aggiungendosetResponsiveContentInsetEnabled
per supportare meglio il comportamento reattivo di questi layout su schermi di diverse dimensioni e migliorare la coerenza dei riquadri. È stato aggiunto un avviso di linter per suggerire l'utilizzo di queste API con una correzione rapida. - Miglioramento del ridimensionamento/non della scalabilità del materiale
Text
per il ridimensionamento non lineare dei caratteri di Android 14.
Modifiche alle API
- Il nome della famiglia di caratteri predefinito (
DEFAULT_SYSTEM_FONT
) viene rimosso in quanto è implicito dal mancato utilizzo dell'APIpreferredFontFamilies
. (I39dab) - Il parametro passato a
FontSetting.width
deve essere positivo. (I1266f)
Versione 1.2.0-alpha05
26 giugno 2024
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.2.0-alpha05
. La versione 1.2.0-alpha05 contiene questi commit.
Nuove funzionalità
- Aggiungi il metodo
hasText
aMaterial.CompactChip
per verificare se i contenuti testuali sono stati impostati. (I6e8fc)
Modifiche alle API
- I const
FontFamily
vengono spostati inFontStyle
anziché nella classe Builder. (I06ced) - Aggiorna l'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 Raccolta materiali ora funzionano correttamente con il ridimensionamento non lineare dei caratteri di Android 14. (I6601e)
Versione 1.2.0-alpha04
29 maggio 2024
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.2.0-alpha04
. La versione 1.2.0-alpha04 contiene questi commit.
Modifiche alle API
- È stata aggiunta l'API per gli angoli asimmetrici per poter specificare separatamente il raggio di ogni angolo con 2 valori. (Icbd69)
- L'API
FontSetting
è stata estesa per includere: - È stata aggiunta l'API della famiglia di caratteri a
FontStyle
per consentire di specificare un elenco di ordini di famiglie di caratteri da utilizzare. (Iba9f5) - Costanti rinominate per l'altezza dello spazio tra i contenuti e l'etichetta secondaria in
LayoutDefaults
di Materiale che inizialmente erano precedute dal prefisso "Contenuto bordo" per essere più generiche in quanto possono essere applicate sia aPrimaryLayout
che aEdgeContentLayout
. (I4dc32)
Correzioni di bug
- Nome rinominato per gli assi dei caratteri variabili da
axisName
aaxisTag
. (I02ba3)
Versione 1.2.0-alpha03
14 maggio 2024
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.2.0-alpha03
. La versione 1.2.0-alpha03 contiene questi commit.
Nuove funzionalità
- È stata aggiunta un'API per impostare valori di peso personalizzati per
FontStyle
. (I7390a)
Correzioni di bug
- Correggi l'errore in
getTouchDelegateInfo
a causa di una mappa di destinazione vuota. (I2accf)
Versione 1.2.0-alpha02
1° maggio 2024
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
. La versione 1.2.0-alpha02 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto il supporto per la disattivazione del feedback eco per singoli elementi cliccabili. (If1ede)
- L'API per la trasformazione è stata rimossa da
ArcModifiers
in quanto non supporta questa funzionalità (Ic0827) ArcDirectionProp
Il costruttore ora prevede un valore nel costruttore. (I76 Ada)- Il metodo
PlatformDataValues.Builder.putAll
consente di unire unPlatformDataValue
a un altro. (I50ba3) Text#setIsScalable
è stato rinominato inText#setScalable
. (If920e)- Il testo materiale può impostare se utilizzare o meno le dimensioni scalabili (aumentano in caso di modifica della dimensione del carattere dell'utente). (Ibc849)
- Abbiamo aggiunto l'opzione per impostare la descrizione dei contenuti su
TitleChip
. (I5d21f) - È stato corretto il funzionamento di
CompactChip
solo con l'icona e l'API è stata aggiornata per consentire questa opzione. (I6589e)
Correzioni di bug
- È stato risolto un problema relativo a potenziali dati della piattaforma duplicati durante l'inizializzazione. (Iba0fd)
- Introduci un nuovo getter per
DynamicDataNode
per recuperare il costo dei nodi. Il costo viene utilizzato quando acquisisci la quota di nodi dinamici. Attualmente, i nodi con valori fissi avranno un costo pari a 0, mentre tutti gli altri nodi avranno un costo pari a 1. (Ia33e1). - Rimuovi la logica di conteggio da
NO_OP_QUOTA_MANAGER
. (Ib50b8) - Abbiamo aggiunto una regola lint per segnalare un avviso quando viene utilizzato
PrimaryLayout
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
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.2.0-alpha01
. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- Gli elementi
ProtoLayout Arc
ora hanno la possibilità di aggiungereArcDirection
(Clockwise
,Counterclockwise
oNormal
). Se aggiungi questo comportamento aArc
,ArcLine
oArcText
, verrà corretto il relativo comportamento nei layout RTL. (I90699) EdgeContentLayout
è stato aggiornato con un nuovo settersetResponsiveContentInsetEnabled
per ottenere un migliore allineamento con le linee guida UX, coerenza nei riquadri grazie all'etichetta principale in posizione fissa nella parte superiore e al riquadro adattabile per le etichette. (I60175)- Abbiamo aggiunto un riquadro
PrimaryLayout.setResponsiveContentInsetEnabled
che aggiunge un riquadro adattabile all'etichetta principale, all'etichetta secondaria e al chip in basso in questo layout, per evitare che i contenuti penetrino oltre il bordo dello schermo. (I0c457). - Aggiunge il metodo per rimuovere i margini esterni da
CircularProgressIndicator
in modo che possa essere utilizzato come componente più piccolo. (I55c06).
Modifiche alle API
- Il renderer dei riquadri ora esclude la spaziatura interna dei caratteri su tutti gli elementi di testo per impostazione predefinita, senza la possibilità di includerla. (I3e300)
Correzioni di bug
- È stato risolto il problema di allineamento del testo quando nel testo vengono utilizzati tutti i puntini, la spaziatura tra le lettere e l'allineamento al centro. (I716c7)
- Aggiungi una soluzione alternativa per un problema di disegno dell'arco skia. (I08f09)
- Correggi la direzione del disegno
ArcLine
per i layout RTL. (I6c141)
Versione 1.1
Versione 1.1.0
7 febbraio 2024
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.1.0
. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Supporto del gradiente e migliore rappresentazione di lunghezze superiori a 360 gradi in
ArcLine
. - La formattazione di data e ora supporta fusi orari diversi per i tipi di dati dinamici.
- Migliori opzioni di ridimensionamento automatico e puntini di sospensione del testo per gestire il testo troncato.
- Il distanziatore supporta dimensioni espanse con peso facoltativo.
- Annotazione del requisito di versione dello schema per tutte le API di
ProtoLayout
. - Area di destinazione estesa a qualsiasi elemento
Clickable
a 48 dp x 48 dp, per soddisfare i requisiti di accessibilità. - La spaziatura interna dei caratteri è disattivata per impostazione predefinita ed è l'unico comportamento in tutti gli elementi Testo e nei componenti Materiale 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
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.1.0-rc01
. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
PlatformTimeUpdateNotifierImpl
spunta subito dopo aver abilitato l'aggiornamento. (I77145)- È stato corretto il problema
CircularProgressIndicator
per i layout RTL. D'ora in poi, andrà sempre in senso orario. (I95ee3) - Aggiungi una soluzione alternativa per un problema di disegno dell'arco skia. (I08f09)
Versione 1.1.0-beta01
10 gennaio 2024
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.1.0-beta01
. La versione 1.1.0-beta01 contiene questi commit.
Nuove funzionalità
La versione 1.1.0-beta01 di Wear ProtoLayout indica che questa release della libreria è completa di funzionalità e l'API è bloccata (tranne se contrassegnata come sperimentale). Wear ProtoLayout 1.1 include le seguenti nuove funzionalità e API:
ArcLine
ora supporta il gradiente aggiungendoBrush
conSweepGradient
e con un'ombra sul limite per rappresentare meglio la lunghezza superiore a 360 gradi aggiungendoShadow
sull'elementoStrokeCap
esistente.DynamicInstant
supporta la formattazione di data e ora in zone. È possibile utilizzareDynamicInstant
eDynamicDuration
come tipi di dati di stato o della piattaforma.- Funzione di ridimensionamento automatico per le dimensioni del testo che consente di impostare più dimensioni su
FontStyle.setSizes
, dove le dimensioni del testo verranno ridimensionate automaticamente in base allo spazio all'interno di quello principale. Inoltre, abbiamo migliorato le opzioni dei puntini di sospensione per il testo in eccesso aggiungendoTEXT_OVERFLOW_ELLIPSIZE
e ritirandoTEXT_OVERFLOW_ELLIPSIZE_END
. Spacer
ora supporta dimensioni espanse con ponderazione facoltativa. Per la creazione diExpandedDimensionProp
abbiamo aggiunto un metodo di supportoDimensionBuilders.weight
.- È ora supportato per nascondere e mostrare dinamicamente gli elementi di layout con
Modifier.visible
. È incluso l'inclusione di valori dinamici inBoolProp
. - Tutte le API
ProtoLayout
ora hanno l'annotazione dei requisiti di versione dello schema e la versione può essere controllata prima di chiamare un'API più recente. - Ora l'area di destinazione di ogni elemento con
Clickable
viene estesa ad almeno 48 x 48 nel renderer, per supportare meglio i requisiti di accessibilità. - A seguito di altri componenti Material e delle iniziative di Compose, abbiamo ora disattivato la spaziatura interna dei caratteri per impostazione predefinita su tutti gli elementi
Text
. Inoltre,AndroidTextStyle
e i setter correlati sono stati rimossi dall'API pubblica. con le seguenti correzioni di bug: - È stato aggiunto un setter per il posizionamento dei contenuti perimetrali in
EdgeContentLayout
in modo che possano essere posizionati prima di altri contenuti. - Creazione regolare di un'eccezione quando si incontra un valore enum non riconosciuto.
- Annulla il risultato di un'espressione quando restituisce un valore numerico non valido (NaN o infinito) o genera un
ArithmeticException
.
Modifiche alle API
- Aggiornamenti all'API
SweepGradient
per consentire l'accettazione di colori oColorStops
nel costruttore. (I6676f)
Correzioni di bug
- Aggiunta di un'API limitata e del supporto del renderer per l'impostazione della direzione di disegno degli elementi arco. (Idef5a)
- Se non specificato, il valore predefinito di
RoundMode
èFloor
inFloatToInt32Node
. Il nodo genererà comunque un'eccezione se il valoreRoundMode
fornito non viene riconosciuto. (I1b2d8).
Versione 1.1.0-alpha04
13 dicembre 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.1.0-alpha04
. 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 alle API
- L'opzione di overflow del testo
TEXT_OVERFLOW_ELLIPSIZE_END
è stata deprecata. Usa la nuova APITEXT_OVERFLOW_ELLIPSIZE
con un comportamento molto simile. (I822d8) - A seguito di altri componenti Material e delle iniziative di Compose, abbiamo ora disattivato la spaziatura interna dei caratteri per impostazione predefinita su tutti gli elementi Text. Inoltre,
AndroidTextStyle
e i setter correlati sono stati rimossi dall'API pubblica. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3) Modifier.hidden
è stato sostituito conModifier.visible
(I56902)FontStyle#setSizes
ora accetta argomenti int anzichéSpProp
. (I02b37).
Correzioni di bug
- Genera un'eccezione quando viene rilevato un valore enum Non definito o Non riconosciuto. (I9d2cf)
- Esegui il refactoring di
DynamicTypeBindingRequest
. (I27b57). - Annulla 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
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.1.0-alpha03
. La versione 1.1.0-alpha03 contiene questi commit.
Nuove funzionalità
- Aggiunta del supporto sperimentale per nascondere/mostrare dinamicamente gli elementi di layout (I64a78)
- Aggiungi il supporto dei valori dinamici a
BoolProp
(I2fe96) - Aggiungi l'annotazione del requisito di versione dello schema alle API
ProtoLayout
(I0f03c) - Estensione dell'API con la nuova opzione in
TextOverflow
per applicare i puntini di sospensione al testo in un contenitore principale fisso anche quando non viene raggiunto il numero massimo di righe (ma non c'è abbastanza spazio per il testo). (I110a9) - Aggiunto il metodo di supporto
DimensionBuilders.weight
per creareExpandedDimensionProp
con le ponderazioni. (I4f72b) - È possibile utilizzare
DynamicInstant
eDynamicDuration
come tipi di dati di stato o della piattaforma. (I6819f)
Modifiche alle API
- Aggiorna l'API per nascondere
DynamicZonedDateTime
e spostare tutte le operazioni inDyanamicInstant
(I34b94) - Lo spaziatore ora supporta la dimensione espansa per larghezza/altezza. (Ie7c94).
- Supporto dell'estensione dell'area di destinazione dei clic nel renderer (I39c79)
Versione 1.1.0-alpha02
15 novembre 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
. 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 consentire di specificare la larghezza o l'altezza del distanziatore per l'espansione. (I757ca)
- Abbiamo aggiunto un'API sperimentale per scalare automaticamente la dimensione del testo in base allo spazio all'interno dell'elemento principale. (Ibbe63)
- Supporta la dimensione minima cliccabile (I178e3)
- Aggiunto il supporto del renderer per
StrokeCap
Shadow
. (I48b17). - Aggiungi il supporto del renderer per Sweep Gradient in
ArcLine
. (I4d5bb)
Versione 1.1.0-alpha01
18 ottobre 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
. La versione 1.1.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stata aggiunta un'opzione pennello per
Arcline
, con supporto perSweepGradient
. (Ie7ce3). - Aggiunto il supporto per la formattazione di data e ora in zone. (Ibfae0)
- Per la formattazione di data e ora in zone sono stati aggiunti protos e wrapper Java. (I97126)
- Sono stati aggiunti getter per rileggere il valore memorizzato in un
DynamicDataValue
. (Ie6cea). - È stato aggiunto un setter per il posizionamento dei contenuti perimetrali in
EdgeContentLayout
in modo che possano essere posizionati prima di altri contenuti. (Ie8e8a).
Correzioni di bug
- Risolto il problema per cui un'espressione con più registrazioni di origini dati non veniva aggiornata immediatamente. (I8e1a8)
- È stato corretto un bug relativo al centro dell'elemento principale durante gli aggiornamenti delle differenze. (Ie48f7)
- I valori del vincolo di layout se non vengono impostati (o vuoti) non verranno più ignorati. (Ibc785)
- Ritardo ridotto tra la visibilità di un layout e l'inizializzazione dei nodi della pipeline. (I38d4e)
Versione 1.0
Versione 1.0.0
9 agosto 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0
. La versione 1.0.0 contiene questi commit.
Funzionalità principali di 1.0.0
La libreria ProtoLayout introduce le 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 l'associazione di dati della piattaforma (per aggiornamenti più rapidi dei dati dei riquadri) e le animazioni.
Versione 1.0.0-rc01
26 luglio 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0-rc01
. La versione 1.0.0-rc01 contiene questi commit.
- Per eseguire la migrazione da Tiles a
ProtoLayout
, segui le istruzioni riportate qui.
Modifiche alle API
- Abbiamo rimosso
setLayoutConstraintForDynamicAnchorAngle
egetLayoutConstraintForDynamicAnchorAngle
metodi dall'elemento Arco. Questi metodi sono stati aggiunti per errore e non hanno avuto alcun effetto sul layout fornito. (If7d01). - Abbiamo limitato la profondità massima che un layout di
ProtoLayout
può avere a 30LayoutElements
nidificati. (I8a74b)
Correzioni di bug
- Abbiamo aggiunto un segno di spunta 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
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0-beta01
. La versione 1.0.0-beta01 contiene questi commit.
Nuove funzionalità
- Consenti l'impostazione dell'orologio per i test di associazione temporale. (I05622)
Modifiche alle API
PlatformDataReceiver.onData()
eStateBuilders.Builder.addKeyToValueMapping
ora accettano la mappatura sicura per il tipo diDynamicDataKey
aDynamicDataValue
anziché indirizzi generici non sicuri. Ciò significa che ora viene digitatoDynamicDataValue
con il suoDynamicType
. CostantiHEART_RATE_ACCURACY_X
spostate alla radice diPlatformHealthSources
, per corrispondere al posizionamento di altre costanti Android. Le costanti int diHEART_RATE_ACCURACY_X
vengono ora utilizzate direttamente inDynamicHeartRateAccuracy.constant()
eDynamicHeartRateAccuracy.dynamicDataValueOf()
al posto della costante di valore. (I82ff5)- È stata creata un'istanza del corso
PlatformHealthSources.Constants
per errore. Il problema ora è stato risolto. (Icb849) - Ora
PlatformTimeUpdateNotifier#setReceiver
riceve la funzioneRunnable
anzichéSupplier
eExecutor
per le notifiche. (I9d938) - Abbiamo cambiato 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 per utilizzarne uno (I81739)
- Riutilizza l'implementazione dei setter per i sovraccarico con setter (Ied70c)
- Registra correttamente le impronte nei setter con sovraccarichi (I86ed2)
Versione 1.0.0-alpha11
7 giugno 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0-alpha11
. La versione 1.0.0-alpha11 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un
PlatformDataKey
per la precisione del battito cardiaco. (I7f9b8)
Modifiche alle API
- Rinomina
StateBuilders#getIdToValueMapping
ingetKeyToValueMapping
e cambia il tipo restituito inMap<<AppDataKey<?>,DynamicDataValue>
. (Iaa7ae). - Imposta
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 temporali. (I60869) - Rinomina
register
/unregisterForData
inPlatformDataProvider
inset
/clearReceiver
(I14b02) - In Material Text,
getExcludeFontPadding
è stato rinominato inhasExcludeFontPadding
. (IEa01d) - Il setter per allineare l'etichetta è stato aggiunto a tutti i componenti del chip. A tutti i chip è ora applicato un target minimo toccabile. (I8ae92).
LayoutDefaults#BUTTON_MAX_NUMBER
è stato rinominato inMAX_BUTTONS
. (I84788)DAILY_DISTANCE
è stato rinominato inDAILY_DISTANCE_M
. (I4f758)
Correzioni di bug
- Aggiorna la documentazione relativa ai tipi di proposta per chiarire perché viene applicato il valore statico. Specifica il valore predefinito da utilizzare se non è stato fornito un valore statico. (I155aa)
- Gli spazi dei nomi
PlatformDataKey
devono seguire la denominazione in stile Java. (I47bda)
Versione 1.0.0-alpha10
24 maggio 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
- Aggiungi
AppDataKey
per accedere allo stato di push dell'app; AggiungiPlatformDataKey
per accedere ai dati della piattaforma. Aggiungi il supporto dello spazio dei nomi inStateStore
. (I7985e) - Supporta le operazioni
Equal
eNotEqual
perDynamicBool
. (I6a0c1)
Modifiche alle API
- Il corso
FontStyles
è ora definitivo (Iaa2ea) - L'API
LayoutElementBuilders#FontStyles
è stata deprecata. Usaandroidx.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 poiché non viene utilizzato come proposta di modifica del layout. (I286ac) - Le azioni
LoalAction
eSetStateAction
sono state rimosse perché non erano ancora supportate. (I5d6a6). - Aggiunto il supporto per il formato ARGB_8888 per le risorse delle immagini in linea. (I8a07c)
- Rinomina
StateEntryValue
inDynamicDataValue
e aggiorna le API di stato per utilizzareDynamicDataKey
(If1c01) - Stiamo limitando il numero di voci consentite in
StateStore
per garantire che l'utilizzo della memoria e l'ora 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
OnLoadTrigger
eOnConditionMetTrigger
corsi e rinominasetTrigger
insetCondition
perOnConditionMetTrigger
. (Ibf629). - Per motivi di prestazioni e compatibilità, i renderer
ProtoLayout
non supporteranno il set completo di funzionalità nelle risorseAnimatedVectorDrawable
. Queste API verranno contrassegnate come sperimentali fino a quando non potremo definire il set supportato. (Ic6daf) - Sono stati aggiunti tipi dinamici per distanza giornaliera, calorie giornaliere e piani giornalieri. Le chiavi per le origini di integrità della piattaforma ora si trovano sotto
PlatformHealthSources.Keys
(Ib7637) - Il metodo
Easing.cubicBezier
sostituisce il metodoCubicBezierEasing.Builder
. A questo punto, la classeEasingFunction
viene rimossa e le costanti di easing di quella classe sono ora accessibili direttamente dall'interfaccia diEasing
. Inoltre,setInfiniteRepeatable
viene sostituito daINFINITE_REPEATABLE_WITH_RESTART
eINFINITE_REPEATABLE_WITH_REVERSE
(Ib41e7) - Implementa
PlatformDataProvider
per fornire battito cardiaco e passi giornalieri. L'interfacciaSensorGateway
è stata rimossa dall'API pubblica. (I55b84). - Aggiungi
PlatformDataProvider
e aggiornaStateStore
per registrarti aPlatformDataProvider
quando la chiave supportata del provider è richiesta dal nodo della pipeline di espressione. (Ib616a) SensorGateway
non è piùCloseable
poiché non conserva più alcuno stato. (I6b4f7).- Consenti l'utilizzo di
FloatProp
conDynamicFloat
per l'avanzamento inCircularProgressIndicator
. È supportato per i renderer che supportano la versione 1.2. I renderer precedenti ricorreranno al fallbackstaticValue
, se fornito, altrimenti a 0 (I0d91b) - Le costanti
MultiButtonLayout
sono state ridimensionate nella classeLayoutDefaults.MultiButtonLayoutDefaults
, che ora contiene quelle per le dimensioni dei pulsanti, in base a un certo numero di pulsanti nel layout. (I13973) - È supportato l'utilizzo di
StringProp
conDynamicString
nel testo Material. È supportato per i renderer che supportano la versione 1.2. I renderer precedenti ricorreranno al valore statico fornito. Aggiorna il tipo restituitoText#getText
daString
aStringProp
. (I7275b)
Versione 1.0.0-alpha09
10 maggio 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un elemento di layout sperimentale dell'estensione. Tieni presente che questa funzione non può essere utilizzata 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) - Aggiunto il supporto per il funzionamento di Conditional Instant. (I489a7)
- Aggiunto il supporto per l'operazione Durata condizionale. (Iab469)
- Aggiunto il supporto per la creazione di durate a partire da secondi. (Ib5fa1)
Modifiche alle API
enable/disablePlatformSource
metodi sono stati rimossi daDynamicTypeEvaluator
. Il chiamante deve essere responsabile degli aggiornamenti. (I78c6d)- Consenti la limitazione delle dimensioni dei tipi di dati associati. (Ie2966).
- Aggiungi il supporto della descrizione dinamica dei contenuti in
protolayout-material
. (I62c8e) - Utilizza long e
@IntRange
per durata e ritardo in AnimationParameters. (I388b6)
Versione 1.0.0-alpha08
19 aprile 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0-alpha08
. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
AndroidTextStyle
è stato/a aggiunto/a aLayoutElementBuilders
. (I8d967)- Abbiamo aggiunto il supporto dell'impostazione di esclusione della spaziatura interna dei caratteri nel testo materiale
ProtoLayout
. (I17f5d). - ARGB_8888 è ora supportato per le immagini in linea. (I18c1e)
DynamicColor
ora supporta l'operazioneonCondition
. (I10927)
Modifiche alle API
- Supporto della durata personalizzata per l'animazione inversa (I3251f)
- Abbiamo aggiunto il modificatore
SemanticDescription
. Inoltre,ContentDescription
non è associabile. (I3f1d). - Il metodo
DynamicBool.isFalse()
è ora sostituito conDynamicBool.negate()
e ilDynamicBool.isTrue()
è stato rimosso. Inoltre, i valoriDynamicFloat
NaN e la limitazione di unDynamicInt32
a unDynamicFloat
ora emettono un risultato dinamico non valido. (I6ac1e) - I formati int e in virgola mobile ora utilizzano i pattern del generatore. (Ieb213)
Correzioni di bug
- Il valore statico di riserva è stato rimosso dai campi animati. (Ifcb01)
- L'utente
DynamicTypeValueReceiver#onPreUpdate
è stato rimosso. (I2dc35) - La lunghezza delle stringhe nelle espressioni dinamiche è ora limitata. (I4c93)
- Quando necessario, le dipendenze Gradle sono ora impostate correttamente su
api
anziché suimplementation
. (I40503)
Versione 1.0.0-alpha07
5 aprile 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- Aggiungi il supporto dei valori dinamici a
StringProp
(I04342) - Contrassegna gli elementi di layout associabili (Ia110b)
Modifiche alle 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 altri argomenti facoltativi, tra cuiObservableStateStore
che ora per impostazione predefinita viene impostato su un archivio vuoto. (I6f832) - Ordine dei parametri sottoposto a refactoring in
DynamicTypeEvaluator
. (Ic1ba4)
Correzioni di bug
- Propaga correttamente i segnali dalle origini dei sensori della piattaforma ai nodi downstream (I5a922)
Versione 1.0.0-alpha06
22 marzo 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0-alpha06
. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un'API sperimentale per l'utilizzo del battito cardiaco e dei passi giornalieri nelle espressioni dinamiche (Ifd711)
- Abbiamo aggiunto il supporto del ritardo in avanti e 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
verranno spostati inprotolayout-material
Modifiche alle API
LoadActionListener
è stato/a aggiunto/a aProtoLayoutViewInstance
. (If7806)
Correzioni di bug
FloatNodesTest
aggiunto (Id7281)- È stato corretto l'arresto anomalo del renderer quando non era possibile caricare bitmap strutturata.
Versione 1.0.0-alpha05
8 marzo 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0-alpha05
. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un "aggiornamento dei contenuti" sperimentale animazione sull'oggetto
Modifiers
. Questa animazione si attiva ogni volta che l'elemento (con questo modificatore) o uno dei relativi elementi secondari cambiano durante un aggiornamento del layout. (bd03e5d).
Modifiche alle API
- Abbiamo aggiunto
forwardRepeatDelayMillis
ereverseRepeatDelayMillis
aRepeatable
. Abbiamo anche rinominatodelayMillis
inAnimationSpec
instartDelayMillis
(Ifb266) - I metodi
DynamicTypeEvaluator.bind
ora accettano un esecutore. (I346ab) - Abbiamo aggiunto il metodo
startEvaluation
aBoundDynamicType
per attivare la valutazione dopo l'associazione 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
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0-alpha04
. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
ObservableStateStore
ora informa gli ascoltatori quando viene rimossa anche una chiave.- Abbiamo aggiunto a
DeviceParameters
la versione dello schema del renderer e la scala dei caratteri, che può essere utilizzata per creare layout in modo condizionale in risposta a diverse versioni e impostazioni dei caratteri. - Abbiamo aggiunto il supporto per l'animazione dei valori
DynamicInt32
(I05485) - Abbiamo aggiunto
OnLoad
eOnConditionalMet
attivatori. Queste possono essere usate per avviare animazioni che supportano un trigger. - Abbiamo aggiunto il peso del layout per le dimensioni espanse e la dimensione minima per le dimensioni incluse.
- Abbiamo aggiunto tipi dinamici istantanei e di durata. Possono essere utilizzate per rappresentare un istante temporale o una durata in un'espressione dinamica.
- Abbiamo aggiunto il supporto per
AnimatedVectorDrawable
eSeekableAnimatedVectorDrawable
come risorse di layout.
Modifiche alle API
- I dati dei sensori richiedono l'API 29 o versioni successive. (I8099e)
- Abbiamo aggiunto due
launchAction
metodi helper (per l'avvio delle attività).
Correzioni di bug
- Rinomina
set/getSpec
inset/getAnimationSpec
nell'animazione Schede (I3d74b)
Versione 1.0.0-alpha03
8 febbraio 2023
Viene rilasciato androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
. 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) un tipo dinamico creato in precedenza (DynamicString
,DynamicFloat
e ...) - Quando non è possibile riprodurre le animazioni (perché sono disabilitate dal 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
Vengono rilasciate le funzionalità 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
. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- Gli strumenti per la creazione di layout da
androidx.wear.tiles:tiles
verranno spostati inandroidx.wear.protolayout:protolayout
. Quelli diandroidx.wear.tiles:tiles
verranno ritirati in una delle prossime release.
Versione 1.0.0-alpha01
11 gennaio 2023
Vengono rilasciate le versioni androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
e androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
- Questa release introduce una nuova libreria "ProtoLayout Expression" per creare espressioni da variabili dinamiche.