Crea animazione

Crea animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente.
Aggiornamento più recente Release stabile Candidato per l'uscita Versione beta Release alpha
26 giugno 2024 1.6.8 - 1.7.0-beta04 -

Struttura

Compose è una combinazione di 7 ID gruppo Maven all'interno di androidx. Ogni gruppo contiene un sottoinsieme di funzionalità target, ciascuno con il proprio insieme di note di rilascio.

Questa tabella illustra i gruppi e i link a ciascun insieme di note di rilascio.

RaggruppaDescrizione
compose.animationCrea animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente.
compose.compilerTrasforma le funzioni @Composable e abilita le ottimizzazioni con un plug-in del compilatore Kotlin.
compose.foundationScrivi applicazioni Jetpack Compose con componenti di base pronti all'uso ed estende le basi per creare i tuoi componenti di sistema di progettazione.
compose.materialCrea UI di Jetpack Compose con componenti Material Design pronti per l'uso. Si tratta del punto di ingresso di livello superiore di Compose, progettato per fornire componenti corrispondenti a quelli descritti all'indirizzo www.material.io.
compose.material3Crea UI di Jetpack Compose con Material Design 3 Components, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati, nonché funzionalità di personalizzazione di Material You, come il colore dinamico, ed è progettato per essere coerente con il nuovo stile visivo e la nuova UI di sistema di Android 12.
compose.runtimeComponenti di base di base del modello di programmazione e della gestione dello stato di Compose, nonché del runtime principale per il targeting del plug-in Compose Compiler.
compose.uiI componenti fondamentali dell'UI di scrittura, come layout, disegno e input, erano necessari per interagire con il dispositivo.

Dichiarazione delle dipendenze

Per aggiungere una dipendenza su 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 artefatti necessari nel file build.gradle per l'app o il modulo:

Trendy

dependencies {
    implementation "androidx.compose.animation:animation:1.6.8"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.animation:animation:1.6.8")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se scopri nuovi problemi o hai idee per migliorare questa raccolta. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a stella.

Crea un nuovo numero

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.7

Versione 1.7.0-beta04

26 giugno 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-beta04. La versione 1.7.0-beta04 contiene questi commit.

Versione 1.7.0-beta03

12 giugno 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-beta03. La versione 1.7.0-beta03 contiene questi commit.

Versione 1.7.0-beta02

29 maggio 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-beta02. La versione 1.7.0-beta02 contiene questi commit.

Versione 1.7.0-beta01

14 maggio 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-beta01. La versione 1.7.0-beta01 contiene questi commit.

Modifiche alle API

  • Nuovo resizeModes (ScaleToBounds e RemeasureToBounds) per sharedBounds per scegliere tra la scalabilità e la nuova misurazione. Le API scaleIn/OutSharedContentToBounds precedenti sono ora deprecate. (I0d41a)

Contributo esterno

Versione 1.7.0-alpha08

1° maggio 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-alpha08. La versione 1.7.0-alpha08 contiene questi commit.

Modifiche alle API

  • LookaheadScope API sono state rese stabili. (I21507)

Contributo esterno

  • Cancella il tempo di avvio dell'animazione dopo l'animazione/gli snapshot di SeekableTransitionState eseguiti da Steven Schoen (1ca89529)

Versione 1.7.0-alpha07

17 aprile 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-alpha07. La versione 1.7.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Le nuove API di transizione degli elementi condivisi attendono il tuo utilizzo e il tuo feedback. Queste nuove API sperimentali consentono di taggare i layout come condivisi nella struttura ad albero dei layout utilizzando i modificatori forniti, producendo limiti che cambiano facilmente quando un insieme di contenuti condivisi esce e viene inserito l'altro insieme. (Icb0b9)
  • Nuovi scaleInSharedContentToBounds e scaleOutSharedContentToBounds per scalare i contenuti in sharedBounds (I731c1)

Modifiche alle API

  • Ora AnimatedVisibilityScope.transition è un'API stabile. Anche Modifier.animateEnterExit(..) è stata resa stabile. (I6c1d1)
  • ApproachLayoutModifierNode e Modifier.approachLayout ora sono stabili, con i nuovi isMeasurementApproachInProgress() e isPlacementApproachInProgress() che sostituiscono rispettivamente i vecchi isMeasurementApproachComplete() e isPlacementApproachComplete().
  • Modificatore intermediateLayout deprecato rimosso. (I3e91c).
  • Ora puoi passare un valore periodicBias (in virgola mobile) a keyframesWithSpline, in modo che la velocità iniziale e finale dello spline siano uguali. Utile per animazioni ripetibili tramite spline. Il bias indica di quanto ogni velocità (iniziale e finale) viene modificata per ottenere la periodicità. (Ic1e6c, b/292114811)

Correzioni di bug

  • Corrette le curve di easing over-shooting e under-shooting che in precedenza sarebbero state bloccate a 0..1 (I38747)

Versione 1.7.0-alpha06

3 aprile 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-alpha06. La versione 1.7.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Il supporto dell'animazione per l'aspetto e la scomparsa dell'elemento è stato aggiunto in LazyColumn e LazyRow. In precedenza era possibile aggiungere il modificatore Modifier.animateItemPlacement() per supportare le animazioni di posizionamento (riordinamento). Abbiamo ritirato questo modificatore e introdotto un nuovo modificatore non sperimentale chiamato Modifier.animateItem() che consente di supportare tutti e tre i tipi di animazione: aspetto (dissolvenza in entrata), scomparsa (dissolvenza in uscita) e riordinamento. (I2d7f7, b/330152398, b/150812265)

Correzioni di bug

  • Prestazioni dell'API updateTransition migliorate.

Versione 1.7.0-alpha05

20 marzo 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-alpha05. La versione 1.7.0-alpha05 contiene questi commit.

Modifiche alle API

  • SeekableTransitionState sostituisce snapTo() con seekTo() e aggiunge un snapTo() che modifica immediatamente lo stato in uno stato di destinazione senza alcun tipo di animazione.

Versione 1.7.0-alpha04

6 marzo 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-alpha04. La versione 1.7.0-alpha04 contiene questi commit.

Modifiche alle API

  • Nuova API Path.reverse() per invertire la direzione di un percorso (I36348)

Versione 1.7.0-alpha03

21 febbraio 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-alpha03. La versione 1.7.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Nuovo Modifier.animateContentSize che richiede un parametro aggiuntivo per l'allineamento personalizzato dei contenuti. (I5623a, b/269803907)
  • Nuovo oggetto DeferredTargetAnimation sperimentale per l'animazione di dimensioni, posizione o altri target sconosciuti durante la creazione dell'istanza. (I60745)

Versione 1.7.0-alpha02

7 febbraio 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-alpha02. La versione 1.7.0-alpha02 contiene questi commit.

Correzioni di bug

  • Correzione di compatibilità per KeyframesSpec. (I2bdf3, b/322214617)
  • È stato risolto il problema di reimpostazione di Modifier.animateContentSize in uso in LazyList. (I070512, b/322525716)
  • È stato corretto il problema IllegalStateException in KeyframesSpec quando si utilizzavano timestamp fuori intervallo. (I341b8, b/322839811)

Versione 1.7.0-alpha01

24 gennaio 2024

Viene rilasciato androidx.compose.animation:animation-*:1.7.0-alpha01. La versione 1.7.0-alpha01 contiene questi commit.

Versione 1.6

Versione 1.6.8

12 giugno 2024

Viene rilasciato androidx.compose.animation:animation-*:1.6.8. La versione 1.6.8 contiene questi commit.

Versione 1.6.7

1° maggio 2024

Viene rilasciato androidx.compose.animation:animation-*:1.6.7. La versione 1.6.7 contiene questi commit.

Versione 1.6.6

17 aprile 2024

Viene rilasciato androidx.compose.animation:animation-*:1.6.6. Nessuna modifica dalla release precedente

Versione 1.6.5

3 aprile 2024

Viene rilasciato androidx.compose.animation:animation-*:1.6.5. La versione 1.6.5 contiene questi commit.

Versione 1.6.4

20 marzo 2024

Viene rilasciato androidx.compose.animation:animation-*:1.6.4. La versione 1.6.4 contiene questi commit.

Versione 1.6.3

6 marzo 2024

Viene rilasciato androidx.compose.animation:animation-*:1.6.3. La versione 1.6.3 contiene questi commit.

Versione 1.6.2

21 febbraio 2024

Viene rilasciato androidx.compose.animation:animation-*:1.6.2. La versione 1.6.2 contiene questi commit.

Versione 1.6.1

7 febbraio 2024

Viene rilasciato androidx.compose.animation:animation-*:1.6.1. La versione 1.6.1 contiene questi commit.

Correzioni di bug

Versione 1.6.0

24 gennaio 2024

Viene rilasciato androidx.compose.animation:animation-*:1.6.0. La versione 1.6.0 contiene questi commit.

Versione 1.6.0-rc01

10 gennaio 2024

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-rc01. La versione 1.6.0-rc01 contiene questi commit.

Versione 1.6.0-beta03

13 dicembre 2023

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-beta03. La versione 1.6.0-beta03 contiene questi commit.

Modifiche alle API

  • Abbiamo rimosso temporaneamente scaleInToFitContainer e scaleOutToFitContainer da AnimatedContentTransitionScope perché richiedono la previsione. Saranno disponibili quando la funzionalità lookahead sarà attivata per impostazione predefinita o sarà attivata nelle release future.

Versione 1.6.0-beta02

29 novembre 2023

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-beta02. La versione 1.6.0-beta02 contiene questi commit.

Versione 1.6.0-beta01

15 novembre 2023

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-beta01. La versione 1.6.0-beta01 contiene questi commit.

Modifiche alle API

  • ExitTransition.Hold è stato rinominato in ExitTransition.KeepUntilTransitionsFinished per essere più esplicito. (I1c490)
  • Ora puoi utilizzare keyframesWithSpline per interpolare qualsiasi valore n-dimensionale utilizzando gli spline monotonici. È particolarmente utile interpolare valori di posizione come Offset, IntOffset e DpOffset. Aggiunta come API sperimentale.

Correzioni di bug

  • Aggiungi il supporto del renderer per Sweep Gradient in ArcLine. (I4d5bb)
  • Implementa gli stessi valori e il codice hash per PageSize.Fixed. (Ie3ede, b/300134276)
  • Risolvi il problema di compatibilità binaria con la modifica degli elementi di Windows. (Iee695)
  • Rimuovi lo strato interno del materiale per chip/tasto Material3, poiché in questo caso i microbenchmark mostrano prestazioni migliori. (I55555)

Versione 1.6.0-alpha08

18 ottobre 2023

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-alpha08. La versione 1.6.0-alpha08 contiene questi commit.

Modifiche alle API

  • KeyframesSpecConfig#with ritirato a favore di KeyframesSpecConfig#using che conserva il pattern del builder. (I1d769)

Versione 1.6.0-alpha07

4 ottobre 2023

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-alpha07. La versione 1.6.0-alpha07 contiene questi commit.

Modifiche alle API

  • I Tabrow corretti e a scorrimento ora hanno varianti principali e secondarie. Questi valori vengono mappati correttamente al colore e al comportamento dell'indicatore come definito in Material3.
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow ora mostrano lo stato di scorrimento. (Iec8f5, b/260572337)

Versione 1.6.0-alpha06

20 settembre 2023

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-alpha06. La versione 1.6.0-alpha06 contiene questi commit.

Versione 1.6.0-alpha05

6 settembre 2023

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-alpha05. La versione 1.6.0-alpha05 contiene questi commit.

Modifiche alle API

  • È stato aggiunto PathEasing per consentire l'invio di un percorso arbitrario a una curva di easing. (Idb4b9)

Versione 1.6.0-alpha04

23 agosto 2023

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-alpha04. La versione 1.6.0-alpha04 contiene questi commit.

Modifiche alle API

  • Aggiungi SeekableTransitionState per consentire agli sviluppatori di controllare l'avanzamento di una transizione. (I8e69d).

Versione 1.6.0-alpha03

9 agosto 2023

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-alpha03. La versione 1.6.0-alpha03 contiene questi commit.

Modifiche alle API

  • Nuovo tipo di transizione entrata/uscita che scala i contenuti in base alle dimensioni del contenitore animato durante l'animazione di entrata e uscita. LookaheadScope Il divertimento e l'interfaccia componibili ora sono stabili. (Ifb2ce).

Versione 1.6.0-alpha02

26 luglio 2023

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-alpha02. La versione 1.6.0-alpha02 contiene questi commit.

Modifiche alle API

  • Nuova ExitTransition.Hold per visualizzare i contenuti in uscita in AnimatedContent fino al completamento delle transizioni di entrata e uscita. (I5984f)
  • Annotazioni aggiuntive per specificare gli input consentiti per i componibili (I51109)

Versione 1.6.0-alpha01

21 giu 2023

Viene rilasciato androidx.compose.animation:animation-*:1.6.0-alpha01. La versione 1.6.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Attiva l'integrazione completa di Modifier.animateContentSize e AnimatedVisibility nel sistema lookahead segnalando la dimensione target nel pass lookahead.

Modifiche alle API

  • Nuova proprietà in IntrinsincMeasureScope e relative implementazioni (ad es. MeasureScope) per indicare se la valutazione corrente è un passaggio lookahead. (I7a812)

Correzioni di bug

  • Rimosse le allocazioni dalle animazioni primaverili. (Ie9431)
  • nome del parametro value per Enum.valueOf modificato (Ia9b89)
  • Altre eccezioni generate dall'enum valueOf (I818fe)

Versione 1.5

Versione 1.5.4

18 ottobre 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.4. La versione 1.5.4 contiene questi commit.

Versione 1.5.3

4 ottobre 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.3. Questa versione non ha modifiche

Versione 1.5.2

27 settembre 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.2. La versione 1.5.2 contiene questi commit.

Versione 1.5.1

6 settembre 2023

Viene rilasciato androidx.compose.foundation:foundation-*:1.5.1. La versione 1.5.1 contiene questi commit.

Correzioni di bug

  • Campi di testo corretti che mostrano la tastiera e possono essere modificati quando il criterio readOnly è impostato su true. È stato inoltre corretto il problema di visualizzazione della tastiera quando il valore di readOnly viene modificato da vero a falso durante lo stato attivo. (I34a19, b/246909589)

Versione 1.5.1

6 settembre 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.1. La versione 1.5.1 contiene questi commit.

Versione 1.5.0

9 agosto 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.0. La versione 1.5.0 contiene questi commit.

Versione 1.5.0-rc01

26 luglio 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.0-rc01. La versione 1.5.0-rc01 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema per cui la chiamata a .value su un tipo di stato primitivo (come MutableIntState) comportava la segnalazione di un avviso di lint con una correzione non valida. Ora durante l'ispezione verrà consigliata 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. L'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 lint del progetto, cambia la gravità da informativo ad avviso (o superiore) dichiarando warning "AutoboxingStateCreation" all'interno della configurazione build.gradle o build.gradle.kts del modulo, come mostrato (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

Versione 1.5.0-beta03

28 giugno 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.0-beta03. La versione 1.5.0-beta03 contiene questi commit.

Versione 1.5.0-beta02

7 giugno 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.0-beta02. La versione 1.5.0-beta02 contiene questi commit.

Versione 1.5.0-beta01

24 maggio 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.0-beta01. La versione 1.5.0-beta01 contiene questi commit.

Modifiche alle API

  • Allocazioni rimosse nelle ricomposizioni, nelle animazioni a colori e in AndroidComposeView (Ib2bfa)

Correzioni di bug

  • Allocazioni rimosse dalle animazioni primaverili (Ie9431)

Versione 1.5.0-alpha04

10 maggio 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.0-alpha04. La versione 1.5.0-alpha04 contiene questi commit.

Modifiche alle API

  • ContentKey è ora supportato in AnimatedContent per consentire un maggiore controllo su quando deve avvenire la transizione. (Ic069b)

Versione 1.5.0-alpha03

19 aprile 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.0-alpha03. La versione 1.5.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Nuovo comportamento predefinito per SubcomposeLayout in LookaheadScope. Consente a SubcomposeLayouts senza aree condizionali (ad es. TabRow, Scaffold, BoxWithConstraints e così via) di funzionare correttamente con le animazioni lookahead.

Modifiche alle API

  • Il nuovo criterio intermediateMeasurePolicy predefinito che riutilizza il criterio di misurazione della tessera lookahead consente a SubcomposeLayout sottotipi senza aree condizionali come Scaffold, TabRow e BoxWithConstraints di funzionare con lookahead per impostazione predefinita. (ID84c8)
  • Rinomina gli infissi in togetherWith per combinare le transizioni di entrata e uscita. Nuovo AnimatedContentScope come destinatario per il lambda dei contenuti. (Ic39ae)

Versione 1.5.0-alpha02

5 aprile 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.0-alpha02. La versione 1.5.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Nuova API sperimentale per supportare lookahead in SubcomposeLayout. Ciò consentirà a SubcomposeLayout di funzionare correttamente in un LookaheadScope. A breve sarà disponibile un ulteriore supporto immediato per sottotipi specifici di SubcomposeLayout.

Modifiche alle API

  • Nuova API SubcomposeLayout che accetta un criterio di misura intermedia aggiuntiva per la gestione della logica di misura/layout durante le animazioni basate su lookahead. (I017d3)

Versione 1.5.0-alpha01

22 marzo 2023

Viene rilasciato androidx.compose.animation:animation-*:1.5.0-alpha01. La versione 1.5.0-alpha01 contiene questi commit.

Modifiche alle API

  • AnimatedContent Le API sono ora stabili, AnimatedContentScope è stato rinominato in AnimatedContentTransitionScope. scaleIn e scaleOut ora sono 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 rilasciate senza modifiche (solo un bumper di versione).

Versione 1.4.2

19 aprile 2023

androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2 e androidx.compose.animation:animation-graphics:1.4.2 vengono rilasciate 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 rilasciate senza modifiche. La versione 1.4.1 contiene questi commit.

Versione 1.4.0

22 marzo 2023

Vengono rilasciate le funzionalità androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0 e androidx.compose.animation:animation-graphics:1.4.0. La versione 1.4.0 contiene questi commit.

Modifiche importanti dalla versione 1.3.0

  • L'etichetta degli strumenti è supportata in rememberInfiniteTransition e in tutte le funzioni di estensione in InfiniteTransition e Transizione (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 rilasciate 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 rilasciate 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 rilasciate senza modifiche. La versione 1.4.0-beta01 contiene questi commit.

Versione 1.4.0-alpha05

25 gennaio 2023

Vengono rilasciate le funzionalità 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. La versione 1.4.0-alpha05 contiene questi commit.

Modifiche

  • Nessuna modifica nelle librerie di animazioni dall'ultima versione alpha, solo impatto della versione

Versione 1.4.0-alpha04

11 gennaio 2023

Vengono rilasciate le funzionalità 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. 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 su InfiniteTransition e Transition (ad es. InfiniteTransition#animateColor) (I56ef7)

Modifiche alle API

  • Le API InfiniteTransition#TransitionAnimationState e InfiniteTransition#animations sono ora pubbliche. (I36682)

Versione 1.4.0-alpha03

7 dicembre 2022

Vengono rilasciate le funzionalità 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. La versione 1.4.0-alpha03 contiene questi commit.

Modifiche alle API

  • Nei test dell'interfaccia utente che utilizzano una regola di composizione, le continuazioni riprese durante i callback withFrameNanos non verranno inviate fino al termine dell'esecuzione di tutti i callback frame. Questo corrisponde al comportamento di Compose quando viene eseguito normalmente. Tuttavia, i test che si basano sul comportamento precedente potrebbero non riuscire. Ciò dovrebbe interessare solo il codice che chiama direttamente withFrameNanos o withFrameMillis e ha una logica esterna al callback passato a quelle funzioni che potrebbero dover essere spostate all'interno dei callback. Consulta le modifiche relative al test delle animazioni in questo CL per degli esempi.
  • È stato aggiunto il parametro facoltativo onPerformTraversals: (Long) -> Unit al costruttore TestMonotonicFrameClock e alla funzione di fabbrica per eseguire il codice dopo i callback withFrameNanos, ma prima di riprendere le coroutine dei chiamanti. (Idb413, b/254115946, b/222093277, b/255802670)
  • Nuovo parametro in AnimatedContent per l'etichetta strumenti (Iebe2d)

Versione 1.4.0-alpha02

9 novembre 2022

Vengono rilasciate le funzionalità 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. La versione 1.4.0-alpha02 contiene questi commit.

Modifiche alle API

  • Aggiungi ToolingState per consentire agli strumenti di modificare gli stati interni di Composable (Ie6614)

Versione 1.4.0-alpha01

24 ottobre 2022

Vengono rilasciate le funzionalità 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. La versione 1.4.0-alpha01 contiene questi commit.

Correzioni di bug

  • Correggere l'animazione di interruzione errata nei contenuti animati (b/238662479)

Versione 1.3

Versione 1.3.3

11 gennaio 2023

Vengono rilasciate le funzionalità androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3 e androidx.compose.animation:animation-graphics:1.3.3. La versione 1.3.3 contiene questi commit.

  • Nessuna modifica dalla versione 1.3.2.

Versione 1.3.2

7 dicembre 2022

Vengono rilasciate le funzionalità androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2 e androidx.compose.animation:animation-graphics:1.3.2. La versione 1.3.2 contiene questi commit.

Correzioni di bug

  • Aggiornato per supportare androidx.compose.ui 1.3.2

Versione 1.3.1

9 novembre 2022

Vengono rilasciate le funzionalità androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1 e androidx.compose.animation:animation-graphics:1.3.1. La versione 1.3.1 contiene questi commit.

Versione 1.3.0

24 ottobre 2022

Vengono rilasciate le funzionalità androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0 e androidx.compose.animation:animation-graphics:1.3.0. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

  • Il nuovo insieme di funzioni di easing è stato reso stabile

Versione 1.3.0-rc01

5 ottobre 2022

Vengono rilasciate le funzionalità 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. La versione 1.3.0-rc01 contiene questi commit.

Versione 1.3.0-beta03

21 settembre 2022

Vengono rilasciate le funzionalità 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. 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

Vengono rilasciate le funzionalità 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. La versione 1.3.0-beta02 contiene questi commit.

  • Kotlin.experimental rimosso dalle opzioni del compilatore poiché è stato depricato

Versione 1.3.0-beta01

24 agosto 2022

Vengono rilasciate le funzionalità 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. La versione 1.3.0-beta01 contiene questi commit.

Versione 1.3.0-alpha03

10 agosto 2022

Vengono rilasciate le funzionalità 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. La versione 1.3.0-alpha03 contiene questi commit.

Modifiche alle API

  • Nuovo parametro in Crossfade, animateAsState e Animatable per l'etichetta degli strumenti (Iac08a)
  • È stata aggiunta la funzione atFraction per definire i fotogrammi chiave in corrispondenza di una frazione anziché di una durata specifica. (I20c76, b/232059455)

Versione 1.3.0-alpha02

27 luglio 2022

Vengono rilasciate le funzionalità 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. La versione 1.3.0-alpha02 contiene questi commit.

Versione 1.3.0-alpha01

29 giugno 2022

Vengono rilasciate le funzionalità 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. La versione 1.3.0-alpha01 contiene questi commit.

Modifiche alle API

  • Nuovo elemento LookaheadLayout che supporta un pass lookahead prima della misura/del layout effettivi. In questo modo è possibile eseguire un precalcolo del layout in caso di modifiche, mentre la misura/il layout post-lookahead può utilizzare la dimensione/posizione precalcolata 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

Vengono rilasciate le funzionalità androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1 e androidx.compose.animation:animation-graphics:1.2.1. La versione 1.2.1 contiene questi commit.

Versione 1.2.0

27 luglio 2022

Vengono rilasciate le funzionalità androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0 e androidx.compose.animation:animation-graphics:1.2.0. La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

  • La funzionalità di scrittura dell'animazione ora supporta l'impostazione "Scala durata animazione" dalle Opzioni sviluppatore.
  • Un'ampia selezione di nuove curve di easing sperimentali.
  • AnimatedImageVector ora supporta repeatCount e repeatMode

Versione 1.2.0-rc03

29 giugno 2022

Vengono rilasciate le funzionalità 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. 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

Vengono rilasciate le funzionalità 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. La versione 1.2.0-rc02 contiene questi commit.

Correzioni di bug

  • Annotazione ExperimentalEasingApi rimossa sulle funzioni di easing (Ied441)

Versione 1.2.0-rc01

15 giugno 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-rc01 contiene questi commit.

Modifiche alle API

  • Le interfacce nelle librerie di scrittura vengono ora create utilizzando i metodi predefiniti dell'interfaccia jdk8 (I5bcf1)

Versione 1.2.0-beta03

1 giugno 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-beta03 contiene questi commit.

Modifiche alle API

  • Aggiunta di curve di attenuazione sperimentale per le animazioni (I64a38)

Versione 1.2.0-beta02

18 maggio 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-beta02 contiene questi commit.

Versione 1.2.0-beta01

11 maggio 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-beta01 contiene questi commit.

  • Questa è la prima versione beta della 1.2. Non sono state apportate modifiche dall'ultima versione alpha.

Versione 1.2.0-alpha08

20 aprile 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-alpha08 contiene questi commit.

Versione 1.2.0-alpha07

6 aprile 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-alpha07 contiene questi commit.

Modifiche alle API

Versione 1.2.0-alpha06

23 marzo 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-alpha06 contiene questi commit.

Modifiche alle API

  • Aggiornamento dell'analisi dei drawable vettoriali per supportare il mirroring automatico per invertire i contenuti di un VectorPainter se la direzione del layout corrente è RTL. (I79cd9, b/185760237)

Correzioni di bug

  • Sono state aggiornate le API Vector Graphics per utilizzare l'annotazione componibile corretta @VectorComposable anziché @UiComposable (I942bc)

Versione 1.2.0-alpha05

9 marzo 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-alpha05 contiene questi commit.

Modifiche alle API

  • Evviva! La funzionalità di scrittura dell'animazione ora supporta l'impostazione "Scala durata animazione" delle Opzioni sviluppatore. (I5a4fc, b/161675988)

Versione 1.2.0-alpha04

23 febbraio 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-alpha04 contiene questi commit.

Versione 1.2.0-alpha03

9 febbraio 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-alpha03 contiene questi commit.

Versione 1.2.0-alpha02

26 gennaio 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-alpha02 contiene questi commit.

Versione 1.2.0-alpha01

12 gennaio 2022

Vengono rilasciate le funzionalità 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. La versione 1.2.0-alpha01 contiene questi commit.

Modifiche alle API

  • Usa AnimatedImageVector.animatedVectorResource anziché animatedVectorResource per caricare un file di risorse <animated-vector>.
    • Usa rememberAnimatedVectorResource anziché AnimatedImageVector#painterFor per eseguire il rendering di un AnimatedImageVector. (I9c300)

Correzioni di bug

  • Aggiungere 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

Vengono rilasciate le funzionalità androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1 e androidx.compose.animation:animation-graphics:1.1.1. La versione 1.1.1 contiene questi commit.

Correzioni di bug

  • Correggi NullPointerException in androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • È stato corretto l'arresto anomalo causato dai contenuti degli appunti durante la lettura dagli appunti su Android. (I06020, b/197769306)
  • RTL fisso in LazyVerticalGrid (aosp/1931080, b/207510535)

Versione 1.1.0

9 febbraio 2022

Vengono rilasciate le funzionalità androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0 e androidx.compose.animation:animation-graphics:1.1.0. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • Supporto stabile dell'effetto Overscroll per Android 12
  • Miglioramenti alle dimensioni del touch target
  • Tieni presente che, rispetto a Compose 1.0, i componenti Material amplieranno lo spazio di layout per rispettare le linee guida per l'accessibilità di Material relative alle dimensioni del touch target. Ad esempio, il touch target del pulsante si espanderà a una dimensione minima di 48 x 48 dp, anche se imposti le dimensioni del pulsante su un valore inferiore. In questo modo, Compose Material si allinea allo stesso comportamento dei componenti di Material Design e si ottiene un comportamento coerente se si combinano Visualizzazioni e Compose. Questa modifica garantisce inoltre che, quando crei la UI utilizzando i componenti Compose Material, vengano soddisfatti i requisiti minimi per l'accessibilità dei touch target.
  • Supporto stabile per barra di navigazione
  • Consente di passare alcune API precedentemente sperimentali allo stato stabile
  • Supporto per versioni più recenti di Kotlin

Versione 1.1.0-rc03

26 gennaio 2022

Vengono rilasciate le funzionalità 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. La versione 1.1.0-rc03 contiene questi commit.

Correzioni di bug

  • Aggiornato per supportare Compose Material 1.1.0-rc03

Versione 1.1.0-rc01

15 dicembre 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.1.0-rc01 e androidx.compose.animation:animation-core:1.1.0-rc01. La versione 1.1.0-rc01 contiene questi commit.

Modifiche alle API

  • Usa AnimatedImageVector.animatedVectorResource anziché animatedVectorResource per caricare un file di risorse <animated-vector>.
    • Usa rememberAnimatedVectorResource anziché AnimatedImageVector#painterFor per eseguire il rendering di un AnimatedImageVector. (I9c300)

Versione 1.1.0-beta04

1 dicembre 2021

Vengono rilasciate le funzionalità 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. La versione 1.1.0-beta04 contiene questi commit.

Nuove funzionalità

  • Aggiornamento per essere compatibile con Kotlin 1.6.0

Versione 1.1.0-beta03

17 novembre 2021

Vengono rilasciate le funzionalità 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. La versione 1.1.0-beta03 contiene questi commit.

Modifiche alle API

  • È stato aggiunto il nuovo modificatore Modifier.onPlaced per consentire di osservare i cambiamenti nel posizionamento. È quindi possibile apportare ulteriori modifiche all'offset del modificatore secondario in base alla modifica al posizionamento osservata. (I558fd)
  • Nuovo supporto per contentKey nella dissolvenza incrociata. ContentKey verrà utilizzato per il controllo di uguaglianza dal sistema di animazione. Pertanto, la differenza personalizzata in base agli stati può essere ottenuta specificando contentKey appropriato per i diversi stati.

    ContentKey verrà anche utilizzata come chiave per salvare e ripristinare i contenuti. (I2e055, b/197907070)

Versione 1.1.0-beta02

3 novembre 2021

Vengono rilasciate le funzionalità 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. La versione 1.1.0-beta02 contiene questi commit.

Correzioni di bug

  • Nuove API di animazione per gli strumenti di supporto. In particolare, consentono agli strumenti di esaminare le animazioni e le relative configurazioni in una transizioni. (I4116e)

Versione 1.1.0-beta01

27 ottobre 2021

Vengono rilasciate le funzionalità 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. La versione 1.1.0-beta01 contiene questi commit.

Modifiche alle API

  • Nuove API di animazione per gli strumenti di supporto. In particolare, consentono agli strumenti di esaminare le animazioni e le relative configurazioni in una transizioni. (I4116e)

Versione 1.1.0-alpha06

13 ottobre 2021

Vengono rilasciate le funzionalità 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. La versione 1.1.0-alpha06 contiene questi commit.

Versione 1.1.0-alpha05

29 settembre 2021

Vengono rilasciate le funzionalità 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. La versione 1.1.0-alpha05 contiene questi commit.

Modifiche alle API

  • EnterTransition, ExitTransition e alcune delle API AnimatedVisibility sono state rese stabili. Inoltre, MutableTransitionState.isIdle non è più sperimentale. (I5072d)

  • Interruzione di modifica: le funzioni lambda nelle fabbriche Enter/ExitTransaction sono state spostate nell'ultima posizione nell'elenco dei parametri. (I5072d)

Versione 1.1.0-alpha04

15 settembre 2021

Vengono rilasciate le funzionalità 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. La versione 1.1.0-alpha04 contiene questi commit.

Versione 1.1.0-alpha03

1° settembre 2021

Vengono rilasciate le funzionalità 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. La versione 1.1.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Compose 1.1.0-alpha03 è stata aggiornata per dipendere da Kotlin 1.5.30. (I74545)

Versione 1.1.0-alpha02

18 agosto 2021

Vengono rilasciate le funzionalità 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. La versione 1.1.0-alpha02 contiene questi commit.

Modifiche alle API

  • StartOffset è ora supportato nei formati ripetibile e infiniterepeatable, come un modo per ritardare l'inizio o per avanzare velocemente l'animazione prima dell'avvio dell'animazione. Questo offset iniziale non verrà ripetuto (Ic679f, b/195079908)
  • Nuova transizione Invio/Uscita per la scalabilità. Può essere usato in combinazione con altri tipi di transizioni di tipo Invio/Uscita. (I372da, b/191325593)

Versione 1.1.0-alpha01

4 agosto 2021

Vengono rilasciate le funzionalità 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. La versione 1.1.0-alpha01 contiene questi commit.

Modifiche alle API

  • AnimatedImageVector e le API correlate si trovano ora nel nuovo modulo androidx.compose.animation:animation-graphics. (I60873)

Correzioni di bug

Versione 1.0

Versione 1.0.5

3 novembre 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.5 e androidx.compose.animation:animation-core:1.0.5. La versione 1.0.5 contiene questi commit.

Correzioni di bug

  • È stato corretto un arresto anomalo del monitoraggio delle istanze derivateStateOf. (aosp/1792247)

Versione 1.0.4

13 ottobre 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.4 e androidx.compose.animation:animation-core:1.0.4. La versione 1.0.4 contiene questi commit.

Aggiornamenti delle dipendenze

  • Aggiornamento in base a Kotlin 1.5.31 eseguito

Versione 1.0.3

29 settembre 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.3 e androidx.compose.animation:animation-core:1.0.3. La versione 1.0.3 contiene questi commit.

Aggiornamenti delle dipendenze

  • Aggiornamento in base a Kotlin 1.5.30 eseguito

Versione 1.0.2

1° settembre 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.2 e androidx.compose.animation:animation-core:1.0.2. La versione 1.0.2 contiene questi commit.

Aggiornamento eseguito per supportare la release Compose 1.0.2. Compose 1.0.2 è ancora compatibile con Kotlin 1.5.21.

Versione 1.0.1

4 agosto 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.1 e androidx.compose.animation:animation-core:1.0.1. La versione 1.0.1 contiene questi commit.

Aggiornamenti delle dipendenze

  • Aggiornamento eseguito in modo da dipendere da Kotlin 1.5.21.

Versione 1.0.0

28 luglio 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0 e androidx.compose.animation:animation-core:1.0.0. La versione 1.0.0 contiene questi commit.

Funzionalità principali di 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 nel file build.gradle, impostandolo su 24 o più. Questo problema verrà risolto nella prossima versione di Android Studio Bumblebee e AGP 7.1. (b/194289155)

Versione 1.0.0-rc02

14 luglio 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-rc02 e androidx.compose.animation:animation-core:1.0.0-rc02. La versione 1.0.0-rc02 contiene questi commit.

Versione 1.0.0-rc01

1 luglio 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-rc01 e androidx.compose.animation:animation-core:1.0.0-rc01. La versione 1.0.0-rc01 contiene questi commit.

Correzioni di bug

Versione 1.0.0-beta09

16 giugno 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-beta09 e androidx.compose.animation:animation-core:1.0.0-beta09. La versione 1.0.0-beta09 contiene questi commit.

Modifiche alle API

  • Nuovo AnimatedContent componibile. Gestisce la modifica dei contenuti utilizzando ContentTransform personalizzabile quando i nuovi contenuti di destinazione vengono inseriti e i contenuti iniziali escono. È possibile utilizzare diverse combinazioni di transizioni di entrata e uscita per creare un aspetto personalizzato. Nell'ambito della trasformazione del contenuto, AnimatedContent anima automaticamente le sue dimensioni per adattarle ai contenuti in arrivo. (I2c3df)
  • ManualFrameClock rimosso. Se hai bisogno di controllare le animazioni, utilizza invece composeTestRule.mainClock. (I3c3e8, b/189951065)

Regole del profilo aggiunte

In questa release vengono aggiunte regole di profilo ai seguenti moduli di scrittura (I14ed6):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.layout-base
  • androidx.compose.material
  • androidx.compose.materiale-eco
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • testo androidx.compose.ui.
  • testo androidx.compose.ui.
  • androidx.compose.ui.unit
  • androidx.compose.ui.util,

Che cosa sono le regole del profilo?

  • Le regole del profilo per una libreria vengono specificate in un file di testo baseline-prof.txt situato in src/main o nella directory equivalente. Il file specifica una regola per riga, dove una regola in questo caso è un pattern per la corrispondenza con metodi o classi nella libreria. La sintassi per queste regole è un soprainsieme del formato del profilo ART leggibile che viene utilizzato quando si utilizza adb shell profman --dump-classes-and-methods .... Queste regole possono avere 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> rappresenta uno o più caratteri H, S e P per indicare se questo metodo deve essere contrassegnato o meno come "A caldo", "Avvio" o "Post avvio".

  • <CLASS_DESCRIPTOR> è il descrittore della classe a cui appartiene il metodo scelto come target. Ad esempio, la classe androidx.compose.runtime.SlotTable avrà un descrittore Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> è la firma del metodo e include il nome, i tipi di parametri e i tipi restituiti del metodo. Ad esempio, il metodo fun isPlaced(): Boolean su LayoutNode ha la firma isPlaced()Z.

  • Questi pattern possono avere caratteri jolly (**, * e ?) in modo da avere una singola regola che comprende 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 con il flag S indica che si tratta di un metodo chiamato all'avvio e che deve essere compilato in anticipo per evitare i costi della compilazione e dell'interpretazione del metodo al momento dell'avvio.

  • Un metodo con il flag P indica che si tratta di un metodo che viene richiamato 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 in artefatti AAR. Quando viene creata un'app che include questi elementi, queste regole vengono unite e le regole unite vengono utilizzate per creare un profilo ART binario compatto specifico per l'app. ART può quindi sfruttare questo profilo quando l'app viene installata sui dispositivi per compilare in anticipo un sottoinsieme specifico dell'applicazione al fine di migliorare le prestazioni dell'applicazione, in particolare la prima esecuzione. Tieni presente che ciò non avrà alcun effetto sulle applicazioni di cui è possibile eseguire il debug.

Versione 1.0.0-beta08

2 giugno 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-beta08 e androidx.compose.animation:animation-core:1.0.0-beta08. La versione 1.0.0-beta08 contiene questi commit.

Correzioni di bug

  • Ora detectDragGesures, detectVerticalGestures e detectHorizontalGestures utilizzeranno automaticamente il cambio di posizione, senza dover chiamare change.consumePositionChange nei callback onTrascina (I42fc4, b/185096350, b/187320697)
  • Modifier.onGloballyPositioned() è stato modificato per indicare 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 indicate. (Ieb67d, b/177926591)

Versione 1.0.0-beta07

18 maggio 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-beta07 e androidx.compose.animation:animation-core:1.0.0-beta07. La versione 1.0.0-beta07 contiene questi commit.

Modifiche alle API

  • Nuova API AnimatedVisibility che supporta la visibilità da specificare in un MutableTransitionState. In questo modo, gli stati dell'animazione possono essere osservati all'esterno di AnimatedVisibility tramite currentState e isIdle.
    • Assistenza per la transizione di nuovi account secondari in Transizione
    • Supporta l'animazione personalizzata di transizione uscita/invio in AnimatedVisibility utilizzando AnimationScope.transition.
    • Nuovo modificatore animatoEnterExit accessibile a tutti gli elementi secondari di AnimatedVisibility
    • Ritirate le API AnimatedVisibility che utilizzano un parametro initiallyVisible (I702f3).

Versione 1.0.0-beta06

5 maggio 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-beta06 e androidx.compose.animation:animation-core:1.0.0-beta06. La versione 1.0.0-beta06 contiene questi commit.

Versione 1.0.0-beta05

21 aprile 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-beta05 e androidx.compose.animation:animation-core:1.0.0-beta05. La versione 1.0.0-beta05 contiene questi commit.

Correzioni di bug

  • I file AndroidManifest di ui-test-manifest e ui-tooling-data sono ora compatibili con Android 12 (I6f9de, b/184718994)

Versione 1.0.0-beta04

7 aprile 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-beta04 e androidx.compose.animation:animation-core:1.0.0-beta04. La versione 1.0.0-beta04 contiene questi commit.

Modifiche alle API

  • Le istanze pubbliche di RowScope, ColumnScope, BoxScope, BoxWithConstraintsScope sono state rimosse. (I4e83e, b/181869067)

Versione 1.0.0-beta03

24 marzo 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-beta03 e androidx.compose.animation:animation-core:1.0.0-beta03. La versione 1.0.0-beta03 contiene questi commit.

Versione 1.0.0-beta02

10 marzo 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-beta02 e androidx.compose.animation:animation-core:1.0.0-beta02. La versione 1.0.0-beta02 contiene questi commit.

Correzioni di bug

  • Applicare restrizioni sull'uso pubblico delle API sperimentali (I6aa29, b/174531520)

Versione 1.0.0-beta01

24 febbraio 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-beta01 e androidx.compose.animation:animation-core:1.0.0-beta01. La versione 1.0.0-beta01 contiene questi commit.

Questa è la prima versione di Compose 1.0.0 Beta.

Modifiche alle API

  • InteractionState è stato sostituito con [Mutable]InteractionSource
    • Le interfacce sono responsabili dell'emissione / raccolta degli eventi di interazione.
    • Anziché trasmettere interactionState = remember { InteractionState() } a componenti come Button e Modifier.clickable(), utilizza interactionSource = remember { MutableInteractionSource() }.
    • Invece di: Interaction.Pressed in interactionState, devi utilizzare le funzioni di estensione su InteractionSource, ad esempio InteractionSource.collectIsPressedAsState().
    • Per casi d'uso complessi, puoi utilizzare InteractionSource.interactions per osservare il flusso di interazioni. Per 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 di dimensione sono stati rinominati. Modifier.width/height/size è stato rinominato in requiredwidth/requiredHeight/requiredSize. Modifier.preferredwidth/preferredHeight/preferredSize è stata rinominata in larghezza/altezza/dimensione. (I5b414).
  • L'orientamento è stato spostato nel pacchetto di base. VelocirtTracker è passato da ui.gesture a ui.input.pointer. (Iff4a8, b/175294473)
  • AnimationClockObservable e le sottoclassi sono state rimosse. L'animazione Float è stata rimossa. (Icde52, b/177457083)
  • Modifier.draggable ora accetta DraggableState invece di una semplice lambda. Puoi creare uno stato tramite rememberDraggableState { delta -> } per ottenere lo stesso comportamento di prima (Ica70f, b/175294473)
  • Le API animate, animateValue, AnimatedValue sono state rimosse (If27bc, b/177457083)
  • AnimationEndReason.Interrupted è stato rimosso. Se l'animazione viene interrotta, viene inviata un'eccezione AnnullationException. (I2cbbc, b/179695417)
  • L'API TargetAnimation è stata rimossa. (If47d1, b/177457083)

Versione 1.0.0-alpha12

10 febbraio 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha12 e androidx.compose.animation:animation-core:1.0.0-alpha12. La versione 1.0.0-alpha12 contiene questi commit.

Modifiche alle API

  • Modifier.pointerInput ora richiede i tasti di memorizzazione per indicare quando la coroutine di rilevamento dell'input del puntatore deve riavviarsi per nuove dipendenze. (I849cd)
  • I limiti sono stati rinominati in DpRect (I4b32a)
  • Il nome del parametro AnimationSpec è stato unificato nel sistema di animazione. Limita anche Invio/Esci in modo che accetti FiniteAnimationSpec. (Ie47c5, b/177457083)
  • Animatable.snapTo e Animatable.stop sono ora funzioni di sospensione (If4288)
  • Analogamente a come abbiamo rimosso il componibile state { 0 } e ora ne promuoviamo l'utilizzo come remember { mutableStateOf(0) }, rimuoveremo il componibile savedInstanceState { 0 }. Dovresti usare rememberSaveable { mutableStateOf(0) }, che verrà salvato e ripristinato automaticamente se il tipo utilizzato all'interno del MutableState può essere archiviato nel bundle. Se in precedenza passavi un oggetto salvaschermo personalizzato, ora devi utilizzare un nuovo sovraccarico di memorizzareSaveable con il parametro stateSaver. L'utilizzo sarà simile a questo: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • È stata aggiornata la firma del metodo Crossfade per una maggiore coerenza con il resto del sistema di animazione. (Ib05ed, b/177457083)
  • SavedInstanceState() è stato rinominato in saveSaveable() e spostato nel pacchetto androidx.compose.runtime.saveable. (I1366e, b/177338004)
  • Il nome RestorableStateHolder è stato rinominato SaveableStateStatepor e è stato spostato nel pacchetto androidx.compose.runtime.saveable. Il metodo interno RestorableStateProvider è stato rinominato in 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 per essere coerente con il resto del sistema di animazione. (I0bf75, b/177457083)
  • L'elemento AnimatedValue/Float è ora deprecato. Usa invece Animatable. (I71345, b/177457083)
  • Le opzioni tapGeFilter, doubleTapGeFilter, longPress descrittiFilter e pressIndicaitonGeFilter sono state ritirate. Usa invece Modifier.clickable o Modifier.pointerInput con la funzione detectTapGestis. (I6baf9, b/175294473)
  • È stato introdotto un elemento di contesto della coroutine InfiniteAnimationPolicy che verrà applicato in animazioni infinite. Per impostazione predefinita, nessun criterio è installato, tranne quando si eseguono test con ComposeTestRule. (I50ec4, b/151940543)
  • I metodi Destructuring e copy() sono stati rimossi da diverse classi in cui venivano usati raramente. (I26702, b/178659281)
  • La riproduzione dell'animazione ora è ridotta ai nanosecondi (If776a)
  • L'artefatto composizione:runtime-submit è deprecato. MonotonicFrameClock ora si trova in composizione:runtime, mentre AndroidUiDispatcher in compare:ui. (Ib5c36).
  • Sono stati aggiunti Animation.isInfinite e VectorizedAnimationSpec.isInfinite che indicano se un'animazione è infinita o meno. Può essere usato in implementazioni di animazioni per avere una gestione speciale di tali animazioni. Ad esempio, è possibile visualizzare un messaggio speciale "tempo rimanente" oppure, durante i test, l'animazione può essere annullata per evitare di attendere a tempo indeterminato l'inattività. (Iebb05, b/151940543)
  • Utilizza Lungo al posto di Uptime come tipo di tempo dell'animazione (Ie3aa7, b/177420019)

Versione 1.0.0-alpha11

28 gennaio 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha11 e androidx.compose.animation:animation-core:1.0.0-alpha11. La versione 1.0.0-alpha11 contiene questi commit.

Modifiche alle API

  • La transizione basata su TransactionDefinition è stata ritirata (I0ac57)
  • Aggiunto un campo Etichetta per visualizzare transizioni e animazioni secondarie negli strumenti (I619fb)
  • animatoAsState ora è animatoFooAsState, dove Foo è il tipo di variabile da animare, ad esempio Float, Dp, Offset e così via (Ie7e25).
  • Nuova InfiniteTransizione che esegue un numero qualsiasi di animazioni figlio. (I1da81)
  • Modifica le interfacce dei parametri stateful Material in modo che abbiano funzioni @Composable che restituiscono State<T>. Aggiunge Animatable.asState() per facilitare la conversione di un oggetto Animatable in uno stato. Modifica inoltre animazioneElevation in modo che diventi un'estensione di sospensione su Animatable. (If613c).

Correzioni di bug

  • onCommit, onDispose e onActive sono stati deprecati in favore delle API SideEffect e DisposableEffect (If760e)
  • Lo stato iniziale in updateTransizione è ora supportato (Ifd51d)
  • Il parametro della descrizione dei contenuti è stato aggiunto a Immagine e Icona. Viene utilizzato per fornire una descrizione dei servizi di accessibilità (I2ac4c)
  • invalidate e composizioneReference() sono ora deprecate in favore rispettivamente di currentRecomposeScope e ricomponinciavoce. (I583a8)
  • Le opzioni Duration e Uptime verranno sostituite con Long millisecondi e questo passaggio rimuove la dipendenza dell'input del puntatore su queste classi. (Ia33b2, b/175142755, b/177420019)
  • Ora è possibile creare elementi cliccabili, attivabili e selezionabili al di fuori della composizione (I0a130, b/172938345, b/175294473)
  • L'easing è stato cambiato in un'interfaccia funzionale (Ib14e5)
  • Nuovo metodo di fabbrica items(count: Int) per l'ambito di LazyColumn/LazyRow/LazyVerticalGrid. items(items: List) e itemsIndexed(items: List) sono ora funzioni di estensione, quindi devi importarle manualmente quando vengono utilizzate. Sovraccarico di nuove estensioni per gli array: items(items: Array) e itemsIndexed(Array) (I803fc, b/175562574)
  • Utilizzare TestCoroutineDispatcher per i test (I532b6)
  • Sono stati rimossi PointerInputData e sono stati modificati PointerInputChange per fornire tutti i campi di PointerInputData. Resi interni PointerInputEvent e PointerInputEventData perché non sono utilizzati in alcuna API pubblica. (Ifff97, b/175142755)

Versione 1.0.0-alpha10

13 gennaio 2021

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha10 e androidx.compose.animation:animation-core:1.0.0-alpha10. La versione 1.0.0-alpha10 contiene questi commit.

Modifiche alle API

  • ha modificato la velocità per avere componenti e operazioni matematiche. (Ib0447)
  • Il valore @ExperimentalTesting è stato rinominato in @ExperimentalTestApi per essere coerente con annotazioni API sperimentali simili (Ia4502, b/171464963)
  • Il nome della posizione è stato cambiato in DpOffset e è stato rimosso il metodo getDistance() (Ib2dfd)
  • Rimozione dell'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 del decadimento multidimensionale (I820f2, b/168014930)
  • animate() è ora sostituito con animateAsState(), che restituisce State<T> anziché T. Ciò consente prestazioni migliori, poiché l'ambito di invalidazione può essere ristretto al punto in cui viene letto il valore State. (Ib179e)

Versione 1.0.0-alpha09

16 dicembre 2020

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha09 e androidx.compose.animation:animation-core:1.0.0-alpha09. La versione 1.0.0-alpha09 contiene questi commit.

Modifiche alle API

  • Dp.VectorConverter, Position.VectorConverter ecc. spostati in animation-core e deprecati i vecchi VectorConveters (If0c4b)
  • Ha introdotto un nuovo set di API Transizione con maggiore facilità d'uso e supporto per l'aggiunta dinamica di animazioni e target dell'animazione calcolati in modo dinamico. Queste API sono contrassegnate come sperimentali, per una facile differenziazione dall'API basata su transitDefinition. (Ia7fe3)

Correzioni di bug

  • Le funzioni Lambda nei modificatori di offset ora restituiscono IntOffset anziché Float. (Ic9ee5, b/174137212, b/174146755)
  • Ritirare LazyColumnFor, LazyRowFor, LazyColumnForIndexed e LazyRowForIndexed. Usa LazyColumn e LazyRow (I5b48c)
  • Per sospendere le API di input del puntatore, abbiamo rinominato HandlePointerInputScope in AwaitPointerEventScope e handlePointerInput() in awaitPointerEventScope(). (Idf0a1, b/175142755)
  • Nuova funzione infiniteRipetibile per la creazione di una InfiniteRipetiableSpec (I668e5)
  • Rimossa l'annotazione ExperimentalPointerInput (Ia7a24)

Versione 1.0.0-alpha08

2 dicembre 2020

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha08 e androidx.compose.animation:animation-core:1.0.0-alpha08. La versione 1.0.0-alpha08 contiene questi commit.

Modifiche alle API

  • È stato aggiunto il controllo del lint per la denominazione e la posizione dei parametri lambda componibili al fine di verificare la coerenza con le linee guida di Compose. Inoltre, è stata eseguita la migrazione di alcune API utilizzando children come nome per il lambda finale in content, in base al controllo del lint e alle indicazioni. (Iec48e)
  • Le API precedentemente deprecate sono state rimosse:
    • L'elemento Modifier.onPositioned è stato rimosso; utilizza Modifier.onGloballyPositioned.
    • L'elemento Modifier.onDraw è stato rimosso; utilizza Modifier.onDrawBehind.
    • L'elemento Modifier.plus è stato rimosso; utilizza Modifier.then.
    • L'elemento Color.Unset è stato rimosso; utilizza Color.Unspecified.
    • PxBounds corso è stato rimosso. Usa Rect al suo posto.
    • (Ie9d02, b/172562222)
  • Aggiunta temporaneamente opzione per consentire al TestAnimationClock di essere gestito dal MonotonicFrameClock (I1403b, b/173402197)

Correzioni di bug

  • Ridenominazione di Modifier.drawlayer in Modifier.graphicsLivello Inoltre, le classi correlate sono state aggiornate in Graphicslayer in base ai feedback del Consiglio API. (I0bd29, b/173834241)
  • Aggiunta le API Modifier.scale/rotate per comodità di drawlayer.
    • Modifier.drawOpacity è stato rinominato in Modifier.alpha
    • Modifier.drawShadow rinominato in Modifier.shadow (I264ca, b/173208140)
  • I campi di posizione e di uptime di PointerInputData non possono essere impostati come valori null. (ID468a)
  • I modificatori offsetPx sono stati rinominati in offset. Prende i parametri lambda anziché i parametri State. (Ic3021, b/173594846)
  • Nuove API per l'esecuzione di animazioni nelle coroutine (Ied662)
  • Ambienti deprecati denominati con Ambient come suffisso e sostituiti con nuove proprietà con prefisso Ambient, conformi alle altre linee guida dell'API Ambient e Compose. (I33440)
  • Il controllo del tempo nei test (TestAnimationClock e relativi utilizzi) è ora in fase sperimentale (I6ef86, b/171378521)
  • Rimuovi il vecchio modulo di test dell'ui e i relativi stub (I3a7cb)
  • La funzione RestorableStateHolder.withRestorableState è stata rinominata in RestorableStateProvider (I66640)
  • L'interfaccia di Allineamento è stata aggiornata e resa funzionale. (I46a07, b/172311734)

Versione 1.0.0-alpha07

11 novembre 2020

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha07 e androidx.compose.animation:animation-core:1.0.0-alpha07. La versione 1.0.0-alpha07 contiene questi commit.

Correzioni di bug

  • Gli elementi di base AmbientTextStyle, ProvideTextStyle e AmbientContentColor sono stati deprecati. Utilizza invece le nuove versioni disponibili nella libreria Material. Per le applicazioni non Material, devi invece creare un tuo sistema di progettazione specifico per la tematizzazione, che possono essere utilizzati nei tuoi componenti. (I74acc, b/172067770)
  • Foundation.Text è stato deprecato e sostituito con material.Text. Per un'API di testo di base non definita che non utilizza valori di un tema, vedi androidx.compose.foundation.BasicText. (If64cb)
  • MeasureResult è stato spostato fuori 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

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha06 e androidx.compose.animation:animation-core:1.0.0-alpha06. La versione 1.0.0-alpha06 contiene questi commit.

Modifiche alle API

  • Abilita le transizioni in ComposeTestRule; rimuovi l'opzione per abilitare il cursore lampeggiante da ComposeTestRule. (If0de3).

Versione 1.0.0-alpha05

14 ottobre 2020

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha05 e androidx.compose.animation:animation-core:1.0.0-alpha05. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche alle API

  • Nuova interfaccia e sottoclassi dell'animazione: queste classi memorizzano le condizioni di inizio e fine per le animazioni e consentono quindi di eseguire query su valori e velocità solo tramite il tempo di riproduzione (Ie95bd, b/163329867)

Correzioni di bug

  • Il nuovo nome di OnPositionedModifier è OnGloballyPositionedModifier e onPositioned() di onGloballyPositioned(). (I587e8, b/169083903)
  • Ritira le API contentColor() e currentTextStyle() e le sostituisce rispettivamente con gli ambienti AmbientContentColor e AmbientTextStyle. Puoi accedere al valore corrente utilizzando .current nella proprietà Ambient, come in qualsiasi altro ambiente. Questa modifica è stata apportata per garantire la coerenza e evitare di avere più modi per ottenere lo stesso risultato. Inoltre, rinomina alcune proprietà Ambient per descriverne meglio lo scopo come segue:

    • ContentColorAmbient -> AmbientContentColor
    • StileTestoAmbiente -> StileTesto
    • IndicationAmbient -> Indicazione ambientale
    • EmphasisAmbient -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

Versione 1.0.0-alpha04

1° ottobre 2020

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha04 e androidx.compose.animation:animation-core:1.0.0-alpha04. La versione 1.0.0-alpha04 contiene questi commit.

Modifiche alle API

  • Annotated rootAnimationClock Fab, transizionisEnabled, blinkingCursorEnabled e textInputServiceFA con @VisibileForTesting, imposta l'API interna per questi utenti e nascondi il relativo kdoc (I554eb, b/168308412)

Correzioni di bug

  • Sono state aggiornate molte API grafiche
    • Sono state aggiornate le API di trasformazione della scala e della rotazione per utilizzare un singolo parametro Offset per rappresentare la coordinata pivot invece di parametri in virgola mobile separati per le coordinate x/y in DrawScope e DrawTransform
    • Sono stati rimossi i metodi Rect.expandToInclude e Rect.join
    • È stata aggiornata la documentazione relativa a Raggio, ovale,
    • È stata aggiunta la documentazione per indicare che il costruttore pubblico per la classe Radius in linea non deve essere chiamato direttamente, ma è necessario creare un'istanza degli oggetti raggio tramite i loro costruttori di funzione
    • Rimosse le API RoundRect per eseguire query in topRight, bottomRight, bottomCenter e così via.
    • Rect.shift obsoleto in favore di Rect.translate
    • Rimosse le API RoundRect.grow e Rect.shrink
    • RoundRect.outerRect rinominato in Rect.boundingRect
    • Rimossi i metodi RoundRect.middleRect/tallMiddleRect/wideMiddleRect e Rect.isStadium
    • RoundRect.longestSide è stato rinominato RoundRect.maxDimensione
    • RoundRect.shortestSide è stato rinominato RoundRect.minDimensione
    • RoundRect.center modificato in una proprietà anziché in una funzione
    • Aggiornato il costruttore RoundRect per usare le proprietà Raggio, anziché i singoli parametri,
    • Rimosse le API per le dimensioni che supponevano che si trattasse di un rettangolo con origine pari a 0,0
    • Aggiunta di un'API di distruzione a Radius
    • Ha eseguito la migrazione di varie funzioni dell'estensione RoundRect in proprietà
    • (I8f5c7, b/168762961)
  • Foundation.Box è stato deprecato. Usa il metodo ground.layout.Box. (Ie5950, b/167680279)
  • Stack è stato rinominato Box. Il formato Box esistente in precedenza verrà ritirato e sostituito con il nuovo Box all'indirizzo composizione.foundation.layout. Il comportamento del nuovo riquadro consiste nell'impilare gli elementi secondari uno sopra l'altro quando sono presenti più elementi secondari. È diverso dal riquadro precedente, che aveva un comportamento simile a quello di una colonna. (I94893, b/167680279)
  • I parametri per la decorazione della casella sono stati ritirati. Se vuoi aggiungere decorazioni/spaziature sulla scatola, usa i Modifiers (Modifier.background, Modifier.edge, Modifier.padding) (Ibae92, b/167680279).
  • Abbiamo impedito le importazioni statiche dei contenuti degli ambiti di layout (ad es.alignWithSiblings in RowScope). Al suo posto, è necessario utilizzare l'alternativa relativa all'ambito esplicito: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Versione 1.0.0-alpha03

16 settembre 2020

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha03 e androidx.compose.animation:animation-core:1.0.0-alpha03. La versione 1.0.0-alpha03 contiene questi commit.

Correzioni di bug

  • Gli utilizzi della gravità 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

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha02 e androidx.compose.animation:animation-core:1.0.0-alpha02. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche alle API

  • È stato aggiunto ManualFrameClock.hasAwaiters per vedere se c'è qualcosa in attesa di un frame per quel quadrante orologio; runWithManualClock in sostituzione di runBlocking quando si eseguono test che richiedono un ManualFrameClock; TestUiDispatcher.Main che consente di accedere facilmente al supervisore principale dell'UI nei tuoi test.

    Ecco alcuni esempi:

    @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")
        }
    }
    

    (I0a85b, b/161247083)

Correzioni di bug

  • Il comportamento onPreCommit è deprecato; ora onCommit ha il comportamento di onPreCommit.

    onCommit e onActive ora vengono eseguiti nello stesso fotogramma del coreografo in cui cambia la composizione, anziché all'inizio del successivo fotogramma del coreografo. (I70403)

Versione 1.0.0-alpha01

26 agosto 2020

Vengono rilasciate le versioni androidx.compose.animation:animation:1.0.0-alpha01 e androidx.compose.animation:animation-core:1.0.0-alpha01. La versione 1.0.0-alpha01 contiene questi commit.

Versione 0.1.0-dev

Versione 0.1.0-dev17

19 agosto 2020

Vengono rilasciate le versioni androidx.compose.animation:animation:0.1.0-dev17 e androidx.compose.animation:animation-core:0.1.0-dev17. La versione 0.1.0-dev17 contiene questi commit.

Nuove funzionalità

Modifiche alle API

  • L'offset è diventato una classe in linea (Iaec70)
  • IntOffset è ora una classe in linea (Iac0bf)
  • IntSize ora è una classe in linea (I2bf42)
  • L'elemento componibile AnimatedVisibilty anima l'aspetto e la scomparsa dei contenuti bambino.

    Entrambe le transizioni sono state introdotte con la soluzione componibile AnimatedVisibilty per offrire 3 diverse tipologie di animazione di aspetto e scomparsa: dissolvenza, scorrimento ed espansione/riduzione dei contenuti. È possibile combinare i diversi tipi di animazioni per ottenere un aspetto più personalizzato. (Idda11)

  • PxBounds obsoleti in favore di Rect. Sono stati aggiornati tutti gli utilizzi di PxBounds con rect e aggiunti correttamente il ritiro/la sostituzione con annotazioni per facilitare la migrazione. (I37038, b/162627058)

Correzioni di bug

  • PlacementScope.placeAbsolute() è stato rinominato in PlacementScope.place() e la PlacementScope.place() precedente è stata rinominata PlacementScope.placeRelative(). Di conseguenza, il metodo PlacementScope.place() non rispecchierà più automaticamente la posizione in contesti con scrittura da destra a sinistra. Se vuoi, puoi usare il criterio PlacementScope.placeRelative(). (I873ac, b/162916675)
  • Il componibile state { ... } è ora deprecato in favore delle chiamate esplicite a remember { mutableStateOf(...) } per maggiore chiarezza. Questo riduce la superficie generale dell'API e il numero di concetti per la gestione dello stato e corrisponde al pattern by mutableStateOf() per la delega delle proprietà delle classi. (Ia5727)

Versione 0.1.0-dev16

5 agosto 2020

Vengono rilasciate le versioni androidx.compose.animation:animation:0.1.0-dev16 e androidx.compose.animation:animation-core:0.1.0-dev16. La versione 0.1.0-dev16 contiene questi commit.

Modifiche alle API

  • I convertitori vettoriali integrati per la conversione delle unità integrate sono ora accessibili tramite Foo.VectorConverter. ad es. Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter e così via (I3e273)
  • Supporta il listener finale in Modifier.animateContentSize() in modo che al termine dell'animazione di modifica delle dimensioni, il listener riceva una notifica insieme alle dimensioni di inizio e fine dell'animazione. (I277b2).
  • Nuovo modificatore animatoContentSize che anima la modifica delle dimensioni del layout del relativo modificatore secondario (Ieffdc)
  • È stato aggiunto un valore MonotonicFrameAnimationClock che consente di utilizzare un MonotonicFrameClock come AnimationClockObservable per colmare il divario tra i nuovi orologi basati su coroutine e le API che utilizzano ancora i vecchi orologi basati su callback.

    L'MonotonicFrameClockequivalente di ManualAnimationClock è ora ManualFrameClock. (I111c7, b/161247083)

Correzioni di bug

  • Le API per il supporto 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)
  • Richiede che il tipo T sia specificato esplicitamente per transactionDefinition. (I1aded)
  • Il pacchetto Fundamentals.shape.corner è stato appiattito a Foundation.share (I46491, b/161887429)
  • Modifier.plus è stato ritirato. Usa Modifier.then al suo posto. "Quindi" ha un segnale di ordinamento più forte, ma vieta anche di digitare Modifier.padding().background() + anotherModifier, il che spezza la catena e rende più difficile la lettura (Iedd58, b/161529964)
  • Modifier.drawBackground è stato rinominato in Modifier.background (I13677)

Versione 0.1.0-dev15

22 luglio 2020

Vengono rilasciate le versioni androidx.compose.animation:animation:0.1.0-dev15 e androidx.compose.animation:animation-core:0.1.0-dev15. La versione 0.1.0-dev15 contiene questi commit.

Aggiornamento delle dipendenze

  • Per utilizzare la versione 0.1.0-dev15 di Compose, dovrai aggiornare le dipendenze in base ai nuovi snippet di codice mostrati sopra nella sezione Dichiarazione delle dipendenze.

Modifiche alle API

  • L'API Transizione è stata modificata in modo da restituire un TransactionState anziché il passaggio di TransizioneState ai valori secondari. Ciò rende l'API più coerente con le API animate(). (I24e38).
  • Parametro di modifica aggiunto per dissolvenza incrociata (I87cfe, b/159706180)
  • Utilizzare AnimationSpec invece di AnimationBuilder nelle API di primo livello per chiarire il concetto di specifica dell'animazione statica.
    • Migliora la transizione DSL rimuovendo il requisito lambda per la creazione di AnimationSpecs come tween, spring. Prendono invece direttamente i parametri del costruttore.
    • Migliora la facilità d'uso generale di AnimationSpec, aprendo i costruttori
    • Modifica la durata e il ritardo di KeyFrames e Tween in Int. In questo modo vengono eliminati i cast di tipi non necessari e il sovraccarico dei metodi (per il supporto di Long e 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 Size anziché di PxSize. In questo modo si ottiene il vantaggio di una classe in linea, che consente di utilizzare un valore long per pacchettizzare 2 valori in virgola mobile per rappresentare la larghezza e l'altezza rappresentate come valori in virgola mobile. (Ic0191)
  • Per consolidare il numero di classi utilizzate per rappresentare le informazioni di posizionamento, standardizza l'utilizzo della classe Offset anziché di PxPosition. In questo modo si ottiene il vantaggio di una classe in linea, che consente di utilizzare un valore long per comprimere 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 di composizione nell'ambito del grande impegno di refactoring in modo che si basi solo sui tipi Dp e primitivi per i parametri pixel (I086f4)
  • Aggiunto il supporto animate() per Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds e AnimationVector (Ib7518)
  • La dissolvenza incrociata ora accetta il parametro AnimationBuilder facoltativo per consentire la configurazione dell'animazione (I6d6e0)
  • Sostituiti tutti gli utilizzi di Color con valori null nell'API con valori non null e con Color.Unset anziché null (Iabaa7)
  • Rimossa la classe ValueHolder. Ristrutturate le classi AnimatedValue, AnimatedFloat per rendere il campo del valore dell'animazione astratto in modo che le sottoclassi possano osservare l'aggiornamento del valore.
    • Sono state aggiunte classi di modello per AnimatedValue, AnimatedFloat e così via.
    • È stato aggiunto un nuovo set di API @Composable leggeri per l'animazione tra i valori. (I79530)
  • Interruzione delle modifiche all'API Ambient. Per informazioni dettagliate, consulta la documentazione relativa al log e a Ambient<T> (I4c7ee, b/143769776)
  • Nuova modalità di ripetizione: inversa. Questa modalità inverte l'iterazione precedente quando l'animazione si ripete in RipetiableSpec o VectorizedRipetiableSpec. (Ibe0f5)
  • Aggiunte API a ManualAnimationClock: hasObservers: Boolean e parametro costruttore dispatchOnSubscribe: Boolean (Iaa134)
  • Sono state aggiunte API per ottenere limiti minimi e massimi in AnimatedFloat (Icd9cc)

Correzioni di bug

  • runOnIdleCompose rinominato in runOnIdle (I83607)
  • Diverse API di test sono state rinominate per essere più intuitive. Tutte le API FindXYZ sono state rinominate onNodeXYZ. Tutte le API doXYZ sono state rinominate performXYZ. (I7f164)
  • Sono state introdotte le API di animazione stateless di basso livello. Queste API (I63bf7)
  • Ricomponi componibile non è più un'astrazione utile. La maggior parte delle ricomposizioni dovrebbe avvenire in base alle assegnazioni MutableState. Per qualsiasi altro problema, ti consigliamo di utilizzare la funzione invalidate per attivare una ricomposizione dell'ambito attuale. (Ifc992).
  • È stato sostituito l'utilizzo della classe Px in varie classi di scrittura nell'ambito del grande impegno di refactoring in modo da affidarsi solo ai tipi Dp e primitivi per i parametri dei pixel. Classe Px eliminata nella sua interezza (I3ff33)
  • È stato sostituito l'utilizzo della classe Px in varie classi di composizione nell'ambito del grande impegno di refactoring in modo da affidarsi solo ai tipi Dp e primitivi per i parametri dei pixel (Id3434)
  • La dissolvenza incrociata ora può funzionare con null come valore iniziale (Iad6a4, b/155947711)
  • È stato sostituito l'utilizzo della classe Px in varie classi di composizione nell'ambito del grande impegno di refactoring in modo che si basi solo sui tipi Dp e primitivi per i parametri dei pixel (I19d02)
  • Implementazioni consolidate di CanvasScope per cui ora sono disponibili solo DrawScope e ContentDrawScope. CanvasScope rinominati in DrawScope. DrawScope aggiornato per implementare l'interfaccia Density e fornire la sottoclasse LayoutDirection DELETE DrawScope in ContentDrawScope Painter e PainterModifier sono stati aggiornati in modo che non mantengano più una proprietà RTL, in quanto DrawScope fornisce già questa proprietà senza fornirla manualmente (I1798e)
  • Aggiornate le API di composizione di livello superiore che espongono un Canvas per esporre CanvasScope. In questo modo, i consumatori non devono più gestire i propri oggetti Paint. Per i consumatori che richiedono ancora l'accesso a Canvas, possono utilizzare il metodo di estensione drawCanvas, che fornisce un callback per emettere i comandi di disegno con il canvas sottostante. (I80afd)
  • Sono stati aggiunti i parametri verticalGravity e HorizontalGravity a Row e Column. (I7dc5a)
  • Il modulo ui-text è stato rinominato ui-text-core (I57dec)
  • Migliora l'API DrawModifier:
    • Ambito del ricevitore per draw() ContentDrawScope
    • Sono stati rimossi tutti i parametri in draw()
    • DrawScope ha la stessa interfaccia del precedente CanvasScope
    • ContentDrawScope ha il metodo drawContent() (Ibaced, b/152919067)
  • runOnIdleCompose e runOnUiThread sono ora funzioni globali anziché metodi su ComposeTestRule. (Icbe8f)
  • [Modificabile]Gli operatori dei delegati delle proprietà statali sono passati alle estensioni per supportare le ottimizzazioni dei delegati per le proprietà Kotlin 1.4. I chiamanti devono aggiungere importazioni per continuare a utilizzare by state { ... } o by mutableStateOf(...). (I5312c)
  • ColoredRect è stato ritirato. Usa invece il criterio Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731)
  • Sostituito Modificatore più operatore con funzioni di estensione di fabbrica (I225e4)
  • Elemento componibile del Centro deprecato. Deve essere sostituito con il modificatore LayoutSize.Fill + LayoutAllinea.Center oppure con uno dei componibili Box o Stack con i modificatori adatti applicati (Idf5e0).
  • Il nome LayoutFlessibile è stato rinominato in LayoutWeight. Parametro stretto rinominato da riempire. (If4738)
  • La funzione componibile Opacità è stata sostituita con il modificatore drawOpacity. (I5fb62)
  • I test con AndroidComposeTestRule ora forniscono un orologio di animazione alla base della composizione che consente di metterla in pausa, ripristinarla e farla avanzare manualmente. (ID54c5)
  • Supporto della direzione da destra a sinistra nel modificatore di LayoutPadding (I9e8da)
  • Density e DensityScope sono stati uniti in un'unica interfaccia. Al posto di ambientDensity() ora puoi usare DensityAmbient.current. Invece di withDensity(density) solo with(density) (I11cb1)
  • Sono stati aggiunti metodi di copia a vari tipi di classi in linea, tra cui:
    • Offset
    • Dimensioni
    • Raggio
    • Movimento
    • OrigineTrasformazione
    • Metodo dell'oggetto companion size.copy deprecato favore del metodo di copia dell'istanza (Ife290, b/159905651)
  • L'elemento 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. L'API Compose.composeInto è stata ritirata. Usa invece setContent o setViewContent. L'API Compose.disposeCompose è stata deprecata. Utilizza invece il metodo dispose nel campo Composition restituito da setContent. 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#emitModede#0 è stato rinominato in ComponentNode#emitModede#0