Componi animazione

Creare animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente.
Aggiornamento più recente Release stabile Candidato per la release Versione beta Release alpha
20 marzo 2024 1.6.4 - - 1.7.0-alpha05

Struttura

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

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

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

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.4"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.11"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.11"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze build.

Feedback

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

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.7

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 alle API

  • SeekableTransitionState sostituisce snapTo() con seekTo() e aggiunge un snapTo() che modifica immediatamente lo 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 alle API

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

Versione 1.7.0-alpha03

21 febbraio 2024

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

Nuove funzionalità

  • Nuovo Modifier.animateContentSize che richiede un parametro aggiuntivo per l'allineamento dei contenuti personalizzato. (I5623a, b/269803907)
  • Nuova versione sperimentale di DeferredTargetAnimation per animare dimensioni, posizione o altri target sconosciuti durante la creazione di un'istanza. (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 di compatibilità per KeyframesSpec. (I2bdf3, b/322214617).
  • È stato risolto il problema di Modifier.animateContentSize che non reimpostava correttamente quando viene utilizzato in LazyList. (I070512, b/322525716)
  • È stato risolto il problema IllegalStateException in KeyframesSpec quando si utilizzavano 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.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

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 alle API

  • Sono stati rimossi temporaneamente scaleInToFitContainer e scaleOutToFitContainer da AnimatedContentTransitionScope in quanto richiedono Lookahead. Saranno disponibili quando il Lookahead è attivo per impostazione predefinita o attivato 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 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 le spline monotoniche. È particolarmente utile interpolare i valori di posizione quali Offset, IntOffset e DpOffset. Aggiunta come API sperimentale.

Correzioni di bug

  • È stato aggiunto il supporto del renderer per la funzione Sposta gradiente in ArcLine. (I4d5bb).
  • Implementa gli attributi uguali e il codice hash per PageSize.Fixed. (Ie3ede, b/300134276).
  • Risolvi il problema di compatibilità del programma binario relativo alla modifica di Window Inset. (Iee695).
  • Rimuovi lo strato centrale del materiale per il chip/pulsante Material3 perché i microbenchmark mostrano prestazioni migliori senza questo chip. (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 alle API

  • È stato ritirato KeyframesSpecConfig#with a favore di KeyframesSpecConfig#using, che conserva il pattern del builder. (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 alle API

  • Le schede fisse e a scorrimento ora hanno varianti principali e secondarie. Questi vengono mappati correttamente al colore e al comportamento degli indicatori come definito in Material3.
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow ora espongono 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 alle API

  • È stato aggiunto PathEasing per abilitare un percorso arbitrario da fornire a una curva di interpolazione. (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 alle 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 alle API

  • Nuovo tipo di transizione di entrata/uscita che adatta i contenuti in base alle dimensioni del contenitore animato durante l'animazione di entrata e uscita. LookaheadScope Il divertimento e l'interfaccia componibile ora sono 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 alle API

  • Nuovo ExitTransition.Hold per visualizzare i contenuti in uscita in AnimatedContent fino al completamento delle transizioni di entrata e di uscita. (I5984f)
  • Annotazioni aggiuntive per specificare gli input consentiti per i componibili (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à

  • 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 l'attuale passaggio di misura è un pass Lookahead. (I7a812)

Correzioni di bug

  • Allocazioni rimosse dalle animazioni primaverili. (Ie9431)
  • nome del parametro del valore per Enum.valueOf modificato (Ia9b89)
  • altre eccezioni generate da enum valueOf (I818fe)

Versione 1.5

Versione 1.5.4

18 ottobre 2023

androidx.compose.animation:animation-*:1.5.4 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

  • Sono stati corretti i campi di testo che mostravano la tastiera e che erano modificabili quando readOnly è true. È stato anche risolto il problema che causava la mancata visualizzazione della tastiera quando il valore di readOnly era cambiato da true a false durante lo stato 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 la chiamata di .value in un tipo di stato primitivo (come MutableIntState) comportava la segnalazione di 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 di eseguire la migrazione delle chiamate di 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 informativa 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

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 alle API

  • Allocazioni rimosse nella ricomposizione, 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

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

Modifiche alle API

  • L'app ContentKey è ora supportata in AnimatedContent per consentire un maggiore controllo sul momento in cui verrà eseguita 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 in LookaheadScope. Consente a SubcomposeLayouts che non ha aree condizionali (ad es. TabRow, Scaffold, BoxWithConstraints e così via) di funzionare correttamente con le animazioni di lookahead.

Modifiche alle API

  • Il nuovo intermediateMeasurePolicy predefinito che riutilizza il criterio di misurazione dal pass Lookahead consente ai sottotipi SubcomposeLayout senza slot condizionali come Scaffold, TabRow e BoxWithConstraints di funzionare con Lookahead per impostazione predefinita. (Id84c8)
  • Rinomina l'infisso con il nome togetherWith per combinare le transizioni di entrata e di uscita. Nuovo AnimatedContentScope come destinatario per la 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 il Lookahead in SubcomposeLayout. Questo consentirà il corretto funzionamento di SubcomposeLayout in un LookaheadScope. A breve sarà disponibile un supporto aggiuntivo immediato per sottotipi specifici di SubcomposeLayout.

Modifiche alle API

  • Nuova API SubcomposeLayout che richiede 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 alle API

  • Le API di AnimatedContent ora sono stabili AnimatedContentScope è stato rinominato in AnimatedContentTransitionScope. scaleIn e scaleOut 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 picco 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 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 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 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 animazioni dall'ultima versione alpha, solo picco

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

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 alle API

  • Nei test dell'interfaccia utente che utilizzano una regola Compose, le continuazioni ripristinate durante i callback withFrameNanos non verranno inviate fino al termine dell'esecuzione di tutti i callback dei frame. Questo corrisponde al comportamento di Scrivi quando viene eseguito normalmente. Tuttavia, i test che si basano sul comportamento precedente potrebbero non riuscire. Questo dovrebbe influire solo sul codice che chiama direttamente withFrameNanos o withFrameMillis e la logica al di fuori del callback passa a quelle funzioni che potrebbero dover essere spostate all'interno dei callback. Consulta le modifiche al test dell'animazione in questo elenco di controllo per alcuni esempi.
  • È stato aggiunto il parametro onPerformTraversals: (Long) -> Unit facoltativo al costruttore TestMonotonicFrameClock e alla funzione di fabbrica per eseguire il codice dopo withFrameNanos callback, 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 alle API

  • Aggiungi ToolingState per consentire agli strumenti di modificare gli stati interni del componibile (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

  • Aggiornato per supportare androidx.compose.ui 1.3.2

Versione 1.3.1

9 novembre 2022

androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1 e androidx.compose.animation:animation-graphics:1.3.1 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

  • Il nuovo insieme di funzioni di easing viene 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.

  • Rimosso Kotlin.experimental dalle opzioni del compilatore perché è stato depricato

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 alle API

  • Nuovo parametro in Crossfade, animateAsState e Animatable per l'etichetta degli strumenti (Iac08a)
  • Aggiunta la funzione atFraction per definire i fotogrammi chiave in una frazione anziché in 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 alle API

  • Nuovo elemento LookaheadLayout che supporta un passaggio Lookahead prima della misura/del layout effettivi. In questo modo è possibile precalcolare il layout quando viene modificato, consentendo al contempo alla misura/layout post-lookahead di 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 versione 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

  • L'animazione di Scrivi ora supporta l'impostazione "Scala della durata dell'animazione" nelle 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

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

  • Rimossa annotazione ExperimentalEasingApi per le funzioni di easing (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 alle API

  • Le interfacce nelle librerie di scrittura ora vengono create utilizzando i metodi di interfaccia predefinita 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 alle API

  • Aggiunta di curve di adattamento 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 versione beta 1.2. Non sono state apportate modifiche dall'ultima versione alpha.

Versione 1.2.0-alpha08

20 aprile 2022

androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08 e androidx.compose.animation:animation-graphics:1.2.0-alpha08 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 alle API

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 alle API

  • Analisi aggiornata degli elementi di disegno vettoriali per supportare il mirroring automatico in modo da invertire i contenuti di un elemento VectorPainter se la direzione del layout corrente è RTL. (I79cd9, b/185760237)

Correzioni di bug

  • Sono state aggiornate le API di grafica vettoriale in modo che utilizzino 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 alle API

  • Evviva! L'animazione di Scrivi ora supporta l'impostazione "Scala della durata dell'animazione" nelle 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 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 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 all'indirizzo androidx.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)
  • RTL corretto 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 scorrimento orizzontale di Android 12
  • Miglioramenti alle dimensioni del touch target
  • Tieni presente che, rispetto a Compose 1.0, i componenti Material espanderanno lo spazio di layout in modo da rispettare le linee guida sull'accessibilità di Material per le dimensioni del touch target. Ad esempio, il touch target del pulsante si espanderà fino a una dimensione minima di 48 x 48 dp, anche se imposti dimensioni inferiori per il pulsante. In questo modo Compose Material allo stesso comportamento dei componenti di Material Design, offrendo un comportamento coerente se combini le visualizzazioni e Compose. Inoltre, questa modifica garantisce che quando crei la tua UI utilizzando i componenti di Compose Material, verranno soddisfatti i requisiti minimi per l'accessibilità del touch target.
  • Supporto stabile per Navigazione
  • Assegna una serie di API precedentemente sperimentali alla versione stabile
  • Supporto per 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

  • Aggiornato per supportare Compose Material 1.1.0-rc03

Versione 1.1.0-rc01

15 dicembre 2021

androidx.compose.animation:animation:1.1.0-rc01 e androidx.compose.animation:animation-core:1.1.0-rc01 vengono rilasciati. 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

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à

  • Aggiornato 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 alle API

  • È stato aggiunto il nuovo modificatore Modifier.onPlaced per consentire di osservare le modifiche al posizionamento. Pertanto, è possibile apportare ulteriori modifiche all'offset del modificatore secondario in base alla modifica del posizionamento osservata. (I558fd)
  • Nuovo supporto per contentKey nella dissolvenza incrociata. Il sistema di animazione utilizzerà ContentKey per il controllo dell'uguaglianza. Pertanto, è possibile differenziare in modo personalizzato gli stati specificando l'attributo contentKey appropriato per i diversi stati.

    La chiave Content verrà utilizzata anche come chiave per il salvataggio e il ripristino dei contenuti. (I2e055, b/197907070).

Versione 1.1.0-beta02

3 novembre 2021

androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02 e androidx.compose.animation:animation-graphics:1.1.0-beta02 vengono rilasciati. La versione 1.1.0-beta02 contiene questi commit.

Correzioni di bug

  • Nuove API di animazione per il supporto degli strumenti. In particolare, consentono agli strumenti di esaminare le animazioni e le relative configurazioni nelle transizioni. (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 alle API

  • Nuove API di animazione per il supporto degli strumenti. In particolare, consentono agli strumenti di esaminare le animazioni e le relative configurazioni nelle transizioni. (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 alle API

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

  • Modifica di interruzione: le lambda nelle fabbriche di transizione (Invio/uscita) sono state spostate all'ultima posizione nell'elenco dei parametri. (I5072d)

Versione 1.1.0-alpha04

15 settembre 2021

androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04 e androidx.compose.animation:animation-graphics:1.1.0-alpha04 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à

  • Scrittura 1.1.0-alpha03 aggiornata in modo che dipendesse da Kotlin 1.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 alle API

  • StartOffset è ora supportato nella modalità ripetibile e infiniteRipetibile, come modo per ritardare l'ora di inizio o avanzare rapidamente nell'animazione prima dell'inizio dell'animazione. Questo offset iniziale non verrà ripetuto (Ic679f, b/195079908)
  • Nuova transizione di entrata/uscita per la scalabilità. Può essere usato in combinazione con altri tipi di transizioni Invio/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 alle API

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

Correzioni di bug

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

  • Risolto il problema di monitoraggio degli arresti anomali delle istanze derivateStateOf. (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

  • Aggiornato in modo da 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

  • Aggiornato in modo da 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.

Aggiornato 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 che dipende 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. Consulta il blog ufficiale di Compose Release per ulteriori dettagli.

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+ nel file build.gradle. 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

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

  • Elemento InfiniteAnimationPolicy spostato in androidx.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 alle API

  • Nuovo componibile AnimatedContent. Gestisce la modifica dei suoi contenuti utilizzando ContentTransform personalizzabili quando vengono inseriti nuovi contenuti di destinazione e quando i contenuti iniziali vengono lasciati. È possibile utilizzare diverse combinazioni di transizioni in entrata e in uscita per produrre un aspetto personalizzato. Nell'ambito della trasformazione dei contenuti, AnimatedContent ne anima automaticamente le dimensioni per adattarle ai contenuti in arrivo. (I2c3df).
  • ManualFrameClock rimosso. Se devi controllare le animazioni, usa invece composeTestRule.mainClock. (I3c3e8, b/189951065).

Regole del profilo aggiunte

In questa release sono state aggiunte 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.materiale
  • androidx.compose.materiale-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

Che cosa sono le regole del profilo?

  • Le regole del profilo per una libreria sono specificate in un file di testo baseline-prof.txt che si trova 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 della libreria. La sintassi di 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 assumono una delle due forme per il targeting di metodi o classi.

  • Una regola del metodo avrà il seguente pattern:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • Una regola di classe avrà il seguente pattern:

    <CLASS_DESCRIPTOR>
    
  • Qui <FLAGS> contiene uno o più caratteri H, S e P per indicare se il metodo deve essere contrassegnato o meno come "Hot", "Startup" o "Post Startup".

  • <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 parametro e i tipi restituiti del metodo. Ad esempio, il metodo fun isPlaced(): Boolean su LayoutNode ha la firma isPlaced()Z.

  • Questi pattern possono includere caratteri jolly (**, * e ?) in modo che una singola regola includa più metodi o classi.

A cosa servono le regole?

  • Un metodo con il flag H indica che si tratta di un metodo "ad accesso frequente" e deve essere compilato in anticipo.

  • Un metodo con il flag S indica che si tratta di un metodo che viene richiamato all'avvio e deve essere compilato in anticipo per evitare i costi di compilazione e interpretazione del metodo all'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 i costi di 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 artefatti, queste regole vengono unite e le regole unite vengono utilizzate per creare un profilo ART binario compatto specifico per l'app. ART può quindi utilizzare questo profilo quando l'app è installata sui dispositivi per compilare in anticipo un sottoinsieme specifico dell'applicazione al fine di migliorarne le prestazioni, 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

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 e detectHorizontalGestures utilizzeranno automaticamente la modifica di posizione. Non è necessario 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 aver applicato tutti i modificatori. Ciò significa che ora l'ordine dei modificatori influisce sulle coordinate che verrebbero riportate. (Ieb67d, b/177926591).

Versione 1.0.0-beta07

18 maggio 2021

androidx.compose.animation:animation:1.0.0-beta07 e androidx.compose.animation:animation-core:1.0.0-beta07 vengono rilasciati. La versione 1.0.0-beta07 contiene questi commit.

Modifiche alle API

  • Nuova API AnimatedVisibility che supporta la specifica della visibilità in un MutableTransitionState. Ciò consente inoltre di osservare gli stati dell'animazione all'esterno di AnimatedVisibility tramite currentState e isIdle.
    • Supporto per la transizione dei nuovi figli in fase di transizione
    • Supporta l'animazione personalizzata di uscita/transizione in Lively Visibilità con AnimationScope.transition
    • Nuovo modificatore animateEnterExit accessibile per tutti gli elementi secondari di AnimatedVisibilità
    • Sono state ritirate le API AnimatedVisibilità che utilizzano un parametro initiallyVisible (I702f3)

Versione 1.0.0-beta06

5 maggio 2021

androidx.compose.animation:animation:1.0.0-beta06 e androidx.compose.animation:animation-core:1.0.0-beta06 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 sono ora 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 alle API

  • Le istanze pubbliche di RowScope, ColumnScope, BoxScope e 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 restrizioni all'uso 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 alle API

  • InteractionState è stato sostituito con [Mutable]InteractionSource
    • Le interfacce sono responsabili dell'emissione / raccolta degli eventi di interazione.
    • Anziché passare interactionState = remember { InteractionState() } a componenti come Button e Modifier.clickable(), utilizza interactionSource = remember { MutableInteractionSource() }.
    • Invece di Interaction.Pressed in interactionState, dovresti usare le funzioni di estensione su InteractionSource, come InteractionSource.collectIsPressedAsState().
    • Per casi d'uso complessi, puoi utilizzare InteractionSource.interactions per osservare il flusso di interazioni. Per saperne di più, consulta la documentazione e gli esempi di InteractionSource.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • I pacchetti dei metodi smoothSlideBy e scrollBy sono stati modificati in androidx.compose.foundation.gestures.* (I3f7c1, b/175294473)
  • I modificatori di dimensione sono stati rinominati. Modifier.width/height/size sono stati rinominati come requiredwidth/requiredHeight/requiredSize. Modifier.preferredwidth/preferredHeight/preferredSize da è stato rinominato in larghezza/altezza/size. (I5b414)
  • L'orientamento è stato spostato nel pacchetto di base. VelocirtTracker spostato da ui.gesture a ui.input.pointer. (Iff4a8, b/175294473).
  • AnimationClockObservable e le sottoclassi sono state rimosse. AnimatedFloat è stato rimosso. (Icde52, b/177457083)
  • Modifier.draggable ora accetta DraggableState invece di un semplice lambda. Puoi creare lo stato tramite rememberDraggableState { delta -> } per ottenere lo stesso comportamento di prima (Ica70f, b/175294473)
  • Le API animate, AnimatedValue, AnimatedValue sono state rimosse (If27bc, b/177457083)
  • AnimationEndReason.Il valore interrotto è stato rimosso. Se l'animazione viene interrotta, viene generata un'eccezione AnnullationException. (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 alle API

  • Modifier.pointerInput ora richiede di ricordare i tasti per indicare quando la coroutine di rilevamento dell'input del puntatore deve riavviarsi per nuove dipendenze. (I849cd)
  • La funzionalità Bounds è stata rinominata DpRect (I4b32a)
  • Il nome del parametro AnimationSpec è stato unificato in animazioneSpec nel sistema di animazione. Inoltre, vincola la colonna Invio/Uscita per accettare FiniteAnimationSpec. (Ie47c5, b/177457083).
  • Animatable.snapTo e Animatable.stop sono ora funzioni di sospensione (If4288)
  • Analogamente a come in precedenza abbiamo rimosso il componibile state { 0 } e ora promuoviamo l'utilizzo come remember { mutableStateOf(0) }, rimuoveremo savedInstanceState { 0 } componibile. Dovresti usare rememberSaveable { mutableStateOf(0) }, che verrà salvato e ripristinato automaticamente se il tipo utilizzato all'interno di MutableState può essere archiviato nel bundle. Se in precedenza stavi passando un oggetto salvaschermo personalizzato, ora devi utilizzare un nuovo sovraccarico di saveSaveable che ha 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 di dissolvenza incrociata per essere più coerente con il resto del sistema di animazione. (Ib05ed, b/177457083)
  • Il servizio ricordo di istanzaState() è stato rinominato in "RicordaSaveable()" e il nome è stato spostato nel pacchetto androidx.compose.runtime.saveable. (I1366e, b/177338004).
  • RestorableStateholder è stato rinominato in SaveableStateholder e spostato nel pacchetto androidx.compose.runtime.saveable. Il metodo interno RestorableStateProvider è stato rinominato in SaveableStateProvider. Il tipo generico è stato rimosso, quindi puoi passare semplicemente "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)
  • LivelyValue/Float è ora deprecata. Usa invece Animabili. (I71345, b/177457083)
  • TapGeFilter, doubleTapgestFilter, longPress tredescherFilter e pressIndicaiton praticheFilter sono stati ritirati. Utilizza invece Modifier.clickable o Modifier.pointerInput con la funzione detectTaparmas. (I6baf9, b/175294473).
  • È stato introdotto un elemento di contesto coroutine InfiniteAnimationPolicy che verrà applicato in animazioni infinite. Per impostazione predefinita, non viene installato nessun criterio, tranne quando si eseguono test con ComposeTestRule. (I50ec4, b/151940543)
  • I metodi di distruzione e copy() sono stati rimossi da diverse classi in cui erano usati raramente. (I26702, b/178659281)
  • Il tempo di riproduzione nell'animazione è ora disponibile in nanosecondi (If776a)
  • L'artefatto composito:runtime-dispatch è ora deprecato. MonotonicFrameClock è ora disponibile in Composer:runtime e AndroidUiDispatcher in Composer:ui. (Ib5c36).
  • Sono stati aggiunti Animation.isInfinite e VectorizedAnimationSpec.isInfinite per segnalare se un'animazione è infinita o meno. Può essere usato nelle implementazioni delle animazioni per avere una gestione speciale. Ad esempio, può essere visualizzato un messaggio speciale relativo al "tempo rimanente" oppure, durante i test, è possibile annullare l'animazione per evitare di attendere a tempo indeterminato l'inattività. (Iebb05, b/151940543).
  • Utilizza Lungo invece di Uptime come tipo di tempo dell'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 alle API

  • La transizione basata su TransactionDefinition è stata ritirata (I0ac57)
  • Viene aggiunto un campo etichetta per la visualizzazione di transizioni e animazioni secondarie negli strumenti (I619fb)
  • animateAsState ora è animatoFooAsState, dove Foo è il tipo di variabile in fase di animazione, ad es. Float, Dp, Offset e così via (Ie7e25)
  • Nuova transizione infinita che esegue un numero illimitato di animazioni secondarie. (I1da81).
  • Modifica le interfacce dei parametri stateful Material in modo che abbiano funzioni @Composable che restituiscono State<T>. Aggiunge Animatable.asState() per semplificare la conversione di un elemento Animatable in uno stato. Modifica anche animateElevation come estensione di sospensione in Animatable. (If613c)

Correzioni di bug

  • onCommit, onDispose e onActive sono stati deprecati a favore delle API SideEffect e DisposableEffect (If760e)
  • Lo stato iniziale in updateTransizione è ora supportato (Ifd51d)
  • Il parametro per la descrizione dei contenuti è stato aggiunto all'immagine e all'icona. Viene utilizzato per fornire una descrizione ai servizi di accessibilità (I2ac4c)
  • invalidate e comScoreReference() ora sono deprecati a favore di currentRecomposeScope e promemoriaComposeReference. (I583a8)
  • Durata e Uptime verranno sostituiti con Millisecondi lunghi e questo passaggio rimuove la dipendenza dell'input del puntatore su quelle classi. (Ia33b2, b/175142755, b/177420019).
  • Cliccabile, attivabile e selezionabile può essere creato al di fuori della composizione ora (I0a130, b/172938345, b/175294473)
  • 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. Nuovi sovraccarichi di estensione per Arrays: items(items: Array) e itemsIndexed(Array) (I803fc, b/175562574)
  • Utilizza TestCoroutineDispatcher nei test (I532b6)
  • Rimozione di PointerInputData e modifica di PointerInputChange per inserire tutti i campi di PointerInputData. PointerInputEvent e PointerInputEventData interni perché non sono utilizzati in nessuna API pubblica. (Ifff97, b/175142755)

Versione 1.0.0-alpha10

13 gennaio 2021

androidx.compose.animation:animation:1.0.0-alpha10 e androidx.compose.animation:animation-core:1.0.0-alpha10 vengono rilasciati. La versione 1.0.0-alpha10 contiene questi commit.

Modifiche alle API

  • Velocità modificata per includere parti dei componenti e operazioni matematiche. (Ib0447)
  • Rinominato @ExperimentalTesting in @ExperimentalTestApi in modo che sia coerente con annotazioni simili delle API sperimentali (Ia4502, b/171464963)
  • Rinominato Posizione in DpOffset e rimosso getDistance() (Ib2dfd)
  • Rimossa API pubblica Any.identityHashCode() (I025d7)

Correzioni di bug

  • Nuova API basata su coroutine Animatable che garantisce l'esclusività reciproca tra le sue animazioni. Nuova DecayAnimationSpec per supportare le animazioni di decadimento multidimensionali (I820f2, b/168014930)
  • animate() è ora sostituito con animateAsState(), che restituisce State<T> anziché T. Ciò consente prestazioni migliori, poiché l'ambito di annullamento della convalida può essere limitato al punto in cui viene letto il valore State. (Ib179e)

Versione 1.0.0-alpha09

16 dicembre 2020

androidx.compose.animation:animation:1.0.0-alpha09 e androidx.compose.animation:animation-core:1.0.0-alpha09 vengono rilasciati. La versione 1.0.0-alpha09 contiene questi commit.

Modifiche alle API

  • Spostato Dp.VectorConverter, Position.VectorConverter ecc. in animation-core, che deprecato il precedente VectorConveters (If0c4b)
  • È stata introdotta una serie completamente nuova di API Transizione con maggiore facilità d'uso, supporto per animazioni aggiunte in modo dinamico e target delle animazioni calcolati dinamicamente. Queste API sono contrassegnate come sperimentali per una facile differenziazione dall'API basata su TransizioneDefinition. (Ia7fe3).

Correzioni di bug

  • I lambda nei modificatori di offset ora restituiscono IntOffset anziché Float. (Ic9ee5, b/174137212, b/174146755).
  • Depreca LazyColumnFor, LazyRowFor, LazyColumnForIndexed e LazyRowForIndexed. Utilizza LazyColumn e LazyRow (I5b48c)
  • Per sospendere le API di input del puntatore, rinominati HandlePointerInputScope in AwaitPointerEventScope e handlePointerInput() a awaitPointerEventScope(). (Idf0a1, b/175142755)
  • Nuova funzione infiniteRipetiable per la creazione di una InfiniterepeatableSpec (I668e5)
  • Rimossa annotazione SperimentalePointerInput (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 alle API

  • È stato aggiunto il controllo lint per la denominazione e la posizione dei parametri lambda componibili, per verificare la coerenza con le linee guida di Compose. È stata anche eseguita la migrazione di alcune API utilizzando children come nome del lambda finale in content, secondo le indicazioni e il controllo del lint. (Iec48e).
  • Le API deprecate in precedenza 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.
    • Il corso PxBounds è stato rimosso. Usa invece Rect.
    • (Ie9d02, b/172562222).
  • Opzione aggiunta temporaneamente per consentire il funzionamento di TestAnimationClock da MonotonicFrameClock (I1403b, b/173402197)

Correzioni di bug

  • Rinominato Modifier.drawlayer in Modifier.graphics Layer Aggiornato anche le classi correlate in Graphicslayer in base ai feedback del consiglio delle API. (I0bd29, b/173834241).
  • Aggiunte API Modifier.scale/rotate per praticità di disegno Layer.
    • Modifier.drawOpacity rinominato Modifier.alpha
    • Modifier.drawShadow rinominato Modifier.shadow (I264ca, b/173208140)
  • Rendere non null sui campi di uptime e posizione di PointerInputData. (Id468a)
  • i modificatori offsetPx sono stati rinominati in offset. Ora utilizzano i parametri lambda anziché State. (Ic3021, b/173594846).
  • Nuove API per l'esecuzione di animazioni nelle coroutine (Ied662)
  • Gli Ambient obsoleti hanno come suffisso il nome Ambient e sono stati sostituiti con nuove proprietà con prefisso Ambient, in base ad altre linee guida relative all'API Ambient e Compose. (I33440)
  • Il controllo temporale nei test (TestAnimationClock e relativi utilizzi) è ora sperimentale (I6ef86, b/171378521)
  • Rimuovi il vecchio modulo ui-test 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

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, dovresti invece creare un tuo sistema di progettazione per ambienti a tema che può essere utilizzato nei tuoi componenti. (I74acc, b/172067770)
  • Foundation.Text è stato ritirato e sostituito con material.Text. Per un'API di testo di base non limitata che non utilizza valori di un tema, vedi androidx.compose.foundation.BasicText. (If64cb).
  • MeasureResult è stato rimosso 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 alle API

  • Abilita 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 alle API

  • Nuove sottoclassi e interfaccia di Animazione: queste classi memorizzano le condizioni di inizio e di fine delle animazioni e consentono di eseguire query su valore e velocità solo tramite il tempo di riproduzione (Ie95bd, b/163329867)

Correzioni di bug

  • OnPositionedModifier è stata rinominata OnGloballyPositionedModifier e onPositioned() è stata rinominata onGloballyPositioned() (I587e8, b/169083903).
  • Depreca le API contentColor() e currentTextStyle() e le sostituisce rispettivamente con gli ambienti AmbientContentColor e AmbientTextStyle. Puoi accedere al valore corrente usando .current nella proprietà Ambient, come con qualsiasi altro Ambient. Questa modifica è stata introdotta 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
    • 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 alle API

  • rootAnimationClockIndustry, TransactionsEnabled, blinkingCursorEnabled e textInputServiceService con @VisibileForTesting con annotazioni, impostali come API interna e nascondi il relativo file kdoc (I554eb, b/168308412)

Correzioni di bug

  • Aggiornamento di molte API grafiche.
    • Le API di scala e trasformazione della rotazione sono state aggiornate per utilizzare un singolo parametro di offset per rappresentare la coordinata pivot invece di parametri float separati per le coordinate x/y in DrawScope e DrawTransform
    • Rimossi i metodi Rect.expandToInclude e Rect.join
    • La documentazione relativa al raggio è stata aggiornata per indicare ovale oltre che ellittica
    • È stata aggiunta la documentazione per indicare che il costruttore pubblico per la classe Radius in linea non deve essere chiamato direttamente, ma dovrebbe invece essere creato un'istanza degli oggetti Raggio tramite i rispettivi costruttori delle funzioni
    • Rimosse le API RoundRect per eseguire query su topRight, bottomRight, belowCenter e così via.
    • Rect.shift obsoleto a favore di Rect.translate
    • Rimosse le API RoundRect.grow e Rect.shrink
    • RoundRect.outerRect rinominato in Rect.boundingRect
    • Metodi RoundRect.middleRect/tallMiddleRect/wideMiddleRect e Rect.isStadium rimossi
    • Rinominato RoundRect.longestSide in RoundRect.maxDimensione
    • RoundRect.shortestSide rinominato in RoundRect.minDimensione
    • RoundRect.center modificato in una proprietà anziché una funzione
    • Il costruttore RoundRect è stato aggiornato per utilizzare le proprietà Raggio anziché i parametri singoli per i valori del raggio x/y
    • Rimosse le API per le dimensioni che presupponevano che fosse un rettangolo con origine pari a 0,0
    • È stata aggiunta un'API di distruzione a Radius
    • Migrato varie funzioni di estensione RoundRect in proprietà in proprietà
    • (I8f5c7, b/168762961).
  • Foundation.Box è stata deprecata. Utilizza Foundation.layout.Box. (Ie5950, b/167680279)
  • Lo stack è stato rinominato in Box. La casella già esistente verrà ritirata a favore di quella nuova in Composer.foundation.layout. Il comportamento del nuovo Box è quello di impilare gli elementi secondari uno sopra un altro quando sono presenti più elementi secondari. Questo è diverso dal precedente riquadro, che si comportava in modo simile a quello di una colonna. (I94893, b/167680279)
  • I parametri per la decorazione della casella sono stati ritirati. Se vuoi includere decorazioni/spaziature sulla scatola, usa i modificatori (Modifier.background, Modifier.Border, Modifier.padding) (Ibae92, b/167680279)
  • Abbiamo impedito le importazioni statiche dei contenuti degli ambiti del layout (ad es. allineatoWithSiblings in RowScope). Usa invece l'alternativa con 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 usi della gravità sono stati costantemente rinominati per allineare o allineare 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 alle API

  • È stato aggiunto ManualFrameClock.hasAwaiters per vedere se c'è qualcosa in attesa di un frame da quell'orologio; runWithManualClock in sostituzione di runBlocking durante l'esecuzione di test che richiedono un ManualFrameClock; TestUiDispatcher.Main che consente di accedere facilmente al supervisore dell'interfaccia utente principale 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 di onCommit è ora deprecato, onCommit ora ha il comportamento onPreCommit.

    onCommit e onActive ora vengono eseguiti nello stesso frame del coreografo in cui cambia la composizione anziché all'inizio del successivo frame del coreografo. (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 alle API

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

    Le funzionalità componibili di Invio e Transizione di uscita sono utilizzate con l'elemento componibile AnimatedVisibilty per fornire tre tipi diversi di animazione di apparenza e scomparsa: dissolvenza, scorrimento ed espansione/riduzione dei contenuti. I diversi tipi di animazioni possono essere combinati per ottenere un aspetto più personalizzato. (Idda11)

  • PxBounds deprecati a favore del rettangolo Sono stati aggiornati tutti gli utilizzi di PxBounds con rettangolo e sono stati aggiunti i valori deprecati/sostituiti corretti con annotazioni per facilitare la migrazione. (I37038, b/162627058)

Correzioni di bug

  • PlacementScope.placeAbsolute() è stato rinominato in PlacementScope.place(), mentre il precedente PlacementScope.place() è stato rinominato in PlacementScope.placeRelative(). Di conseguenza, il metodo PlacementScope.place() non esegue più automaticamente il mirroring della posizione in contesti da destra a sinistra. Se vuoi, utilizza PlacementScope.placeRelative(). (I873ac, b/162916675)
  • Per chiarezza, l'elemento componibile state { ... } è stato ritirato a favore di chiamate esplicite a remember { mutableStateOf(...) }. In questo modo si riduce la superficie API complessiva e il numero di concetti per la gestione dello stato e corrisponde al pattern by mutableStateOf() per la delega delle proprietà di 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 alle API

  • I convertitori vettoriali integrati per la conversione di 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 associata alla modifica delle dimensioni, il listener riceva una notifica e le dimensioni di inizio e fine dell'animazione. (I277b2)
  • Nuovo modificatore animazioniContentSize che anima la variazione delle dimensioni del layout del modificatore figlio (Ieffdc)
  • È stato aggiunto un elemento MonotonicFrameAnimationClock che ti consente di utilizzare MonotonicFrameClock come AnimationClockObservable per colmare il divario tra i nuovi orologi basati su coroutine e le API che utilizzano ancora i vecchi orologio 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)
  • È necessario che il tipo T sia specificato in modo esplicito per TransactionDefinition. (I1aded)
  • Il pacchetto Foundation.shape.corner è appiattito a Foundation.share (I46491, b/161887429)
  • Modifier.plus è stato ritirato. Usa invece Modifier.then. "Quindi" ha un segnale di ordinamento più forte, mentre vieta di digitare Modifier.padding().background() + anotherModifier, il che spezza la catena e più difficile da leggere (Iedd58, b/161529964)
  • Modifier.drawBackground è stato rinominato 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 alle API

  • L'API Transizione è stata modificata in modo da restituire uno stato Transizione Stato invece di passare il valore Transizione Stato ai figli. Questo rende l'API più coerente con le API animete(). (I24e38).
  • Parametro di modifica aggiunto per la dissolvenza incrociata (I87cfe, b/159706180)
  • Usa AnimationSpec anziché AnimationBuilder nelle API di primo livello per chiarire il concetto di specifica dell'animazione statica.
    • Migliora la transizione DSL rimuovendo il requisito lambda per la creazione di AnimationSpecs, ad esempio tween, spring. ma prendono direttamente i parametri del costruttore.
    • Migliorare la facilità d'uso di AnimationSpec, aprendo le costruttori invece di affidarsi a costruttori
    • Modifica la durata e il ritardo di KeyFrame e Tween su Int. In questo modo vengono eliminati i tipi di cast non necessari e il sovraccarico del metodo (per il supporto sia di Long che di Int). (Ica0b4).
  • È stato sostituito l'utilizzo di IntPx con l'opzione IntPxPosition sostituita 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. Ciò offre i vantaggi di una classe in linea di utilizzare una classe long per comprimere 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. Ciò offre i vantaggi di una classe in linea di sfruttare una long per comprimere 2 valori in virgola mobile per rappresentare gli offset x e y rappresentati come valori in virgola mobile. (I3ad98)
  • Sostituito l'uso della classe Px in varie classi di composizione nell'ambito del grande sforzo di refactoring, basato solo su Dp, e sui tipi primitivi per i parametri pixel (I086f4)
  • Aggiunto il supporto di animazioni() per Dp, Px, Dimensione, Posizione, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds e AnimationVector (Ib7518)
  • Dissolvenza incrociata ora accetta il parametro facoltativo AnimationBuilder per consentire la configurazione dell'animazione (I6d6e0)
  • Sostituiti tutti gli utilizzi di colori con valori null nell'API con valori non null e utilizza Color.Unset anziché null (Iabaa7)
  • Classe Valueholder rimossa. Ha riorganizzato le classi AnimatedValue, AnimatedFloat per rendere astratto il campo del valore dell'animazione in modo che le sottoclassi possano osservare l'aggiornamento del valore.
    • Sono state aggiunte classi di modello per AnimatedValue, AnimatedFloat e così via.
    • È stato aggiunto un nuovo set di API @Composable leggera per l'animazione dei 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 all'API ManualAnimationClock: hasObservers: Boolean e parametro del costruttore dispatchOnSubscribe: Boolean (Iaa134)
  • Sono state aggiunte API per ottenere limiti min/max 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).
  • Introduzione delle API di animazione stateless di basso livello. Queste API (I63bf7)
  • L'elemento Ricomponi componibile non è più un'astrazione utile. La maggior parte della ricomposizione avviene a seguito delle assegnazioni MutableState. Per qualsiasi cosa oltre questo limite, ti consigliamo di utilizzare la funzione invalidate per attivare una ricomposizione dell'ambito corrente. (Ifc992).
  • È stato sostituito l'uso della classe Px in varie classi di composizione nell'ambito dell'ampio sforzo di refactoring, che prevedeva l'uso solo di DP e di tipi primitivi per i parametri pixel. Classe Px eliminata completamente (I3ff33)
  • Sostituito l'utilizzo della classe Px in varie classi di composizione nell'ambito del grande impegno di refactoring, basato solo su DP e tipi primitivi per i parametri pixel (Id3434)
  • Ora la dissolvenza incrociata può funzionare con un valore iniziale null (Iad6a4, b/155947711)
  • Sostituito l'uso della classe Px in varie classi di composizione nell'ambito del grande impegno di refactoring, basato solo su Dp, e sui tipi primitivi per i parametri pixel (I19d02)
  • ha consolidato le implementazioni di CanvasScope, quindi ora sono disponibili solo DrawScope e ContentDrawScope rinominata CanvasScope in DrawScope. Aggiornamento di DrawScope per implementare l'interfaccia Density e fornire LayoutDirection. La sottoclasse DrawScope eliminata in ContentDrawScope Painter e PainterModifier è stata aggiornata in modo da non mantenere più una proprietà RTL, in quanto DrawScope lo fornisce già senza fornirla manualmente (I1798e)
  • Sono state aggiornate le API di composizione di livello superiore che espongono CanvasScope per esporre CanvasScope. In questo modo, i consumatori non dovranno più gestire i propri oggetti Paint. I consumatori che devono comunque accedere a Canvas possono utilizzare il metodo dell'estensione disegnoCanvas, che offre un callback per inviare i comandi di disegno con Canvas sottostante. (I80afd)
  • Sono stati aggiunti i parametri verticalGravity e HorizontalGravity rispettivamente a Row e Column. (I7dc5a)
  • il modulo ui-text viene rinominato come ui-text-core (I57dec)
  • Migliora l'API DrawModifier:
    • È stato impostato l'ambito del destinatario perDraw() ContentDrawScope
    • Rimossi tutti i parametri in disegno()
    • DrawScope ha la stessa interfaccia del precedente CanvasScope
    • ContentDrawScope ha il metodoDrawContent() (Ibaced, b/152919067)
  • runOnIdleCompose e runOnUiThread sono ora funzioni globali anziché metodi su ComposeTestRule. (Icbe8f)
  • [Mutable]Gli operatori delegati per le proprietà statali sono stati spostati nelle estensioni per supportare le ottimizzazioni dei delegati di proprietà Kotlin 1.4. I chiamanti devono aggiungere importazioni per continuare a utilizzare by state { ... } o by mutableStateOf(...). (I5312c)
  • L'API ColoredRect è stata ritirata. Usa invece il criterio Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731).
  • Operatore di Modificatore più sostituito con funzioni di estensione di fabbrica (I225e4)
  • Elemento componibile Center deprecato. Deve essere sostituito con il modificatore LayoutSize.Fill + LayoutAllinea.Center o con uno dei componenti componibili Box o Impila con i modificatori adatti applicati (Idf5e0)
  • È stato cambiato il nome LayoutFlessibile in LayoutWeight. Rinominato parametro stretto per riempire. (If4738)
  • La funzione componibile Opacity è stata sostituita con il modificatore pullOpacity. (I5fb62).
  • I test che utilizzano AndroidComposeTestRule ora forniscono un'animazione alla radice della composizione che consente di metterla in pausa, ripristinarla 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. Al posto di ambientDensity(), ora puoi utilizzare DensityAmbient.current. Invece di withDensity(density) solo with(density) (I11cb1)
  • Sono stati aggiunti metodi di copia a vari tipi di classi incorporate, tra cui:
    • Offset
    • Dimensioni
    • Raggio
    • Movimento
    • TransformOrigin
    • Metodo oggetto companion size.copy deprecato a favore del metodo di copia dell'istanza (Ife290, b/159905651)
  • androidx.compose.ViewComposer è stato spostato in androidx.ui.node.UiComposer androidx.compose.Emittable rimosso. È stato ridondante con ComponentiNode. androidx.compose.ViewAdapters è stato rimosso. Non rappresentano più un caso d'uso supportato. Compose.composeInto è stato deprecato. Usa invece setContent o setViewContent. Compose.disposeCompose è stato deprecato. Usa invece il metodo dispose sul Composition restituito da setContent. androidx.compose.Compose.subcomposeInto è stato spostato in androidx.ui.core.subcomposeInto ComponenteNode#emitInsertAt è stato rinominato in ComponenteNode#insertAt ComponenteNode#emitRemoveAt è stato rinominato in ComponenteNode#removeAt ComponenteNode#emitMode

I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.

Ultimo aggiornamento 2024-03-21 UTC.