Compose Animation
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(consulta la documentazione di riferimento dell'API per tutti i pacchetti di composizione)
Ultimo aggiornamento | Release stabile | Release Candidate | Versione beta | Versione alpha |
---|---|---|---|---|
11 dicembre 2024 | 1.7.6 | - | - | 1.8.0-alpha07 |
Struttura
Compose è una combinazione di 7 ID gruppo Maven in androidx
. Ogni gruppo contiene un sottoinsieme mirato di funzionalità, ciascuna con il proprio insieme di note di rilascio.
Questa tabella illustra i gruppi e i link a ogni set di note di rilascio.
Gruppo | Descrizione |
---|---|
compose.animation | Creare animazioni nelle loro applicazioni Jetpack Compose per arricchire l'esperienza utente. |
compose.compiler | Trasforma le funzioni @Composable e abilita le ottimizzazioni con un plug-in del compilatore Kotlin. |
compose.foundation | Scrivi applicazioni Jetpack Compose con componenti di base pronti all'uso ed espandi la base per creare i componenti del tuo sistema di progettazione. |
compose.material | Crea interfacce utente Jetpack Compose con componenti Material Design pronti all'uso. Si tratta del punto di contatto di primo livello di Compose, progettato per fornire componenti corrispondenti a quelli descritti all'indirizzo www.material.io. |
compose.material3 | Crea interfacce utente Jetpack Compose con i componenti Material Design 3, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati e funzionalità di personalizzazione di Material You come i colori dinamici ed è progettato per essere coerente con il nuovo stile visivo e l'interfaccia utente di sistema di Android 12. |
compose.runtime | Componenti di base del modello di programmazione e della gestione dello stato di Compose, nonché del runtime di base per il plug-in del compilatore di Compose come target. |
compose.ui | Componenti fondamentali dell'interfaccia utente di composizione necessari per interagire con il dispositivo, inclusi layout, disegno e input. |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza da Compose, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.7.5" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.7.5") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, 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 del Monitoraggio problemi.
Versione 1.8
Versione 1.8.0-alpha07
11 dicembre 2024
androidx.compose.animation:animation-*:1.8.0-alpha07
viene rilasciato. La versione 1.8.0-alpha07 contiene questi commit.
Nuove funzionalità
- Supporta la funzionalità di sguardo avanti in Pager, differenziando il passaggio di sguardo avanti dal passaggio di approccio per conservare gli elementi e utilizzare 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 situ almeno una volta prima di essere visualizzato in overlay. (b/371802474)
Versione 1.8.0-alpha06
13 novembre 2024
androidx.compose.animation:animation-*:1.8.0-alpha06
viene rilasciato. La versione 1.8.0-alpha06 contiene questi commit.
Modifiche all'API
- È stato aggiornato il nome del parametro
sharedElement
dastate
asharedContentState
per 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
viene 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 sguardo avanti e il passaggio di approccio nello scorrimento, nella composizione/eliminazione degli elementi e nell'animazione degli elementi e utilizza il passaggio di sguardo avanti come origine attendibile per lo scorrimento e come target dell'animazione degli elementi.
Correzioni di bug
- Aggiorna gli stati interni per la trasformazione delle dimensioni di
AnimatedContent
quando 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
viene 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 transizione in determinate frazioni di tempo.
- È stato corretto un bug che causava un allineamento improprio per
Modifier.animateContentSize
in RTL. (Idae6b, b/372055503)
Versione 1.8.0-alpha03
2 ottobre 2024
androidx.compose.animation:animation-*:1.8.0-alpha03
viene rilasciato. La versione 1.8.0-alpha03 contiene questi commit.
Modifiche all'API
- Aggiornamento della versione di Kotlin alla 1.9 (I1a14c)
Correzioni di bug
- È stato risolto un problema nell'animazione delle dimensioni di
AnimatedContent
monitorando 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
viene 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
viene rilasciato. La versione 1.8.0-alpha01 contiene questi commit.
Nuove funzionalità
- Nuova API
Modifier.animateBounds
per animare le modifiche di dimensioni e posizione all'interno di un ambito di previsione. 94b9394
Modifiche all'API
- Rimuovere i flag sperimentali sui fotogrammi chiave con archi e curve spline (89e1199)
Correzioni di bug
- Salta la logica
placeHolderSize
quando non viene trovata alcuna corrispondenza (77c0160) - Impostare un limite alla durata della riproduzione in
AndroidFlingSpline
per evitare arresti anomali dovuti a una durata della riproduzione non monotonamente crescente(9d47587) - Correzione del mancato disegno di elementi in
SharedTransitionScope
in determinate condizioni (b41077b6)
Contributo esterno
- Evitare di impostare la transizione selezionabile
playTime
quando non è in esecuzione alcuna transizione di Steven Schoen. (c2e6e7e6)
Versione 1.7
Versione 1.7.6
11 dicembre 2024
androidx.compose.animation:animation-*:1.7.6
viene rilasciato. La versione 1.7.6 contiene questi commit.
Versione 1.7.5
30 ottobre 2024
androidx.compose.animation:animation-*:1.7.5
viene rilasciato. La versione 1.7.5 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava un allineamento improprio per
Modifier.animateContentSize
in RTL. (Idae6b, b/372055503)
Versione 1.7.4
16 ottobre 2024
androidx.compose.animation:animation-*:1.7.4
viene rilasciato. La versione 1.7.4 contiene questi commit.
Versione 1.7.3
2 ottobre 2024
androidx.compose.animation:animation-*:1.7.3
viene rilasciato. La versione 1.7.3 contiene questi commit.
Versione 1.7.2
18 settembre 2024
androidx.compose.animation:animation-*:1.7.2
viene rilasciato. La versione 1.7.2 contiene questi commit.
Contributo esterno
- Evita di impostare la transizione selezionabile
playTime
quando non è in esecuzione alcuna transizione. Grazie Steven Schoen. (c2e6e7e6)
Versione 1.7.1
10 settembre 2024
- Nessuna modifica agli elementi Android. Sono stati rimossi
-desktop
elementi e aggiunti-jvmStubs
e-linuxx64Stubs
elementi. Nessuno di questi target è destinato all'uso, ma sono segnaposto per supportare JetBrains Compose.
Versione 1.7.0
4 settembre 2024
androidx.compose.animation:animation-*:1.7.0
viene 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 sono pronte per essere utilizzate e per ricevere i tuoi feedback. Queste nuove API sperimentali consentono di taggare i layout come condivisi nella struttura del layout utilizzando i modificatori forniti, producendo limiti che cambiano gradualmente quando un insieme di contenuti condivisi esce e l'altro entra. (Icb0b9)
- Nuovi
scaleInSharedContentToBounds
escaleOutSharedContentToBounds
per scalare i contenuti insharedBounds
(I731c1) SharedTransitionScope
sperimentale ora è un'interfaccia anziché una classe. (Iaf856)- Nuovi
resizeModes
(ScaleToBounds
eRemeasureToBounds
) persharedBounds
per scegliere tra ridimensionamento e nuova misurazione. Le APIscaleIn/OutSharedContentToBounds
precedenti sono state ritirate. (I0d41a)
Miglioramenti alle API esistenti:
- Nuovo
Modifier.animateContentSize
che accetta un parametro aggiuntivo per l'allineamento dei contenuti personalizzati. (I5623a, b/269803907) - Nuova funzionalità sperimentale
DeferredTargetAnimation
per animare dimensioni, posizione o qualsiasi altro target sconosciuto durante l'inizializzazione. (I60745) SeekableTransitionState
sostituiscesnapTo()
conseekTo()
e aggiunge unsnapTo()
che modifica 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 della spline siano uguali. Utile per animazioni ripetibili che utilizzano spline. La bias indica quanto viene modificata ogni velocità (iniziale e finale) 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)ApproachLayoutModifierNode
eModifier.approachLayout
sono ora stabili, con i nuoviisMeasurementApproachInProgress()
eisPlacementApproachInProgress()
che sostituiscono rispettivamente i vecchiisMeasurementApproachComplete()
eisPlacementApproachComplete()
.- È stato rimosso il modificatore
intermediateLayout
obsoleto. (I3e91c) - Le API
LookaheadScope
sono state rese stabili. (I21507)
Versione 1.7.0-rc01
21 agosto 2024
androidx.compose.animation:animation-*:1.7.0-rc01
viene 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
viene rilasciato. La versione 1.7.0-beta07 contiene questi commit.
Correzioni di bug
- È stato corretto il problema per cui
SharedTransitionScope
non disegnava gli elementi in overlay durante la transizione in determinate condizioni, che in genere includevano l'utilizzo con Navigazione. (Id65ab, b/347520198)
Versione 1.7.0-beta06
24 luglio 2024
androidx.compose.animation:animation-*:1.7.0-beta06
viene rilasciato. La versione 1.7.0-beta06 contiene questi commit.
Correzioni di bug
- Sono stati corretti gli stati di transizione con perdite di
SeekableTransition
mediante la pulizia corretta delle osservazioni daSnapshotStateObserver
al momento dello smaltimento della transizione. (b9c7182) - Sono stati corretti i 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
viene rilasciato. La versione 1.7.0-beta05 contiene questi commit.
Correzioni di bug
- La proprietà Transition
totalDurationNanos
ora può essere letta correttamente all'interno di unsnapshotFlow
.
Versione 1.7.0-beta04
26 giugno 2024
androidx.compose.animation:animation-*:1.7.0-beta04
viene 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
viene 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
viene 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
viene rilasciato. La versione 1.7.0-beta01 contiene questi commit.
Modifiche all'API
- Nuovi
resizeModes
(ScaleToBounds
eRemeasureToBounds
) persharedBounds
per scegliere tra ridimensionamento e nuova misurazione. Le APIscaleIn/OutSharedContentToBounds
precedenti sono state ritirate. (I0d41a)
Contributo esterno
SharedTransitionScope
sperimentale 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
viene rilasciato. La versione 1.7.0-alpha08 contiene questi commit.
Modifiche all'API
- Le API
LookaheadScope
sono state rese stabili. (I21507)
Contributo esterno
- Cancellare l'ora di inizio dell'animazione dopo
SeekableTransitionState
animazioni/scatti di Steven Schoen (1ca89529)
Versione 1.7.0-alpha07
17 aprile 2024
androidx.compose.animation:animation-*:1.7.0-alpha07
viene rilasciato. La versione 1.7.0-alpha07 contiene questi commit.
Nuove funzionalità
- Le nuove API di transizione degli elementi condivisi sono pronte per essere utilizzate e per ricevere i tuoi feedback. Queste nuove API sperimentali consentono di taggare i layout come condivisi nella struttura del layout utilizzando i modificatori forniti, producendo limiti che cambiano gradualmente quando un insieme di contenuti condivisi esce e l'altro entra. (Icb0b9)
- Nuovi
scaleInSharedContentToBounds
escaleOutSharedContentToBounds
per scalare i contenuti insharedBounds
(I731c1)
Modifiche all'API
AnimatedVisibilityScope.transition
è ora un'API stabile. AncheModifier.animateEnterExit(..)
è stato reso stabile. (I6c1d1)ApproachLayoutModifierNode
eModifier.approachLayout
sono ora stabili, con i nuoviisMeasurementApproachInProgress()
eisPlacementApproachInProgress()
che sostituiscono rispettivamente i vecchiisMeasurementApproachComplete()
eisPlacementApproachComplete()
.- È stato rimosso il modificatore
intermediateLayout
obsoleto. (I3e91c) - Ora puoi passare un valore
periodicBias
(float) akeyframesWithSpline
, in modo che la velocità iniziale e finale della spline siano uguali. Utile per animazioni ripetibili che utilizzano spline. La bias indica quanto viene modificata ogni velocità (iniziale e finale) per ottenere la periodicità. (Ic1e6c, b/292114811)
Correzioni di bug
- Sono state corrette le curve di transizione con sovracorrezione e sottocorrezione che in precedenza erano limitate a 0,1 (I38747)
Versione 1.7.0-alpha06
3 aprile 2024
androidx.compose.animation:animation-*:1.7.0-alpha06
viene rilasciato. La versione 1.7.0-alpha06 contiene questi commit.
Nuove funzionalità
- In
LazyColumn
eLazyRow
è stato aggiunto il supporto dell'animazione di apparizione e scomparsa degli elementi. In precedenza era possibile aggiungere il modificatoreModifier.animateItemPlacement()
per supportare le animazioni di riordino dei posizionamenti. Abbiamo ritirato questo modificatore e introdotto un nuovo modificatore non sperimentale chiamatoModifier.animateItem()
che consente di supportare tutti e tre i tipi di animazione: apparizione (dissolvenza in entrata), scomparsa (dissolvenza in uscita) e riordinamento. (I2d7f7, b/330152398, b/150812265)
Correzioni di bug
- Miglioramento delle prestazioni dell'API
updateTransition
.
Versione 1.7.0-alpha05
20 marzo 2024
androidx.compose.animation:animation-*:1.7.0-alpha05
viene rilasciato. La versione 1.7.0-alpha05 contiene questi commit.
Modifiche all'API
SeekableTransitionState
sostituiscesnapTo()
conseekTo()
e aggiunge unsnapTo()
che modifica 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
viene rilasciato. La versione 1.7.0-alpha04 contiene questi commit.
Modifiche all'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
viene rilasciato. La versione 1.7.0-alpha03 contiene questi commit.
Nuove funzionalità
- Nuovo
Modifier.animateContentSize
che accetta un parametro aggiuntivo per l'allineamento dei contenuti personalizzati. (I5623a, b/269803907) - Nuova funzionalità sperimentale
DeferredTargetAnimation
per animare dimensioni, posizione o qualsiasi altro target sconosciuto durante l'inizializzazione. (I60745)
Versione 1.7.0-alpha02
7 febbraio 2024
androidx.compose.animation:animation-*:1.7.0-alpha02
viene 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 di reimpostazione errato di
Modifier.animateContentSize
quando viene utilizzato inLazyList
. (I070512, b/322525716) - È stato corretto il problema
IllegalStateException
inKeyframesSpec
quando vengono utilizzati timestamp fuori intervallo. (I341b8, b/322839811)
Versione 1.7.0-alpha01
24 gennaio 2024
androidx.compose.animation:animation-*:1.7.0-alpha01
viene 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
viene rilasciato. La versione 1.6.8 contiene questi commit.
Versione 1.6.7
1° maggio 2024
androidx.compose.animation:animation-*:1.6.7
viene rilasciato. La versione 1.6.7 contiene questi commit.
Versione 1.6.6
17 aprile 2024
androidx.compose.animation:animation-*:1.6.6
viene rilasciato. Nessuna modifica rispetto alla release precedente
Versione 1.6.5
3 aprile 2024
androidx.compose.animation:animation-*:1.6.5
viene rilasciato. La versione 1.6.5 contiene questi commit.
Versione 1.6.4
20 marzo 2024
androidx.compose.animation:animation-*:1.6.4
viene rilasciato. La versione 1.6.4 contiene questi commit.
Versione 1.6.3
6 marzo 2024
androidx.compose.animation:animation-*:1.6.3
viene rilasciato. La versione 1.6.3 contiene questi commit.
Versione 1.6.2
21 febbraio 2024
androidx.compose.animation:animation-*:1.6.2
viene rilasciato. La versione 1.6.2 contiene questi commit.
Versione 1.6.1
7 febbraio 2024
androidx.compose.animation:animation-*:1.6.1
viene 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
viene 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
viene 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
viene rilasciato. La versione 1.6.0-beta03 contiene questi commit.
Modifiche all'API
scaleInToFitContainer
escaleOutToFitContainer
sono stati rimossi temporaneamente daAnimatedContentTransitionScope
perché richiedono l'anticipazione. Saranno disponibili quando la funzionalità di previsione è attiva per impostazione predefinita o se viene attivata nelle release future.
Versione 1.6.0-beta02
29 novembre 2023
androidx.compose.animation:animation-*:1.6.0-beta02
viene 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
viene rilasciato. La versione 1.6.0-beta01 contiene questi commit.
Modifiche all'API
ExitTransition.Hold
è stato rinominato inExitTransition.KeepUntilTransitionsFinished
per maggiore chiarezza. (I1c490)- Ora puoi utilizzare
keyframesWithSpline
per interpolare qualsiasi valore N-dimensionale utilizzando spline monotone. È particolarmente utile per interpolare valori di posizione comeOffset
,IntOffset
,DpOffset
. Aggiunto come API sperimentale.
Correzioni di bug
- È stato aggiunto il supporto del renderer per il gradiente a scorrimento in
ArcLine
. (I4d5bb) - Implementa equals e hashcode per
PageSize.Fixed
. (Ie3ede, b/300134276) - Risolto il problema di compatibilità binaria con la modifica dell'Inserimento finestra. (Iee695)
- Rimuovi il livello di base del materiale per il chip/pulsante Material3, poiché i microbenchmark mostrano un rendimento migliore senza questo livello. (I55555)
Versione 1.6.0-alpha08
18 ottobre 2023
androidx.compose.animation:animation-*:1.6.0-alpha08
viene rilasciato. La versione 1.6.0-alpha08 contiene questi commit.
Modifiche all'API
KeyframesSpecConfig#with
è stato ritirato a favore diKeyframesSpecConfig#using
, che preserva il pattern di creazione. (I1d769)
Versione 1.6.0-alpha07
4 ottobre 2023
androidx.compose.animation:animation-*:1.6.0-alpha07
viene rilasciato. La versione 1.6.0-alpha07 contiene questi commit.
Modifiche all'API
- Le righe di schede fisse e scorrevoli ora hanno le varianti Principale e Secondaria. Questi valori corrispondono correttamente al comportamento del colore e dell'indicatore come definito in Material3.
PrimaryScrollableTabRow
eSecondaryScrollableTabRow
ora mostrano lo stato di scorrimento. (Iec8f5, b/260572337)
Versione 1.6.0-alpha06
20 settembre 2023
androidx.compose.animation:animation-*:1.6.0-alpha06
viene 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
viene rilasciato. La versione 1.6.0-alpha05 contiene questi commit.
Modifiche all'API
- È stato aggiunto
PathEasing
per consentire di fornire un percorso arbitrario a una curva di transizione. (Idb4b9)
Versione 1.6.0-alpha04
23 agosto 2023
androidx.compose.animation:animation-*:1.6.0-alpha04
viene rilasciato. La versione 1.6.0-alpha04 contiene questi commit.
Modifiche all'API
- Aggiungi
SeekableTransitionState
per 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
viene rilasciato. La versione 1.6.0-alpha03 contiene questi commit.
Modifiche all'API
- Nuovo tipo di transizione di entrata/uscita che ridimensiona i contenuti in base alle dimensioni del contenitore animato durante l'animazione di entrata e uscita.
LookaheadScope
L'interfaccia e la funzionalità Composable sono ora stabili. (Ifb2ce)
Versione 1.6.0-alpha02
26 luglio 2023
androidx.compose.animation:animation-*:1.6.0-alpha02
viene rilasciato. La versione 1.6.0-alpha02 contiene questi commit.
Modifiche all'API
- Nuovo
ExitTransition.Hold
per visualizzare i contenuti in uscita inAnimatedContent
finché non sono terminate entrambe le transizioni di entrata e di uscita. (I5984f) - Annotazioni aggiuntive per specificare gli input consentiti per i composabili (I51109)
Versione 1.6.0-alpha01
21 giu 2023
androidx.compose.animation:animation-*:1.6.0-alpha01
viene rilasciato. La versione 1.6.0-alpha01 contiene questi commit.
Nuove funzionalità
- Consenti a
Modifier.animateContentSize
eAnimatedVisibility
di essere completamente integrati nel sistema di look-ahead segnalando le dimensioni target nel passaggio di look-ahead.
Modifiche all'API
- Nuova proprietà in
IntrinsincMeasureScope
e le relative implementazioni (ad es.MeasureScope
) per indicare se il passaggio di misura corrente è un passaggio di look-ahead. (I7a812)
Correzioni di bug
- Le allocazioni sono state rimosse dalle animazioni di primavera. (Ie9431)
- Il nome del parametro value per Enum.valueOf è stato modificato (Ia9b89)
- Altre eccezioni lanciate da valueOf dell'enum (I818fe)
Versione 1.5
Versione 1.5.4
18 ottobre 2023
androidx.compose.animation:animation-*:1.5.4
viene rilasciato. La versione 1.5.4 contiene questi commit.
Versione 1.5.3
4 ottobre 2023
androidx.compose.animation:animation-*:1.5.3
viene rilasciato. Questa versione non presenta modifiche
Versione 1.5.2
27 settembre 2023
androidx.compose.animation:animation-*:1.5.2
viene rilasciato. La versione 1.5.2 contiene questi commit.
Versione 1.5.1
6 settembre 2023
androidx.compose.foundation:foundation-*:1.5.1
viene rilasciato. La versione 1.5.1 contiene questi commit.
Correzioni di bug
- È stato corretto il problema relativo alla visualizzazione della tastiera e alla modificabilità dei campi di testo quando
readOnly
è true. È stato inoltre corretto il problema per cui la tastiera non veniva visualizzata quandoreadOnly
veniva modificato da true a false mentre era attivo. (I34a19, b/246909589)
Versione 1.5.1
6 settembre 2023
androidx.compose.animation:animation-*:1.5.1
viene rilasciato. La versione 1.5.1 contiene questi commit.
Versione 1.5.0
9 agosto 2023
androidx.compose.animation:animation-*:1.5.0
viene 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
viene rilasciato. La versione 1.5.0-rc01 contiene questi commit.
Correzioni di bug
Risolto un problema per cui l'utilizzo di
.value
su un tipo di stato primitivo (ad esempioMutableIntState
) generava un avviso lint con una correzione non valida. Ora l'ispezione consiglia di eseguire 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 relativo ID lint èAutoboxingStateCreation
. In precedenza, questa ispezione era abilitata 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.gradle
obuild.gradle.kts
del modulo come mostrato (I34f7e):android { lint { warning "AutoboxingStateCreation" } ... }
Versione 1.5.0-beta03
28 giugno 2023
androidx.compose.animation:animation-*:1.5.0-beta03
viene 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
viene 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
viene rilasciato. La versione 1.5.0-beta01 contiene questi commit.
Modifiche all'API
- Sono state rimosse le allocazioni in ricreazione, animazioni a colori e
AndroidComposeView
(Ib2bfa)
Correzioni di bug
- Le allocazioni sono state rimosse dalle animazioni con effetto molla (Ie9431)
Versione 1.5.0-alpha04
10 maggio 2023
androidx.compose.animation:animation-*:1.5.0-alpha04
viene rilasciato. La versione 1.5.0-alpha04 contiene questi commit.
Modifiche all'API
ContentKey
è ora supportato inAnimatedContent
per 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
viene rilasciato. La versione 1.5.0-alpha03 contiene questi commit.
Nuove funzionalità
- Nuovo comportamento predefinito per
SubcomposeLayout
inLookaheadScope
. Consente aSubcomposeLayouts
che non hanno slot condizionali (ad es.TabRow
,Scaffold
,BoxWithConstraints
e così via) di funzionare correttamente con le animazioni di previsione.
Modifiche all'API
- Il nuovo
intermediateMeasurePolicy
predefinito che riutilizza il criterio di misurazione dal passaggio di previsione consente ai sottotipiSubcomposeLayout
senza slot condizionali, comeScaffold
,TabRow
eBoxWithConstraints
, di funzionare con la previsione per impostazione predefinita. (Id84c8) - Rinomina la funzione infix con to
togetherWith
per combinare le transizioni di entrata e di uscita. NuovoAnimatedContentScope
come destinatario per la funzione lambda dei contenuti. (Ic39ae)
Versione 1.5.0-alpha02
5 aprile 2023
androidx.compose.animation:animation-*:1.5.0-alpha02
viene rilasciato. La versione 1.5.0-alpha02 contiene questi commit.
Nuove funzionalità
- Nuova API sperimentale per supportare l'anticipazione in
SubcomposeLayout
. In questo modoSubcomposeLayout
potrà funzionare correttamente in unLookaheadScope
. A breve sarà disponibile un maggiore supporto immediato per sottotipi specifici diSubcomposeLayout
.
Modifiche all'API
- Nuova API
SubcomposeLayout
che accetta un criterio di misurazione intermedio aggiuntivo per gestire la logica di misurazione/layout durante le animazioni basate su lookahead. (I017d3)
Versione 1.5.0-alpha01
22 marzo 2023
androidx.compose.animation:animation-*:1.5.0-alpha01
viene rilasciato. La versione 1.5.0-alpha01 contiene questi commit.
Modifiche all'API
- Le API
AnimatedContent
sono ora stabiliAnimatedContentScope
è stato rinominato inAnimatedContentTransitionScope
.scaleIn
escaleOut
sono 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
vengono rilasciati senza modifiche (solo un aggiornamento della 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
vengono 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
vengono 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
vengono rilasciati. La versione 1.4.0 contiene questi commit.
Modifiche importanti dalla versione 1.3.0
- L'etichetta degli strumenti è supportata in r
ememberInfiniteTransition
e in tutte le funzioni di estensione suInfiniteTransition
e 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
vengono 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
vengono 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
vengono 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
vengono rilasciati. La versione 1.4.0-alpha05 contiene questi commit.
Modifiche
- Nessuna modifica alle librerie di animazione dall'ultima versione 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
vengono rilasciati. La versione 1.4.0-alpha04 contiene questi commit.
Nuove funzionalità
- L'etichetta degli strumenti è supportata in
rememberInfiniteTransition
e in tutte le funzioni di estensione suInfiniteTransition
eTransition
(ad es.InfiniteTransition#animateColor
) (I56ef7)
Modifiche all'API
- Le API
InfiniteTransition#TransitionAnimationState
eInfiniteTransition#animations
sono 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
vengono rilasciati. La versione 1.4.0-alpha03 contiene questi commit.
Modifiche all'API
- Nei test dell'interfaccia utente che utilizzano una regola di composizione, le interruzioni riprese durante i callback
withFrameNanos
non verranno inviate finché non sarà terminata l'esecuzione di tutti i callback del frame. Questo corrisponde al comportamento di composizione quando viene eseguito normalmente. Tuttavia, i test che si basano sul vecchio comportamento potrebbero non riuscire. Ciò dovrebbe interessare solo il codice che chiama direttamentewithFrameNanos
owithFrameMillis
e ha una logica esterna al callback passata a quelle funzioni che potrebbero dover essere spostate all'interno dei callback. Consulta le modifiche al test di animazione in questo CL per esempi. - È stato aggiunto il parametro facoltativo
onPerformTraversals: (Long) -> Unit
al costruttore e alla funzione di fabbricaTestMonotonicFrameClock
per eseguire il codice dopo i callbackwithFrameNanos
, ma prima di riprendere le coroutine dei chiamanti. (Idb413, b/254115946, b/222093277, b/255802670) - Nuovo parametro in
AnimatedContent
per l'etichetta degli strumenti (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
vengono rilasciati. La versione 1.4.0-alpha02 contiene questi commit.
Modifiche all'API
- Aggiungi
ToolingState
per 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
vengono 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
vengono 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
vengono rilasciati. La versione 1.3.2 contiene questi commit.
Correzioni di bug
- Aggiornamento per il supporto di 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
vengono 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
vengono rilasciati. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Un nuovo insieme di funzioni di attenuazione è stato reso stabile
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
vengono 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
vengono 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
vengono rilasciati. La versione 1.3.0-beta02 contiene questi commit.
- Kotlin.experimental è stato rimosso 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
vengono 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
vengono rilasciati. La versione 1.3.0-alpha03 contiene questi commit.
Modifiche all'API
- Nuovo parametro in
Crossfade
,animateAsState
eAnimatable
per l'etichetta degli strumenti (Iac08a) - È stata aggiunta la funzione
atFraction
per 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
vengono 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
vengono rilasciati. La versione 1.3.0-alpha01 contiene questi commit.
Modifiche all'API
- Nuovo
LookaheadLayout
che supporta un passaggio di previsione prima della misura/del layout effettivi. Ciò consente un precalcolato 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 il target.SubcomposeLayouts
non sono ancora supportati, ma lo saranno in una release futura. (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
vengono 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
vengono rilasciati. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- La composizione animata ora supporta l'impostazione "Scala durata animatore" delle Opzioni sviluppatore.
- Un'ampia selezione di nuove curve di transizione sperimentali.
AnimatedImageVector
ora supportarepeatCount
erepeatMode
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
vengono 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
vengono rilasciati. La versione 1.2.0-rc02 contiene questi commit.
Correzioni di bug
- È stata rimossa l'annotazione
ExperimentalEasingApi
per le funzioni di attenuazione (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
vengono rilasciati. La versione 1.2.0-rc01 contiene questi commit.
Modifiche all'API
- Le interfacce nelle librerie di composizione ora vengono 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
vengono rilasciati. La versione 1.2.0-beta03 contiene questi commit.
Modifiche all'API
- Sono state aggiunte curve di transizione 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
vengono 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
vengono rilasciati. La versione 1.2.0-beta01 contiene questi commit.
- Questa è la prima release beta di 1.2. Non sono presenti 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
vengono 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
vengono rilasciati. La versione 1.2.0-alpha07 contiene questi commit.
Modifiche all'API
AnimatedImageVector
ora supportarepeatCount
erepeatMode
(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
vengono rilasciati. La versione 1.2.0-alpha06 contiene questi commit.
Modifiche all'API
- È stata aggiornata l'analisi di elementi drawable vettoriali per supportare il mirroring automatico in modo da capovolgere i contenuti di un
VectorPainter
se l'attuale direzione del layout è RTL. (I79cd9, b/185760237)
Correzioni di bug
- Le API di grafica vettoriale sono state aggiornate in modo da utilizzare l'annotazione componibile corretta
@VectorComposable
anziché@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
vengono rilasciati. La versione 1.2.0-alpha05 contiene questi commit.
Modifiche all'API
- Evviva! L'animazione di composizione ora supporta l'impostazione "Scala durata animatore" dalle 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
vengono 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
vengono 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
vengono 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
vengono rilasciati. La versione 1.2.0-alpha01 contiene questi commit.
Modifiche all'API
- Utilizza
AnimatedImageVector.animatedVectorResource
anzichéanimatedVectorResource
per caricare un file di risorse<animated-vector>
.- Utilizza
rememberAnimatedVectorResource
anzichéAnimatedImageVector#painterFor
per visualizzare unAnimatedImageVector
. (I9c300)
- Utilizza
Correzioni di bug
- Aggiungi i metodi toString ad 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
vengono rilasciati. La versione 1.1.1 contiene questi commit.
Correzioni di bug
- Correggi
NullPointerException
il giornoandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
(aosp/1947059, b/206677462) - È stato risolto l'arresto anomalo causato dai contenuti degli appunti durante la lettura dagli appunti su Android. (I06020, b/197769306)
- È stato corretto il problema relativo alla formattazione 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
vengono rilasciati. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Supporto stabile per l'effetto overscroll di Android 12
- Miglioramenti alle dimensioni dei target di tocco
- Tieni presente che, rispetto a Compose 1.0, i componenti Material espanderanno lo spazio del layout per soddisfare le linee guida sull'accessibilità di Material per le dimensioni del touch target. Ad esempio, il touch target del pulsante verrà espanso fino a una dimensione minima di 48 x 48 dp, anche se imposti dimensioni inferiori per il pulsante. In questo modo, Compose Material si allinea allo stesso comportamento dei componenti di Material Design, garantendo un comportamento coerente se combini le viste e Compose. Questa modifica garantisce inoltre che, quando crei l'interfaccia utente utilizzando i componenti Material di Compose, vengano soddisfatti i requisiti minimi per l'accessibilità dei touch target.
- Supporto stabile per la barra di navigazione laterale
- Passa a una versione stabile un certo numero di API precedentemente sperimentali
- 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
vengono rilasciati. La versione 1.1.0-rc03 contiene questi commit.
Correzioni di bug
- Aggiornamento per il supporto di 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
vengono rilasciati. La versione 1.1.0-rc01 contiene questi commit.
Modifiche all'API
- Utilizza
AnimatedImageVector.animatedVectorResource
anzichéanimatedVectorResource
per caricare un file di risorse<animated-vector>
.- Utilizza
rememberAnimatedVectorResource
anzichéAnimatedImageVector#painterFor
per visualizzare 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
vengono rilasciati. La versione 1.1.0-beta04 contiene questi commit.
Nuove funzionalità
- Aggiornata per essere compatibile 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
vengono rilasciati. La versione 1.1.0-beta03 contiene questi commit.
Modifiche all'API
- È stato aggiunto il nuovo modificatore Modifier.onPlaced per consentire di osservare la modifica del posizionamento. Pertanto, è possibile apportare ulteriori modifiche all'offset del modificatore secondario in base alla variazione del posizionamento osservata. (I558fd)
Nuovo supporto per contentKey in Crossfade. ContentKey verrà utilizzato per il controllo dell'uguaglianza da parte del sistema di animazione. Pertanto, la differenza personalizzata per gli stati può essere ottenuta specificando la contentKey appropriata per gli stati diversi.
ContentKey verrà utilizzata anche come chiave per salvare e ripristinare i 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
vengono rilasciati. La versione 1.1.0-beta02 contiene questi commit.
Correzioni di bug
- Nuove API di animazione per supportare gli strumenti. Nello specifico, 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
vengono rilasciati. La versione 1.1.0-beta01 contiene questi commit.
Modifiche all'API
- Nuove API di animazione per supportare gli strumenti. Nello specifico, 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
vengono 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
vengono rilasciati. La versione 1.1.0-alpha05 contiene questi commit.
Modifiche all'API
EnterTransition
,ExitTransition
e alcune delle APIAnimatedVisibility
sono state rese stabili. AncheMutableTransitionState.isIdle
non è più sperimentale. (I5072d)Modifica incompatibile: le funzioni lambda nelle fabbriche Enter/ExitTransition sono state spostate nell'ultima posizione dell'elenco param. (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
vengono 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
vengono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.
Nuove funzionalità
- Compose
1.1.0-alpha03
è stato aggiornato in modo da dipendere 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
vengono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.
Modifiche all'API
- StartOffset è ora supportato in repeatable e infiniteRepeatable, come un modo per ritardare l'ora di inizio o avanzare velocemente l'animazione prima dell'inizio. Questo offset di inizio 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
vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche all'API
AnimatedImageVector
e le API correlate ora si trovano nel nuovoandroidx.compose.animation:animation-graphics
modulo. (I60873)
Correzioni di bug
InfiniteAnimationPolicy
è stato spostato in :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
vengono 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
vengono rilasciati. La versione 1.0.4 contiene questi commit.
Aggiornamenti delle dipendenze
- Aggiornata per dipendere 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
vengono rilasciati. La versione 1.0.3 contiene questi commit.
Aggiornamenti delle dipendenze
- Aggiornata per dipendere 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
vengono rilasciati. La versione 1.0.2 contiene questi commit.
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
vengono rilasciati. La versione 1.0.1 contiene questi commit.
Aggiornamenti delle dipendenze
- Aggiornato in modo da dipendere 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
vengono 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 di Compose Release.
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 versioni successive 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
vengono 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
vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.
Correzioni di bug
- Dispositivo
InfiniteAnimationPolicy
spostato inandroidx.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
vengono rilasciati. La versione 1.0.0-beta09 contiene questi commit.
Modifiche all'API
- Nuovo componibile
AnimatedContent
. Gestisce la variazione dei contenuti utilizzandoContentTransform
personalizzabili quando vengono inseriti nuovi contenuti target e quando vengono rimossi i contenuti iniziali. È possibile utilizzare diverse combinazioni di transizioni di entrata e di uscita per creare un'esperienza personalizzata. Nell'ambito della trasformazione dei contenuti,AnimatedContent
anima automaticamente le sue dimensioni in base ai contenuti in arrivo. (I2c3df) ManualFrameClock
rimosso. 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 raccolta sono specificate in un file di testo
baseline-prof.txt
situato nella directorysrc/main
o equivalente. Il file specifica una regola per riga, dove una regola in questo caso è un pattern per la corrispondenza a metodi o classi nella libreria. La sintassi di queste regole è un superset del formato del profilo ART leggibile da persone che viene utilizzato quando si utilizzaadb shell profman --dump-classes-and-methods ...
. Queste regole possono assumere una di 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
,S
eP
per indicare se questo metodo deve essere contrassegnato come "Hot", "Startup" o "Post Startup".<CLASS_DESCRIPTOR>
è il descrittore della classe a cui appartiene il metodo scelto come target. Ad esempio, la classeandroidx.compose.runtime.SlotTable
avrà un descrittoreLandroidx/compose/runtime/SlotTable;
.<METHOD_SIGNATURE>
è la firma del metodo e include il nome, i tipi di parametro e i tipi di ritorno del metodo. Ad esempio, il metodofun isPlaced(): Boolean
inLayoutNode
ha 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
H
indica che si tratta di un metodo "hot" e deve essere compilato in anticipo.Un metodo che ha il flag
S
indica che si tratta di un metodo 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
P
indica che si tratta di un metodo 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 pacchettizzate negli elementi AAR. Quando viene compilata un'app che include questi elementi, le regole vengono unite e utilizzate per creare un profilo ART binario compatto specifico per l'app. ART può quindi sfruttare questo profilo quando l'app è installata sui dispositivi per compilare in anticipo un sottoinsieme specifico dell'applicazione al fine di migliorare il rendimento dell'applicazione, in particolare la prima esecuzione. Tieni presente che questo non avrà alcun effetto sulle applicazioni di 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
vengono rilasciati. La versione 1.0.0-beta08 contiene questi commit.
Correzioni di bug
- Ora
detectDragGesures
,detectVerticalGestures
edetectHorizontalGestures
utilizzeranno automaticamente la modifica della posizione, non è necessario chiamare change.consumePositionChange nelle chiamate di callback onDrag (I42fc4, b/185096350, b/187320697) Modifier.onGloballyPositioned()
è stato modificato in modo da 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 registrate. (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
vengono rilasciati. La versione 1.0.0-beta07 contiene questi commit.
Modifiche all'API
- Nuova API
AnimatedVisibility
che supporta la visibilità da specificare inMutableTransitionState
. In questo modo, gli stati di animazione possono essere osservati anche al di fuori diAnimatedVisibility
tramitecurrentState
eisIdle
.- Nuovo supporto per la transizione dei bambini in Transizione
- Supporta l'animazione di transizione di entrata/uscita personalizzata in AnimatedVisibility utilizzando AnimationScope.transition
- Nuovo modificatore animateEnterExit accessibile per tutti gli elementi di AnimatedVisibility
- Le API AnimatedVisibility che accettano un parametro
initiallyVisible
sono state ritirate (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
vengono 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
vengono 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
vengono rilasciati. La versione 1.0.0-beta04 contiene questi commit.
Modifiche all'API
- Le istanze pubbliche di
RowScope
,ColumnScope
,BoxScope
,BoxWithConstraintsScope
sono state rimosse. (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
vengono 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
vengono rilasciati. La versione 1.0.0-beta02 contiene questi commit.
Correzioni di bug
- Applicare limitazioni 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
vengono rilasciati. La versione 1.0.0-beta01 contiene questi commit.
Questa è la prima release di Compose 1.0.0 Beta.
Modifiche all'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 comeButton
eModifier.clickable()
, utilizzainteractionSource = remember { MutableInteractionSource() }
. - Anziché:
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 lo stream di interazioni. Per ulteriori informazioni, 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 delle taglie 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 è passato da ui.gesture a ui.input.pointer. (Iff4a8, b/175294473)
- AnimationClockObservable e le sottoclassi sono stati rimossi. AnimatedFloat è stato rimosso. (Icde52, b/177457083)
- Modifier.draggable ora accetta DraggableState anziché una semplice 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 ritirate (If27bc, b/177457083)
- AnimationEndReason.Interrupted viene rimosso. CancellationException viene lanciata 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
vengono rilasciati. La versione 1.0.0-alpha12 contiene questi commit.
Modifiche all'API
Modifier.pointerInput
ora richiede chiavi di memorizzazione per indicare quando deve essere riavviata la coroutine di rilevamento dell'input del cursore per le nuove dipendenze. (I849cd)- Bounds è stato rinominato in DpRect (I4b32a)
- È stato unificato il nome del parametro AnimationSpec in animationSpec nel sistema di animazione. Inoltre, vincola Enter/ExitTransition in modo che accetti FiniteAnimationSpec. (Ie47c5, b/177457083)
- Animatable.snapTo e Animatable.stop ora sono funzioni di sospensione (If4288)
- Analogamente a come abbiamo rimosso in precedenza il composable
state { 0 }
e ora promuoviamo l'utilizzo diremember { mutableStateOf(0) }
, rimuoveremo il composablesavedInstanceState { 0 }
. Dovresti utilizzarerememberSaveable { mutableStateOf(0) }
, che verrà salvato e ripristinato automaticamente 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 sovraccarico di rememberSaveable che ha il parametrostateSaver
. L'utilizzo sarà simile al seguente:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26, b/177338004) - È stata aggiornata la firma del metodo di transizione graduale 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 semplicemente passare Qualsiasi come chiave. L'annotazione sperimentale non è più necessaria. (I0902e, b/174598702)
- L'API Modifier.animateContentSize è stata aggiornata in modo da essere coerente con il resto del sistema di animazione. (I0bf75, b/177457083)
- AnimatedValue/Float è ora deprecato. Utilizza invece Animatable. (I71345, b/177457083)
- I filtri tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter e pressIndicaitonGestureFilter sono stati ritirati. Utilizza Modifier.clickable o Modifier.pointerInput con la funzione detectTapGestures. (I6baf9, b/175294473)
- È stato introdotto un elemento di contesto della coroutine
InfiniteAnimationPolicy
che verrà applicato nelle animazioni infinite. Per impostazione predefinita, non viene installato nessun criterio, tranne quando vengono eseguiti test conComposeTestRule
. (I50ec4, b/151940543) - I metodi di destrutturazione e copy() sono stati rimossi da diversi classi in cui venivano utilizzati raramente. (I26702, b/178659281)
- Il tempo di riproduzione nell'animazione ora non è più limitato ai nanosecondi (If776a)
- L'elemento compose:runtime-dispatch è stato ritirato. MonotonicFrameClock ora si trova in compose:runtime e AndroidUiDispatcher in compose:ui. (Ib5c36)
- Sono stati aggiunti
Animation.isInfinite
eVectorizedAnimationSpec.isInfinite
per indicare se un'animazione è infinita o meno. Questo può essere utilizzato nelle implementazioni delle 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 Lungo anziché Tempo di attività 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
vengono rilasciati. La versione 1.0.0-alpha11 contiene questi commit.
Modifiche all'API
- La transizione basata su TransitionDefinition è stata ritirata (I0ac57)
- Viene aggiunto un campo di etichetta per visualizzare le animazioni di transizione e secondarie negli strumenti (I619fb)
- animateAsState ora è animateFooAsState, dove Foo è il tipo della variabile da animare, ad esempio Float, Dp, Offset e così via (Ie7e25)
- Nuova transizione infinita che esegue un numero qualsiasi di animazioni secondarie. (I1da81)
- Modifica le interfacce dei parametri stateful di Material per avere funzioni @Composable che restituiscono
State<T>
. Aggiunge Animatable.asState() per semplificare la conversione di un animabile in uno stato. Modifica anche 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)
- Lo stato iniziale in updateTransition è ora supportato (Ifd51d)
- Il parametro Descrizione dei contenuti è stato aggiunto a Immagine e Icona. Viene utilizzato per fornire una descrizione ai servizi di accessibilità (I2ac4c)
- invalidate e compositionReference() sono ora deprecati a favore di currentRecomposeScope e rememberCompositionReference rispettivamente. (I583a8)
- La durata e il tempo di attività verranno sostituiti da Long millisecondi e questo passaggio rimuove la dipendenza dell'input del cursore da queste classi. (Ia33b2, b/175142755, b/177420019)
- ora è possibile creare elementi cliccabili, attivabili/disattivabili e selezionabili al di fuori della composizione (I0a130, b/172938345, b/175294473)
- La funzionalità di attenuazione è stata modificata 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)
sono ora funzioni di estensione, quindi devi importarle manualmente quando le utilizzi. Nuovi sovraccarichi dell'estensione per gli array: items(items: Array) e itemsIndexed(Array) (I803fc, b/175562574) - Utilizza TestCoroutineDispatcher nei test (I532b6)
- È stato rimosso PointerInputData e modificato PointerInputChange per assegnargli tutti i campi di PointerInputData. È stato reso interno PointerInputEvent e PointerInputEventData perché non vengono utilizzati in alcuna 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
vengono rilasciati. La versione 1.0.0-alpha10 contiene questi commit.
Modifiche all'API
- Velocità modificata per includere componenti e operazioni matematiche. (Ib0447)
@ExperimentalTesting
è stato rinominato in@ExperimentalTestApi
per essere coerente con annotazioni API sperimentali simili (Ia4502, b/171464963)- È stata rinominata la posizione in DpOffset ed è stata rimossa la funzione getDistance() (Ib2dfd)
- È stata rimossa l'API pubblica Any.identityHashCode() (I025d7)
Correzioni di bug
- Nuova API basata su coroutine
Animatable
che garantisce l'esclusività reciproca tra le animazioni. Nuovo DecayAnimationSpec per supportare l'animazione di decadimento multidimensionale (I820f2, b/168014930) animate()
viene ora sostituito conanimateAsState()
, che restituisce unState<T>
anziché unT
. Ciò consente un miglior rendimento, in quanto l'ambito dell'invalidazione può essere ridotto al punto in cui viene letto il valore di Stato. (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
vengono rilasciati. La versione 1.0.0-alpha09 contiene questi commit.
Modifiche all'API
- Spostamento di Dp.VectorConverter, Position.VectorConverter e così via in animation-core e ritiro dei vecchi VectorConveters (If0c4b)
- È stato introdotto un nuovo insieme di API Transition con una maggiore facilità d'uso e il supporto di animazioni aggiunte dinamicamente e target di animazione calcolati dinamicamente. Queste API sono contrassegnate come sperimentali per distinguerle facilmente dall'API basata su TransitionDefinition. (Ia7fe3)
Correzioni di bug
- Le lambda nei modificatori di offset ora restituiscono IntOffset anziché Float. (Ic9ee5, b/174137212, b/174146755)
- Ritiro di LazyColumnFor, LazyRowFor, LazyColumnForIndexed e LazyRowForIndexed. Utilizza LazyColumn e LazyRow (I5b48c)
- Per la sospensione delle API di input del cursore, è stato rinominato HandlePointerInputScope in AwaitPointerEventScope e handlePointerInput() in awaitPointerEventScope(). (Idf0a1, b/175142755)
- Nuova funzione infiniteRepeatable per la creazione di un'istanza InfiniteRepeatableSpec (I668e5)
- È stata 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
vengono rilasciati. La versione 1.0.0-alpha08 contiene questi commit.
Modifiche all'API
- È stato aggiunto il controllo lint per il nome e la posizione dei parametri lambda componibili, per verificare la coerenza con le linee guida di Compose.
È stata eseguita la migrazione di alcune API che utilizzano
children
come nome per la funzione lambda finale acontent
, in base alle indicazioni e al controllo lint. (Iec48e) - Le API precedentemente ritirate 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
.- Il corso
PxBounds
è stato rimosso; utilizzaRect
. - (Ie9d02, b/172562222)
- È stata aggiunta temporaneamente l'opzione per consentire a TestAnimationClock di essere gestito da MonotonicFrameClock (I1403b, b/173402197)
Correzioni di bug
- È stato rinominato Modifier.drawLayer in Modifier.graphicsLayer. Inoltre, sono stati aggiornati i relativi classi a GraphicsLayer in base al feedback del Consiglio API. (I0bd29, b/173834241)
- Sono state aggiunte le API Modifier.scale/rotate per comodità di drawLayer.
- Modifier.drawOpacity è stato rinominato in Modifier.alpha
- Modifier.drawShadow è stato rinominato in Modifier.shadow (I264ca, b/173208140)
- I campi uptime e posizione di PointerInputData non sono più null. (Id468a)
- I modificatori offsetPx sono stati rinominati in offset. Ora accettano parametri lambda anziché stato. (Ic3021, b/173594846)
- Nuove API per l'esecuzione di animazioni nelle coroutine (Ied662)
- Sono stati ritirati gli ambienti con il suffisso
Ambient
e sostituiti con nuove proprietà con prefisso Ambient, seguendo le linee guida per gli altri ambienti 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
vengono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.
Correzioni di bug
- Gli elementi di base AmbientTextStyle, ProvideTextStyle e AmbientContentColor sono stati ritirati. Utilizza invece le nuove versioni disponibili nella libreria Material. Per le applicazioni non Material, devi invece creare ambienti di temi specifici del tuo sistema di design 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 senza opinioni che non utilizza i valori di un tema, consulta androidx.compose.foundation.BasicText. (If64cb)
- MeasureResult è stato spostato da MeasureScope. (Ibf96d, b/171184002)
- Diversi simboli relativi 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
vengono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche all'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
vengono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche all'API
- Nuova interfaccia e sottoclassi di animazione: queste classi memorzzano le condizioni di inizio e fine 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 viene rinominato in OnGloballyPositionedModifier e onPositioned() viene rinominato in onGloballyPositioned(). (I587e8, b/169083903)
Ritirate le API contentColor() e currentTextStyle() e sostituite rispettivamente con gli ambienti AmbientContentColor e AmbientTextStyle. Puoi accedere al valore corrente utilizzando
.current
nella proprietà ambient, come per qualsiasi altro ambient. Questa modifica è stata apportata per garantire la coerenza e per evitare di avere più modi per ottenere lo stesso risultato. Inoltre, rinomina alcune proprietà dell'ambiente per descriverne meglio lo scopo, come segue:- ColoreContenutoAmbiente -> ColoreContenutoAmbiente
- 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
vengono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Modifiche all'API
- Sono stati annotati rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled e textInputServiceFactory con @VisibleForTesting, rendendoli API interne e nascondendo il relativo kdoc (I554eb, b/168308412)
Correzioni di bug
- Sono state aggiornate molte API di grafica
- API di trasformazione di scala e rotazione aggiornate per utilizzare un singolo parametro Offset per rappresentare la coordinata pivot anziché parametri float separati per le coordinate x/y in DrawScope e DrawTransform
- Sono stati rimossi i metodi Rect.expandToInclude e Rect.join
- La documentazione di Raggio è stata aggiornata per indicare ovale oltre a ellittico
- È stata aggiunta la documentazione per indicare che il costruttore pubblico della classe Radius inline non deve essere chiamato direttamente, ma gli oggetti Radius devono essere istigati tramite i costruttori delle funzioni.
- Sono state rimosse le API RoundRect per eseguire query su topRight, bottomRight, bottomCenter e così via.
- Ritiro di Rect.shift a favore di Rect.translate
- Sono state rimosse le API RoundRect.grow e Rect.shrink
- Rinominata RoundRect.outerRect in Rect.boundingRect
- Sono stati rimossi i metodi RoundRect.middleRect/tallMiddleRect/wideMiddleRect e Rect.isStadium
- RoundRect.latoPiùLungo è stato rinominato in RoundRect.maxDimension
- Il nome di RoundRect.shortestSide è stato rinominato in RoundRect.minDimension
- È stata modificata la proprietà RoundRect.center in modo che sia una proprietà anziché una funzione
- Il costruttore RoundRect è stato aggiornato in modo da 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 inizio in 0,0
- È stata aggiunta un'API di distruzione a Radius
- È stata eseguita la migrazione di varie funzioni di estensione di RoundRect in modo che diventino proprietà
- (I8f5c7, b/168762961)
- foundation.Box è stato ritirato. Utilizza invece foundation.layout.Box. (Ie5950, b/167680279)
- La funzionalità Stack è stata rinominata in Box. La cassetta esistente verrà ritirata a favore della nuova cassetta in compose.foundation.layout. Il comportamento della nuova casella è quello di impilare gli elementi secondari uno sopra l'altro quando sono presenti più elementi secondari. Questo è diverso dalla casella precedente, che si comportava in modo simile a una colonna. (I94893, b/167680279)
- I parametri di decorazione delle caselle sono stati ritirati. Se vuoi aggiungere decorazioni/spaziatura 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). Dovresti utilizzare 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
vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Correzioni di bug
- Gli utilizzi di gravity sono stati rinominati in modo coerente in allineamento o allineamento 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
vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche all'API
È stato aggiunto
ManualFrameClock.hasAwaiters
per verificare se è presente qualche elemento in attesa di un frame da quell'orologio;runWithManualClock
come sostituto dirunBlocking
quando esegui test che richiedono un ManualFrameClock;TestUiDispatcher.Main
che consente di accedere facilmente all'intercettatore UI 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; ora onCommit ha il comportamento di onPreCommit.
onCommit e onActive ora vengono eseguiti nello stesso frame del coreografo in cui vengono apportate 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
vengono 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
vengono rilasciati. La versione 0.1.0-dev17 contiene questi commit.
Nuove funzionalità
Modifiche all'API
- L'offset è diventato una classe in linea (Iaec70)
- IntOffset è ora una classe in linea (Iac0bf)
- IntSize ora è una classe in linea (I2bf42)
Il composable AnimatedVisibilty anima l'apparizione e la scomparsa dei contenuti secondari.
EnterTransition ed ExitTransition vengono introdotti per funzionare con il composable AnimatedVisibilty al fine di fornire tre diversi tipi di animazione di apparizione e scomparsa: dissolvenza, scorrimento ed espansione/contrazione dei contenuti. I diversi tipi di animazioni possono essere combinati per ottenere un aspetto più personalizzato. (Idda11)
È stato ritirato PxBounds in favore di Rect. Sono stati aggiornati tutti gli utilizzi di PxBounds con rect e sono state aggiunte annotazioni di ritiro/sostituzione appropriate per facilitare la migrazione. (I37038, b/162627058)
Correzioni di bug
PlacementScope.placeAbsolute()
è stato rinominatoPlacementScope.place()
e il precedentePlacementScope.place()
è stato rinominatoPlacementScope.placeRelative()
. Di conseguenza, il metodoPlacementScope.place()
non rispecchierà più automaticamente la posizione nei contesti da destra a sinistra. Se vuoi, usaPlacementScope.placeRelative()
. (I873ac, b/162916675)- Il composable
state { ... }
è stato ritirato a favore di chiamate esplicite aremember { mutableStateOf(...) }
per maggiore chiarezza. Ciò riduce la superficie complessiva dell'API e il numero di concetti per la gestione dello stato e corrisponde al patternby mutableStateOf()
per la delega delle proprietà della classe. (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
vengono rilasciati. La versione 0.1.0-dev16 contiene questi commit.
Modifiche all'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
e così via (I3e273) - Supporta l'ascoltatore di fine in
Modifier.animateContentSize()
in modo che, al termine dell'animazione di modifica delle dimensioni, l'ascoltatore riceva una notifica, insieme alle dimensioni iniziale/finale dell'animazione. (I277b2) - Nuovo modificatore animateContentSize che anima la modifica delle dimensioni del layout del modificatore figlio (Ieffdc)
È stato aggiunto
MonotonicFrameAnimationClock
che ti consente di utilizzare un MonotonicFrameClock comeAnimationClockObservable
per 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
MonotonicFrameClock
perManualAnimationClock
ora èManualFrameClock
. (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 esplicitamente per transitionDefinition. (I1aded)
- Il pacchetto foundation.shape.corner è stato appiattito in foundation.share (I46491, b/161887429)
- Modifier.plus è deprecato. Utilizza Modifier.then. "Poi" indica più chiaramente l'ordine, ma impedisce anche di digitare
Modifier.padding().background() + anotherModifier
, che interrompe la catena ed è più difficile da leggere (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
vengono rilasciati. La versione 0.1.0-dev15 contiene questi commit.
Aggiornamento delle dipendenze
- Per utilizzare la versione
0.1.0-dev15
di Compose, devi aggiornare le dipendenze in base ai nuovi snippet di codice mostrati sopra in Dichiarazione delle dipendenze.
Modifiche all'API
- L'API Transition è stata modificata in modo da restituire un TransitionState anziché passare il TransitionState ai figli. 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 di animazione statica
- Migliora il DSL di transizione rimuovendo il requisito lambda per la creazione di AnimationSpecs come tween, spring. ma accettano direttamente i parametri del costruttore.
- Migliorare la facilità d'uso complessiva di AnimationSpec aprendo i metodi di costruzione anziché fare affidamento sui costruttori
- Modifica la durata e il ritardo di KeyFrames e Tween in Int. In questo modo, elimini il trasferimento di tipo e il sovraccarico di metodi non necessari (per supportare sia Long che Int). (Ica0b4)
- È stato sostituito l'utilizzo di IntPx con Int. È stato sostituito IntPxPosition con IntOffset. IntPxSize sostituito con IntSize. (Ib7b44)
- Per consolidare il numero di classi utilizzate per rappresentare le informazioni sulle dimensioni, standardizza l'utilizzo della classe Dimensioni anziché della classe PxSize. Ciò offre i vantaggi di una classe in linea per sfruttare un valore lungo per imballare 2 valori float per rappresentare la larghezza e l'altezza rappresentate come valori float. (Ic0191)
- Per consolidare il numero di classi utilizzate per rappresentare le informazioni di posizionamento, standardizza l'utilizzo della classe Offset anziché PxPosition. Ciò offre i vantaggi di una classe in linea per sfruttare un valore lungo per imballare 2 valori in virgola mobile per rappresentare gli offset x e y rappresentati come valori in virgola mobile. (I3ad98)
- È stato sostituito l'utilizzo della classe Px in varie classi compose nell'ambito del grande impegno di refactoring per fare affidamento solo su Dp e tipi primitivi per i parametri dei pixel (I086f4)
- È stato aggiunto il supporto di animate() per Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds e AnimationVector (Ib7518)
- Ora la dissolvenza incrociata accetta il parametro facoltativo AnimationBuilder per consentire la configurazione dell'animazione (I6d6e0)
- Sono stati sostituiti tutti gli utilizzi di Color nullable nell'API con valori non nullable e viene utilizzato Color.Unset anziché null (Iabaa7)
- È stata rimossa la classe ValueHolder. Le classi AnimatedValue e AnimatedFloat sono state ristrutturate per
astrarre il campo del valore dell'animazione in modo che le sottoclassi possano monitorare l'aggiornamento del valore.
- Sono state aggiunte classi di modelli per AnimatedValue, AnimatedFloat e così via.
- È stato aggiunto un nuovo insieme di API @Composable leggere per l'animazione tra valori. (I79530)
- Modifiche non compatibili all'API Ambient. Per informazioni dettagliate, consulta il log e la documentazione di
Ambient<T>
(I4c7ee, b/143769776) - Nuova modalità di ripetizione: Indietro. Questa modalità inverte l'iterazione precedente man mano che l'animazione si ripete in RepeatableSpec o VectorizedRepeatableSpec. (Ibe0f5)
- Aggiunta di API a ManualAnimationClock:
hasObservers: Boolean
e parametro del costruttoredispatchOnSubscribe: Boolean
(Iaa134) - Sono state aggiunte API per ottenere i limiti minimo/massimo in AnimatedFloat (Icd9cc)
Correzioni di bug
runOnIdleCompose
è stato rinominato 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 delle ricostruzioni dovrebbe avvenire a seguito delle assegnazioni di MutableState. Per qualsiasi altro caso, ti consigliamo di utilizzare la funzione
invalidate
per attivare una ricostituzione dell'ambito corrente. (Ifc992) - È stato sostituito l'utilizzo della classe Px in varie classi compose nell'ambito del grande impegno di refactoring per fare affidamento solo su Dp e tipi primitivi per i parametri dei pixel. Classe Px eliminata nella sua interezza (I3ff33)
- È stato sostituito l'utilizzo della classe Px in varie classi compose nell'ambito del grande impegno di refactoring per fare affidamento solo su Dp e tipi primitivi per i parametri dei pixel (Id3434)
- Ora la transizione graduale può funzionare con null come valore iniziale (Iad6a4, b/155947711)
- È stato sostituito l'utilizzo della classe Px in vari classi di composizione nell'ambito del grande impegno di refactoring per fare affidamento solo su Dp e tipi primitivi per i parametri dei pixel (I19d02)
- Implementazioni CanvasScope consolidate ora esistono solo DrawScope e ContentDrawScope CanvasScope è stato rinominato in DrawScope. È stato aggiornato DrawScope per implementare l'interfaccia Density e fornire LayoutDirection. È stato eliminato il sottotipo DrawScope in ContentDrawScope. Painter e PainterModifier sono stati aggiornati in modo da non gestire più autonomamente una proprietà RTL, poiché DrawScope la fornisce già senza doverla fornire manualmente (I1798e)
- API compose di livello superiore aggiornate che espongono un Canvas per esporre CanvasScope. In questo modo, i consumatori non dovranno più gestire i propri oggetti Paint. 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 di base. (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)
- Miglioramento dell'API DrawModifier:
- È stato creato l'ambito del ricevente per draw() ContentDrawScope
- Sono stati rimossi tutti i parametri in draw()
- DrawScope ha la stessa interfaccia dell'ex CanvasScope
- ContentDrawScope ha il metodo drawContent() (Ibaced, b/152919067)
runOnIdleCompose
erunOnUiThread
ora sono funzioni globali invece di metodi su ComposeTestRule. (Icbe8f)- [Mutabile]Gli operatori di delega della proprietà stato sono stati spostati nelle estensioni per supportare le ottimizzazioni della delega della proprietà di Kotlin 1.4. Gli utenti che chiamano devono aggiungere importazioni per continuare a utilizzare
by state { ... }
oby mutableStateOf(...)
. (I5312c) - ColoredRect è stato deprecato. Utilizza invece
Box(Modifier.preferredSize(width, height).drawBackground(color))
. (I499fa, b/152753731) - Operatore Modificatore più sostituito con funzioni di estensione di fabbrica (I225e4)
- Componente componibile del Centro ritirato. Deve essere sostituito con il modificatore LayoutSize.Fill + LayoutAlign.Center o con uno dei composabili Box o Stack con modificatori appropriati applicati (Idf5e0)
- LayoutFlexible è stato rinominato LayoutWeight. Il parametro tight è stato rinominato in fill. (If4738)
- La funzione composable Opacity è stata sostituita con il modificatore drawOpacity. (I5fb62)
- I test che utilizzano AndroidComposeTestRule ora forniscono un orologio di animazione nella radice della composizione che consente di mettere in pausa, riprendere e avanzare manualmente. (Id54c5)
- Supporto della direzione da destra a sinistra nel modificatore LayoutPadding (I9e8da)
- Density e DensityScope sono stati uniti in un'unica interfaccia. Ora puoi utilizzare DensityAmbient.current anziché ambientDensity(). Anziché withDensity(density), usa semplicemente with(density) (I11cb1)
- Sono stati aggiunti metodi di copia a vari tipi di classi inline, tra cui:
- Offset
- Dimensioni
- Raggio
- Movimento
- TransformOrigin
- Metodo dell'oggetto companion Size.copy ritirato in 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 deprecato. Utilizza invece
setContent
osetViewContent
. Compose.disposeComposition è stato ritirato. Utilizza il metododispose
suComposition
restituito 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)