wear protolayout
| Ultimo aggiornamento | Release stabile | Candidato per la release | Release beta | Release alpha | 
|---|---|---|---|---|
| 22 ottobre 2025 | 1.3.0 | - | - | 1.4.0-alpha02 | 
Dichiara le dipendenze
Per aggiungere una dipendenza da wear-protolayout, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per
la tua app o il tuo modulo:
Groovy
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0") }
Per saperne di più sulle dipendenze, consulta Aggiungi dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 1.4
Versione 1.4.0-alpha02
22 ottobre 2025
androidx.wear.protolayout:protolayout-*:1.4.0-alpha02 è stato rilasciato. La versione 1.4.0-alpha02 contiene questi commit.
Nuove funzionalità
- È stata aggiunta una nuova origine evento della piattaforma (isInAmbientMode) che indica se il dispositivo è in modalità Ambient o meno (Ief832).
Modifiche alle API
- PendingIntent- clickableora accetta un'azione di riserva (- LoadAction/- LaunchAction) da utilizzare quando- PendingIntentnon è supportato dal renderer- ProtoLayout. L'azione di riserva verrà selezionata e inserita automaticamente nel layout quando la versione del renderer è precedente a quella che supporta- PendingIntent. (I6eee2, b/450259727)
- Il campo protoLayoutScopeall'interno diMaterialScopeora èNonNullper un utilizzo più semplice quandoMaterialScopeviene creato tramitematerialScopeWithResources. Inoltre, esiste una funzionehasProtoLayoutScopeper verificarne la presenza. (I1858f, b/450067019)
Versione 1.4.0-alpha01
24 settembre 2025
androidx.wear.protolayout:protolayout-*:1.4.0-alpha01 è stato rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il metodo helper per LayoutModifierche consente di visualizzare un elemento in dissolvenza man mano che il riquadro diventa visibile. (I38531, b/390345969)
- È stato aggiunto materialScopeWithResourcesper supportare il concetto diMaterialScopeM3, che si occupa anche della registrazione automatica delle risorse. Al suo interno, sono stati aggiunti nuovi metodi helper per le immagini (backgroundImageavatarImagee icona) che eliminano la necessità di registrare manualmente le risorse inonTileResourceRequestquando vengono utilizzate. (I525bd, b/428692714)
- ProtoLayoutHelper Kotlin per- Imagee- ImageResourcesper l'utilizzo con- ProtoLayoutScopee la registrazione automatica delle risorse. (Iada82, b/430584304)
- È stato aggiunto un getter per il numero di proprietà Lottie consentite nella personalizzazione di un'animazione Lottie. (I73733, b/436532706)
- Aggiungi l'API in AndroidLottieResourceByResIdper consentire la personalizzazione dell'animazione Lottie tramite le proprietà e aggiungi l'API per creare la proprietà per lo slot di temi con l'ID slot al colore specificato. (I301b3, b/423581481)
- Aggiungi API del fornitore per accettare PendingIntentcome azione di clic (I01978, b/433802488)
- Aggiungi una nuova API in Image.Builder-setImageResourceper impostare l'oggetto risorsa direttamente sull'immagine inonTileRequest, senza doverlo registrare nel mapping inonTileResourcesRequest. (Ifa69a, b/428693523)
- È stato aggiunto il concetto di ProtoLayoutScopein preparazione a una migliore gestione delle risorse nei riquadri. (I132ce, b/428692423)
- ProtoLayoutMaterial3- MaterialScopeora espone il campo- Contextcome pubblico, per l'utilizzo nei metodi nell'ambito, senza la necessità di passarlo. (I0e5cc, b/414559956)
- Rendi pubbliche le API semantiche per le intestazioni (I75299, b/413653475)
- Espone le costanti ARC_DIRECTION_*come pubbliche per l'utilizzo inArc/ArcLine/ArcText/DashedArcLine. (I83959, b/427556439)
Modifiche alle API
- Abbiamo ritirato i metodi Image.Builder()eImage.Builder.setResourceIda favore della nuova API di registrazione automatica delle risorse, disponibile nelle APIImage.Builder(ProtoLayoutScope)eImage.Builder.setImageResourceche eliminano la necessità di eseguire l'override dionTileResourcesRequest. (I7bfe6, b/432758526)
- Sposta le API per la creazione di ProtoLayoutScopeda con limitazioni a pubbliche. Tuttavia, non devono essere utilizzati perché il sistema gestisce già queste chiamate. (I1d8e8, b/432758251)
Correzioni di bug
- Aggiunta dell'implementazione per il supporto di PendingIntentinProtoTiles(I38167, b/430610429)
- Aggiungi il metodo invalidateLayout. (Ief898)
- Spostamento di minSdk predefinito dall'API 21 all'API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
- ImageResourceora ha i metodi- hashCodee- equals. (I650ee, b/428692423, b/428693523)
- Aggiungi il nuovo messaggio proto PendingIntentActione il relativo builder di wrapper (Ie2aca, b/427643502)
- Ridurre la frequenza di creazione dell'istanza ZoneId. (I284d3)
- Applica la descrizione dei contenuti predefinita al singolo slot textButton. (I0dc8a, b/415001534)
- Correzione dei calcoli per la regolazione del numero massimo di righe nel rendering. (I933bc, b/414353620)
Versione 1.3
Versione 1.3.0
4 giugno 2025
androidx.wear.protolayout:protolayout-*:1.3.0 è stato rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Il design Material 3 arriva sullo smartwatch, con componenti e layout ottimizzati per il display rotondo e si adatta in modo appropriato alle dimensioni dello schermo, da piccole a grandi
- Ciò include la libreria protolayout-material3solo Kotlin con API più simili a Compose per i seguenti componenti e funzionalità:
- Tema a colori dinamico proveniente dal sistema e dal quadrante con l'ultimo tema Material3 per colori, forme e tipografia
- MaterialScopeper gestire tutti i valori predefiniti e semplificare la personalizzazione
- iconEdgeButton,- textEdgeButton
- iconButton,- textButton,- button,- imageButton,- avatarButtone- compactButton
- titleCard,- appCard,- graphicDataCard,- iconDataCarde- textDataCard
- circularProgressIndicator,- segmentedCircularProgressIndicator
- primaryLayout,- buttonGroup
- Tutti i componenti funzionano a qualsiasi livello dell'SDK e con qualsiasi versione del renderer ProtoLayout, fornendo fallback sensati ove applicabile
 
- Ciò include la libreria 
- API più adatte a Kotlin e simili a Compose per gli elementi ProtoLayout di base
- LayoutModifiercon la possibilità di aggiungere la maggior parte dei modificatori come funzioni concatenate (- padding,- contentDescription(incluso- clearSemantics),- background,- clip,- opacitye così via), convertibili nell'oggetto- Modifiersesistente
- LayoutColorse- LayoutStringcome tipi con un supporto più semplice per l'utilizzo di campi e vincoli dinamici
- texte- fontStyle
- migliore supporto delle mappe per StateBuilder, inclusiDynamicDataMape metodi di fabbrica comeintAppDataKeyper una creazione più semplice di oggettiAppDataKey
 
- Le animazioni Lottie supportano l'inclusione dell'opzione per impostare trigger diversi per l'inizio dell'animazione, ad esempio quando il layout viene caricato o quando diventa visibile
- Supporto migliorato dei gradienti:
- API sfumatura lineare come parte di Brushche può essere utilizzata nei modificatoriBackgroundper elementi comeBox,Spacere così via…
- Consenti valori di colore dinamici in ColorStoputilizzati per il gradiente lineare e radiale
- La sfumatura radiale esistente negli oggetti ad arco ora supporta colori dinamici e angoli di inizio e fine
 
- Il binding dei dati della piattaforma in protolayout-expressionper ricevere informazioni ogni volta che la visibilità del layout viene modificata, ad esempio per nascondere determinate parti del layout mentre il riquadro viene scorrevole
- È stata aggiunta la libreria di test - protolayout-testing- per supportare una copertura più semplice dei test delle unità per qualsiasi elemento ProtoLayout
- Nuovo elemento DashedArcLinecon un insieme di funzionalità migliorato, in modo che la linea possa avere dei trattini, a differenza dell'elementoArcLineesistente
- Supporto di ArcSpacerper l'impostazione della lunghezza nella dimensione DP anziché in gradi
- Aggiunta dell'asse di rotondità FontSettingapplicabile ad alcuni caratteri
Versione 1.3.0-rc01
20 maggio 2025
androidx.wear.protolayout:protolayout-*:1.3.0-rc01 viene rilasciato senza modifiche rispetto alla release precedente. La versione 1.3.0-rc01 contiene questi commit.
Versione 1.3.0-beta02
7 maggio 2025
androidx.wear.protolayout:protolayout-*:1.3.0-beta02 è stato rilasciato. La versione 1.3.0-beta02 contiene questi commit.
Correzioni di bug
- Abbiamo apportato un importante miglioramento ai valori di progettazione della tipografia applicati all'API 36 e versioni successive. Questo perché a partire dall'API 36, tutte le schede saranno nel carattere di sistema, quindi questa modifica introduce una maggiore coerenza nel carosello delle schede. (If316f)
- I generatori Text,Spacer,ArcLineeDashedArcLinenon genereranno errori selayoutConstraintsper i valori dinamici non è impostato. Tieni presente che i renderer precedenti richiedono ancora l'impostazione dilayoutConstraintse ignorano qualsiasi valore dinamico che non lo abbia impostato. (Ic52e8)
- Aggiungi il modificatore semantico dell'intestazione per indicare che un elemento di layout è l'intestazione di una sezione di contenuti a scopo di accessibilità e contrassegna il testo nello spazio del titolo di primaryLayoutcome intestazione di accessibilità per impostazione predefinita. (Iae1fb)
- Rifinitura finale dell'esperienza utente di primaryLayout, in cui lo spazio tra lo slot del titolo e lo slot principale è ridotto a 4 dp anziché 6 dp sugli schermi più piccoli. (I0e056)
- Applica la descrizione dei contenuti predefinita a textEdgeButton. (Ifaf8b)
- Aggiornamento minore al padding interno di avatarButton. (I0910b)
Versione 1.3.0-beta01
9 aprile 2025
androidx.wear.protolayout:protolayout-*:1.3.0-beta01 è stato rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Nuove funzionalità
La release 1.3.0-beta01 di Wear ProtoLayout indica che questa release della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear ProtoLayout 1.3 include le seguenti nuove funzionalità e API:
- Il design Material 3 arriva sullo smartwatch, con componenti e layout ottimizzati per il display rotondo e si adatta in modo appropriato alle dimensioni dello schermo, da piccole a grandi
- Ciò include la libreria protolayout-material3solo Kotlin con API più simili a Compose per i seguenti componenti e funzionalità:
- Tema a colori dinamico proveniente dal sistema e dal quadrante con l'ultimo tema Material3 per colori, forme e tipografia
- MaterialScopeper gestire tutti i valori predefiniti e semplificare la personalizzazione
- iconEdgeButton,- textEdgeButton
- iconButton,- textButton,- button,- imageButton,- avatarButtone- compactButton
- titleCard,- appCard,- graphicDataCard,- iconDataCarde- textDataCard
- circularProgressIndicator,- segmentedCircularProgressIndicator
- primaryLayout,- buttonGroup
- Tutti i componenti funzionano con qualsiasi livello SDK e versione di ProtoLayout Renderer, fornendo fallback sensati ove applicabile
 
- Ciò include la libreria 
- API più adatte a Kotlin e simili a Compose per gli elementi ProtoLayout di base
- LayoutModifiercon la possibilità di aggiungere la maggior parte dei modificatori come funzioni concatenate (- padding,- contentDescription(incluso- clearSemantics),- background,- clip,- opacitye così via), convertibili nell'oggetto- Modifiersesistente
- LayoutColorse- LayoutStringcome tipi con un supporto più semplice per l'utilizzo di campi e vincoli dinamici
- texte- fontStyle
- migliore supporto delle mappe per StateBuilder, inclusiDynamicDataMape metodi di fabbrica comeintAppDataKeyper una creazione più semplice di oggettiAppDataKey
 
- Le animazioni Lottie supportano l'inclusione dell'opzione per impostare trigger diversi per l'inizio dell'animazione, ad esempio quando il layout viene caricato o quando diventa visibile
- Supporto migliorato dei gradienti:
- API sfumatura lineare come parte di Brushche può essere utilizzata nei modificatoriBackgroundper elementi comeBox,Spacere così via…
- Consenti valori di colore dinamici in ColorStoputilizzati per il gradiente lineare e radiale
- La sfumatura radiale esistente negli oggetti ad arco ora supporta colori dinamici e angoli di inizio e fine
 
- Il binding dei dati della piattaforma in protolayout-expressionper ricevere informazioni ogni volta che la visibilità del layout viene modificata, ad esempio per nascondere determinate parti del layout mentre il riquadro viene scorrevole
- È stata aggiunta la libreria di test - protolayout-testing- per supportare una copertura più semplice dei test delle unità per qualsiasi elemento ProtoLayout
- Nuovo elemento DashedArcLinecon un insieme di funzionalità migliorato, in modo che la linea possa avere dei trattini, a differenza dell'elementoArcLineesistente
- Supporto di ArcSpacerper l'impostazione della lunghezza nella dimensione DP anziché in gradi
- Aggiunta dell'asse di rotondità FontSettingapplicabile ad alcuni caratteri
Versione 1.3.0-alpha10
12 marzo 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 è stato rilasciato. La versione 1.3.0-alpha10 contiene questi commit.
Nuove funzionalità
- Aggiungi helper per Brush nel modificatore di sfondo Kotlin. (I995de)
- Il campo Contesto Android obbligatorio è stato reso pubblico in MaterialScopeper consentire un utilizzo più semplice nelle funzioni degli sviluppatori che creano componenti per i riquadri Material 3. (I7df73)
Modifiche alle API
- Rinomina l'API platformVisibilityStatusinPlatformEventSources.isLayoutVisiblee aggiungi una nuova API sperimentalePlatformEventSources.isLayoutUpdatePending. (Ie1e04)
Correzioni di bug
- I margini per primaryLayoutora vengono arrotondati correttamente per eccesso, il che può influire su alcuni layout fino a 2 dp in meno per lo spazio principale. (I8f5d3)
- Chiarimento del tema di colore dinamico predefinito nei componenti Material3 ProtoLayout. (Iff5f3)
- Le tipografie Typography.NUMERAL_*non sono più tabellari/a spaziatura fissa per impostazione predefinita. Se il testo è animato, ti consigliamo vivamente di aggiungere l'impostazioneFontSetting.tabularNum(). In tutti gli altri casi, questa opzione monospazio non è necessaria e, se non la utilizzi, avrai a disposizione più caratteri. (Id3cd9)
- Chiarimento del tema di colore dinamico predefinito nei componenti Material3 ProtoLayout. (I9d831)
Versione 1.3.0-alpha09
26 febbraio 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 è stato rilasciato. La versione 1.3.0-alpha09 contiene questi commit.
Nuove funzionalità
- Aggiunti modificatori sperimentali per enterTransitioneexitTransition(I4a4d6)
- Abbiamo aggiunto un binding della piattaforma aggiuntivo per ricevere lo stato di visibilità del layout completo ogni volta che viene modificato. (I250c3)
- Consenti l'inserimento dello stato dell'app di test e dei dati della piattaforma in LayoutElementAssertionsProviderper valutare i valori dinamici. (Ib5fcb)
- Aggiungi filtri angolari alla libreria di test protolayout (Ie2361)
- ButtonColors,- CardColorse- ProgressIndicatorColorsora supportano il metodo di copia, con l'override facoltativo di alcuni parametri. (Ie2054)
Modifiche alle API
- Aggiungi il supporto dell'associazione di dati dinamici alla libreria di test (Ib98de)
- È stato corretto imageButtonquando viene utilizzato con la funzionebackgroundImagerimuovendo la sovrapposizione. Inoltre, consenti la funzionebackgroundImageper specificare il valore null per il colore di sovrapposizione, il che significa che la sovrapposizione non verrà applicata. (Ibec3c)
Correzioni di bug
- Il metodo hasValueOfTypepredefinito è stato modificato per generareUnsupportedOperationExceptionanzichéIllegalArgumentException. (Ia36c3)
- I valori dei token di colore predefiniti vengono aggiornati in modo da riflettere le specifiche più recenti. (I75d44)
- Correzioni per il problema di aliasing visibile sulle linee ad arco nel renderer dei riquadri AndroidX. (I88190)
Versione 1.3.0-alpha08
12 febbraio 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 è stato rilasciato. La versione 1.3.0-alpha08 contiene questi commit.
Nuove funzionalità
- Aggiungi il parametro dell'elenco FontSettingper il testo Material3. (Ic102d)
- È stata aggiunta la classe DynamicDataMap, cheStateBuilderora supporta un'API Kotlin con migliore sicurezza dei tipi per gli stati delle app (I012ba)
- Sono stati aggiunti metodi di fabbrica come intAppDataKeyper semplificare la creazione di oggettiAppDataKey(Icea2a)
- DynamicDataValueora ha un metodo- hasValueOfType(Class<?>)oltre ai metodi- hasInt/hasColor/... (I4f7a6)
- Abbiamo aggiunto errorDimal ProtoLayout di Material3ColorSchemeper errori con priorità elevata o azioni di emergenza come gli avvisi di sicurezza. (Ia17bb)
- Abbiamo aggiunto una protezione contro un arresto anomalo durante l'accesso all'impostazione globale di riduzione del movimento, che veniva attivata su alcune piattaforme in cui questa impostazione non era disponibile. (I01e2c)
Modifiche alle API
- addKeyToValueMappingviene rinominato in- addToStateMape i metodi- DynamicDataMap.putvengono rimossi perché erano ridondanti. (Ibe9dd)
- La tipografia Material3 ora supporta l'asse variabile di rotondità per i caratteri di sistema che lo supportano. ProtoLayout FontSettingsupporta l'asse di rotondità per i caratteri che lo supportano. (I33eb5)
- Rinominato multilineAlignmentin allineamento nel metodo di testo Material3. (I2b66b)
- Aggiorna l'indicatore di avanzamento circolare in modo che sia di tipo Casella, specifica anche che mainContentinconstructGraphicsia di tipo Casella (I5a3dc)
- Supporto migliore per l'utilizzo dell'indicatore di avanzamento circolare nel grafico (I039db)
Correzioni di bug
- Consenti valori dinamici in ColorStope anche per gli angoli di inizio/fine inSweepGradient. (I0146d)
- Correzioni di Documenti. (I4a63a)
- Componenti Material 3 aggiornati (graphicCardeavatarButton) per fornire un fallback quando la dimensione di espansioneweightnon è supportata (ad es. al di sotto dell'API 33). Il componente di testo è stato aggiornato per eseguire il fallback aTEXT_OVERFLOW_ELLIPSIZE_ENDquandoTEXT_OVERFLOW_ELLIPSIZEnon è supportato dal renderer. (I19e2c)
- Aggiornamento della documentazione per PrimaryLayoutMargins. (Ibaf7b)
Versione 1.3.0-alpha07
29 gennaio 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 è stato rilasciato. La versione 1.3.0-alpha07 contiene questi commit.
Nuove funzionalità
- Aggiunta dell'opzione API per impostare trigger diversi per le animazioni Lottie. Inoltre, è stata aggiunta l'API per gli attivatori attivati quando il layout è visibile (I8272d)
- Sono stati aggiunti i modificatori border,visibilityeopacity. (I6d3dd)
- È stato aggiunto il pulsante dell'avatar al componente ProtoLayout Material3. (Idb5ae)
- Ora consentiamo la personalizzazione dei margini (laterali e, in alcuni casi, inferiori) in Material3 primaryLayout. (Ib22f6)
- Aggiungi la variante segmentata dell'indicatore di avanzamento circolare. (I6a648)
- È stato aggiunto il componente pulsante compatto a ProtoLayout Material3. (Ia3c5c)
- Sono stati aggiunti i componenti pulsante a forma di pillola e pulsante immagine a ProtoLayout Material3. (Ifb88a)
Modifiche alle API
- LayoutModfier.foldInora si chiama- foldRightper riflettere meglio il suo comportamento previsto (Idf242)
- Il trigger VisibleOnceè ora sperimentale. (Ib2d26)
- Rimuovi withOpacitydall'API pubblica perché esiste un'alternativa di libreria grafica. (I030c2)
- I metodi di primo livello in LayoutString.kteLayoutColor.ktsono stati rinominati in modo da avere nomi compatibili con Java. (I7aff0)
- Sono state rimosse le tipografie non ProtoLayout in Material3. (Idd9ae)
- Aggiungi il suffisso Color ai campi delle classi *Colorsin Material3. (I2d114)
Correzioni di bug
- Aggiungi l'implementazione di fallback EdgeButtonper il renderer precedente senza supporto degli angoli asimmetrici. (I63364)
- Aggiungi l'implementazione di fallback dell'indicatore di avanzamento circolare con il renderer precedente. (I0f134)
Versione 1.3.0-alpha06
15 gennaio 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 è stato rilasciato. La versione 1.3.0-alpha06 contiene questi commit.
Nuove funzionalità
- LayoutColorper supportare i tipi di colore statici e dinamici (I4c89b)
- È stato aggiunto il componente ProtoLayout Material3textButton. (Id680d)
- Aggiungi il componente iconButtonProtoLayout Material3. (Ica3f0)
- È stato aggiunto il componente contenitore del pulsante Material3 ProtoLayout. (I17a38)
- Aggiunto il supporto per i modificatori semantici concatenabili a protolayout-material3 (I4af62)
- Aggiunto il singolo segmento ProtoLayout Material3 CircularProgressIndicator(I2c8a2)
- Aggiunti modificatori padding,metadata(I8720a)
- Aggiunti i modificatori background,clipeclickable(I35478)
- Aggiungi LinearGradienta Pennello e consenti il suo utilizzo nel Modificatore dello sfondo. (Ic4dea)
- Aggiungi le dimensioni ridotte per la scheda app e titleCard. (I91f98)
- È stato aggiunto il componente ProtoLayout Material3 graphicDataCard. (I92be7)
- Sono stati aggiunti i componenti ProtoLayout Material3 iconDataCardetextDataCard. (I4e1e4)
- È stato aggiunto il componente ProtoLayout Material3 appCard. (Id4c57)
- Abstract EdgeButtonColorstoButtonColors. (I83624)
- È stato aggiunto il componente ProtoLayout Material3 titleCard. (I2dc72)
Modifiche alle API
- L'API ProtoLayout Material3 ora accetta LayoutStringper supportare sia i testi statici che quelli dinamici. (I9c24a)
Correzioni di bug
- Aggiungi l'implementazione del renderer per l'inflazione di DashedArcLine(I0c700)
- Modifica del renderer per consentire a ArcSpacerdi acquisire la lunghezza dp. (I1437b)
Versione 1.3.0-alpha05
11 dicembre 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 è stato rilasciato. La versione 1.3.0-alpha05 contiene questi commit.
Nuove funzionalità
- Aggiunto LayoutStringper supportare i campi stringa del layout associabili. (Ida650)
- Aggiunto il componente contenitore della carta ProtoLayout Material3. (Ic985a)
Correzioni di bug
- Questa libreria ora utilizza le annotazioni di nullabilità JSpecify, che sono di tipo use. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per imporre l'utilizzo corretto: -Xjspecify-annotations=strict(questo è il valore predefinito a partire dalla versione 2.1.0 del compilatore Kotlin). (Id1f9b, b/326456246)
Versione 1.3.0-alpha04
13 novembre 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 è stato rilasciato. La versione 1.3.0-alpha04 contiene questi commit.
Nuove funzionalità
- È stata aggiornata la forma Material3 in modo che sia una classe con campi che contengono il valore effettivo dell'angolo, come in Wear Compose. (Ied8cd)
- Aggiornamento dei colori Material3 per includere il concetto ColorScheme, come in Wear Compose. (If645e)
- Aggiungi più matcher di uso comune alla libreria di test. (Ie5cec)
Versione 1.3.0-alpha03
30 ottobre 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 è stato rilasciato. La versione 1.3.0-alpha03 contiene questi commit.
Nuove funzionalità
- Aggiungi LayoutElementAssertionsProvider,LayoutElementAssertioneLayoutElementMatcheralla libreria di test (Id1110)
Versione 1.3.0-alpha02
16 ottobre 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 è stato rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Nuove funzionalità
- Versione iniziale della libreria Material 3. Include i componenti text,edgeButton,buttonGroupeprimaryLayout.
Correzioni relative alla sicurezza
- A partire da questa modifica, androidx viene compilato in base a protobuf 4.28.2 per risolvere CVE-2024-7254. Esegui l'upgrade della dipendenza dalla versione 1.3.0-alpha01 di androidx.wear.protolayout:protolayout-protoeandroidx.wear.protolayout:protolayout-external-protobufalla versione 1.3.0-alpha02 per risolvere il rischio di vulnerabilità.
Contributo esterno
Versione 1.3.0-alpha01
2 ottobre 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 è stato rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Correzioni di bug
- È stato chiarito che la disponibilità dei nomi delle famiglie di caratteri Roboto e Roboto Flex dipende dal dispositivo. (I193be)
- È stata attivata la famiglia di caratteri Roboto Flex nel renderer dei riquadri AndroidX. (I08e94)
Versione 1.2
Versione 1.2.1
16 ottobre 2024
androidx.wear.protolayout:protolayout-*:1.2.1 è stato rilasciato. La versione 1.2.1 contiene questi commit.
Correzioni relative alla sicurezza
- A partire da questa modifica, androidx viene compilato in base a protobuf 4.28.2 per risolvere CVE-2024-7254. Esegui l'upgrade della dipendenza dalla versione 1.2.0 di androidx.wear.protolayout:protolayout-protoeandroidx.wear.protolayout:protolayout-external-protobufalla versione 1.2.1 per risolvere il rischio di vulnerabilità.
Versione 1.2.0
7 agosto 2024
androidx.wear.protolayout:protolayout-*:1.2.0 è stato rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- FontStyleè stato aggiornato per supportare caratteri aggiuntivi per gli assi variabili e un'API di selezione dei caratteri migliore per supportare i futuri caratteri flessibili.
- Supporto di modificatori aggiuntivi:
- Modificatore di trasformazione che offre traduzione, rotazione e scalabilità con o senza animazioni.
- Specificare valori diversi (orizzontali e verticali) per ogni raggio dell'angolo.
 
- Miglioramento dell'accessibilità di tutti i touch target estendendo l'area toccabile di qualsiasi elemento che utilizza il modificatore Clickable in modo che sia almeno 48dpx48dp.
- PrimaryLayoute- EdgeContentLayoutmigliorati con l'aggiunta di- setResponsiveContentInsetEnabledper supportare meglio il comportamento adattabile di questi layout su schermi di diverse dimensioni e migliorare la coerenza dei riquadri.
- Miglioramento del ridimensionamento/non ridimensionamento del testo Material per il ridimensionamento non lineare dei caratteri di Android 14.
- Supporto migliorato per la direzione del layout da destra a sinistra in tutti gli elementi dell'arco.
Ulteriori modifiche
- Per un insieme più completo delle modifiche introdotte nella versione 1.1.0, consulta le note di rilascio beta01.
Versione 1.2.0-rc01
24 luglio 2024
androidx.wear.protolayout:protolayout-*:1.2.0-rc01 è stato rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Abbiamo corretto il chip Material standard in modo che possa essere utilizzato come icona solo se non viene passato nessuno dei label principali o secondari. (Iceef9)
- La documentazione per i layout Material è stata aggiornata per includere immagini della pagina pertinente per una più facile comprensione dei layout. (I0256a)
Versione 1.2.0-beta01
10 luglio 2024
androidx.wear.protolayout:protolayout-*:1.2.0-beta01 è stato rilasciato. La versione 1.2.0-beta01 contiene questi commit.
Nuove funzionalità
La release 1.2.0-beta01 di Wear ProtoLayout indica che questa release della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear ProtoLayout 1.2 include le seguenti nuove funzionalità e API:
- FontStyleè stato aggiornato per supportare caratteri aggiuntivi come segue:- Impostare un'impostazione di variazione del carattere diversa, ad esempio FontSetting.weighteFontSetting.width.
- Impostare la stessa larghezza per tutti i caratteri numerici: numeri tabellari (impostazione della funzionalità del carattere FontSetting.tnum)
- API di selezione dei caratteri migliorate per supportare i caratteri flessibili imminenti specificando i nomi delle famiglie di caratteri preferite da utilizzare.
 
- Impostare un'impostazione di variazione del carattere diversa, ad esempio 
- È stato esteso il modificatore Cornerper supportare la specifica di ogniCornerRadiuscon valori orizzontali e verticali separati per consentire la creazione di elementi con angoli asimmetrici.
- È stato aggiunto un nuovo modificatore Transformationche offre la traduzione, la rotazione e il ridimensionamento diLayoutElement. Queste trasformazioni possono essere animate utilizzando valori dinamici.
- Sono state aggiunte le opzioni setArcDirectionconClockwise,CounterClockwiseeNormala tutti gli elementi dell'arco (Arc,ArcLineeArcText) per un migliore supporto in diverse direzioni del layout (ad esempio da sinistra a destra e da destra a sinistra).
- Miglioramento dell'accessibilità di tutti i touch target estendendo l'area toccabile di qualsiasi elemento che utilizza il modificatore Clickablein modo che sia almeno48dpx48dp.
- PrimaryLayoute- EdgeContentLayoutmigliorati con l'aggiunta di- setResponsiveContentInsetEnabledper supportare meglio il comportamento adattabile di questi layout su schermi di diverse dimensioni e migliorare la coerenza dei riquadri. È stato aggiunto un avviso del linter per suggerire l'utilizzo di queste API con una correzione rapida.
- Miglioramento del ridimensionamento/non ridimensionamento di Material Textper il ridimensionamento non lineare dei caratteri di Android 14.
Modifiche alle API
- Il nome della famiglia di caratteri predefinita (DEFAULT_SYSTEM_FONT) viene rimosso perché è implicito dal mancato utilizzo dell'APIpreferredFontFamilies. (I39dab)
- Il parametro passato a FontSetting.widthdeve essere positivo. (I1266f)
Versione 1.2.0-alpha05
26 giugno 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 è stato rilasciato. La versione 1.2.0-alpha05 contiene questi commit.
Nuove funzionalità
- Aggiungi il metodo hasTextaMaterial.CompactChipper verificare se i contenuti di testo sono stati impostati. (I6e8fc)
Modifiche alle API
- Le costanti FontFamilyvengono spostate inFontStyleanziché nella classe Builder. (I06ced)
- Aggiorna le API FontSetting.weighteFontSetting.widthin modo da includere le annotazioni di intervallo e modifica il parametro del peso in modo che sia un numero intero. (Ia726c)
Correzioni di bug
- I testi non scalabili nella libreria Material ora funzionano correttamente con il ridimensionamento non lineare dei caratteri di Android 14. (I6601e)
Versione 1.2.0-alpha04
29 maggio 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 è stato rilasciato. 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 due valori. (Icbd69)
- È stata estesa l'API FontSettingper includere:
- È stata aggiunta l'API per le famiglie di caratteri a FontStyleper consentire di specificare un elenco ordinato delle famiglie di caratteri da utilizzare. (Iba9f5)
- Le costanti rinominate per l'altezza dello spazio tra i contenuti e l'etichetta secondaria in LayoutDefaultsdi Material che inizialmente avevano il prefisso "Edge content" sono ora più generiche, in quanto possono essere applicate sia aPrimaryLayoutche aEdgeContentLayout. (I4dc32)
Correzioni di bug
- Nomenclatura rinominata per gli assi dei caratteri variabili da axisNameaaxisTag. (I02ba3)
Versione 1.2.0-alpha03
14 maggio 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 è stato rilasciato. La versione 1.2.0-alpha03 contiene questi commit.
Nuove funzionalità
- È stata aggiunta l'API per l'impostazione di valori di peso personalizzati per FontStyle. (I7390a)
Correzioni di bug
- Correggi l'errore in getTouchDelegateInfoa causa della mappa di destinazione vuota. (I2accf)
Versione 1.2.0-alpha02
1° maggio 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 è stato rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto il supporto per la disattivazione del feedback a increspatura sui singoli elementi cliccabili. (If1ede)
- L'API per la trasformazione è stata rimossa da ArcModifiersperché non supporta questa funzionalità (Ic0827)
- ArcDirectionPropBuilder ora prevede un valore nel costruttore. (I76ada)
- Il metodo PlatformDataValues.Builder.putAllconsente di unire unPlatformDataValuea un altro. (I50ba3)
- Text#setIsScalableè stato rinominato in- Text#setScalable. (If920e)
- Material Text può impostare se utilizzare o meno le dimensioni scalabili (aumentano quando vengono modificate le dimensioni del carattere dell'utente). (Ibc849)
- Abbiamo aggiunto l'opzione per impostare la descrizione dei contenuti su TitleChip. (I5d21f)
- È stato corretto CompactChipper funzionare correttamente con la sola icona ed è stata aggiornata l'API per consentire questa opzione. (I6589e)
Correzioni di bug
- È stato risolto un problema di potenziale duplicazione dei dati della piattaforma durante l'inizializzazione. (Iba0fd)
- Introduci un nuovo getter in DynamicDataNodeper recuperare il costo del nodo. Il costo viene utilizzato per l'acquisizione della quota di nodi dinamici. Attualmente, i nodi con valori fissi avranno un costo pari a 0, mentre tutti gli altri nodi avranno un costo pari a 1. (Ia33e1)
- Rimuovi la logica di conteggio da NO_OP_QUOTA_MANAGER. (Ib50b8)
- Abbiamo aggiunto una regola di lint per segnalare un avviso quando PrimaryLayoutviene utilizzato senzasetResponsiveContentInsetEnablede fornire una correzione rapida. (I12025)
- Esiste un limite al numero di nodi di espressioni dinamiche. (Iffae8)
Versione 1.2.0-alpha01
6 marzo 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 è stato rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- Ora gli elementi ProtoLayout Archanno la possibilità di aggiungereArcDirection(Clockwise,CounterclockwiseoNormal). L'aggiunta di questo comportamento aArc,ArcLineoArcTextcorreggerà il loro comportamento nei layout da destra a sinistra. (I90699)
- EdgeContentLayoutè stato aggiornato con un nuovo setter- setResponsiveContentInsetEnabledper ottenere un migliore allineamento con le linee guida UX, coerenza nei riquadri con l'etichetta principale in una posizione fissa in alto e rientro reattivo per le etichette. (I60175)
- Abbiamo aggiunto PrimaryLayout.setResponsiveContentInsetEnabledche aggiunge un rientro reattivo all'etichetta principale, all'etichetta secondaria e al chip in basso in questo layout, per evitare che i contenuti escano dal bordo dello schermo. (I0c457)
- Aggiunge il metodo per rimuovere i margini esterni da CircularProgressIndicatorin modo che possa essere utilizzato come componente più piccolo. (I55c06)
Modifiche alle API
- Il renderer dei riquadri ora esclude per impostazione predefinita il padding dei caratteri su tutti gli elementi di testo, senza la possibilità di includerlo. (I3e300)
Correzioni di bug
- È stato risolto il problema di allineamento del testo quando vengono utilizzati tutti e tre i parametri puntini di sospensione, spaziatura tra le lettere e allineamento al centro sul testo. (I716c7)
- Aggiungi una soluzione alternativa per un problema di disegno di archi Skia. (I08f09)
- Correggi la direzione di disegno di ArcLineper i layout RTL. (I6c141)
Versione 1.1
Versione 1.1.0
7 febbraio 2024
androidx.wear.protolayout:protolayout-*:1.1.0 è stato rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Supporto dei gradienti e migliore rappresentazione delle 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 troncamento del testo, per gestire il testo troncato.
- Lo spaziatore supporta dimensioni espanse con peso facoltativo.
- Annotazione del requisito della versione dello schema a tutte le API ProtoLayout.
- Area target estesa a qualsiasi elemento Clickablea 48 dp x 48 dp, per soddisfare i requisiti di accessibilità.
- Il padding dei caratteri è disattivato per impostazione predefinita ed è l'unico comportamento in tutti gli elementi di testo e i componenti Material che contengono testo.
Ulteriori modifiche
- Per un insieme più completo delle modifiche introdotte nella versione 1.1.0, consulta le note di rilascio beta01.
Versione 1.1.0-rc01
24 gennaio 2024
androidx.wear.protolayout:protolayout-*:1.1.0-rc01 è stato rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- PlatformTimeUpdateNotifierImplviene selezionato immediatamente dopo l'attivazione dell'aggiornamento. (I77145)
- CircularProgressIndicatorè stato corretto per i layout RTL. D'ora in poi, ruoterà in senso orario in tutti i casi. (I95ee3)
- Aggiungi una soluzione alternativa per un problema di disegno di archi Skia. (I08f09)
Versione 1.1.0-beta01
10 gennaio 2024
androidx.wear.protolayout:protolayout-*:1.1.0-beta01 è stato rilasciato. La versione 1.1.0-beta01 contiene questi commit.
Nuove funzionalità
La release 1.1.0-beta01 di Wear ProtoLayout indica che questa release della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear ProtoLayout 1.1 include le seguenti nuove funzionalità e API:
- ArcLineora supporta il gradiente aggiungendo- Brushcon- SweepGradiente una sfumatura sul tappo per rappresentare meglio lunghezze superiori a 360 gradi aggiungendo- Shadowa- StrokeCapesistente.
- DynamicInstantsupporta la formattazione di data e ora con fuso orario.- DynamicInstante- DynamicDurationpossono essere utilizzati come tipi di dati di stato o piattaforma.
- Funzionalità di dimensionamento automatico per le dimensioni del testo che consente di impostare più dimensioni su FontStyle.setSizes, in modo che le dimensioni del testo vengano scalate automaticamente in base allo spazio disponibile all'interno dell'elemento principale. Inoltre, abbiamo migliorato le opzioni di troncamento per il testo che va in overflow aggiungendoTEXT_OVERFLOW_ELLIPSIZEe ritirandoTEXT_OVERFLOW_ELLIPSIZE_END.
- Spacerora supporta le dimensioni espanse con peso facoltativo. Per la creazione di- ExpandedDimensionPropabbiamo aggiunto un metodo helper- DimensionBuilders.weight.
- Supporto per nascondere e mostrare dinamicamente gli elementi del layout con Modifier.visible. Ciò include l'utilizzo di valori dinamici inBoolProp.
- Tutte le API ProtoLayoutora hanno l'annotazione del requisito della versione dello schema e la versione può essere controllata prima di chiamare un'API più recente.
- Ogni elemento con Clickableora ha la sua area target estesa ad almeno 48x48 nel renderer per supportare meglio i requisiti di accessibilità.
- Seguendo altre iniziative relative ai componenti Material e a Compose, ora abbiamo disattivato il padding dei caratteri per impostazione predefinita su tutti gli elementi Text. Inoltre,AndroidTextStylee i setter correlati sono stati rimossi dall'API pubblica. con le seguenti correzioni di bug:
- È stato aggiunto un setter per posizionare i contenuti del bordo in EdgeContentLayoutin modo che possano essere posizionati prima di altri contenuti.
- Generazione costante di un'eccezione quando viene rilevato un valore enum non riconosciuto.
- Invalida il risultato di un'espressione quando produce un valore numerico non valido (NaN o infinito) o genera un ArithmeticException.
Modifiche alle API
- Aggiornamenti all'API SweepGradientper consentire l'accettazione di colori oColorStopsnel costruttore. (I6676f)
Correzioni di bug
- Aggiunta di un'API e di un supporto del renderer limitati per impostare una direzione in cui vengono disegnati gli elementi ad arco. (Idef5a)
- Se non specificato, RoundModeè impostato suFloorinFloatToInt32Node. Il nodo genererà comunque un'eccezione se ilRoundModefornito non viene riconosciuto. (I1b2d8)
Versione 1.1.0-alpha04
13 dicembre 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 è stato rilasciato. La versione 1.1.0-alpha04 contiene questi commit.
Nuove funzionalità
- La classe VersionInfonon 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è ora ritirata. Utilizza la nuova APITEXT_OVERFLOW_ELLIPSIZE, che ha un comportamento molto simile. (I822d8)
- In seguito ad altre iniziative relative ai componenti Material e a Compose, ora abbiamo disattivato il padding dei caratteri per impostazione predefinita in tutti gli elementi di testo. Inoltre, AndroidTextStylee i setter correlati sono stati rimossi dall'API pubblica. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3)
- Modifier.hiddenè sostituito da- Modifier.visible(I56902)
- FontStyle#setSizesora accetta argomenti int anziché- SpProp. (I02b37)
Correzioni di bug
- Genera un'eccezione quando viene rilevato un valore enum non definito o non riconosciuto. (I9d2cf)
- Refactor DynamicTypeBindingRequest. (I27b57)
- Invalida il risultato di un'espressione quando produce un valore numerico non valido (NaN o infinito) o genera un ArithmeticException. (I681ae)
Versione 1.1.0-alpha03
29 novembre 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 è stato rilasciato. La versione 1.1.0-alpha03 contiene questi commit.
Nuove funzionalità
- Aggiunta del supporto sperimentale per nascondere/mostrare dinamicamente gli elementi del layout (I64a78)
- Aggiungi il supporto dei valori dinamici a BoolProp(I2fe96)
- Aggiungi l'annotazione del requisito della versione dello schema alle API ProtoLayout(I0f03c)
- Estensione dell'API con la nuova opzione in TextOverflowper l'inserimento dei puntini di sospensione nel testo di un contenitore principale fisso anche quando non viene raggiunto il numero massimo di righe (ma non c'è spazio sufficiente per il testo). (I110a9)
- È stato aggiunto il metodo helper DimensionBuilders.weightper la creazione diExpandedDimensionPropcon peso. (I4f72b)
- DynamicInstante- DynamicDurationpossono essere utilizzati come tipi di dati di stato o piattaforma. (I6819f)
Modifiche alle API
- Aggiorna l'API per nascondere DynamicZonedDateTimee spostare tutte le relative operazioni inDyanamicInstant(I34b94)
- Il distanziatore ora supporta la dimensione espansa per larghezza/altezza. (Ie7c94)
- Supporto dell'estensione dell'area di destinazione dei clic in Renderer (I39c79)
Versione 1.1.0-alpha02
15 novembre 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 è stato rilasciato. La versione 1.1.0-alpha02 contiene questi commit.
Nuove funzionalità
- È stato aggiunto un campo ArcLineStrokeCapShadowall'API. (I830ec)
- Estensione dell'API per poter specificare la larghezza o l'altezza dello spazio vuoto da espandere. (I757ca)
- Abbiamo aggiunto un'API sperimentale per scalare automaticamente la dimensione del testo in base allo spazio disponibile all'interno dell'elemento principale. (Ibbe63)
- Supporta le dimensioni minime su cui è possibile fare clic (I178e3)
- È stato aggiunto il supporto del renderer per StrokeCapShadow. (I48b17)
- Aggiungi il supporto del renderer per il gradiente radiale in ArcLine. (I4d5bb)
Versione 1.1.0-alpha01
18 ottobre 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 è stato rilasciato. La versione 1.1.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stata aggiunta un'opzione pennello a Arcline, con supporto perSweepGradient. (Ie7ce3)
- Aggiunto il supporto per la formattazione di data e ora con fuso orario. (Ibfae0)
- Sono stati aggiunti i wrapper Java e i proto necessari per la formattazione di data e ora con fuso orario. (I97126)
- Sono stati aggiunti getter per leggere il valore memorizzato in un DynamicDataValue. (Ie6cea)
- È stato aggiunto un setter per posizionare i contenuti del bordo in EdgeContentLayoutin modo che possano essere posizionati prima di altri contenuti. (Ie8e8a)
Correzioni di bug
- È stato risolto un problema per cui un'espressione con più registrazioni di origini dati temporali non veniva aggiornata immediatamente. (I8e1a8)
- È stato corretto un bug per centrare l'elemento radice durante gli aggiornamenti delle differenze. (Ie48f7)
- I valori di vincolo di layout non impostati (o vuoti) non verranno più ignorati. (Ibc785)
- Riduzione del ritardo tra la visualizzazione di un layout e l'inizializzazione dei relativi nodi della pipeline. (I38d4e)
Versione 1.0
Versione 1.0.0
9 agosto 2023
androidx.wear.protolayout:protolayout-*:1.0.0 è stato rilasciato. La versione 1.0.0 contiene questi commit.
Funzionalità principali della versione 1.0.0
La libreria ProtoLayout introduce API per la creazione di layout ed espressioni che possono essere utilizzati su diverse piattaforme Wear OS. Ad esempio, la libreria Tiles utilizza queste API per supportare il data binding 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 è stato rilasciato. La versione 1.0.0-rc01 contiene questi commit.
- Per eseguire la migrazione da Riquadri a ProtoLayout, segui le istruzioni riportate qui.
Modifiche alle API
- Abbiamo rimosso i metodi setLayoutConstraintForDynamicAnchorAngleegetLayoutConstraintForDynamicAnchorAngledall'elemento Arco. Questi metodi sono stati aggiunti per errore e non hanno avuto alcun effetto sul layout fornito. (If7d01)
- Abbiamo limitato la profondità massima del layout di un ProtoLayouta 30LayoutElementsnidificati. (I8a74b)
Correzioni di bug
- Abbiamo aggiunto un controllo per generare un'eccezione se DynamicColorè stato impostato per unSpanText. (I0e5bc)
- È stato chiarito che l'unità dell'origine dati DAILY_CALORIESè kcal. (Iaa785)
Versione 1.0.0-beta01
21 giu 2023
androidx.wear.protolayout:protolayout-*:1.0.0-beta01 è stato rilasciato. 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()e- StateBuilders.Builder.addKeyToValueMappingora accettano il mapping type-safe di- DynamicDataKeya- DynamicDataValueanziché i generici non sicuri. Ciò significa che ora- DynamicDataValueviene digitato con il relativo- DynamicType. Le costanti- HEART_RATE_ACCURACY_Xsono state spostate nella radice di- PlatformHealthSources, in modo da corrispondere al posizionamento delle altre costanti Android. Le costanti int- HEART_RATE_ACCURACY_Xvengono ora utilizzate direttamente in- DynamicHeartRateAccuracy.constant()e- DynamicHeartRateAccuracy.dynamicDataValueOf()anziché nella costante di valore. (I82ff5)
- La classe PlatformHealthSources.Constantsè stata istanziabile per errore. Il problema è stato risolto. (Icb849)
- PlatformTimeUpdateNotifier#setReceiverora riceve la funzione- Runnableanziché- Suppliere- Executorper le notifiche. (I9d938)
- Abbiamo modificato il tipo di parametro in PlatformTimeUpdateNotifier#setReceiverdaCallableaSupplier. (I664bf)
- CompactChipe- TitleChipora supportano l'aggiunta di un'icona. (I5a01e)
Correzioni di bug
- Aggiorna i messaggi Prop con campi dinamici per utilizzare oneof (I81739)
- Riutilizza l'implementazione dei setter per gli overload che hanno setter (Ied70c)
- Registra correttamente le impronte digitali nei setter che hanno overload (I86ed2)
Versione 1.0.0-alpha11
7 giugno 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 è stato rilasciato. La versione 1.0.0-alpha11 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un PlatformDataKeyper la precisione della frequenza cardiaca. (I7f9b8)
Modifiche alle API
- Rinomina StateBuilders#getIdToValueMappingingetKeyToValueMappinge modifica il tipo restituito inMap<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae)
- Rendere StateStoreun corso finale (I408ca)
- L'interfaccia TimeGatewayè stata sostituita daPlatformTimeUpdateNotifiernella libreriaprotolayout-expression-pipeline, che fornisce la frequenza desiderata per l'aggiornamento dei dati temporali. (I60869)
- Rinomina register/unregisterForDatainPlatformDataProviderinset/clearReceiver(I14b02)
- In Material Text, getExcludeFontPaddingè stato rinominato inhasExcludeFontPadding. (Iea01d)
- È stato aggiunto un setter per allineare perfettamente l'etichetta a tutti i componenti del chip. Ora tutte le chip hanno come target minimo 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 proprietà 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 PlatformDataKeydevono seguire la denominazione in stile Java. (I47bda)
Versione 1.0.0-alpha10
24 maggio 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 è stato rilasciato. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
- Aggiungi AppDataKeyper accedere allo stato push dell'app; aggiungiPlatformDataKeyper accedere ai dati della piattaforma; aggiungi il supporto dello spazio dei nomi inStateStore. (I7985e)
- Supporta le operazioni EqualeNotEqualperDynamicBool. (I6a0c1)
Modifiche alle API
- La classe FontStylesè ora definitiva (Iaa2ea)
- LayoutElementBuilders#FontStylesè stato ritirato. Utilizza- androidx.wear.protolayout.Typographyo crea il tuo- FontStyle. (Ic929b)
- Nascondi l'interfaccia nidificata Action#Builderdall'interfacciaAction. Le implementazioni di Builder sono già fornite dalle classiLoadActioneLaunchAction. (I1d70c)
- Consenti l'utilizzo di DynamicFloatconFloatProp. Tieni presente cheFloatPropnon richiedono vincoli di layout perché non vengono utilizzati come proprietà di modifica del layout. (I286ac)
- Le azioni LoalActioneSetStateActionvengono rimosse perché non erano ancora supportate. (I5d6a6)
- Aggiunto il supporto per il formato ARGB_8888 per le risorse di immagini inline. (I8a07c)
- Rinomina StateEntryValueinDynamicDataValuee aggiorna le API di stato in modo che utilizzinoDynamicDataKey(If1c01)
- Stiamo limitando il numero di voci consentite in StateStoreper garantire che l'utilizzo della memoria e il tempo di aggiornamento dello stato siano ben contenuti e controllati per ogni istanza diStateStore. Di conseguenza, lo sviluppatore deve assicurarsi di non avere più diMAX_STATE_ENTRY_COUNTvoci nella mappa, altrimenti riceverà un erroreIllegalStateExceptiondurante la creazione o l'aggiornamento diStateStore. (Ibadb3)
- Nascondi le classi OnLoadTriggereOnConditionMetTriggere rinominasetTriggerinsetConditionperOnConditionMetTrigger. (Ibf629)
- Per motivi di prestazioni e compatibilità, i renderer ProtoLayoutnon supportano l'insieme completo di funzionalità nelle risorseAnimatedVectorDrawable. Contrassegniamo queste API come sperimentali finché non possiamo definire il set supportato. (Ic6daf)
- Sono stati aggiunti tipi dinamici per distanza giornaliera, calorie giornaliere e piani giornalieri. Le chiavi per le fonti di integrità della piattaforma ora si trovano in PlatformHealthSources.Keys(Ib7637)
- Il metodo Easing.cubicBeziersostituisceCubicBezierEasing.Builder. In questo modo, la classeEasingFunctionviene rimossa e le costanti di interpolazione di questa classe sono ora accessibili direttamente dall'interfacciaEasing. Inoltre,setInfiniteRepeatableviene sostituito daINFINITE_REPEATABLE_WITH_RESTARTeINFINITE_REPEATABLE_WITH_REVERSE(Ib41e7)
- Implementa PlatformDataProviderper fornire il battito cardiaco e i passi giornalieri. L'interfacciaSensorGatewayviene rimossa dall'API pubblica. (I55b84)
- Aggiungi PlatformDataProvidere aggiornaStateStoreper registrarti aPlatformDataProviderquando la chiave supportata del fornitore è richiesta dal nodo della pipeline di espressioni. (Ib616a)
- SensorGatewaynon è più- Closeableperché non mantiene più alcuno stato. (I6b4f7)
- Consenti l'utilizzo di FloatPropconDynamicFloatper i progressi inCircularProgressIndicator. Questa funzionalità è supportata per i renderer che supportano la versione 1.2. I vecchi renderer eseguiranno il fallback sustaticValuese fornito, altrimenti su 0 (I0d91b)
- Le costanti MultiButtonLayoutsono state sottoposte a refactoring nella classeLayoutDefaults.MultiButtonLayoutDefaults, che ora contiene quelle per le dimensioni dei pulsanti a seconda del numero di pulsanti nel layout. (I13973)
- Supporto dell'utilizzo di StringPropconDynamicStringin Material Text. Questa funzionalità è supportata per i renderer che supportano la versione 1.2. I renderer precedenti torneranno al valore statico fornito. Aggiorna il tipo di resoText#getTextdaStringaStringProp. (I7275b)
Versione 1.0.0-alpha09
10 maggio 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 è stato rilasciato. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un elemento di layout dell'estensione sperimentale. Tieni presente che questa opzione non può essere utilizzata per impostazione predefinita e richiede un'estensione del renderer in grado di comprendere l'elemento di layout. (I6581d)
- Aggiunto il supporto di StrokeCapperArcLine. (I94951)
- È stato aggiunto il supporto per l'operazione istantanea condizionale. (I489a7)
- Aggiunto il supporto per l'operazione Durata condizionale. (Iab469)
- È stato aggiunto il supporto per la creazione della durata a partire dai secondi. (Ib5fa1)
Modifiche alle API
- I metodi enable/disablePlatformSourcesono stati rimossi daDynamicTypeEvaluator. La persona che chiama deve occuparsi degli aggiornamenti. (I78c6d)
- Consente di limitare le dimensioni dei tipi di dati associati. (Ie2966)
- È stato aggiunto il supporto per la descrizione dei contenuti dinamici in protolayout-material. (I62c8e)
- Utilizza long e @IntRangeper la durata e il ritardo in AnimationParameters. (I388b6)
Versione 1.0.0-alpha08
19 aprile 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 è stato 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'impostazione del padding dei caratteri di esclusione in ProtoLayoutMaterial Text. (I17f5d)
- Ora ARGB_8888 è supportato per le immagini inline. (I18c1e)
- DynamicColorora supporta l'operazione- onCondition. (I10927)
Modifiche alle API
- Supporta la durata personalizzata per l'animazione inversa (I3251f)
- Abbiamo aggiunto il modificatore SemanticDescription. Inoltre,ContentDescriptionnon è associabile. (I3f1d)
- Il metodo DynamicBool.isFalse()è ora sostituito daDynamicBool.negate()eDynamicBool.isTrue()è stato rimosso. Inoltre, i valori NaNDynamicFloate la riduzione di unDynamicInt32a unDynamicFloatora generano 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)
- DynamicTypeValueReceiver#onPreUpdateè stato rimosso. (I2dc35)
- La lunghezza delle stringhe nelle espressioni dinamiche è ora limitata. (I4c93)
- Le dipendenze di Gradle ora sono impostate correttamente su apianziché suimplementation, se necessario. (I40503)
Versione 1.0.0-alpha07
5 aprile 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 è stato rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- Aggiungere il supporto dei valori dinamici a StringProp(I04342)
- Contrassegna gli elementi del layout associabili (Ia110b)
Modifiche alle API
- sensorGateway#registerSensorGatewayConsumeraccetta il tipo di dati come parametro anziché come metodo in Consumer. (Icf314)
- ObservableStateStoreè stato rinominato in- StateStore. (Ieb0e2)
- È stato aggiunto DynamicTypeEvaluator.Builderanziché gli argomenti del costruttore per consentire più argomenti facoltativi, tra cuiObservableStateStore, che ora è impostato per impostazione predefinita su un archivio vuoto. (I6f832)
- È stato eseguito il refactoring dell'ordine dei parametri 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
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 è stato rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto un'API sperimentale per l'utilizzo della frequenza cardiaca e dei passi giornalieri nelle espressioni dinamiche (Ifd711)
- Abbiamo aggiunto il supporto per il ritardo inverso e in avanti per le animazioni. (Ic25f7)
- Abbiamo aggiunto il supporto di DynamicColora Bordo e sfondo.
- Abbiamo aggiunto il supporto dei valori dinamici ai tipi in DimensionBuilder
- Il layout e i componenti di tiles-materialvengono spostati inprotolayout-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 è possibile caricare la bitmap strutturata.
Versione 1.0.0-alpha05
8 marzo 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 è stato 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 relativi elementi secondari cambia durante un aggiornamento del layout. (bd03e5d)
Modifiche alle API
- Abbiamo aggiunto forwardRepeatDelayMillisereverseRepeatDelayMillisaRepeatable. Abbiamo anche rinominatodelayMillisinAnimationSpecinstartDelayMillis(Ifb266)
- I metodi DynamicTypeEvaluator.bindora accettano un Executor. (I346ab)
- Abbiamo aggiunto il metodo startEvaluationaBoundDynamicTypeper 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
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 è stato rilasciato. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- Ora ObservableStateStoreinforma gli ascoltatori anche quando viene rimossa una chiave.
- Abbiamo aggiunto la versione dello schema del renderer e la scala del carattere a DeviceParameters(che può essere utilizzata per creare layout in modo condizionale in risposta a diverse versioni e impostazioni dei caratteri).
- È stato aggiunto il supporto per l'animazione dei valori DynamicInt32(I05485)
- Abbiamo aggiunto gli attivatori OnLoadeOnConditionalMet. Questi possono essere utilizzati per avviare animazioni che supportano un attivatore.
- Abbiamo aggiunto il peso del layout per le dimensioni espanse e la dimensione minima per le dimensioni di wrapping.
- Abbiamo aggiunto i tipi dinamici durata e istantaneo. Questi possono essere utilizzati per rappresentare un istante o una durata in un'espressione dinamica.
- Abbiamo aggiunto il supporto per AnimatedVectorDrawableeSeekableAnimatedVectorDrawablecome risorse di layout.
Modifiche alle API
- I dati dei sensori richiedono l'API 29+. (I8099e)
- Abbiamo aggiunto due metodi helper launchAction(per avviare le attività).
Correzioni di bug
- Rinomina set/getSpecinset/getAnimationSpecnell'animazione Riquadri (I3d74b)
Versione 1.0.0-alpha03
8 febbraio 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 è stato rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto toByteArray()efromByteArray()ai tipi dinamici nella libreria protolayout-express.
- Abbiamo aggiunto toString()ai tipi dinamici nella libreria protolayout-expression.
- Abbiamo aggiunto il supporto della valutazione per i tipi dinamici. La classe DynamicTypeEvaluatordella libreria protolayout-expression-pipeline può essere utilizzata per valutare (e ricevere valori aggiornati) un tipo dinamico creato in precedenza (DynamicString,DynamicFloat, …)
- Quando le animazioni non possono essere riprodotte (perché sono disattivate dal valutatore o perché il numero di animazioni in esecuzione ha raggiunto il limite impostato), i valori statici impostati sul nodo animabile vengono 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 sono stati rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- I generatori di layout di androidx.wear.tiles:tilesverranno spostati suandroidx.wear.protolayout:protolayout. Quelle inandroidx.wear.tiles:tilesverranno 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 sono stati rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
- Questa release introduce una nuova libreria "ProtoLayout Expression" per la creazione di espressioni da variabili dinamiche.
