Protolayout Wear
Aggiornamento più recente | Release stabile | Candidato per la release | Versione beta | Release alpha |
---|---|---|---|---|
6 marzo 2024 | 1.1.0 | - | - | 1.2.0-alpha01 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza a 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 artefatti necessari nel file build.gradle
per
l'app o il modulo:
Trendy
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.2.0-alpha01" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0-alpha01" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0-alpha01" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha01") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha01") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha01") }
Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 1.2
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à
- Agli elementi
ProtoLayout Arc
è ora possibile aggiungereArcDirection
(Clockwise
,Counterclockwise
oNormal
). L'aggiunta di questo comportamento aArc
,ArcLine
oArcText
correggerà il loro comportamento nei layout RTL. (I90699) EdgeContentLayout
è stato aggiornato con un nuovo setter disetResponsiveContentInsetEnabled
per garantire un migliore allineamento con le linee guida per l'esperienza utente e garantire la coerenza nei riquadri grazie all'etichetta principale in posizione fissa e al riquadro adattabile per le etichette. (I60175)- Abbiamo aggiunto
PrimaryLayout.setResponsiveContentInsetEnabled
che aggiunge un riquadro adattabile all'etichetta principale, all'etichetta secondaria e al chip inferiore in questo layout, per evitare che i contenuti vadano 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
- Per impostazione predefinita, il renderer dei riquadri esclude la spaziatura interna dei caratteri in tutti gli elementi del testo, senza la possibilità di includerla. (I3e300)
Correzioni di bug
- Risolto il problema di allineamento del testo quando nel Testo venivano utilizzati i puntini di sospensione, 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 di disegno di
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 dei gradienti e migliore rappresentazione di lunghezze superiori a 360 gradi in
ArcLine
. - La formattazione di data e ora supporta diversi fusi orari 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 dei requisiti di versione dello schema per tutte le API
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 tra tutti gli elementi di testo e i componenti Material che contengono testo.
Modifiche aggiuntive
- Per un insieme più completo delle modifiche introdotte nella versione 1.1.0, consulta le note sulla 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
spunta immediatamente dopo l'abilitazione dell'aggiornamento. (I77145)- Il problema
CircularProgressIndicator
è stato corretto per i layout RTL. D'ora in poi, l'operazione avverrà in senso orario in ogni caso. (I95ee3) - Aggiungi una soluzione alternativa per un problema di disegno dell'arco 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 versione 1.1.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.1 include le seguenti nuove funzionalità e API:
ArcLine
ora supporta il gradiente aggiungendoBrush
conSweepGradient
e mettendo un'ombra sul cappello per rappresentare meglio una lunghezza superiore a 360 gradi aggiungendoShadow
sulStrokeCap
esistente.DynamicInstant
supporta la formattazione di data e ora in zona. È possibile utilizzareDynamicInstant
eDynamicDuration
come tipi di dati a livello di stato o piattaforma.- Funzionalità di ridimensionamento automatico per la dimensione del testo che consente di impostare più dimensioni su
FontStyle.setSizes
, dove la dimensione del testo verrà ridimensionata automaticamente in base allo spazio all'interno del file principale. Inoltre, abbiamo migliorato le opzioni dei puntini di sospensione per il testo eccessivo aggiungendoTEXT_OVERFLOW_ELLIPSIZE
e ritirandoTEXT_OVERFLOW_ELLIPSIZE_END
. Spacer
ora supporta l'espansione di dimensioni con peso facoltativo. Per la creazione diExpandedDimensionProp
abbiamo aggiunto un metodo helperDimensionBuilders.weight
.- Supporto per nascondere e mostrare in modo dinamico gli elementi del layout con
Modifier.visible
. Ciò include avere valori dinamici inBoolProp
. - Tutte le API
ProtoLayout
ora dispongono di annotazioni relative ai requisiti di versione dello schema e la versione può essere controllata prima di chiamare un'API più recente. - Ora ogni elemento che ha
Clickable
ha l'area di destinazione estesa ad almeno 48 x 48 nel renderer per supportare meglio i requisiti di accessibilità. - In seguito ad altri componenti di Material e alle iniziative di Compose, ora abbiamo 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 perimetrale in
EdgeContentLayout
, in modo che possano essere posizionati prima di altri contenuti. - Generazione regolare di un'eccezione quando viene rilevato un valore di enum non riconosciuto.
- Annulla il risultato di un'espressione quando restituisce un valore numerico non valido (NaN o infinito) o genera un valore
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 impostare una direzione in cui vengono disegnati gli elementi arc. (Idef5a)
- Se non specificato, il valore predefinito di
RoundMode
èFloor
inFloatToInt32Node
. Il nodo genererà comunque 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 alle 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) - In seguito ad altri componenti Material e iniziative di Compose, ora abbiamo 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
viene 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 valore
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 nascondere/mostrare in modo dinamico gli elementi del layout (I64a78)
- Aggiungi il supporto dei valori dinamici a
BoolProp
(I2fe96) - Aggiungi l'annotazione del requisito di versione dello schema alle API
ProtoLayout
(I0f03c) - Estendere l'API con la nuova opzione in
TextOverflow
per aggiungere i puntini di sospensione al testo in un contenitore principale fisso anche quando non viene raggiunto il numero massimo di righe (ma non c'è spazio sufficiente per il testo). (I110a9) - Metodo di supporto
DimensionBuilders.weight
aggiunto per creareExpandedDimensionProp
con peso. (I4f72b). - È possibile utilizzare
DynamicInstant
eDynamicDuration
come tipi di dati a livello di stato o piattaforma. (I6819f)
Modifiche alle API
- Aggiorna l'API per nascondere
DynamicZonedDateTime
e spostare tutte le relative operazioni inDyanamicInstant
(I34b94) - Lo spaziatore ora supporta la dimensione espansa per larghezza/altezza. (Ie7c94)
- Supporta l'estensione dell'area di destinazione 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 dello Spacer per l'espansione. (I757ca)
- Abbiamo aggiunto un'API sperimentale per scalare automaticamente le dimensioni del testo in base allo spazio all'interno dell'elemento padre. (Ibbe63).
- Supporta le dimensioni minime cliccabili (I178e3)
- Aggiunto il supporto del renderer per
StrokeCap
Shadow
. (I48b17) - È stato aggiunto il supporto del renderer per la funzione Sposta gradiente 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 del pennello a
Arcline
, che supportaSweepGradient
. (Ie7ce3) - Aggiunto il supporto per la formattazione di data e ora in zone. (Ibfae0)
- Sono stati aggiunti protocolli e wrapper Java necessari per la formattazione di data e ora in zone. (I97126)
- Sono stati aggiunti getter per la lettura del valore memorizzato in
DynamicDataValue
. (Ie6cea) - È stato aggiunto un setter per il posizionamento dei contenuti perimetrale in
EdgeContentLayout
, in modo che possano essere posizionati prima di altri contenuti. (Ie8e8a).
Correzioni di bug
- Risolto il problema per cui un'espressione con registrazioni di origini dati relative a più periodi di tempo non veniva aggiornata immediatamente. (I8e1a8).
- È stato corretto un bug per centrare l'elemento principale durante gli aggiornamenti delle differenze. (Ie48f7)
- I valori dei vincoli di layout non 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
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 di riquadri utilizza queste API per supportare l'associazione 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 dai riquadri a
ProtoLayout
, segui le istruzioni qui.
Modifiche alle API
- Abbiamo rimosso i metodi
setLayoutConstraintForDynamicAnchorAngle
egetLayoutConstraintForDynamicAnchorAngle
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 può avere il layout di un
ProtoLayout
a 30LayoutElements
nidificati. (I8a74b).
Correzioni di bug
- Abbiamo aggiunto un segno di spunta da inviare se
DynamicColor
è stato impostato per unSpanText
. (I0e5bc). - È stato chiarito che
DAILY_CALORIES
unità dell'origine dati è 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 l'impostazione dell'orologio per i test dell'associazione temporale. (I05622)
Modifiche alle API
- Ora
PlatformDataReceiver.onData()
eStateBuilders.Builder.addKeyToValueMapping
accettano la mappatura sicura dei tipi di dati daDynamicDataKey
aDynamicDataValue
anziché parole generiche non sicure. Ciò significa che ora viene digitatoDynamicDataValue
con il relativoDynamicType
. CostantiHEART_RATE_ACCURACY_X
spostate nella radice diPlatformHealthSources
, in modo da corrispondere al posizionamento di altre costanti Android. Le costanti intHEART_RATE_ACCURACY_X
vengono ora utilizzate direttamente inDynamicHeartRateAccuracy.constant()
eDynamicHeartRateAccuracy.dynamicDataValueOf()
al posto della costante di valore. (I82ff5) - È stata creata un'istanza della classe
PlatformHealthSources.Constants
per errore. Il problema è stato risolto. (Icb849) PlatformTimeUpdateNotifier#setReceiver
ora riceve la funzioneRunnable
invece della funzioneSupplier
eExecutor
per l'attivazione della notifica. (I9d938)- Il tipo di parametro in
PlatformTimeUpdateNotifier#setReceiver
è stato modificato daCallable
aSupplier
. (I664bf) - Ora
CompactChip
eTitleChip
supportano l'aggiunta di un'icona. (I5a01e).
Correzioni di bug
- Aggiorna i messaggi Prop con campi dinamici in modo da utilizzarne uno al loro posto (I81739)
- Riutilizza l'implementazione dei setter per sovraccarichi con setter (Ied70c)
- Registra 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 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 settore per un allineamento perfetto dell'etichetta è stato aggiunto a tutti i componenti del chip. Ora a tutti i chip è applicato il valore minimo di target 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 sui tipi di Prop per chiarire perché 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 la denominazione in stile 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 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 finale (Iaa2ea) - L'API
LayoutElementBuilders#FontStyles
è stata ritirata. Utilizzaandroidx.wear.protolayout.Typography
o crea il tuoFontStyle
. (Ic929b) - Nascondi l'interfaccia nidificata
Action#Builder
dall'interfaccia diAction
. 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 per la 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 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 contenuti e controllati correttamente 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 diStateStore
. (Ibadb3) - Nascondi i corsi
OnLoadTrigger
eOnConditionMetTrigger
e rinominasetTrigger
insetCondition
perOnConditionMetTrigger
. (Ibf629) - Per motivi di prestazioni e compatibilità, i renderer
ProtoLayout
non supporteranno l'insieme completo di funzionalità nelle risorseAnimatedVectorDrawable
. Le API saranno contrassegnate come sperimentali finché non potremo definire l'insieme supportato. (Ic6daf) - Sono stati aggiunti tipi dinamici per distanza giornaliera, calorie bruciate giornaliere e piani giornalieri. Le chiavi per le fonti sanitarie della piattaforma sono ora sotto
PlatformHealthSources.Keys
(Ib7637) - Il metodo
Easing.cubicBezier
sostituisceCubicBezierEasing.Builder
. In questo modo 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 rilevazione del battito cardiaco e passi giornalieri. L'interfacciaSensorGateway
è stata rimossa dall'API pubblica. (I55b84) - Aggiungi
PlatformDataProvider
e aggiornaStateStore
per effettuare la registrazione inPlatformDataProvider
quando la chiave supportata del provider è richiesta dal nodo nella pipeline di espressione. (Ib616a) SensorGateway
non è piùCloseable
perché non mantiene più nessuno stato. (I6b4f7)- Consenti l'utilizzo di
FloatProp
conDynamicFloat
per l'avanzamento inCircularProgressIndicator
. Questa opzione è supportata per i renderer che supportano la versione 1.2. Se viene specificato, i renderer precedenti utilizzeranno il codice di riservastaticValue
, altrimenti verranno impostati su 0 (I0d91b) - Le costanti
MultiButtonLayout
sono state spostate nella classeLayoutDefaults.MultiButtonLayoutDefaults
, che ora contiene quelle per le dimensioni dei pulsanti in base a una serie di pulsanti nel layout. (I13973) - Supporto dell'utilizzo di
StringProp
conDynamicString
in Material Text. Questa opzione è supportata per i renderer che supportano la versione 1.2. I renderer precedenti utilizzeranno il valore statico fornito per il riserva. Aggiorna il tipo restituito daText#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 sperimentale di layout delle estensioni. Tieni presente che non può essere utilizzato per impostazione predefinita e richiede un'estensione del renderer in grado di comprendere l'elemento del layout. (I6581d)
- Aggiunto il supporto
StrokeCap
perArcLine
. (I94951) - Aggiunto il supporto per l'operazione Conditional Instant. (I489a7)
- Aggiunto il supporto per l'operazione Durata condizionale. (Iab469)
- Aggiunto il supporto per la creazione di una durata a partire dai 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 dei contenuti dinamici in
protolayout-material
. (I62c8e). - Usa long e
@IntRange
per la durata e il 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'esclusione della spaziatura interna dei caratteri nel testo materiale di
ProtoLayout
. (I17f5d). - ARGB_8888 è ora supportato per le immagini in linea. (I18c1e).
DynamicColor
ora supporta l'operazioneonCondition
. (I10927)
Modifiche alle API
- Supporto personalizzato della durata per l'animazione inversa (I3251f)
- Abbiamo aggiunto il modificatore
SemanticDescription
. Inoltre,ContentDescription
non è associabile. (I3f1d). - Il metodo
DynamicBool.isFalse()
viene ora sostituito conDynamicBool.negate()
e il metodoDynamicBool.isTrue()
viene rimosso. Oltre ai valori NaNDynamicFloat
e alla limitazione di unDynamicInt32
a unDynamicFloat
ora, viene emesso un risultato dinamico non valido. (I6ac1e). - I formattatori Int e float ora utilizzano il pattern Builder. (Ieb213).
Correzioni di bug
- Il valore statico di riserva è stato rimosso dai campi animabili. (Ifcb01)
- Il partner
DynamicTypeValueReceiver#onPreUpdate
è stato rimosso. (I2dc35) - La lunghezza delle stringhe nelle espressioni dinamiche ora è limitata. (I4c93)
- Ora le dipendenze Gradle sono impostate correttamente su
api
anziché suimplementation
quando richiesto. (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à
- 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é metodo in Consumer. (Icf314)ObservableStateStore
è stato rinominato inStateStore
. (Ieb0e2).- Sono stati aggiunti
DynamicTypeEvaluator.Builder
al posto degli argomenti del costruttore per consentire più argomenti facoltativi, inclusoObservableStateStore
che ora mostra per impostazione predefinita un archivio vuoto. (I6f832) - Ordine dei parametri sottoposto a refactoring in
DynamicTypeEvaluator
. (Ic1ba4)
Correzioni di bug
- Propagare correttamente i segnali dalle origini dei sensori della piattaforma ai nodi downstream (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 di battito cardiaco e passi giornalieri nelle espressioni dinamiche (Ifd711)
- Abbiamo aggiunto il supporto del ritardo in avanti e indietro per le animazioni. (Ic25f7)
- Abbiamo aggiunto il supporto
DynamicColor
a Bordi e Sfondo - Abbiamo aggiunto il supporto del valore dinamico 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
- Aggiunto
FloatNodesTest
(Id7281) - È stato corretto l'arresto anomalo del renderer quando non è stato 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 di 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 alle API
- Abbiamo aggiunto
forwardRepeatDelayMillis
ereverseRepeatDelayMillis
aRepeatable
. AnchedelayMillis
inAnimationSpec
è stato rinominato 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 successive animazioni 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 i listener quando viene rimossa anche una chiave.- 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
OnLoad
eOnConditionalMet
attivatori. Possono essere utilizzate per avviare animazioni che supportano un attivatore. - Abbiamo aggiunto un peso del layout per le dimensioni espanse e la dimensione minima per le dimensioni con wrapping.
- Abbiamo aggiunto i tipi dinamici istantanei e di durata. Possono essere utilizzate per rappresentare un'istante o una durata temporale 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 metodi helper
launchAction
(per l'avvio delle attività).
Correzioni di bug
- Rinomina
set/getSpec
inset/getAnimationSpec
nell'animazione dei 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 di 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
, ...) - Quando non è possibile riprodurre le animazioni (perché sono disattivate dal responsabile della valutazione o perché è stato raggiunto il limite impostato per il numero di animazioni in esecuzione), 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à
- Gli strumenti per la creazione di layout da
androidx.wear.tiles:tiles
verranno spostati inandroidx.wear.protolayout:protolayout
. Quelle inandroidx.wear.tiles:tiles
verranno ritirate 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 "Espressione ProtoLayout" per la creazione di espressioni da variabili dinamiche.