Protolayout Wear

  
Questa libreria consente di definire un insieme di layout UI ed espressioni non UI da visualizzare/valutare su piattaforme remote.
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.

Crea un nuovo problema

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 aggiungere ArcDirection (Clockwise, Counterclockwise o Normal). L'aggiunta di questo comportamento a Arc, ArcLine o ArcText correggerà il loro comportamento nei layout RTL. (I90699)
  • EdgeContentLayout è stato aggiornato con un nuovo setter di setResponsiveContentInsetEnabled 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

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 aggiungendo Brush con SweepGradient e mettendo un'ombra sul cappello per rappresentare meglio una lunghezza superiore a 360 gradi aggiungendo Shadow sul StrokeCap esistente.
  • DynamicInstant supporta la formattazione di data e ora in zona. È possibile utilizzare DynamicInstant e DynamicDuration 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 aggiungendo TEXT_OVERFLOW_ELLIPSIZE e ritirando TEXT_OVERFLOW_ELLIPSIZE_END.
  • Spacer ora supporta l'espansione di dimensioni con peso facoltativo. Per la creazione di ExpandedDimensionProp abbiamo aggiunto un metodo helper DimensionBuilders.weight.
  • Supporto per nascondere e mostrare in modo dinamico gli elementi del layout con Modifier.visible. Ciò include avere valori dinamici in BoolProp.
  • 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 o ColorStops 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 in FloatToInt32Node. Il nodo genererà comunque un'eccezione se il valore RoundMode 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'interfaccia Comparable. (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 API TEXT_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 con Modifier.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 creare ExpandedDimensionProp con peso. (I4f72b).
  • È possibile utilizzare DynamicInstant e DynamicDuration 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 in DyanamicInstant (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 supporta SweepGradient. (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 setLayoutConstraintForDynamicAnchorAnglee getLayoutConstraintForDynamicAnchorAngle 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 30 LayoutElements nidificati. (I8a74b).

Correzioni di bug

  • Abbiamo aggiunto un segno di spunta da inviare se DynamicColor è stato impostato per un SpanText. (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() e StateBuilders.Builder.addKeyToValueMapping accettano la mappatura sicura dei tipi di dati da DynamicDataKey a DynamicDataValue anziché parole generiche non sicure. Ciò significa che ora viene digitato DynamicDataValue con il relativo DynamicType. Costanti HEART_RATE_ACCURACY_X spostate nella radice di PlatformHealthSources, in modo da corrispondere al posizionamento di altre costanti Android. Le costanti int HEART_RATE_ACCURACY_X vengono ora utilizzate direttamente in DynamicHeartRateAccuracy.constant() e DynamicHeartRateAccuracy.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 funzione Runnable invece della funzione Supplier e Executor per l'attivazione della notifica. (I9d938)
  • Il tipo di parametro in PlatformTimeUpdateNotifier#setReceiver è stato modificato da Callable a Supplier. (I664bf)
  • Ora CompactChip e TitleChip 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 in getKeyToValueMapping e cambia il tipo restituito in Map<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae).
  • Imposta StateStore come corso finale (I408ca)
  • L'interfaccia TimeGateway è stata sostituita da PlatformTimeUpdateNotifier nella libreria protolayout-expression-pipeline, che fornisce la frequenza desiderata per l'aggiornamento dei dati temporali. (I60869)
  • Rinomina register/unregisterForData in PlatformDataProvider in set/clearReceiver (I14b02)
  • In Material Text, getExcludeFontPadding è stato rinominato in hasExcludeFontPadding. (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 in MAX_BUTTONS. (I84788)
  • DAILY_DISTANCE è stato rinominato in DAILY_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; aggiungi PlatformDataKey per accedere ai dati della piattaforma; Aggiungi il supporto dello spazio dei nomi in StateStore. (I7985e).
  • Supporta le operazioni Equal e NotEqual per DynamicBool. (I6a0c1).

Modifiche alle API

  • Il corso FontStyles è ora finale (Iaa2ea)
  • L'API LayoutElementBuilders#FontStyles è stata ritirata. Utilizza androidx.wear.protolayout.Typography o crea il tuo FontStyle. (Ic929b)
  • Nascondi l'interfaccia nidificata Action#Builder dall'interfaccia di Action. Le implementazioni di Builder sono già fornite dalle classi LoadAction e LaunchAction. (I1d70c)
  • Consenti l'utilizzo di DynamicFloat con FloatProp. Tieni presente che FloatProp non richiede vincoli di layout poiché non viene utilizzato come proposta per la modifica del layout. (I286ac)
  • Le azioni LoalAction e SetStateAction 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 in DynamicDataValue e aggiorna le API di stato in modo da utilizzare DynamicDataKey (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 di StateStore. Di conseguenza, lo sviluppatore deve assicurarsi di non avere più di MAX_STATE_ENTRY_COUNT voci nella mappa, altrimenti riceverà un IllegalStateException durante la creazione o l'aggiornamento di StateStore. (Ibadb3)
  • Nascondi i corsi OnLoadTrigger e OnConditionMetTrigger e rinomina setTrigger in setCondition per OnConditionMetTrigger. (Ibf629)
  • Per motivi di prestazioni e compatibilità, i renderer ProtoLayout non supporteranno l'insieme completo di funzionalità nelle risorse AnimatedVectorDrawable. 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 sostituisce CubicBezierEasing.Builder. In questo modo la classe EasingFunction viene rimossa e le costanti di easing di quella classe sono ora accessibili direttamente dall'interfaccia di Easing. Inoltre, setInfiniteRepeatable viene sostituito da INFINITE_REPEATABLE_WITH_RESTART e INFINITE_REPEATABLE_WITH_REVERSE (Ib41e7)
  • Implementa PlatformDataProvider per fornire rilevazione del battito cardiaco e passi giornalieri. L'interfaccia SensorGateway è stata rimossa dall'API pubblica. (I55b84)
  • Aggiungi PlatformDataProvider e aggiorna StateStore per effettuare la registrazione in PlatformDataProvider 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 con DynamicFloat per l'avanzamento in CircularProgressIndicator. Questa opzione è supportata per i renderer che supportano la versione 1.2. Se viene specificato, i renderer precedenti utilizzeranno il codice di riserva staticValue, altrimenti verranno impostati su 0 (I0d91b)
  • Le costanti MultiButtonLayout sono state spostate nella classe LayoutDefaults.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 con DynamicString 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 da Text#getText da String a StringProp. (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 per ArcLine. (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 da DynamicTypeEvaluator. 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 a LayoutElementBuilders. (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'operazione onCondition. (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 con DynamicBool.negate() e il metodo DynamicBool.isTrue() viene rimosso. Oltre ai valori NaN DynamicFloat e alla limitazione di un DynamicInt32 a un DynamicFloat 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é su implementation 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 in StateStore. (Ieb0e2).
  • Sono stati aggiunti DynamicTypeEvaluator.Builder al posto degli argomenti del costruttore per consentire più argomenti facoltativi, incluso ObservableStateStore 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 in protolayout-material

Modifiche alle API

  • LoadActionListener è stato/a aggiunto/a a ProtoLayoutViewInstance. (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 e reverseRepeatDelayMillis a Repeatable. Anche delayMillis in AnimationSpec è stato rinominato in startDelayMillis (Ifb266)
  • I metodi DynamicTypeEvaluator.bind ora accettano un esecutore. (I346ab)
  • Abbiamo aggiunto il metodo startEvaluation a BoundDynamicType 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 e OnConditionalMet 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 e SeekableAnimatedVectorDrawable 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 in set/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() e fromByteArray() 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 in androidx.wear.protolayout:protolayout. Quelle in androidx.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.