Animazione di Compose
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(Consulta la documentazione Riferimento API per tutti i pacchetti di Compose)
| Ultimo aggiornamento | Release stabile | Candidato per la release | Release beta | Release alpha |
|---|---|---|---|---|
| 22 ottobre 2025 | 1.9.4 | - | 1.10.0-beta01 | - |
Struttura
Compose è una combinazione di 7 ID gruppo Maven all'interno di androidx. Ogni gruppo
contiene un sottoinsieme mirato di funzionalità, ognuna con il proprio insieme di note di rilascio.
Questa tabella illustra i gruppi e fornisce i link a ogni insieme di note di rilascio.
| Gruppo | Descrizione |
|---|---|
| compose.animation | Crea animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente. |
| compose.compiler | Trasforma le funzioni @Composable e attiva le ottimizzazioni con un plug-in del compilatore Kotlin. |
| compose.foundation | Sviluppa applicazioni Jetpack Compose con i componenti di base pronti all'uso e usali per personalizzare il design degli elementi della tua app. |
| compose.material | Crea UI Jetpack Compose con i componenti Material Design pronti all'uso. Compose offre un modo più semplice e rapido per iniziare ed è progettato per fornire componenti in linea con quanto descritto all'indirizzo www.material.io. |
| compose.material3 | Crea UI Jetpack Compose con i componenti Material Design 3, la nuova evoluzione di Material Design. Material 3 include componenti e temi aggiornati e funzionalità di personalizzazione Material You come il colore dinamico. È progettato per essere coerente con il nuovo stile visivo e l'UI di sistema di Android 12. |
| compose.runtime | Elementi di base del modello di programmazione e della gestione dello stato di Compose e runtime principale utilizzato dal plug-in del compilatore Compose. |
| compose.ui | Componenti fondamentali della UI di Compose necessari per interagire con il dispositivo, inclusi layout, disegno e input. |
Dichiara le dipendenze
Per aggiungere una dipendenza da Compose, 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 { implementation "androidx.compose.animation:animation:1.9.4" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.9.4") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
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.10
Versione 1.10.0-beta01
22 ottobre 2025
androidx.compose.animation:animation-*:1.10.0-beta01 è stato rilasciato. La versione 1.10.0-beta01 contiene questi commit.
Modifiche alle API
- Il metodo di fabbrica
SharedContentConfigche accetta una lambda che indica se l'elemento condiviso deve essere attivato è stato rimosso. L'APIlookheadScopeCoordinatesè stata aggiornata conLookaheadScopecome ambito del destinatario e le coordinate di origine come parametro. (Id1fc2, b/452416806) - L'interfaccia
BoundsTransformè stata aggiornata per essere coerente conSizeTransform. (Ia46f2, b/343696350) - L'API
ScaleToBoundsobsoleta è stata rimossa. Utilizza invecescaleToBounds. (I17296)
Versione 1.10.0-alpha05
8 ottobre 2025
androidx.compose.animation:animation-*:1.10.0-alpha05 è stato rilasciato. La versione 1.10.0-alpha05 contiene questi commit.
Modifiche alle API
- Le API di transizione condivise sono ora stabili. Per saperne di più, consulta la guida agli elementi condivisi. (I7167e).
Versione 1.10.0-alpha04
24 settembre 2025
androidx.compose.animation:animation-*:1.10.0-alpha04 è stato rilasciato. La versione 1.10.0-alpha04 contiene questi commit.
Modifiche alle API
- È stata aggiornata la denominazione delle API correlate a
PlaceHolderSize. (I037d8, b/343696350) - Nuova API di transizione degli elementi condivisi per supportare una velocità iniziale per continuare la velocità del gesto negli elementi condivisi. (I91be9)
Versione 1.10.0-alpha03
10 settembre 2025
androidx.compose.animation:animation-*:1.10.0-alpha03 è stato rilasciato. La versione 1.10.0-alpha03 contiene questi commit.
Modifiche alle API
Modifier.skipToLookaheadSizeora utilizza una lambda abilitata per impostazione predefinita che attiva l'omissione delle dimensioni solo quando la transizione condivisa è attiva, comeModifier.skipToLookaheadPosition. (Ibe0f5, b/432485585)
Versione 1.10.0-alpha02
27 agosto 2025
androidx.compose.animation:animation-*:1.10.0-alpha02 è stato rilasciato. La versione 1.10.0-alpha02 contiene questi commit.
Versione 1.10.0-alpha01
13 agosto 2025
androidx.compose.animation:animation-*:1.10.0-alpha01 è stato rilasciato. La versione 1.10.0-alpha01 contiene questi commit.
Nuove funzionalità
- Nuova API per consentire l'attivazione e la disattivazione dinamica degli elementi condivisi, che consente anche di tenere conto dell'eventuale presenza di una transizione di elementi condivisi in corso.
- Nuova API per impostare limiti target alternativi quando l'elemento condiviso target viene eliminato durante la transizione.
- Nuova API per ottenere il
LayoutCoordinatesdi unLookaheadScope. (I18dd4, b/409819304, b/395670637) - Nuovo modificatore
Modifier.skipToLookaheadPositioninSharedTransitionScopeper ancorare un layout nella posizione di destinazione durante una transizione condivisa. (I88734)
Modifiche alle API
renderInSharedTransitionOverlaysemplificato rimuovendo la lambdaclipInOverlayDuringTransition, poiché è stata utilizzata raramente. È stato introdotto un nuovo metodo di fabbrica perSharedContentConfig. (Id01b2)- È stato aggiunto un insieme di valori predefiniti per le configurazioni di elementi condivisi, limiti condivisi e
renderInSharedTransitionOverlay. Questi valori predefiniti sono ora accessibili tramite API pubbliche. (Id23cc) ScaleToBoundsResizeMode è stato rinominato inscaleToBounds(I5ac50)
Correzioni di bug
- Spostamento di minSdk predefinito dall'API 21 all'API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
Versione 1.9
Versione 1.9.4
22 ottobre 2025
androidx.compose.animation:animation-*:1.9.4 è stato rilasciato. La versione 1.9.4 contiene questi commit.
Versione 1.9.3
8 ottobre 2025
androidx.compose.animation:animation-*:1.9.3 è stato rilasciato. La versione 1.9.3 contiene questi commit.
Versione 1.9.2
24 settembre 2025
androidx.compose.animation:animation-*:1.9.2 è stato rilasciato. La versione 1.9.2 contiene questi commit.
Versione 1.9.1
10 settembre 2025
androidx.compose.animation:animation-*:1.9.1 è stato rilasciato. La versione 1.9.1 contiene questi commit.
Correzioni di bug
- Correzione dell'animazione di inizializzazione per
sharedElementWithCallerManagedVisibility. (fa29de)
Versione 1.9.0
13 agosto 2025
androidx.compose.animation:animation-*:1.9.0 è stato rilasciato. La versione 1.9.0 contiene questi commit.
Versione 1.9.0-rc01
30 luglio 2025
androidx.compose.animation:animation-*:1.9.0-rc01 è stato rilasciato. La versione 1.9.0-rc01 contiene questi commit.
Versione 1.9.0-beta03
16 luglio 2025
androidx.compose.animation:animation-*:1.9.0-beta03 è stato rilasciato. La versione 1.9.0-beta03 contiene questi commit.
Versione 1.9.0-beta02
2 luglio 2025
androidx.compose.animation:animation-*:1.9.0-beta02 è stato rilasciato. La versione 1.9.0-beta02 contiene questi commit.
Versione 1.9.0-beta01
18 giugno 2025
androidx.compose.animation:animation-*:1.9.0-beta01 è stato rilasciato. La versione 1.9.0-beta01 contiene questi commit.
Versione 1.9.0-alpha04
4 giugno 2025
androidx.compose.animation:animation-*:1.9.0-alpha04 è stato rilasciato. La versione 1.9.0-alpha04 contiene questi commit.
Versione 1.9.0-alpha03
20 maggio 2025
androidx.compose.animation:animation-*:1.9.0-alpha03 è stato rilasciato. La versione 1.9.0-alpha03 contiene questi commit.
Versione 1.9.0-alpha02
7 maggio 2025
androidx.compose.animation:animation-*:1.9.0-alpha02 è stato rilasciato. La versione 1.9.0-alpha02 contiene questi commit.
Nuove funzionalità
- Supporto notevolmente migliorato per lo scorrimento o il trascinamento negli elementi condivisi. Più nello specifico, quando viene eseguito lo scorrimento di un elemento condiviso in transizione, il delta di scorrimento viene applicato direttamente all'elemento condiviso, anziché far sì che gli elementi condivisi inseguano il nuovo target. (cacf7b)
Versione 1.9.0-alpha01
23 aprile 2025
androidx.compose.animation:animation-*:1.9.0-alpha01 è stato rilasciato. La versione 1.9.0-alpha01 contiene questi commit.
Modifiche al comportamento
- I controlli Lint forniti con Compose ora richiedono una versione minima di AGP 8.8.2. Se non riesci a eseguire l'upgrade di AGP, puoi eseguire l'upgrade di Lint separatamente utilizzando
android.experimental.lint.version=8.8.2(o una versione più recente) ingradle.properties. Per eseguire i controlli lint di Compose all'interno dell'IDE, è necessario Android Studio Ladybug o versioni successive.
Nuove funzionalità
- Prestazioni di scorrimento migliorate per gli elementi condivisi (ea4f1f)
Modifiche alle API
- I progetti rilasciati con Kotlin 2.0 richiedono KGP 2.0.0 o versioni successive per essere utilizzati. (Idb6b5)
TabRoweScrollableTabRowsono deprecati a favore delle varianti principale e secondaria di ciascuno. Le righe delle schede Principale e Secondaria sono più efficienti e accurate rispetto alle specifiche. (I918e2)- Aggiunta della composizione
LocalResourceslocale alle risorse di query. La chiamata aLocalResources.currentverrà ricomposta quando la configurazione cambia, quindi le chiamate alle API comestringResource()restituiranno valori aggiornati (I50c13, b/274786917)
Correzioni di bug
- Assicurati che gli elementi condivisi vengano rimossi dall'overlay al termine della transizione (35f359)
- Elimina la ricomposizione aggiuntiva in Transizione (988923)
- Correzione della gestione dell'interruzione della transizione del bambino (8aed52)
- Assicurati che la transizione venga reimpostata quando viene fornito un nuovo
TransitionState(57820a)
Contributo esterno
- Da Compose
1.8.1: End animations inSeekableTransitionStateif already past new duration by Steven Schoen. (0c832c)
Versione 1.8
Versione 1.8.3
18 giugno 2025
androidx.compose.animation:animation-*:1.8.3 è stato rilasciato. La versione 1.8.3 contiene questi commit.
Versione 1.8.2
20 maggio 2025
androidx.compose.animation:animation-*:1.8.2 è stato rilasciato. La versione 1.8.2 contiene questi commit.
Versione 1.8.1
7 maggio 2025
androidx.compose.animation:animation-*:1.8.1 è stato rilasciato. La versione 1.8.1 contiene questi commit.
Contributo esterno
- Termina le animazioni in
SeekableTransitionStatese la nuova durata è già stata superata. Grazie Steven Schoen. (fbcdf7)
Versione 1.8.0
23 aprile 2025
androidx.compose.animation:animation-*:1.8.0 è stato rilasciato. La versione 1.8.0 contiene questi commit.
Modifiche importanti dalla versione 1.7.0
- Le modifiche importanti nella versione 1.8.0 sono trattate in questo post del blog.
- Nuova API
Modifier.animateBoundsper animare le modifiche di dimensioni e posizione all'interno di un ambito di lookahead. (94b939) - API finalizzate per i fotogrammi chiave con archi e spline (89e119)
- Supporto di Lookahead in
LazyGride Pager. Ciò include la differenziazione tra il passaggio di preavviso e il passaggio di avvicinamento nello scorrimento, la composizione/lo smaltimento degli elementi e l'animazione degli elementi e utilizza il passaggio di preavviso come fonte di verità per lo scorrimento e la destinazione dell'animazione degli elementi. - È stato aggiornato il nome del parametro
sharedElementda stato asharedContentStateper garantire la coerenza tra le API degli elementi condivisi. (9e7df5) - La suite di API
AnimatedImageVectorè ora stabile.(69d7e0)
Versione 1.8.0-rc03
9 aprile 2025
androidx.compose.animation:animation-*:1.8.0-rc03 è stato rilasciato. La versione 1.8.0-rc03 contiene questi commit.
Versione 1.8.0-rc02
26 marzo 2025
androidx.compose.animation:animation-*:1.8.0-rc02 è stato rilasciato. La versione 1.8.0-rc02 contiene questi commit.
Versione 1.8.0-rc01
12 marzo 2025
androidx.compose.animation:animation-*:1.8.0-rc01 è stato rilasciato. La versione 1.8.0-rc01 contiene questi commit.
Correzioni di bug
- La transizione secondaria fissa viene erroneamente contrassegnata come interrotta. (3fa2ce)
Versione 1.8.0-beta03
26 febbraio 2025
androidx.compose.animation:animation-*:1.8.0-beta03 è stato rilasciato. La versione 1.8.0-beta03 contiene questi commit.
Versione 1.8.0-beta02
12 febbraio 2025
androidx.compose.animation:animation-*:1.8.0-beta02 è stato rilasciato. La versione 1.8.0-beta02 contiene questi commit.
Versione 1.8.0-beta01
29 gennaio 2025
androidx.compose.animation:animation-*:1.8.0-beta01 è stato rilasciato. La versione 1.8.0-beta01 contiene questi commit.
Versione 1.8.0-alpha08
15 gennaio 2025
androidx.compose.animation:animation-*:1.8.0-alpha08 è stato rilasciato. La versione 1.8.0-alpha08 contiene questi commit.
Correzioni di bug
- È stata corretta l'animazione di posizionamento errata da
animateBoundsinLazyGrida causa del ripristino diMotionFrameOfReferencePlacement. (16193b) - È stata corretta la query intrinseca in
SharedTransitionLayoutreindirizzando la query intrinseca alla passata di lookahead da una radice di lookahead di primo livello. (a07d12) - Sono stati aggiunti i tag
@parammancanti nella documentazione. (e5cf67)
Versione 1.8.0-alpha07
11 dicembre 2024
androidx.compose.animation:animation-*:1.8.0-alpha07 è stato rilasciato. La versione 1.8.0-alpha07 contiene questi commit.
Nuove funzionalità
- Supporta la visualizzazione anticipata in Pager, differenziando il passaggio di visualizzazione anticipata dal passaggio di avvicinamento per conservare gli elementi e consumare lo scorrimento. (b/371802474)
Correzioni di bug
- Corregge un raro arresto anomalo in cui un elemento condiviso viene composto ma mai misurato/posizionato, richiedendo che l'elemento condiviso venga visualizzato in posizione almeno una volta prima di visualizzarlo in overlay. (b/371802474)
Versione 1.8.0-alpha06
13 novembre 2024
androidx.compose.animation:animation-*:1.8.0-alpha06 è stato rilasciato. La versione 1.8.0-alpha06 contiene questi commit.
Modifiche alle API
- Aggiornamento della denominazione del parametro
sharedElementdastateasharedContentStateper garantire la coerenza tra le API degli elementi condivisi. (I5694c, b/375351468) - La suite di API
AnimatedImageVectorè ora stabile. (I7174b, b/261436267)
Versione 1.8.0-alpha05
30 ottobre 2024
androidx.compose.animation:animation-*:1.8.0-alpha05 è stato rilasciato. La versione 1.8.0-alpha05 contiene questi commit.
Nuove funzionalità
- La funzionalità di previsione è ora supportata in
LazyGrid. Ciò include la differenziazione tra il passaggio di preavviso e il passaggio di avvicinamento nello scorrimento, la composizione/lo smaltimento degli elementi e l'animazione degli elementi e utilizza il passaggio di preavviso come fonte di verità per lo scorrimento e la destinazione dell'animazione degli elementi.
Correzioni di bug
- Aggiorna gli stati interni per la trasformazione delle dimensioni di
AnimatedContentquando la transizione viene ricreata. In questo modo le informazioni sulle dimensioni target sono sempre aggiornate. (b/372512085)
Versione 1.8.0-alpha04
16 ottobre 2024
androidx.compose.animation:animation-*:1.8.0-alpha04 è stato rilasciato. La versione 1.8.0-alpha04 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava l'arresto anomalo di alcune curve di accelerazione in determinate frazioni di tempo.
- È stato corretto un bug che causava un allineamento errato per
Modifier.animateContentSizein modalità RTL. (Idae6b, b/372055503)
Versione 1.8.0-alpha03
2 ottobre 2024
androidx.compose.animation:animation-*:1.8.0-alpha03 è stato rilasciato. La versione 1.8.0-alpha03 contiene questi commit.
Modifiche alle API
- Aggiornamento della versione di Kotlin alla 1.9 (I1a14c)
Correzioni di bug
- È stato risolto un problema nell'animazione delle dimensioni
AnimatedContentmonitorando e avviando sempre l'animazione dalle dimensioni correnti per garantire la continuità.
Versione 1.8.0-alpha02
18 settembre 2024
androidx.compose.animation:animation-*:1.8.0-alpha02 è stato rilasciato. La versione 1.8.0-alpha02 contiene questi commit.
Versione 1.8.0-alpha01
4 settembre 2024
androidx.compose.animation:animation-*:1.8.0-alpha01 è stato rilasciato. La versione 1.8.0-alpha01 contiene questi commit.
Nuove funzionalità
- Nuova API
Modifier.animateBoundsper animare le modifiche di dimensioni e posizione all'interno di un ambito di lookahead. 94b9394
Modifiche alle API
- Rimuovi i flag sperimentali su Fotogrammi chiave con archi e spline (89e1199)
Correzioni di bug
- Ignora la logica di
placeHolderSizequando non viene trovata alcuna corrispondenza (77c0160) - Limita il tempo di riproduzione in
AndroidFlingSplineper evitare arresti anomali dovuti a un tempo di riproduzione non monotono(9d47587) - Correzione del problema per cui
SharedTransitionScopenon disegna elementi in determinate condizioni (b41077b6)
Contributo esterno
- Impedisci l'impostazione della transizione ricercabile
playTimequando non è in esecuzione alcuna transizione di Steven Schoen. (c2e6e7e6)
Versione 1.7
Versione 1.7.8
12 febbraio 2025
androidx.compose.animation:animation-*:1.7.8 è stato rilasciato. La versione 1.7.8 contiene questi commit.
Versione 1.7.7
29 gennaio 2025
androidx.compose.animation:animation-*:1.7.7 è stato rilasciato. Nessuna modifica rispetto alla versione 1.7.6.
11 dicembre 2024
androidx.compose.animation:animation-*:1.7.6 è stato rilasciato. La versione 1.7.6 contiene questi commit.
Versione 1.7.5
30 ottobre 2024
androidx.compose.animation:animation-*:1.7.5 è stato rilasciato. La versione 1.7.5 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava un allineamento errato per
Modifier.animateContentSizein modalità di lettura da destra a sinistra. (Idae6b, b/372055503)
Versione 1.7.4
16 ottobre 2024
androidx.compose.animation:animation-*:1.7.4 è stato rilasciato. La versione 1.7.4 contiene questi commit.
Versione 1.7.3
2 ottobre 2024
androidx.compose.animation:animation-*:1.7.3 è stato rilasciato. La versione 1.7.3 contiene questi commit.
Versione 1.7.2
18 settembre 2024
androidx.compose.animation:animation-*:1.7.2 è stato rilasciato. La versione 1.7.2 contiene questi commit.
Contributo esterno
- Impedisci l'impostazione della transizione ricercabile
playTimequando non è in esecuzione alcuna transizione. Grazie Steven Schoen. (c2e6e7e6)
Versione 1.7.1
10 settembre 2024
- Nessuna modifica agli artefatti Android. Sono stati rimossi
-desktopartefatti e sono stati aggiunti-jvmStubse-linuxx64Stubsartefatti. Nessuno di questi target è destinato all'uso, sono segnaposto per supportare gli sforzi di Jetbrains Compose.
Versione 1.7.0
4 settembre 2024
androidx.compose.animation:animation-*:1.7.0 è stato rilasciato.
Modifiche importanti dalla versione 1.6.0
Le modifiche importanti nella versione 1.7.0 sono descritte in questo post del blog.
Nuove API di transizione degli elementi condivisi
- Le nuove API di transizione degli elementi condivisi attendono il tuo utilizzo e feedback. Queste nuove API sperimentali consentono di taggare i layout come condivisi nell'albero dei layout utilizzando i modificatori forniti, producendo limiti che cambiano senza problemi quando un insieme di contenuti condivisi esce e l'altro entra. (Icb0b9)
- Nuovi
scaleInSharedContentToBoundsescaleOutSharedContentToBoundsper scalare i contenuti insharedBounds(I731c1) - La funzionalità sperimentale
SharedTransitionScopeora è un'interfaccia anziché una classe. (Iaf856) - Nuovo
resizeModes(ScaleToBoundseRemeasureToBounds) persharedBoundsper scegliere tra scalabilità e misurazione. Le precedenti APIscaleIn/OutSharedContentToBoundssono ora deprecate. (I0d41a)
Miglioramenti alle API esistenti:
- Nuovo
Modifier.animateContentSizeche accetta un parametro aggiuntivo per l'allineamento dei contenuti personalizzati. (I5623a, b/269803907) - Nuovo
DeferredTargetAnimationsperimentale per animare dimensioni, posizione o qualsiasi altro target sconosciuto durante l'istanza. (I60745) SeekableTransitionStatesostituiscesnapTo()conseekTo()e aggiunge unsnapTo()che cambia immediatamente lo stato in uno stato di destinazione senza alcun tipo di animazione.- Ora puoi passare un valore
periodicBias(float) akeyframesWithSpline, in modo che la velocità iniziale e finale dello spline siano uguali. Utile per animazioni ripetibili che utilizzano spline. La distorsione indica la misura in cui ogni velocità (iniziale e finale) viene modificata per ottenere la periodicità. (Ic1e6c, b/292114811)
Le seguenti API sono diventate stabili o sono state rimosse:
AnimatedVisibilityScope.transitionè ora un'API stabile. AncheModifier.animateEnterExit(..)è stato reso stabile. (I6c1d1)ApproachLayoutModifierNodeeModifier.approachLayoutsono ora stabili, con nuoviisMeasurementApproachInProgress()eisPlacementApproachInProgress()che sostituiscono i vecchiisMeasurementApproachComplete()eisPlacementApproachComplete()rispettivamente.- Rimosso il modificatore
intermediateLayoutobsoleto. (I3e91c) - Le API
LookaheadScopesono state rese stabili. (I21507)
Versione 1.7.0-rc01
21 agosto 2024
androidx.compose.animation:animation-*:1.7.0-rc01 è stato rilasciato. La versione 1.7.0-rc01 contiene questi commit.
Versione 1.7.0-beta07
7 agosto 2024
androidx.compose.animation:animation-*:1.7.0-beta07 è stato rilasciato. La versione 1.7.0-beta07 contiene questi commit.
Correzioni di bug
- È stato corretto un problema per cui
SharedTransitionScopenon disegnava gli elementi di overlay durante la transizione in determinate condizioni, che in genere includono l'utilizzo con la navigazione. (Id65ab, b/347520198)
Versione 1.7.0-beta06
24 luglio 2024
androidx.compose.animation:animation-*:1.7.0-beta06 è stato rilasciato. La versione 1.7.0-beta06 contiene questi commit.
Correzioni di bug
- È stato corretto il problema relativo alla perdita di stati di transizione di
SeekableTransitionpulendo correttamente le osservazioni daSnapshotStateObserverquando la transizione viene eliminata. (b9c7182) - Risolti casi limite in cui le transizioni secondarie non vengono contrassegnate correttamente come completate al termine della transizione principale. (dc42216)
Versione 1.7.0-beta05
10 luglio 2024
androidx.compose.animation:animation-*:1.7.0-beta05 è stato rilasciato. La versione 1.7.0-beta05 contiene questi commit.
Correzioni di bug
- La proprietà Transizione
totalDurationNanosora può essere letta correttamente all'interno di unsnapshotFlow.
Versione 1.7.0-beta04
26 giugno 2024
androidx.compose.animation:animation-*:1.7.0-beta04 è stato rilasciato. La versione 1.7.0-beta04 contiene questi commit.
Versione 1.7.0-beta03
12 giugno 2024
androidx.compose.animation:animation-*:1.7.0-beta03 è stato rilasciato. La versione 1.7.0-beta03 contiene questi commit.
Versione 1.7.0-beta02
29 maggio 2024
androidx.compose.animation:animation-*:1.7.0-beta02 è stato rilasciato. La versione 1.7.0-beta02 contiene questi commit.
Versione 1.7.0-beta01
14 maggio 2024
androidx.compose.animation:animation-*:1.7.0-beta01 è stato rilasciato. La versione 1.7.0-beta01 contiene questi commit.
Modifiche alle API
- Nuovo
resizeModes(ScaleToBoundseRemeasureToBounds) persharedBoundsper scegliere tra scalabilità e misurazione. Le precedenti APIscaleIn/OutSharedContentToBoundssono ora deprecate. (I0d41a)
Contributo esterno
SharedTransitionScopesperimentale ora è un'interfaccia anziché una classe di Steven Schoen. (Iaf856, b/338415048, b/338414702)
Versione 1.7.0-alpha08
1° maggio 2024
androidx.compose.animation:animation-*:1.7.0-alpha08 è stato rilasciato. La versione 1.7.0-alpha08 contiene questi commit.
Modifiche alle API
- Le API
LookaheadScopesono state rese stabili. (I21507)
Contributo esterno
- Cancella l'ora di inizio dell'animazione dopo che
SeekableTransitionStatesi anima/si sposta di scatto di Steven Schoen (1ca89529)
Versione 1.7.0-alpha07
17 aprile 2024
androidx.compose.animation:animation-*:1.7.0-alpha07 è stato rilasciato. La versione 1.7.0-alpha07 contiene questi commit.
Nuove funzionalità
- Nuove API di transizione degli elementi condivisi attendono il tuo utilizzo e il tuo feedback. Queste nuove API sperimentali consentono di taggare i layout come condivisi nell'albero dei layout utilizzando i modificatori forniti, producendo limiti che cambiano senza problemi quando un insieme di contenuti condivisi esce e l'altro entra. (Icb0b9)
- Nuovi
scaleInSharedContentToBoundsescaleOutSharedContentToBoundsper scalare i contenuti insharedBounds(I731c1)
Modifiche alle API
AnimatedVisibilityScope.transitionè ora un'API stabile. AncheModifier.animateEnterExit(..)è stato reso stabile. (I6c1d1)ApproachLayoutModifierNodeeModifier.approachLayoutsono ora stabili, con nuoviisMeasurementApproachInProgress()eisPlacementApproachInProgress()che sostituiscono i vecchiisMeasurementApproachComplete()eisPlacementApproachComplete()rispettivamente.- Rimosso il modificatore
intermediateLayoutobsoleto. (I3e91c) - Ora puoi passare un valore
periodicBias(float) akeyframesWithSpline, in modo che la velocità iniziale e finale dello spline siano uguali. Utile per animazioni ripetibili che utilizzano spline. La distorsione indica la misura in cui ogni velocità (iniziale e finale) viene modificata per ottenere la periodicità. (Ic1e6c, b/292114811)
Correzioni di bug
- Correzione delle curve di decelerazione e accelerazione che in precedenza venivano bloccate a 0-1 (I38747)
Versione 1.7.0-alpha06
3 aprile 2024
androidx.compose.animation:animation-*:1.7.0-alpha06 è stato rilasciato. La versione 1.7.0-alpha06 contiene questi commit.
Nuove funzionalità
- Il supporto dell'animazione di comparsa e scomparsa degli elementi è stato aggiunto a
LazyColumneLazyRow. In precedenza era possibile aggiungere il modificatoreModifier.animateItemPlacement()per supportare le animazioni di posizionamento (riordino). Abbiamo ritirato questo modificatore e introdotto un nuovo modificatore non sperimentale chiamatoModifier.animateItem()che ti consente di supportare tutti e tre i tipi di animazione: comparsa (dissolvenza in entrata), scomparsa (dissolvenza in uscita) e riordino. (I2d7f7, b/330152398, b/150812265)
Correzioni di bug
- Prestazioni migliorate dell'API
updateTransition.
Versione 1.7.0-alpha05
20 marzo 2024
androidx.compose.animation:animation-*:1.7.0-alpha05 è stato rilasciato. La versione 1.7.0-alpha05 contiene questi commit.
Modifiche alle API
SeekableTransitionStatesostituiscesnapTo()conseekTo()e aggiunge unsnapTo()che cambia immediatamente lo stato in uno stato di destinazione senza alcun tipo di animazione.
Versione 1.7.0-alpha04
6 marzo 2024
androidx.compose.animation:animation-*:1.7.0-alpha04 è stato rilasciato. La versione 1.7.0-alpha04 contiene questi commit.
Modifiche alle API
- Nuova API
Path.reverse()per invertire la direzione di un percorso (I36348)
Versione 1.7.0-alpha03
21 febbraio 2024
androidx.compose.animation:animation-*:1.7.0-alpha03 è stato rilasciato. La versione 1.7.0-alpha03 contiene questi commit.
Nuove funzionalità
- Nuovo
Modifier.animateContentSizeche accetta un parametro aggiuntivo per l'allineamento dei contenuti personalizzati. (I5623a, b/269803907) - Nuovo
DeferredTargetAnimationsperimentale per animare dimensioni, posizione o qualsiasi altro target sconosciuto durante l'istanza. (I60745)
Versione 1.7.0-alpha02
7 febbraio 2024
androidx.compose.animation:animation-*:1.7.0-alpha02 è stato rilasciato. La versione 1.7.0-alpha02 contiene questi commit.
Correzioni di bug
- Correzione della compatibilità per
KeyframesSpec. (I2bdf3, b/322214617) - È stato corretto il problema per cui
Modifier.animateContentSizenon veniva reimpostato correttamente quando veniva utilizzato inLazyList. (I070512, b/322525716) - È stato corretto
IllegalStateExceptionsuKeyframesSpecquando vengono utilizzati timestamp fuori intervallo. (I341b8, b/322839811)
Versione 1.7.0-alpha01
24 gennaio 2024
androidx.compose.animation:animation-*:1.7.0-alpha01 è stato rilasciato. La versione 1.7.0-alpha01 contiene questi commit.
Versione 1.6
Versione 1.6.8
12 giugno 2024
androidx.compose.animation:animation-*:1.6.8 è stato rilasciato. La versione 1.6.8 contiene questi commit.
Versione 1.6.7
1° maggio 2024
androidx.compose.animation:animation-*:1.6.7 è stato rilasciato. La versione 1.6.7 contiene questi commit.
Versione 1.6.6
17 aprile 2024
androidx.compose.animation:animation-*:1.6.6 è stato rilasciato. Nessuna modifica rispetto alla release precedente
Versione 1.6.5
3 aprile 2024
androidx.compose.animation:animation-*:1.6.5 è stato rilasciato. La versione 1.6.5 contiene questi commit.
Versione 1.6.4
20 marzo 2024
androidx.compose.animation:animation-*:1.6.4 è stato rilasciato. La versione 1.6.4 contiene questi commit.
Versione 1.6.3
6 marzo 2024
androidx.compose.animation:animation-*:1.6.3 è stato rilasciato. La versione 1.6.3 contiene questi commit.
Versione 1.6.2
21 febbraio 2024
androidx.compose.animation:animation-*:1.6.2 è stato rilasciato. La versione 1.6.2 contiene questi commit.
Versione 1.6.1
7 febbraio 2024
androidx.compose.animation:animation-*:1.6.1 è stato rilasciato. La versione 1.6.1 contiene questi commit.
Correzioni di bug
- Correzione della compatibilità per
KeyframesSpec. (I2bdf3, b/322214617)
Versione 1.6.0
24 gennaio 2024
androidx.compose.animation:animation-*:1.6.0 è stato rilasciato. La versione 1.6.0 contiene questi commit.
Versione 1.6.0-rc01
10 gennaio 2024
androidx.compose.animation:animation-*:1.6.0-rc01 è stato rilasciato. La versione 1.6.0-rc01 contiene questi commit.
Versione 1.6.0-beta03
13 dicembre 2023
androidx.compose.animation:animation-*:1.6.0-beta03 è stato rilasciato. La versione 1.6.0-beta03 contiene questi commit.
Modifiche alle API
scaleInToFitContainerescaleOutToFitContainersono stati rimossi temporaneamente daAnimatedContentTransitionScopeperché richiedono la previsione. Saranno disponibili quando la funzionalità di previsione è attiva per impostazione predefinita o quando è stata attivata nelle release future.
Versione 1.6.0-beta02
29 novembre 2023
androidx.compose.animation:animation-*:1.6.0-beta02 è stato rilasciato. La versione 1.6.0-beta02 contiene questi commit.
Versione 1.6.0-beta01
15 novembre 2023
androidx.compose.animation:animation-*:1.6.0-beta01 è stato rilasciato. La versione 1.6.0-beta01 contiene questi commit.
Modifiche alle API
ExitTransition.Holdè stato rinominato inExitTransition.KeepUntilTransitionsFinishedper essere più esplicito. (I1c490)- Ora puoi utilizzare
keyframesWithSplineper interpolare qualsiasi valore N-dimensionale utilizzando spline monotone. È particolarmente utile per interpolare valori posizionali comeOffset,IntOffset,DpOffset. Aggiunta come API sperimentale.
Correzioni di bug
- Aggiungi il supporto del renderer per il gradiente radiale in
ArcLine. (I4d5bb) - Implementa equals e hashcode per
PageSize.Fixed. (Ie3ede, b/300134276) - Risolvi il problema di compatibilità binaria con la modifica dell'inset della finestra. (Iee695)
- Rimuovi il livello principale del materiale per il chip/pulsante Material3 poiché i microbenchmark mostrano un rendimento migliore senza. (I55555)
Versione 1.6.0-alpha08
18 ottobre 2023
androidx.compose.animation:animation-*:1.6.0-alpha08 è stato rilasciato. La versione 1.6.0-alpha08 contiene questi commit.
Modifiche alle API
KeyframesSpecConfig#withè stato ritirato a favore diKeyframesSpecConfig#using, che conserva il pattern builder. (I1d769)
Versione 1.6.0-alpha07
4 ottobre 2023
androidx.compose.animation:animation-*:1.6.0-alpha07 è stato rilasciato. La versione 1.6.0-alpha07 contiene questi commit.
Modifiche alle API
- Le righe di schede fisse e scorrevoli ora hanno varianti principali e secondarie. Questi valori corrispondono correttamente al comportamento del colore e dell'indicatore definito in Material3.
PrimaryScrollableTabRoweSecondaryScrollableTabRowora espongono lo stato di scorrimento. (Iec8f5, b/260572337)
Versione 1.6.0-alpha06
20 settembre 2023
androidx.compose.animation:animation-*:1.6.0-alpha06 è stato rilasciato. La versione 1.6.0-alpha06 contiene questi commit.
Versione 1.6.0-alpha05
6 settembre 2023
androidx.compose.animation:animation-*:1.6.0-alpha05 è stato rilasciato. La versione 1.6.0-alpha05 contiene questi commit.
Modifiche alle API
- È stato aggiunto
PathEasingper consentire la fornitura di un percorso arbitrario a una curva di accelerazione. (Idb4b9)
Versione 1.6.0-alpha04
23 agosto 2023
androidx.compose.animation:animation-*:1.6.0-alpha04 è stato rilasciato. La versione 1.6.0-alpha04 contiene questi commit.
Modifiche alle API
- Aggiungi
SeekableTransitionStateper consentire agli sviluppatori di controllare l'avanzamento di una transizione. (I8e69d)
Versione 1.6.0-alpha03
9 agosto 2023
androidx.compose.animation:animation-*:1.6.0-alpha03 è stato rilasciato. La versione 1.6.0-alpha03 contiene questi commit.
Modifiche alle API
- Nuovo tipo di transizione di entrata/uscita che ridimensiona i contenuti in base alle dimensioni del contenitore di animazione durante l'animazione di entrata/uscita.
LookaheadScopeL'interfaccia e le funzionalità componibili sono ora stabili. (Ifb2ce)
Versione 1.6.0-alpha02
26 luglio 2023
androidx.compose.animation:animation-*:1.6.0-alpha02 è stato rilasciato. La versione 1.6.0-alpha02 contiene questi commit.
Modifiche alle API
- Nuovo
ExitTransition.Holdper visualizzare i contenuti in uscita inAnimatedContentfinché non vengono completate entrambe le transizioni di entrata e uscita. (I5984f) - Annotazioni aggiuntive per specificare gli input consentiti per i componenti combinabili (I51109)
Versione 1.6.0-alpha01
21 giu 2023
androidx.compose.animation:animation-*:1.6.0-alpha01 è stato rilasciato. La versione 1.6.0-alpha01 contiene questi commit.
Nuove funzionalità
- Attiva
Modifier.animateContentSizeeAnimatedVisibilityper l'integrazione completa nel sistema di lookahead segnalando le dimensioni target nel passaggio di lookahead.
Modifiche alle API
- Nuova proprietà in
IntrinsincMeasureScopee relative implementazioni (ad es.MeasureScope) per indicare se la corrente misura è una misura di previsione. (I7a812)
Correzioni di bug
- Allocazioni rimosse dalle animazioni a molla. (Ie9431)
- Nome del parametro value per Enum.valueOf modificato (Ia9b89)
- Altre eccezioni generate da enum valueOf (I818fe)
Versione 1.5
Versione 1.5.4
18 ottobre 2023
androidx.compose.animation:animation-*:1.5.4 è stato rilasciato. La versione 1.5.4 contiene questi commit.
Versione 1.5.3
4 ottobre 2023
androidx.compose.animation:animation-*:1.5.3 è stato rilasciato. Questa versione non presenta modifiche
Versione 1.5.2
27 settembre 2023
androidx.compose.animation:animation-*:1.5.2 è stato rilasciato. La versione 1.5.2 contiene questi commit.
Versione 1.5.1
6 settembre 2023
androidx.compose.foundation:foundation-*:1.5.1 è stato rilasciato. La versione 1.5.1 contiene questi commit.
Correzioni di bug
- Sono stati corretti i campi di testo che mostrano la tastiera e sono modificabili quando
readOnlyè vero. È stato inoltre corretto il problema della tastiera che non viene visualizzata quandoreadOnlyviene modificato da true a false durante la messa a fuoco. (I34a19, b/246909589)
Versione 1.5.1
6 settembre 2023
androidx.compose.animation:animation-*:1.5.1 è stato rilasciato. La versione 1.5.1 contiene questi commit.
Versione 1.5.0
9 agosto 2023
androidx.compose.animation:animation-*:1.5.0 è stato rilasciato. La versione 1.5.0 contiene questi commit.
Versione 1.5.0-rc01
26 luglio 2023
androidx.compose.animation:animation-*:1.5.0-rc01 è stato rilasciato. La versione 1.5.0-rc01 contiene questi commit.
Correzioni di bug
Risolto un problema per cui la chiamata di
.valuesu un tipo di stato primitivo (comeMutableIntState) segnalava un avviso di lint con una correzione non valida. Il controllo ora consiglierà la migrazione alla proprietà corretta. (Iba953, b/287279257)È disponibile un'ispezione facoltativa per consigliare la migrazione delle chiamate
mutableStateOf()ai tipi specializzati corrispondenti per le primitive. Il suo ID lint èAutoboxingStateCreation. In precedenza, questo controllo era abilitato per impostazione predefinita per tutti i progetti. Per visualizzare questo avviso nell'editor di Android Studio e negli output di lint del progetto, modifica la gravità da informativa ad avviso (o superiore) dichiarandowarning "AutoboxingStateCreation"all'interno della configurazionebuild.gradleobuild.gradle.ktsdel modulo, come mostrato (I34f7e):android { lint { warning "AutoboxingStateCreation" } ... }
Versione 1.5.0-beta03
28 giugno 2023
androidx.compose.animation:animation-*:1.5.0-beta03 è stato rilasciato. La versione 1.5.0-beta03 contiene questi commit.
Versione 1.5.0-beta02
7 giugno 2023
androidx.compose.animation:animation-*:1.5.0-beta02 è stato rilasciato. La versione 1.5.0-beta02 contiene questi commit.
Versione 1.5.0-beta01
24 maggio 2023
androidx.compose.animation:animation-*:1.5.0-beta01 è stato rilasciato. La versione 1.5.0-beta01 contiene questi commit.
Modifiche alle API
- Rimozione delle allocazioni nella ricomposizione, delle animazioni a colori e di
AndroidComposeView(Ib2bfa)
Correzioni di bug
- Rimozione delle allocazioni dalle animazioni a molla (Ie9431)
Versione 1.5.0-alpha04
10 maggio 2023
androidx.compose.animation:animation-*:1.5.0-alpha04 è stato rilasciato. La versione 1.5.0-alpha04 contiene questi commit.
Modifiche alle API
ContentKeyè ora supportato inAnimatedContentper consentire un maggiore controllo sul momento in cui deve avvenire la transizione. (Ic069b)
Versione 1.5.0-alpha03
19 aprile 2023
androidx.compose.animation:animation-*:1.5.0-alpha03 è stato rilasciato. La versione 1.5.0-alpha03 contiene questi commit.
Nuove funzionalità
- Nuovo comportamento predefinito per
SubcomposeLayoutinLookaheadScope. Consente aSubcomposeLayoutsche non hanno slot condizionali (ad es.TabRow,Scaffold,BoxWithConstraintse così via) di funzionare correttamente con le animazioni di prelettura.
Modifiche alle API
- Il nuovo
intermediateMeasurePolicypredefinito che riutilizza la norma di misurazione del passaggio lookahead consente ai sottotipiSubcomposeLayoutsenza slot condizionali comeScaffold,TabRoweBoxWithConstraintsdi funzionare con lookahead per impostazione predefinita. (Id84c8) - Rinomina la funzione infissa con
togetherWithper combinare le transizioni di entrata e uscita. NuovoAnimatedContentScopecome destinatario della lambda di contenuti. (Ic39ae)
Versione 1.5.0-alpha02
5 aprile 2023
androidx.compose.animation:animation-*:1.5.0-alpha02 è stato rilasciato. La versione 1.5.0-alpha02 contiene questi commit.
Nuove funzionalità
- Nuova API sperimentale per supportare la funzionalità di prelettura in
SubcomposeLayout. In questo modo,SubcomposeLayoutfunzionerà correttamente in unLookaheadScope. A breve sarà disponibile un supporto più completo per sottotipi specifici diSubcomposeLayout.
Modifiche alle API
- Nuova API
SubcomposeLayoutche accetta una policy di misurazione intermedia aggiuntiva per la gestione della logica di misurazione/layout durante le animazioni basate sulla previsione. (I017d3)
Versione 1.5.0-alpha01
22 marzo 2023
androidx.compose.animation:animation-*:1.5.0-alpha01 è stato rilasciato. La versione 1.5.0-alpha01 contiene questi commit.
Modifiche alle API
AnimatedContentLe API sono ora stabiliAnimatedContentScopeè stato rinominato inAnimatedContentTransitionScope.scaleInescaleOutsono ora API stabili. (Iaf54e)
Versione 1.4
Versione 1.4.3
3 maggio 2023
androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3 e androidx.compose.animation:animation-graphics:1.4.3 sono stati rilasciati senza modifiche (solo un aumento di versione).
Versione 1.4.2
19 aprile 2023
androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2 e androidx.compose.animation:animation-graphics:1.4.2 sono stati rilasciati senza modifiche. La versione 1.4.2 contiene questi commit.
Versione 1.4.1
5 aprile 2023
androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1 e androidx.compose.animation:animation-graphics:1.4.1 sono stati rilasciati senza modifiche. La versione 1.4.1 contiene questi commit.
Versione 1.4.0
22 marzo 2023
androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0 e androidx.compose.animation:animation-graphics:1.4.0 sono stati rilasciati. La versione 1.4.0 contiene questi commit.
Modifiche importanti dalla versione 1.3.0
- L'etichetta di strumentazione è supportata in r
ememberInfiniteTransitione in tutte le funzioni di estensione suInfiniteTransitione Transition (ad es.InfiniteTransition#animateColor) (I56ef7)
Versione 1.4.0-rc01
8 marzo 2023
androidx.compose.animation:animation:1.4.0-rc01, androidx.compose.animation:animation-core:1.4.0-rc01 e androidx.compose.animation:animation-graphics:1.4.0-rc01 sono stati rilasciati senza modifiche. La versione 1.4.0-rc01 contiene questi commit.
Versione 1.4.0-beta02
22 febbraio 2023
androidx.compose.animation:animation:1.4.0-beta02, androidx.compose.animation:animation-core:1.4.0-beta02 e androidx.compose.animation:animation-graphics:1.4.0-beta02 sono stati rilasciati senza modifiche. La versione 1.4.0-beta02 contiene questi commit.
Versione 1.4.0-beta01
8 febbraio 2023
androidx.compose.animation:animation:1.4.0-beta01, androidx.compose.animation:animation-core:1.4.0-beta01 e androidx.compose.animation:animation-graphics:1.4.0-beta01 sono stati rilasciati senza modifiche. La versione 1.4.0-beta01 contiene questi commit.
Versione 1.4.0-alpha05
25 gennaio 2023
androidx.compose.animation:animation:1.4.0-alpha05, androidx.compose.animation:animation-core:1.4.0-alpha05 e androidx.compose.animation:animation-graphics:1.4.0-alpha05 sono stati rilasciati. La versione 1.4.0-alpha05 contiene questi commit.
Modifiche
- Nessuna modifica alle librerie di animazioni dall'ultima alpha, solo aumento della versione
Versione 1.4.0-alpha04
11 gennaio 2023
androidx.compose.animation:animation:1.4.0-alpha04, androidx.compose.animation:animation-core:1.4.0-alpha04 e androidx.compose.animation:animation-graphics:1.4.0-alpha04 sono stati rilasciati. La versione 1.4.0-alpha04 contiene questi commit.
Nuove funzionalità
- L'etichetta dello strumento è supportata in
rememberInfiniteTransitione in tutte le funzioni di estensione suInfiniteTransitioneTransition(ad es.InfiniteTransition#animateColor) (I56ef7)
Modifiche alle API
- Le API
InfiniteTransition#TransitionAnimationStateeInfiniteTransition#animationssono ora pubbliche. (I36682)
Versione 1.4.0-alpha03
7 dicembre 2022
androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03 e androidx.compose.animation:animation-graphics:1.4.0-alpha03 sono stati rilasciati. La versione 1.4.0-alpha03 contiene questi commit.
Modifiche alle API
- Nei test dell'interfaccia utente che utilizzano una regola Compose, le continuazioni riprese durante i callback
withFrameNanosnon verranno inviate finché non saranno terminati tutti i callback dei frame. Questo comportamento corrisponde a quello della composizione in esecuzione normale. Tuttavia, i test che si basano sul comportamento precedente potrebbero non riuscire. Ciò dovrebbe influire solo sul codice che chiama direttamentewithFrameNanosowithFrameMillise che ha una logica al di fuori del callback passato a queste funzioni che potrebbe dover essere spostata all'interno dei callback. Per esempi, consulta le modifiche al test dell'animazione in questo elenco di modifiche. - È stato aggiunto il parametro facoltativo
onPerformTraversals: (Long) -> Unital costruttore e alla funzione di fabbricaTestMonotonicFrameClockper eseguire il codice dopo i callbackwithFrameNanos, ma prima di riprendere le coroutine dei chiamanti. (Idb413, b/254115946, b/222093277, b/255802670) - Nuovo parametro in
AnimatedContentper l'etichetta dello strumento (Iebe2d)
Versione 1.4.0-alpha02
9 novembre 2022
androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02 e androidx.compose.animation:animation-graphics:1.4.0-alpha02 sono stati rilasciati. La versione 1.4.0-alpha02 contiene questi commit.
Modifiche alle API
- Aggiungi
ToolingStateper consentire agli strumenti di modificare gli stati interni di Composable (Ie6614)
Versione 1.4.0-alpha01
24 ottobre 2022
androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01 e androidx.compose.animation:animation-graphics:1.4.0-alpha01 sono stati rilasciati. La versione 1.4.0-alpha01 contiene questi commit.
Correzioni di bug
- Correzione dell'animazione di interruzione errata in AnimatedContent (b/238662479)
Versione 1.3
Versione 1.3.3
11 gennaio 2023
androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3 e androidx.compose.animation:animation-graphics:1.3.3 sono stati rilasciati. La versione 1.3.3 contiene questi commit.
- Nessuna modifica dalla versione 1.3.2.
Versione 1.3.2
7 dicembre 2022
androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2 e androidx.compose.animation:animation-graphics:1.3.2 sono stati rilasciati. La versione 1.3.2 contiene questi commit.
Correzioni di bug
- È stato effettuato un aggiornamento per supportare androidx.compose.ui 1.3.2
Versione 1.3.1
9 novembre 2022
androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1 e androidx.compose.animation:animation-graphics:1.3.1 sono stati rilasciati. La versione 1.3.1 contiene questi commit.
Versione 1.3.0
24 ottobre 2022
androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0 e androidx.compose.animation:animation-graphics:1.3.0 sono stati rilasciati. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Nuovo set di funzioni di accelerazione stabilizzato
Versione 1.3.0-rc01
5 ottobre 2022
androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01 e androidx.compose.animation:animation-graphics:1.3.0-rc01 sono stati rilasciati. La versione 1.3.0-rc01 contiene questi commit.
Versione 1.3.0-beta03
21 settembre 2022
androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03 e androidx.compose.animation:animation-graphics:1.3.0-beta03 sono stati rilasciati. La versione 1.3.0-beta03 contiene questi commit.
- Nessuna modifica dalla versione 1.3.0-beta02.
Versione 1.3.0-beta02
7 settembre 2022
androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02 e androidx.compose.animation:animation-graphics:1.3.0-beta02 sono stati rilasciati. La versione 1.3.0-beta02 contiene questi commit.
- Rimozione di Kotlin.experimental dalle opzioni del compilatore perché è deprecato
Versione 1.3.0-beta01
24 agosto 2022
androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01 e androidx.compose.animation:animation-graphics:1.3.0-beta01 sono stati rilasciati. La versione 1.3.0-beta01 contiene questi commit.
Versione 1.3.0-alpha03
10 agosto 2022
androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03 e androidx.compose.animation:animation-graphics:1.3.0-alpha03 sono stati rilasciati. La versione 1.3.0-alpha03 contiene questi commit.
Modifiche alle API
- Nuovo parametro in
Crossfade,animateAsStateeAnimatableper l'etichetta dello strumento (Iac08a) - È stata aggiunta la funzione
atFractionper definire i fotogrammi chiave in base a una frazione anziché a una durata specifica. (I20c76, b/232059455)
Versione 1.3.0-alpha02
27 luglio 2022
androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02 e androidx.compose.animation:animation-graphics:1.3.0-alpha02 sono stati rilasciati. La versione 1.3.0-alpha02 contiene questi commit.
Versione 1.3.0-alpha01
29 giugno 2022
androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01 e androidx.compose.animation:animation-graphics:1.3.0-alpha01 sono stati rilasciati. La versione 1.3.0-alpha01 contiene questi commit.
Modifiche alle API
- Nuovo
LookaheadLayoutche supporta una passata di prelettura prima della misurazione/layout effettivo. Ciò consente un pre-calcolo del layout quando cambia, consentendo al layout/alla misurazione post-lookahead di utilizzare le dimensioni/la posizione precalcolate per animare le dimensioni e le posizioni verso la destinazione.SubcomposeLayoutsnon sono ancora supportati, ma lo saranno in una delle prossime versioni. (I477f5)
Versione 1.2
Versione 1.2.1
10 agosto 2022
androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1 e androidx.compose.animation:animation-graphics:1.2.1 sono stati rilasciati. La versione 1.2.1 contiene questi commit.
Versione 1.2.0
27 luglio 2022
androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0 e androidx.compose.animation:animation-graphics:1.2.0 sono stati rilasciati. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- L'animazione Compose ora supporta l'impostazione "Scala durata animatore" delle opzioni sviluppatore.
- Un'ampia selezione di nuove curve di accelerazione sperimentali.
AnimatedImageVectorora supportarepeatCounterepeatMode
Versione 1.2.0-rc03
29 giugno 2022
androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03 e androidx.compose.animation:animation-graphics:1.2.0-rc03 sono stati rilasciati. La versione 1.2.0-rc03 contiene questi commit.
- Nessuna modifica dalla versione 1.2.0-rc02.
Versione 1.2.0-rc02
22 giugno 2022
androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02 e androidx.compose.animation:animation-graphics:1.2.0-rc02 sono stati rilasciati. La versione 1.2.0-rc02 contiene questi commit.
Correzioni di bug
- Rimossa l'annotazione
ExperimentalEasingApisulle funzioni di accelerazione (Ied441)
Versione 1.2.0-rc01
15 giugno 2022
androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01 e androidx.compose.animation:animation-graphics:1.2.0-rc01 sono stati rilasciati. La versione 1.2.0-rc01 contiene questi commit.
Modifiche alle API
- Le interfacce nelle librerie Compose ora sono create utilizzando i metodi di interfaccia predefiniti di jdk8 (I5bcf1)
Versione 1.2.0-beta03
1° giugno 2022
androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03 e androidx.compose.animation:animation-graphics:1.2.0-beta03 sono stati rilasciati. La versione 1.2.0-beta03 contiene questi commit.
Modifiche alle API
- Aggiunte curve di accelerazione sperimentali per le animazioni (I64a38)
Versione 1.2.0-beta02
18 maggio 2022
androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02 e androidx.compose.animation:animation-graphics:1.2.0-beta02 sono stati rilasciati. La versione 1.2.0-beta02 contiene questi commit.
Versione 1.2.0-beta01
11 maggio 2022
androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01 e androidx.compose.animation:animation-graphics:1.2.0-beta01 sono stati rilasciati. La versione 1.2.0-beta01 contiene questi commit.
- Questa è la prima release beta della versione 1.2. Non sono state apportate modifiche dall'ultima versione alpha.
Versione 1.2.0-alpha08
20 aprile 2022
androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08 e androidx.compose.animation:animation-graphics:1.2.0-alpha08 sono stati rilasciati. La versione 1.2.0-alpha08 contiene questi commit.
Versione 1.2.0-alpha07
6 aprile 2022
androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07 e androidx.compose.animation:animation-graphics:1.2.0-alpha07 sono stati rilasciati. La versione 1.2.0-alpha07 contiene questi commit.
Modifiche alle API
AnimatedImageVectorora supportarepeatCounterepeatMode(Ia3e75, b/199304067)
Versione 1.2.0-alpha06
23 marzo 2022
androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06 e androidx.compose.animation:animation-graphics:1.2.0-alpha06 sono stati rilasciati. La versione 1.2.0-alpha06 contiene questi commit.
Modifiche alle API
- Analisi aggiornata dei drawables vettoriali per supportare il mirroring automatico e invertire i contenuti di un
VectorPainterse la direzione del layout corrente è da destra a sinistra. (I79cd9, b/185760237)
Correzioni di bug
- API per la grafica vettoriale aggiornate per utilizzare l'annotazione componibile corretta
@VectorComposableanziché@UiComposable(I942bc)
Versione 1.2.0-alpha05
9 marzo 2022
androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05 e androidx.compose.animation:animation-graphics:1.2.0-alpha05 sono stati rilasciati. La versione 1.2.0-alpha05 contiene questi commit.
Modifiche alle API
- Evviva! L'animazione Compose ora supporta l'impostazione "Scala durata animatore" delle opzioni sviluppatore. (I5a4fc, b/161675988)
Versione 1.2.0-alpha04
23 febbraio 2022
androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04 e androidx.compose.animation:animation-graphics:1.2.0-alpha04 sono stati rilasciati. La versione 1.2.0-alpha04 contiene questi commit.
Versione 1.2.0-alpha03
9 febbraio 2022
androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03 e androidx.compose.animation:animation-graphics:1.2.0-alpha03 sono stati rilasciati. La versione 1.2.0-alpha03 contiene questi commit.
Versione 1.2.0-alpha02
26 gennaio 2022
androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02 e androidx.compose.animation:animation-graphics:1.2.0-alpha02 sono stati rilasciati. La versione 1.2.0-alpha02 contiene questi commit.
Versione 1.2.0-alpha01
12 gennaio 2022
androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01 e androidx.compose.animation:animation-graphics:1.2.0-alpha01 sono stati rilasciati. La versione 1.2.0-alpha01 contiene questi commit.
Modifiche alle API
- Utilizza
AnimatedImageVector.animatedVectorResourceanzichéanimatedVectorResourceper caricare un file di risorse<animated-vector>.- Utilizza
rememberAnimatedVectorResourceanzichéAnimatedImageVector#painterForper eseguire il rendering di unAnimatedImageVector. (I9c300)
- Utilizza
Correzioni di bug
- Aggiungi metodi toString a Animatable e AnimationResult. (Icd3a6)
Aggiornamenti delle dipendenze
- Ora dipende da Kotlin
1.6.10.
Versione 1.1
Versione 1.1.1
23 febbraio 2022
androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1 e androidx.compose.animation:animation-graphics:1.1.1 sono stati rilasciati. La versione 1.1.1 contiene questi commit.
Correzioni di bug
- È stato corretto
NullPointerExceptioninandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(aosp/1947059, b/206677462) - È stato corretto l'arresto anomalo causato dai contenuti degli appunti durante la lettura dagli appunti su Android. (I06020, b/197769306)
- È stato corretto RTL in
LazyVerticalGrid(aosp/1931080, b/207510535)
Versione 1.1.0
9 febbraio 2022
androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0 e androidx.compose.animation:animation-graphics:1.1.0 sono stati rilasciati. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Supporto stabile per l'effetto di scorrimento eccessivo di Android 12
- Miglioramenti alle dimensioni del touch target
- Rispetto a Compose 1.0, i componenti Material espanderanno lo spazio del layout per rispondere alle linee guida sull'accessibilità di Material per le dimensioni del touch target. Ad esempio, il touch target del pulsante si espanderà fino a una dimensione minima di 48 x 48 dp, anche se imposti una dimensione più piccola per il pulsante. In questo modo, Compose Material si allinea allo stesso comportamento dei componenti Material Design, fornendo un comportamento coerente se combini Views e Compose. Questa modifica garantisce inoltre che, quando crei la tua UI utilizzando i componenti di Compose Material, vengano soddisfatti i requisiti minimi per l'accessibilità dei touch target.
- Supporto stabile per la modalità di navigazione laterale
- Esegue l'upgrade di una serie di API sperimentali precedenti alla versione stabile
- Supporto per le versioni più recenti di Kotlin
Versione 1.1.0-rc03
26 gennaio 2022
androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03 e androidx.compose.animation:animation-graphics:1.1.0-rc03 sono stati rilasciati. La versione 1.1.0-rc03 contiene questi commit.
Correzioni di bug
- È stato effettuato un aggiornamento per supportare Compose Material 1.1.0-rc03
Versione 1.1.0-rc01
15 dicembre 2021
androidx.compose.animation:animation:1.1.0-rc01 e androidx.compose.animation:animation-core:1.1.0-rc01 sono stati rilasciati. La versione 1.1.0-rc01 contiene questi commit.
Modifiche alle API
- Utilizza
AnimatedImageVector.animatedVectorResourceanzichéanimatedVectorResourceper caricare un file di risorse<animated-vector>.- Utilizza
rememberAnimatedVectorResourceanzichéAnimatedImageVector#painterForper eseguire il rendering di unAnimatedImageVector. (I9c300)
- Utilizza
Versione 1.1.0-beta04
1° dicembre 2021
androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04 e androidx.compose.animation:animation-graphics:1.1.0-beta04 sono stati rilasciati. La versione 1.1.0-beta04 contiene questi commit.
Nuove funzionalità
- È stato effettuato un aggiornamento per garantire la compatibilità con Kotlin
1.6.0
Versione 1.1.0-beta03
17 novembre 2021
androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03 e androidx.compose.animation:animation-graphics:1.1.0-beta03 sono stati rilasciati. La versione 1.1.0-beta03 contiene questi commit.
Modifiche alle API
- È stato aggiunto il nuovo modificatore Modifier.onPlaced per consentire l'osservazione della modifica del posizionamento. Pertanto, è possibile apportare ulteriori modifiche all'offset del modificatore figlio in base alla variazione del posizionamento osservata. (I558fd)
Nuovo supporto per contentKey in Dissolvenza incrociata. ContentKey verrà utilizzato per il controllo di uguaglianza dal sistema di animazione. Pertanto, è possibile ottenere il confronto personalizzato degli stati specificando la contentKey appropriata per i diversi stati.
ContentKey verrà utilizzata anche come chiave per il salvataggio e il ripristino dei contenuti. (I2e055, b/197907070)
Versione 1.1.0-beta02
3 novembre 2021
androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02 e androidx.compose.animation:animation-graphics:1.1.0-beta02 sono stati rilasciati. La versione 1.1.0-beta02 contiene questi commit.
Correzioni di bug
- Nuove API di animazione per supportare gli strumenti. In particolare, consentono agli strumenti di ispezionare le animazioni e le relative configurazioni in una transizione. (I4116e)
Versione 1.1.0-beta01
27 ottobre 2021
androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01 e androidx.compose.animation:animation-graphics:1.1.0-beta01 sono stati rilasciati. La versione 1.1.0-beta01 contiene questi commit.
Modifiche alle API
- Nuove API di animazione per supportare gli strumenti. In particolare, consentono agli strumenti di ispezionare le animazioni e le relative configurazioni in una transizione. (I4116e)
Versione 1.1.0-alpha06
13 ottobre 2021
androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06 e androidx.compose.animation:animation-graphics:1.1.0-alpha06 sono stati rilasciati. La versione 1.1.0-alpha06 contiene questi commit.
Versione 1.1.0-alpha05
29 settembre 2021
androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05 e androidx.compose.animation:animation-graphics:1.1.0-alpha05 sono stati rilasciati. La versione 1.1.0-alpha05 contiene questi commit.
Modifiche alle API
EnterTransition,ExitTransitione alcune delle APIAnimatedVisibilitysono state rese stabili. AncheMutableTransitionState.isIdlenon è più sperimentale. (I5072d)Modifica che causa interruzione: le espressioni lambda nelle fabbriche Enter/ExitTransition sono state spostate nell'ultima posizione dell'elenco dei parametri. (I5072d)
Versione 1.1.0-alpha04
15 settembre 2021
androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04 e androidx.compose.animation:animation-graphics:1.1.0-alpha04 sono stati rilasciati. La versione 1.1.0-alpha04 contiene questi commit.
Versione 1.1.0-alpha03
1° settembre 2021
androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03 e androidx.compose.animation:animation-graphics:1.1.0-alpha03 sono stati rilasciati. La versione 1.1.0-alpha03 contiene questi commit.
Nuove funzionalità
- È stato effettuato un aggiornamento di Compose
1.1.0-alpha03in modo che dipenda da Kotlin1.5.30. (I74545)
Versione 1.1.0-alpha02
18 agosto 2021
androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02 e androidx.compose.animation:animation-graphics:1.1.0-alpha02 sono stati rilasciati. La versione 1.1.0-alpha02 contiene questi commit.
Modifiche alle API
- StartOffset è ora supportato in repeatable e infiniteRepeatable, come modo per ritardare l'ora di inizio o mandare avanti velocemente l'animazione prima che inizi. Questo offset iniziale non verrà ripetuto (Ic679f, b/195079908)
- Nuova transizione di entrata/uscita per la scala. Può essere utilizzato in combinazione con altri tipi di transizioni di entrata/uscita. (I372da, b/191325593)
Versione 1.1.0-alpha01
4 agosto 2021
androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01 e androidx.compose.animation:animation-graphics:1.1.0-alpha01 sono stati rilasciati. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche alle API
AnimatedImageVectore le API correlate si trovano ora nel nuovo moduloandroidx.compose.animation:animation-graphics. (I60873)
Correzioni di bug
- È stato spostato
InfiniteAnimationPolicyin :compose:ui (I5eb09, b/160602714)
Versione 1.0
Versione 1.0.5
3 novembre 2021
androidx.compose.animation:animation:1.0.5 e androidx.compose.animation:animation-core:1.0.5 sono stati rilasciati. La versione 1.0.5 contiene questi commit.
Correzioni di bug
- È stato corretto un arresto anomalo durante il monitoraggio delle istanze derivedStateOf. (aosp/1792247)
Versione 1.0.4
13 ottobre 2021
androidx.compose.animation:animation:1.0.4 e androidx.compose.animation:animation-core:1.0.4 sono stati rilasciati. La versione 1.0.4 contiene questi commit.
Aggiornamenti delle dipendenze
- È stato effettuato un aggiornamento in modo che dipenda da Kotlin
1.5.31
Versione 1.0.3
29 settembre 2021
androidx.compose.animation:animation:1.0.3 e androidx.compose.animation:animation-core:1.0.3 sono stati rilasciati. La versione 1.0.3 contiene questi commit.
Aggiornamenti delle dipendenze
- È stato effettuato un aggiornamento in modo che dipenda da Kotlin
1.5.30
Versione 1.0.2
1° settembre 2021
androidx.compose.animation:animation:1.0.2 e androidx.compose.animation:animation-core:1.0.2 sono stati rilasciati. La versione 1.0.2 contiene questi commit.
È stato effettuato un aggiornamento per supportare la release di Compose 1.0.2. Compose 1.0.2 è ancora compatibile con Kotlin 1.5.21.
Versione 1.0.1
4 agosto 2021
androidx.compose.animation:animation:1.0.1 e androidx.compose.animation:animation-core:1.0.1 sono stati rilasciati. La versione 1.0.1 contiene questi commit.
Aggiornamenti delle dipendenze
- È stato effettuato un aggiornamento in modo che dipenda da Kotlin
1.5.21.
Versione 1.0.0
28 luglio 2021
androidx.compose.animation:animation:1.0.0 e androidx.compose.animation:animation-core:1.0.0 sono stati rilasciati. La versione 1.0.0 contiene questi commit.
Funzionalità principali della versione 1.0.0
Questa è la prima release stabile di Compose. Per ulteriori dettagli, consulta il blog ufficiale delle release di Compose.
Problemi noti
Se utilizzi Android Studio Bumblebee Canary 4 o AGP
7.1.0-alpha04/7.1.0-alpha05, potresti riscontrare il seguente arresto anomalo:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"Per risolvere il problema, aumenta temporaneamente il valore minSdkVersion a 24 o superiore nel file
build.gradle. Questo problema verrà risolto nella prossima versione di Android Studio Bumblebee e AGP7.1. (b/194289155)
Versione 1.0.0-rc02
14 luglio 2021
androidx.compose.animation:animation:1.0.0-rc02 e androidx.compose.animation:animation-core:1.0.0-rc02 sono stati rilasciati. La versione 1.0.0-rc02 contiene questi commit.
Versione 1.0.0-rc01
1° luglio 2021
androidx.compose.animation:animation:1.0.0-rc01 e androidx.compose.animation:animation-core:1.0.0-rc01 sono stati rilasciati. La versione 1.0.0-rc01 contiene questi commit.
Correzioni di bug
- Spostato
InfiniteAnimationPolicyinandroidx.compose.ui:ui(I5eb09, b/160602714)
Versione 1.0.0-beta09
16 giugno 2021
androidx.compose.animation:animation:1.0.0-beta09 e androidx.compose.animation:animation-core:1.0.0-beta09 sono stati rilasciati. La versione 1.0.0-beta09 contiene questi commit.
Modifiche alle API
- Nuovo
AnimatedContentcomponibile. Gestisce la modifica dei contenuti utilizzandoContentTransformpersonalizzabili come nuovi contenuti target e i contenuti iniziali vengono rimossi. È possibile utilizzare diverse combinazioni di transizioni di entrata e uscita per ottenere un aspetto personalizzato. Nell'ambito della trasformazione dei contenuti,AnimatedContentanima automaticamente le sue dimensioni in modo che corrispondano ai contenuti in arrivo. (I2c3df) ManualFrameClockrimosso. Se devi controllare le animazioni, utilizzacomposeTestRule.mainClock. (I3c3e8, b/189951065)
Regole del profilo aggiunte
Questa release aggiunge regole del profilo ai seguenti moduli di composizione (I14ed6):
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
Che cosa sono le regole del profilo?
Le regole del profilo per una libreria sono specificate in un file di testo
baseline-prof.txtche si trova nella directorysrc/maino in una directory equivalente. Il file specifica una regola per riga, dove una regola in questo caso è un pattern per la corrispondenza con metodi o classi nella libreria. La sintassi di queste regole è un superset del formato del profilo ART leggibile, utilizzato quando si utilizzaadb shell profman --dump-classes-and-methods .... Queste regole assumono una delle due forme per scegliere come target metodi o classi.Una regola del metodo avrà il seguente pattern:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>Una regola della classe avrà il seguente pattern:
<CLASS_DESCRIPTOR>Qui
<FLAGS>è uno o più dei caratteriH,SePper indicare se questo metodo deve essere contrassegnato come "Hot", "Startup" o "Post Startup".<CLASS_DESCRIPTOR>è il descrittore della classe a cui appartiene il metodo di destinazione. Ad esempio, la classeandroidx.compose.runtime.SlotTableavrebbe un descrittore diLandroidx/compose/runtime/SlotTable;.<METHOD_SIGNATURE>è la firma del metodo e include il nome, i tipi di parametri e i tipi restituiti del metodo. Ad esempio, il metodofun isPlaced(): BooleansuLayoutNodeha la firmaisPlaced()Z.Questi pattern possono contenere caratteri jolly (
**,*e?) per consentire a una singola regola di includere più metodi o classi.
A cosa servono le regole?
Un metodo con il flag
Hindica che si tratta di un metodo "hot" e deve essere compilato in anticipo.Un metodo con il flag
Sindica che viene chiamato all'avvio e deve essere compilato in anticipo per evitare il costo della compilazione e dell'interpretazione del metodo all'avvio.Un metodo con il flag
Pindica che viene chiamato dopo l'avvio.Una classe presente in questo file indica che viene utilizzata durante l'avvio e deve essere preallocata nell'heap per evitare il costo del caricamento della classe.
Come funziona?
- Le librerie possono definire queste regole, che verranno incluse nei file AAR. Quando viene creata un'app che include questi artefatti, queste regole vengono unite e utilizzate per creare un profilo binario ART compatto specifico per l'app. ART può quindi sfruttare questo profilo quando l'app viene installata sui dispositivi per compilare in anticipo un sottoinsieme specifico dell'applicazione per migliorarne le prestazioni, in particolare la prima esecuzione. Tieni presente che questa operazione non avrà alcun effetto sulle applicazioni di cui è possibile eseguire il debug.
Versione 1.0.0-beta08
2 giugno 2021
androidx.compose.animation:animation:1.0.0-beta08 e androidx.compose.animation:animation-core:1.0.0-beta08 sono stati rilasciati. La versione 1.0.0-beta08 contiene questi commit.
Correzioni di bug
- Ora
detectDragGesures,detectVerticalGesturesedetectHorizontalGesturesutilizzeranno automaticamente la modifica della posizione, senza dover chiamare change.consumePositionChange nei callback onDrag (I42fc4, b/185096350, b/187320697) Modifier.onGloballyPositioned()è stato modificato per riportare le coordinate di questo modificatore nella catena di modificatori, non le coordinate del layout dopo l'applicazione di tutti i modificatori. Ciò significa che ora l'ordine dei modificatori influisce sulle coordinate che verranno riportate. (Ieb67d, b/177926591)
Versione 1.0.0-beta07
18 maggio 2021
androidx.compose.animation:animation:1.0.0-beta07 e androidx.compose.animation:animation-core:1.0.0-beta07 sono stati rilasciati. La versione 1.0.0-beta07 contiene questi commit.
Modifiche alle API
- Nuova API
AnimatedVisibilityche supporta la visibilità da specificare in unMutableTransitionState. Ciò consente inoltre di osservare gli stati dell'animazione esternamente aAnimatedVisibilitytramitecurrentStateeisIdle.- Nuovo supporto per la transizione dei bambini in Transition
- Supporta l'animazione di transizione personalizzata di entrata/uscita in AnimatedVisibility utilizzando AnimationScope.transition
- Nuovo modificatore animateEnterExit accessibile per tutti i figli di AnimatedVisibility
- Sono state ritirate le API AnimatedVisibility che accettano un parametro
initiallyVisible(I702f3)
Versione 1.0.0-beta06
5 maggio 2021
androidx.compose.animation:animation:1.0.0-beta06 e androidx.compose.animation:animation-core:1.0.0-beta06 sono stati rilasciati. La versione 1.0.0-beta06 contiene questi commit.
Versione 1.0.0-beta05
21 aprile 2021
androidx.compose.animation:animation:1.0.0-beta05 e androidx.compose.animation:animation-core:1.0.0-beta05 sono stati rilasciati. La versione 1.0.0-beta05 contiene questi commit.
Correzioni di bug
- I file AndroidManifest di ui-test-manifest e ui-tooling-data ora sono compatibili con Android 12 (I6f9de, b/184718994)
Versione 1.0.0-beta04
7 aprile 2021
androidx.compose.animation:animation:1.0.0-beta04 e androidx.compose.animation:animation-core:1.0.0-beta04 sono stati rilasciati. La versione 1.0.0-beta04 contiene questi commit.
Modifiche alle API
- Sono state rimosse le istanze pubbliche di
RowScope,ColumnScope,BoxScope,BoxWithConstraintsScope. (I4e83e, b/181869067)
Versione 1.0.0-beta03
24 marzo 2021
androidx.compose.animation:animation:1.0.0-beta03 e androidx.compose.animation:animation-core:1.0.0-beta03 sono stati rilasciati. La versione 1.0.0-beta03 contiene questi commit.
Versione 1.0.0-beta02
10 marzo 2021
androidx.compose.animation:animation:1.0.0-beta02 e androidx.compose.animation:animation-core:1.0.0-beta02 sono stati rilasciati. La versione 1.0.0-beta02 contiene questi commit.
Correzioni di bug
- Applica restrizioni all'utilizzo pubblico delle API sperimentali (I6aa29, b/174531520)
Versione 1.0.0-beta01
24 febbraio 2021
androidx.compose.animation:animation:1.0.0-beta01 e androidx.compose.animation:animation-core:1.0.0-beta01 sono stati rilasciati. La versione 1.0.0-beta01 contiene questi commit.
Questa è la prima release di Compose 1.0.0 Beta.
Modifiche alle API
InteractionStateè stato sostituito da[Mutable]InteractionSource- Le interfacce sono responsabili dell'emissione / raccolta degli eventi di interazione.
- Anziché passare
interactionState = remember { InteractionState() }a componenti comeButtoneModifier.clickable(), utilizzainteractionSource = remember { MutableInteractionSource() }. - Invece di:
Interaction.Pressed in interactionState, devi utilizzare le funzioni di estensione su InteractionSource, ad esempio InteractionSource.collectIsPressedAsState(). - Per casi d'uso complessi, puoi utilizzare InteractionSource.interactions per osservare il flusso di interazioni. Per saperne di più, consulta la documentazione e gli esempi di InteractionSource.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- I pacchetti dei metodi smoothScrollBy e scrollBy sono stati modificati in
androidx.compose.foundation.gestures.*(I3f7c1, b/175294473) - I modificatori di dimensioni sono stati rinominati. Modifier.width/height/size sono stati rinominati in requiredWidth/requiredHeight/requiredSize. Modifier.preferredWidth/preferredHeight/preferredSize sono stati rinominati in width/height/size. (I5b414)
- L'orientamento è stato spostato nel pacchetto di base. VelocityTracker è stato spostato da ui.gesture a ui.input.pointer. (Iff4a8, b/175294473)
- AnimationClockObservable e le relative sottoclassi sono stati rimossi. AnimatedFloat è stato rimosso. (Icde52, b/177457083)
- Modifier.draggable ora accetta DraggableState anziché una semplice espressione lambda. Puoi creare lo stato tramite
rememberDraggableState { delta -> }per ottenere lo stesso comportamento di prima (Ica70f, b/175294473) - Le API animate, animatedValue e AnimatedValue sono state rimosse (If27bc, b/177457083)
- AnimationEndReason.Interrupted viene rimosso. CancellationException verrà generata se l'animazione viene interrotta. (I2cbbc, b/179695417)
- L'API TargetAnimation è stata rimossa. (If47d1, b/177457083)
Versione 1.0.0-alpha12
10 febbraio 2021
androidx.compose.animation:animation:1.0.0-alpha12 e androidx.compose.animation:animation-core:1.0.0-alpha12 sono stati rilasciati. La versione 1.0.0-alpha12 contiene questi commit.
Modifiche alle API
Modifier.pointerInputora richiede chiavi di memorizzazione per indicare quando la coroutine di rilevamento dell'input del puntatore deve essere riavviata per nuove dipendenze. (I849cd)- Bounds è stato rinominato in DpRect (I4b32a)
- È stato unificato il nome del parametro per AnimationSpec in animationSpec nell'intero sistema di animazione. Inoltre, limita Enter/ExitTransition ad accettare FiniteAnimationSpec. (Ie47c5, b/177457083)
- Animatable.snapTo e Animatable.stop sono ora funzioni di sospensione (If4288)
- Analogamente a quanto fatto in precedenza con la rimozione del composable
state { 0 }e la promozione dell'utilizzo diremember { mutableStateOf(0) }, rimuoveremo il composablesavedInstanceState { 0 }. Devi utilizzarerememberSaveable { mutableStateOf(0) }, che salverà e ripristinerà automaticamente lo stato se il tipo utilizzato all'interno di MutableState può essere archiviato nel bundle. Se in precedenza passavi un oggetto di salvataggio personalizzato, ora devi utilizzare un nuovo overload di rememberSaveable che ha il parametrostateSaver. L'utilizzo sarà simile al seguente:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }(Ib4c26, b/177338004) - Aggiornamento della firma del metodo di dissolvenza incrociata per renderla più coerente con il resto del sistema di animazione. (Ib05ed, b/177457083)
- rememberSavedInstanceState() è stato rinominato in rememberSaveable() e spostato nel pacchetto androidx.compose.runtime.saveable. (I1366e, b/177338004)
- RestorableStateHolder è stato rinominato SaveableStateHolder e spostato nel pacchetto androidx.compose.runtime.saveable. Il metodo interno RestorableStateProvider è stato rinominato SaveableStateProvider. Il tipo generico è stato rimosso, quindi puoi passare Any come chiave. L'annotazione sperimentale non è più necessaria. (I0902e, b/174598702)
- È stata aggiornata l'API Modifier.animateContentSize per renderla coerente con il resto del sistema di animazione. (I0bf75, b/177457083)
- AnimatedValue/Float è ora deprecato. Utilizza invece Animatable. (I71345, b/177457083)
- tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter e pressIndicaitonGestureFilter sono stati ritirati. Utilizza invece Modifier.clickable o Modifier.pointerInput con la funzione detectTapGestures. (I6baf9, b/175294473)
- È stato introdotto un elemento di contesto della coroutine
InfiniteAnimationPolicyche verrà applicato nelle animazioni infinite. Per impostazione predefinita, non viene installato alcun criterio, tranne quando vengono eseguiti test conComposeTestRule. (I50ec4, b/151940543) - I metodi di destrutturazione e copia sono stati rimossi da diverse classi in cui venivano utilizzati di rado. (I26702, b/178659281)
- Il tempo di riproduzione nell'animazione è ora unificato in nanosecondi (If776a)
- L'artefatto compose:runtime-dispatch è ora ritirato. MonotonicFrameClock ora si trova in compose:runtime e AndroidUiDispatcher si trova in compose:ui. (Ib5c36)
- Sono stati aggiunti
Animation.isInfiniteeVectorizedAnimationSpec.isInfiniteche segnalano se un'animazione è infinita o meno. Può essere utilizzato nelle implementazioni di animazioni per gestire in modo speciale queste animazioni. Ad esempio, è possibile mostrare un messaggio speciale "tempo rimanente" oppure, durante i test, l'animazione può essere annullata per evitare di attendere indefinitamente l'inattività. (Iebb05, b/151940543) - Utilizza Long anziché Uptime come tipo di tempo di animazione (Ie3aa7, b/177420019)
Versione 1.0.0-alpha11
28 gennaio 2021
androidx.compose.animation:animation:1.0.0-alpha11 e androidx.compose.animation:animation-core:1.0.0-alpha11 sono stati rilasciati. La versione 1.0.0-alpha11 contiene questi commit.
Modifiche alle API
- La transizione basata su TransitionDefinition è stata ritirata (I0ac57)
- Viene aggiunto un campo etichetta per la transizione e le animazioni secondarie da visualizzare negli strumenti (I619fb)
- animateAsState è ora animateFooAsState, dove Foo è il tipo di variabile animata. Ad es. Float, Dp, Offset e così via (Ie7e25)
- Nuova InfiniteTransition che esegue un numero qualsiasi di animazioni secondarie. (I1da81)
- Modifica le interfacce dei parametri stateful di Material in modo che abbiano funzioni @Composable che restituiscono
State<T>. Aggiunge Animatable.asState() per semplificare la conversione di un Animatable in uno stato. Inoltre, modifica animateElevation in modo che sia un'estensione di sospensione su Animatable. (If613c)
Correzioni di bug
- onCommit, onDispose e onActive sono stati ritirati a favore delle API SideEffect e DisposableEffect (If760e)
- Ora è supportato Initial State in updateTransition (Ifd51d)
- Il parametro di descrizione dei contenuti è stato aggiunto all'immagine e all'icona. Viene utilizzato per fornire una descrizione ai servizi di accessibilità (I2ac4c).
- invalidate e compositionReference() sono ora ritirati a favore di currentRecomposeScope e rememberCompositionReference rispettivamente. (I583a8)
- Durata e Uptime verranno sostituiti da Millisecondi lunghi e questo passaggio rimuove la dipendenza dell'input del puntatore da queste classi. (Ia33b2, b/175142755, b/177420019)
- Gli elementi selezionabili, attivabili/disattivabili e su cui è possibile fare clic ora possono essere creati al di fuori della composizione (I0a130, b/172938345, b/175294473)
- L'easing è stato modificato in un'interfaccia funzionale (Ib14e5)
- Nuovo metodo di fabbrica
items(count: Int)per l'ambito di LazyColumn/LazyRow/LazyVerticalGrid.items(items: List)eitemsIndexed(items: List)ora sono funzioni di estensione, quindi devi importarle manualmente quando le utilizzi. Nuovi overload di estensione per gli array: items(items: Array) e itemsIndexed(Array) (I803fc, b/175562574) - Utilizza TestCoroutineDispatcher nei test (I532b6)
- Rimozione di PointerInputData e modifica di PointerInputChange per fornire tutti i campi di PointerInputData. PointerInputEvent e PointerInputEventData sono stati resi interni perché non vengono utilizzati in nessuna API pubblica. (Ifff97, b/175142755)
Versione 1.0.0-alpha10
13 gennaio 2021
androidx.compose.animation:animation:1.0.0-alpha10 e androidx.compose.animation:animation-core:1.0.0-alpha10 sono stati rilasciati. La versione 1.0.0-alpha10 contiene questi commit.
Modifiche alle API
- Modifica di Velocity per includere componenti e operazioni matematiche. (Ib0447)
@ExperimentalTestingè stato rinominato in@ExperimentalTestApiper coerenza con annotazioni API sperimentali simili (Ia4502, b/171464963)- Rinomina di Position in DpOffset e rimozione di getDistance() (Ib2dfd)
- Rimossa l'API pubblica Any.identityHashCode() (I025d7)
Correzioni di bug
- Nuova API basata su coroutine
Animatableche garantisce l'esclusività reciproca tra le animazioni. Nuova DecayAnimationSpec per supportare l'animazione di decadimento multidimensionale (I820f2, b/168014930) animate()è ora sostituito daanimateAsState(), che restituisce unState<T>anziché unT. Ciò consente prestazioni migliori, in quanto l'ambito di invalidazione può essere ristretto al punto in cui viene letto il valore State. (Ib179e)
Versione 1.0.0-alpha09
16 dicembre 2020
androidx.compose.animation:animation:1.0.0-alpha09 e androidx.compose.animation:animation-core:1.0.0-alpha09 sono stati rilasciati. La versione 1.0.0-alpha09 contiene questi commit.
Modifiche alle API
- Dp.VectorConverter, Position.VectorConverter e così via sono stati spostati in animation-core e i vecchi VectorConverter (If0c4b) sono stati ritirati.
- È stato introdotto un nuovo set di API Transition con una maggiore facilità d'uso e il supporto di animazioni aggiunte dinamicamente e di destinazioni di animazione calcolate dinamicamente. Queste API sono contrassegnate come sperimentali per differenziarle facilmente dall'API basata su TransitionDefinition. (Ia7fe3)
Correzioni di bug
- Le espressioni lambda nei modificatori di offset ora restituiscono IntOffset anziché Float. (Ic9ee5, b/174137212, b/174146755)
- Ritira LazyColumnFor, LazyRowFor, LazyColumnForIndexed e LazyRowForIndexed. Utilizza invece LazyColumn e LazyRow (I5b48c)
- Per sospendere le API di input del puntatore, è stato rinominato HandlePointerInputScope in AwaitPointerEventScope e handlePointerInput() in awaitPointerEventScope(). (Idf0a1, b/175142755)
- Nuova funzione infiniteRepeatable per creare un oggetto InfiniteRepeatableSpec (I668e5)
- Rimossa l'annotazione ExperimentalPointerInput (Ia7a24)
Versione 1.0.0-alpha08
2 dicembre 2020
androidx.compose.animation:animation:1.0.0-alpha08 e androidx.compose.animation:animation-core:1.0.0-alpha08 sono stati rilasciati. La versione 1.0.0-alpha08 contiene questi commit.
Modifiche alle API
- È stato aggiunto il controllo lint per la denominazione e la posizione dei parametri lambda componibili, per verificare la coerenza con le linee guida di Compose.
Inoltre, sono state migrate alcune API utilizzando
childrencome nome per la lambda finale incontent, in base al controllo lint e alle indicazioni. (Iec48e) - Le API deprecate in precedenza sono state rimosse:
Modifier.onPositionedè stato rimosso, utilizzaModifier.onGloballyPositioned.Modifier.onDrawè stato rimosso, utilizzaModifier.onDrawBehind.Modifier.plusè stato rimosso, utilizzaModifier.then.Color.Unsetè stato rimosso, utilizzaColor.Unspecified.- La classe
PxBoundsè stata rimossa; utilizzaRect. - (Ie9d02, b/172562222)
- È stata aggiunta temporaneamente l'opzione per consentire a TestAnimationClock di essere controllato da MonotonicFrameClock (I1403b, b/173402197)
Correzioni di bug
- È stato rinominato Modifier.drawLayer in Modifier.graphicsLayer. Sono state aggiornate anche le classi correlate a GraphicsLayer in base al feedback del consiglio API. (I0bd29, b/173834241)
- Aggiunte API Modifier.scale/rotate
come comodità per drawLayer.
- Rinomina Modifier.drawOpacity in Modifier.alpha
- Ridenominazione di Modifier.drawShadow in Modifier.shadow (I264ca, b/173208140)
- I campi uptime e posizione di PointerInputData non sono più nullabili. (Id468a)
- I modificatori offsetPx sono stati rinominati in offset. Ora accettano i parametri lambda anziché lo stato. (Ic3021, b/173594846)
- Nuove API per l'esecuzione di animazioni nelle coroutine (Ied662)
- Gli Ambients ritirati con
Ambientcome suffisso sono stati sostituiti con nuove proprietà con il prefisso Ambient, seguendo le altre linee guida per Ambients e l'API Compose. (I33440) - Il controllo del tempo nei test (TestAnimationClock e i relativi utilizzi) è ora sperimentale (I6ef86, b/171378521)
- Rimuovi il vecchio modulo ui-test e i relativi stub (I3a7cb)
- La funzione
RestorableStateHolder.withRestorableStateè stata rinominata inRestorableStateProvider(I66640) - L'interfaccia di allineamento è stata aggiornata e resa funzionale. (I46a07, b/172311734)
Versione 1.0.0-alpha07
11 novembre 2020
androidx.compose.animation:animation:1.0.0-alpha07 e androidx.compose.animation:animation-core:1.0.0-alpha07 sono stati rilasciati. La versione 1.0.0-alpha07 contiene questi commit.
Correzioni di bug
- Le classi AmbientTextStyle, ProvideTextStyle e AmbientContentColor sono state ritirate. Utilizza invece le nuove versioni disponibili nella raccolta Materiali. Per le applicazioni non Material, devi invece creare un tuo sistema di progettazione con ambienti di temi specifici che possono essere utilizzati nei tuoi componenti. (I74acc, b/172067770)
- foundation.Text è stato ritirato e sostituito con material.Text. Per un'API di testo di base e non soggettiva che non utilizza valori di un tema, consulta androidx.compose.foundation.BasicText. (If64cb)
- MeasureResult è stato spostato fuori da MeasureScope. (Ibf96d, b/171184002)
- Diversi simboli correlati al layout sono stati spostati da androidx.compose.ui ad androidx.compose.layout.ui. (I0fa98, b/170475424)
Versione 1.0.0-alpha06
28 ottobre 2020
androidx.compose.animation:animation:1.0.0-alpha06 e androidx.compose.animation:animation-core:1.0.0-alpha06 sono stati rilasciati. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche alle API
- Attiva le transizioni in ComposeTestRule; rimuovi l'opzione per attivare il cursore lampeggiante da ComposeTestRule. (If0de3)
Versione 1.0.0-alpha05
14 ottobre 2020
androidx.compose.animation:animation:1.0.0-alpha05 e androidx.compose.animation:animation-core:1.0.0-alpha05 sono stati rilasciati. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche alle API
- Nuova interfaccia e sottoclassi di animazione: queste classi memorizzano le condizioni iniziali e finali delle animazioni e pertanto consentono di eseguire query su valore e velocità solo tramite il tempo di riproduzione (Ie95bd, b/163329867)
Correzioni di bug
- OnPositionedModifier è stato rinominato in OnGloballyPositionedModifier e onPositioned() è stato rinominato in onGloballyPositioned(). (I587e8, b/169083903)
Depreca le API contentColor() e currentTextStyle() e le sostituisce rispettivamente con gli ambient AmbientContentColor e AmbientTextStyle. Puoi accedere al valore corrente utilizzando
.currentnella proprietà ambient, come per qualsiasi altro ambient. Questa modifica è stata apportata per coerenza e per evitare di avere più modi per ottenere lo stesso risultato. Inoltre, rinomina alcune proprietà ambientali per descriverne meglio lo scopo come segue:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
Versione 1.0.0-alpha04
1° ottobre 2020
androidx.compose.animation:animation:1.0.0-alpha04 e androidx.compose.animation:animation-core:1.0.0-alpha04 sono stati rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Modifiche alle API
- Annota rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled e textInputServiceFactory con @VisibleForTesting, rendili API interne e nascondi la relativa documentazione KDoc (I554eb, b/168308412)
Correzioni di bug
- Aggiornamento di molte API grafiche
- Aggiornamento delle API di trasformazione di scala e rotazione per utilizzare un singolo parametro Offset per rappresentare la coordinata del punto di rotazione anziché parametri float separati per le coordinate x/y in DrawScope e DrawTransform
- Rimossi i metodi Rect.expandToInclude e Rect.join
- Aggiornamento della documentazione sul raggio per indicare ovale oltre a ellittico
- È stata aggiunta la documentazione per indicare che il costruttore pubblico per la classe Radius incorporata non deve essere chiamato direttamente, ma gli oggetti Radius devono essere istanziati tramite i relativi costruttori di funzioni
- Sono state rimosse le API RoundRect per eseguire query su topRight, bottomRight, bottomCenter e così via.
- Rect.shift ritirato a favore di Rect.translate
- Sono state rimosse le API RoundRect.grow e Rect.shrink
- È stato rinominato RoundRect.outerRect in Rect.boundingRect
- Rimossi i metodi RoundRect.middleRect/tallMiddleRect/wideMiddleRect e Rect.isStadium
- Rinominato RoundRect.longestSide in RoundRect.maxDimension
- Rinominato RoundRect.shortestSide in RoundRect.minDimension
- RoundRect.center è ora una proprietà anziché una funzione
- Aggiornamento del costruttore RoundRect per utilizzare le proprietà Radius anziché i singoli parametri per i valori del raggio x/y
- Sono state rimosse le API Size che presupponevano che si trattasse di un rettangolo con origine in 0,0
- È stata aggiunta un'API di distruzione a Radius
- È stata eseguita la migrazione di varie funzioni di estensione RoundRect in modo che siano invece proprietà
- (I8f5c7, b/168762961)
- foundation.Box è stato ritirato. Utilizza invece foundation.layout.Box. (Ie5950, b/167680279)
- L'elenco filtri è stato rinominato in Box. Il Box esistente verrà ritirato a favore del nuovo Box in compose.foundation.layout. Il comportamento della nuova casella è quello di impilare gli elementi secondari uno sopra l'altro quando ne ha più di uno. Questo è diverso dalla casella precedente, che si comportava in modo simile a una colonna. (I94893, b/167680279)
- I parametri di decorazione del riquadro sono stati ritirati. Se vuoi aggiungere decorazioni/spazi interni alla casella, utilizza i modificatori (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279)
- Abbiamo impedito le importazioni statiche dei contenuti degli ambiti di layout (ad es. alignWithSiblings in RowScope). Deve essere utilizzata l'alternativa di ambito esplicito:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)
Versione 1.0.0-alpha03
16 settembre 2020
androidx.compose.animation:animation:1.0.0-alpha03 e androidx.compose.animation:animation-core:1.0.0-alpha03 sono stati rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Correzioni di bug
- Gli utilizzi di gravity sono stati rinominati in modo coerente in align o alignment nelle API di layout. (I2421a, b/164077038)
Versione 1.0.0-alpha02
2 settembre 2020
androidx.compose.animation:animation:1.0.0-alpha02 e androidx.compose.animation:animation-core:1.0.0-alpha02 sono stati rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche alle API
È stato aggiunto
ManualFrameClock.hasAwaitersper verificare se qualcosa è in attesa di un frame da quell'orologio;runWithManualClockcome sostituzione dirunBlockingdurante l'esecuzione di test che richiedono un ManualFrameClock;TestUiDispatcher.Mainche consente di accedere facilmente al dispatcher dell'interfaccia utente principale nei test.Ad esempio:
@Test fun myTest() = runWithManualClock { clock -> // set some compose content withContext(TestUiDispatcher.Main) { clock.advanceClock(1000L) } if (clock.hasAwaiters) { println("The clock has awaiters") } else { println("The clock has no more awaiters") } }
Correzioni di bug
onPreCommit è deprecato; onCommit ora ha il comportamento di onPreCommit.
onCommit e onActive ora vengono eseguiti nello stesso frame del coreografo in cui vengono applicate le modifiche alla composizione, anziché all'inizio del frame del coreografo successivo. (I70403)
Versione 1.0.0-alpha01
26 agosto 2020
androidx.compose.animation:animation:1.0.0-alpha01 e androidx.compose.animation:animation-core:1.0.0-alpha01 sono stati rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Versione 0.1.0-dev
Versione 0.1.0-dev17
19 agosto 2020
androidx.compose.animation:animation:0.1.0-dev17 e androidx.compose.animation:animation-core:0.1.0-dev17 sono stati rilasciati. La versione 0.1.0-dev17 contiene questi commit.
Nuove funzionalità
Modifiche alle API
- L'offset è diventato una classe inline (Iaec70)
- IntOffset è ora una classe inline (Iac0bf)
- IntSize è ora una classe inline (I2bf42)
Il componente componibile AnimatedVisibilty anima la comparsa e la scomparsa dei contenuti secondari.
EnterTransition e ExitTransition vengono introdotti per funzionare con il composable AnimatedVisibilty per fornire tre diversi tipi di animazione di comparsa e scomparsa: dissolvenza, scorrimento ed espansione/riduzione dei contenuti. I diversi tipi di animazioni possono essere combinati per ottenere un aspetto più personalizzato. (Idda11)
PxBounds è stato ritirato a favore di Rect. Sono stati aggiornati tutti gli utilizzi di PxBounds con rect e sono state aggiunte annotazioni di deprecazione/sostituzione appropriate per facilitare la migrazione. (I37038, b/162627058)
Correzioni di bug
PlacementScope.placeAbsolute()è stato rinominato inPlacementScope.place()e il precedentePlacementScope.place()è stato rinominato inPlacementScope.placeRelative(). Di conseguenza, il metodoPlacementScope.place()non rifletterà più automaticamente la posizione nei contesti da destra a sinistra. Se vuoi, utilizzaPlacementScope.placeRelative(). (I873ac, b/162916675)- Il composable
state { ... }è ora ritirato a favore di chiamate esplicite aremember { mutableStateOf(...) }per maggiore chiarezza. In questo modo si riduce la superficie complessiva dell'API e il numero di concetti per la gestione dello stato e si adatta al patternby mutableStateOf()per la delega delle proprietà delle classi. (Ia5727)
Versione 0.1.0-dev16
5 agosto 2020
androidx.compose.animation:animation:0.1.0-dev16 e androidx.compose.animation:animation-core:0.1.0-dev16 sono stati rilasciati. La versione 0.1.0-dev16 contiene questi commit.
Modifiche alle API
- I convertitori di vettori integrati per convertire le unità integrate
sono ora accessibili tramite
Foo.VectorConverter. ad es.Dp.VectorConverter,Color.VectorConverter,Float.VectorConverter, ecc. (I3e273) - Supporta il listener di fine in
Modifier.animateContentSize()in modo che al termine dell'animazione di modifica delle dimensioni, il listener riceva una notifica, insieme alle dimensioni iniziali e finali dell'animazione. (I277b2) - Nuovo modificatore animateContentSize che anima la modifica delle dimensioni del layout del modificatore figlio (Ieffdc)
È stato aggiunto
MonotonicFrameAnimationClockche consente di utilizzare un MonotonicFrameClock comeAnimationClockObservableper colmare il divario tra i nuovi orologi basati su coroutine e le API che utilizzano ancora i vecchi orologi basati su callback.L'equivalente di
ManualAnimationClockinMonotonicFrameClockè oraManualFrameClock. (I111c7, b/161247083)
Correzioni di bug
- Le API per il supporto della scrittura da destra a sinistra sono state aggiornate. È stato aggiunto LayoutDirectionAmbient, che può essere utilizzato per leggere e modificare la direzione del layout. Modifier.rtl e Modifier.ltr sono stati rimossi. (I080b3)
- Richiedi che il tipo T sia specificato in modo esplicito per transitionDefinition. (I1aded)
- Il pacchetto foundation.shape.corner è stato appiattito in foundation.share (I46491, b/161887429)
- Modifier.plus è deprecato, utilizza invece Modifier.then. "Poi" ha un segnale di ordinamento più forte e impedisce anche di digitare
Modifier.padding().background() + anotherModifier, che interrompe la catena e rende più difficile la lettura (Iedd58, b/161529964) - Modifier.drawBackground è stato rinominato in Modifier.background (I13677)
Versione 0.1.0-dev15
22 luglio 2020
androidx.compose.animation:animation:0.1.0-dev15 e androidx.compose.animation:animation-core:0.1.0-dev15 sono stati rilasciati. La versione 0.1.0-dev15 contiene questi commit.
Aggiornamento delle dipendenze
- Per utilizzare la versione
0.1.0-dev15di Compose, devi aggiornare le dipendenze in base ai nuovi snippet di codice mostrati sopra nella sezione Dichiarazione delle dipendenze.
Modifiche alle API
- L'API Transition è stata modificata per restituire un TransitionState anziché passarlo ai publisher secondari. In questo modo, l'API è più coerente con le API animate(). (I24e38)
- Parametro modificatore aggiunto per la dissolvenza incrociata (I87cfe, b/159706180)
- Utilizza AnimationSpec anziché AnimationBuilder nelle API di primo livello
per chiarire il concetto di specifica dell'animazione statica
- Migliora la transizione DSL rimuovendo il requisito lambda per la creazione di AnimationSpec come tween e spring. ma accettano direttamente i parametri del costruttore.
- Migliora la facilità d'uso complessiva di AnimationSpec aprendo costruttori anziché affidarsi a builder
- Modifica la durata e il ritardo per KeyFrames e Tween in Int. In questo modo vengono eliminate conversioni di tipo e sovraccarichi di metodi non necessari (per supportare sia Long che Int). (Ica0b4)
- Sostituito l'utilizzo di IntPx con Int. Sostituito IntPxPosition con IntOffset. IntPxSize è stato sostituito con IntSize. (Ib7b44)
- Per consolidare il numero di classi utilizzate per rappresentare le informazioni sulle dimensioni, standardizza l'utilizzo della classe Size anziché PxSize. Ciò offre i vantaggi di una classe inline per sfruttare un valore long per comprimere due valori float per rappresentare larghezza e altezza rappresentate come valori float. (Ic0191)
- Per consolidare il numero di classi utilizzate per rappresentare le informazioni sul posizionamento, standardizza l'utilizzo della classe Offset anziché PxPosition. In questo modo, puoi sfruttare i vantaggi di una classe inline per utilizzare un valore long per comprimere due valori float per rappresentare gli offset x e y rappresentati come valori float. (I3ad98)
- È stato sostituito l'utilizzo della classe Px in varie classi Compose nell'ambito del grande refactoring per fare affidamento solo su Dp e sui tipi primitivi per i parametri dei pixel (I086f4)
- Aggiunto il supporto di animate() per Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds e AnimationVector (Ib7518)
- Crossfade ora accetta il parametro facoltativo AnimationBuilder per consentire la configurazione dell'animazione (I6d6e0)
- Sono stati sostituiti tutti gli utilizzi di Color che accettano valori null nell'API con valori non nulli e viene utilizzato Color.Unset al posto di null (Iabaa7)
- Rimossa la classe ValueHolder. Ristrutturate le classi AnimatedValue e AnimatedFloat per
rendere astratto il campo del valore dell'animazione in modo che le sottoclassi possano osservare l'aggiornamento del valore.
- Sono state aggiunte classi di modelli per AnimatedValue, AnimatedFloat e così via.
- È stato aggiunto un nuovo set di API @Composable leggere per l'animazione tra i valori. (I79530)
- Modifiche che causano interruzioni all'API ambients. Per maggiori dettagli, consulta la documentazione relativa ai log e a
Ambient<T>(I4c7ee, b/143769776) - Nuova modalità di ripetizione: Inversa. Questa modalità inverte l'iterazione precedente man mano che l'animazione si ripete in RepeatableSpec o VectorizedRepeatableSpec. (Ibe0f5)
- Aggiunte all'API ManualAnimationClock:
hasObservers: Booleane parametro del costruttoredispatchOnSubscribe: Boolean(Iaa134) - Aggiunte API per ottenere i limiti minimi/massimi in AnimatedFloat (Icd9cc)
Correzioni di bug
runOnIdleComposerinominato inrunOnIdle(I83607)- Diverse API di test sono state rinominate per essere più intuitive. Tutte le API findXYZ sono state rinominate in onNodeXYZ. Tutte le API doXYZ sono state rinominate in performXYZ. (I7f164)
- Sono state introdotte API di animazione stateless di basso livello. Queste API (I63bf7)
- Il composable Recompose non è più un'astrazione utile. La maggior parte della ricomposizione dovrebbe avvenire in seguito alle assegnazioni di MutableState. Per qualsiasi altro elemento, ti consigliamo di utilizzare la funzione
invalidateper attivare una ricomposizione dell'ambito corrente. (Ifc992) - È stato sostituito l'utilizzo della classe Px in varie classi Compose nell'ambito del grande refactoring per fare affidamento solo su Dp e tipi primitivi per i parametri dei pixel. Eliminazione dell'intera classe Px (I3ff33)
- È stato sostituito l'utilizzo della classe Px in varie classi Compose nell'ambito del grande refactoring per fare affidamento solo su Dp e sui tipi primitivi per i parametri dei pixel (Id3434)
- Ora Crossfade può funzionare con null come valore iniziale (Iad6a4, b/155947711)
- È stato sostituito l'utilizzo della classe Px in varie classi Compose nell'ambito del grande refactoring per fare affidamento solo su Dp e tipi primitivi per i parametri dei pixel (I19d02)
- Implementazioni consolidate di CanvasScope Ora sono disponibili solo DrawScope e ContentDrawScope CanvasScope è stato rinominato DrawScope. DrawScope è stato aggiornato per implementare l'interfaccia Density e fornire LayoutDirection. La sottoclasse DrawScope è stata eliminata in ContentDrawScope. Painter e PainterModifier sono stati aggiornati per non mantenere più una proprietà RTL, in quanto DrawScope la fornisce già senza doverla specificare manualmente (I1798e).
- API Compose di livello superiore aggiornate che espongono un Canvas per esporre invece CanvasScope. In questo modo i consumatori non devono più gestire i propri oggetti Paint. Per i consumatori che hanno ancora bisogno di accedere a un canvas, possono utilizzare il metodo drawCanvas dell'estensione, che fornisce un callback per emettere comandi di disegno con il canvas sottostante. (I80afd)
- Sono stati aggiunti i parametri verticalGravity e horizontalGravity rispettivamente a Riga e Colonna. (I7dc5a)
- Il modulo ui-text viene rinominato ui-text-core (I57dec)
- Migliora l'API DrawModifier:
- È stato creato l'ambito del destinatario per draw() ContentDrawScope
- Rimossi tutti i parametri in draw()
- DrawScope ha la stessa interfaccia del precedente CanvasScope
- ContentDrawScope ha il metodo drawContent() (Ibaced, b/152919067)
runOnIdleComposeerunOnUiThreadsono ora funzioni globali anziché metodi di ComposeTestRule. (Icbe8f)- Gli operatori delegati della proprietà [Mutable]State sono stati spostati nelle estensioni
per supportare le ottimizzazioni dei delegati della proprietà Kotlin 1.4. I chiamanti devono aggiungere
importazioni per continuare a utilizzare
by state { ... }oby mutableStateOf(...). (I5312c) - ColoredRect è stato ritirato. Utilizza invece
Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731) - Sostituzione dell'operatore Modifier plus con le funzioni di estensione della fabbrica (I225e4)
- Composable Center deprecato. Deve essere sostituito con il modificatore LayoutSize.Fill + LayoutAlign.Center oppure con uno dei composable Box o Stack a cui sono stati applicati modificatori adatti (Idf5e0).
- Layout flessibile rinominato in LayoutWeight. Il parametro stretto è stato rinominato in riempimento. (If4738)
- La funzione componibile Opacity è stata sostituita con il modificatore drawOpacity. (I5fb62)
- I test che utilizzano AndroidComposeTestRule ora forniscono un orologio di animazione alla radice della composizione che consente di metterla in pausa, riprenderla e farla avanzare manualmente. (Id54c5)
- Supportare la direzione da destra a sinistra nel modificatore LayoutPadding (I9e8da)
- Density e DensityScope sono stati uniti in un'unica interfaccia. Anziché ambientDensity(), ora puoi utilizzare DensityAmbient.current. Invece di withDensity(density), usa with(density) (I11cb1)
- Sono stati aggiunti metodi di copia a vari
tipi di classi inline, tra cui:
- Offset
- Dimensioni
- Raggio
- Movimento
- TransformOrigin
- È stato ritirato il metodo dell'oggetto complementare Size.copy a favore del metodo di copia dell'istanza (Ife290, b/159905651)
- androidx.compose.ViewComposer è stato spostato in androidx.ui.node.UiComposer
androidx.compose.Emittable è stato rimosso. Era ridondante con ComponentNode.
androidx.compose.ViewAdapters è stato rimosso. Non sono più un caso d'uso supportato.
Compose.composeInto è stato ritirato. Utilizza invece
setContentosetViewContent. Compose.disposeComposition è stato ritirato. Utilizza invece il metododisposesuCompositionrestituito dasetContent. androidx.compose.Compose.subcomposeInto è stato spostato in androidx.ui.core.subcomposeInto ComponentNode#emitInsertAt è stato rinominato in ComponentNode#insertAt ComponentNode#emitRemoveAt è stato rinominato in ComponentNode#removeAt ComponentNode#emitMode è stato rinominato in ComponentNode#move (Idef00)