Transizioni

Animazione del movimento nell'interfaccia utente con i layout iniziali e finali.
Aggiornamento più recente Release stabile Candidato per la release Versione beta Release alpha
3 aprile 2024 1.4.1 1.5.0-rc01 - -

Dichiarazione delle dipendenze

Per aggiungere una dipendenza a Transizione, 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 {
    // Java language implementation
    implementation "androidx.transition:transition:1.4.1"
    // Kotlin
    implementation "androidx.transition:transition-ktx:1.4.1"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.transition:transition:1.4.1")
    // Kotlin
    implementation("androidx.transition:transition-ktx:1.4.1")
}

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

Versione 1.5.0-rc01

3 aprile 2024

androidx.transition:transition:1.5.0-rc01 e androidx.transition:transition-ktx:1.5.0-rc01 vengono rilasciati. La versione 1.5.0-rc01 contiene questi commit.

Versione 1.5.0-beta01

20 marzo 2024

androidx.transition:transition:1.5.0-beta01 e androidx.transition:transition-ktx:1.5.0-beta01 vengono rilasciati. La versione 1.5.0-beta01 contiene questi commit.

Correzioni di bug

  • Risolto il problema in Frammenti per cui l'interruzione delle transizioni in arrivo con un gesto Indietro predittivo causava l'eliminazione della visualizzazione di entrata, lasciando potenzialmente una schermata vuota. (Id3f22, b/319531491).

Versione 1.5.0-alpha06

10 gennaio 2024

androidx.transition:transition:1.5.0-alpha06 e androidx.transition:transition-ktx:1.5.0-alpha06 vengono rilasciati. La versione 1.5.0-alpha06 contiene questi commit.

Correzioni di bug

  • Quando viene utilizzato TransitionSeekController.animateToStart(), l'elemento TransitionListeners aggiunto ora avrà onTransitionEnd() chiamata dopo che animateToStart() è stato chiamato Runnable. (Ic6a55, b/307624554).

Aggiornamento delle dipendenze

  • La dipendenza Fragment è stata aggiornata a 1.7.0-alpha08.

Versione 1.5.0-alpha05

29 novembre 2023

androidx.transition:transition:1.5.0-alpha05 e androidx.transition:transition-ktx:1.5.0-alpha05 vengono rilasciati. La versione 1.5.0-alpha05 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema NullPointerException causato dall'impostazione di una transizione di elementi condivisi e dall'impossibilità di impostare anche un enter/exitTransition. (I8472b)
  • Risolto il problema per cui animateToStart() con Slide() non riusciva a riportare la vista alla posizione iniziale (I698f4, b/300157785)
  • Risolto il problema di rientro nella transizione che causava l'annullamento dell'annullamento. (Iddcce, b/308379201)

Versione 1.5.0-alpha04

4 ottobre 2023

Vengono rilasciati androidx.transition:transition:1.5.0-alpha04 e "androidx.transition:transition-ktx:1.5.0-alpha04. La versione 1.5.0-alpha04 contiene questi commit.

Modifiche alle API

  • Modifica di interruzione: il metodo animateToStart() ora richiede un Runnable che deve essere utilizzato per ripristinare lo stato originale delle visualizzazioni di transizione.

Versione 1.5.0-alpha03

20 settembre 2023

androidx.transition:transition:1.5.0-alpha03 e androidx.transition:transition-ktx:1.5.0-alpha03 vengono rilasciati. La versione 1.5.0-alpha03 contiene questi commit.

Nuove funzionalità

  • La transizione ora fornisce il supporto per le animazioni in-app Indietro predittive sui dispositivi Android 14 quando viene utilizzato con Frammento 1.7.0-alpha05.

Correzioni di bug

  • Risolto il bug per l'interruzione della transizione tra le slide. Quando una transizione slide interrompeva una transizione di entrata per rimuovere una visualizzazione, la posizione passava in una posizione errata. (I946f8, b/297427333)

Versione 1.5.0-alpha02

6 settembre 2023

androidx.transition:transition:1.5.0-alpha02 e androidx.transition:transition-ktx:1.5.0-alpha02 vengono rilasciati. La versione 1.5.0-alpha02 contiene questi commit.

Nuove funzionalità

  • TransitionSeekController ora consente di impostare l'avanzamento come frazione della durata totale tramite setCurrentFragment(). (aosp/2647607)
  • TransitionSeekController ora consente di osservare i progressi quando usi animateToStart() e animateToEnd() chiamando il numero addOnProgressChangedListener. (aosp/2647607)
  • È stato aggiunto TransitionManager.seekTo() per consentire l'utilizzo delle Scene per la ricerca delle transizioni. (aosp/2647607)
  • Sono state aggiunte animazioni basate sulla fisica alla ricerca delle transizioni. Utilizza un tracker di velocità 1-D per monitorare il cambiamento di avanzamento con setCurrentFraction() o setCurrentPlayTimeMillis() e lo utilizza per la velocità iniziale di animateToStart e animateToEnd. (aosp/2647607)

Correzioni di bug

  • È stato risolto uno sfarfallio durante la ricerca di AutoTransition. (aosp/2643369)
  • Risolto il problema per cui una transizione Slide saltava alla posizione iniziale errata quando veniva interrotta. (aosp/2733729, b/297427333)

Aggiornamento delle dipendenze

  • La transizione viene ora compilata con l'API 34.

Versione 1.5.0-alpha01

10 maggio 2023

androidx.transition:transition:1.5.0-alpha01 e androidx.transition:transition-ktx:1.5.0-alpha01 vengono rilasciati. Questa versione è sviluppata in un ramo interno.

Nuove funzionalità

  • Le transizioni supportano la ricerca sull'API 34 e versioni successive. È stata aggiunta una nuova API a TransitionManager, controlDelayedTransition(), che restituisce TransisionSeekController che consente di cercare la transizione.

Modifiche alle API

  • TransitionManager offre un nuovo metodo, controlDelayedTransition(), che consente alle applicazioni di controllare l'avanzamento delle animazioni di transizione sull'API 34 e versioni successive. Il valore TransitionSeekController restituito consente allo sviluppatore di sapere quando è pronta la transizione per la ricerca, la durata dell'animazione e consente di impostare l'ora corrente dell'animazione. Solo le transizioni che sostituiscono isSeekable() per restituire true sono supportate da controlDelayedTransition().
  • Le transizioni hanno un nuovo metodo, getRootTransition(), che restituisce la Transizione contenente la Transizione attuale o quella corrente se non è contenuta in nessun'altra Transizione. Questo può essere utile se lo sviluppatore deve disporre di listener per l'inizio o la fine dell'intera transizione.
  • Ora TransitionListeners ha nuovi listener onTransitionStart() e onTransitionEnd() che consentono allo sviluppatore di sapere se la transizione inizia o termina in senso inverso o meno. Questo può essere importante per sviluppare transizioni realizzabili con TransitionListeners.

Correzioni di bug

  • Ora le transizioni copiano i TransitionListeners quando vengono clonate. Ciò significa che l'aggiunta di nuovi listener durante createAnimator() non influirà sulla transizione principale.

Versione 1.4.1

Versione 1.4.1

21 aprile 2021

androidx.transition:transition:1.4.1 e androidx.transition:transition-ktx:1.4.1 vengono rilasciati. La versione 1.4.1 contiene questi commit.

Correzioni di bug

  • Risolto un problema per cui l'avvio di Transition in un container causava inavvertitamente la pausa di altre transizioni in esecuzione in container separati, causando il mancato completamento di queste altre transizioni. (aosp/1664439, b/182845041)

Versione 1.4.0

Versione 1.4.0

27 gennaio 2021

androidx.transition:transition:1.4.0 e androidx.transition:transition-ktx:1.4.0 vengono rilasciati. La versione 1.4.0 contiene questi commit.

Importanti modifiche dalla versione 1.3.0

  • L'elemento transition-ktx introduce estensioni Kotlin per l'aggiunta di listener alle istanze Transition di AndroidX. (b/138870873)

Versione 1.4.0-rc01

2 dicembre 2020

androidx.transition:transition:1.4.0-rc01 e androidx.transition:transition-ktx:1.4.0-rc01 vengono rilasciati senza modifiche da 1.4.0-beta01. La versione 1.4.0-rc01 contiene questi commit.

Versione 1.4.0-beta01

22 luglio 2020

androidx.transition:transition:1.4.0-beta01 e androidx.transition:transition-ktx:1.4.0-beta01 vengono rilasciati senza modifiche dal giorno 1.4.0-alpha01. La versione 1.4.0-beta01 contiene questi commit.

Versione 1.4.0-alpha01

24 giugno 2020

androidx.transition:transition:1.4.0-alpha01 e androidx.transition:transition-ktx:1.4.0-alpha01 vengono rilasciati. La versione 1.4.0-alpha01 contiene questi commit.

Nuove funzionalità

  • L'elemento transition-ktx introduce estensioni Kotlin per l'aggiunta di listener alle istanze Transition di AndroidX. (b/138870873)

Versione 1.3.1

Versione 1.3.1

19 febbraio 2020

androidx.transition:transition:1.3.1 viene rilasciato. La versione 1.3.1 contiene questi commit.

Correzioni di bug

  • È stato corretto il bug relativo al ritaglio errato di alcune visualizzazioni animate quando si utilizza ChangeTransform (b/148798452)

Versione 1.3.0

Versione 1.3.0

22 gennaio 2020

androidx.transition:transition:1.3.0 viene rilasciato. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

  • Miglioramenti per Fragment 1.2.0: è stata migliorata l'integrazione con Fragment 1.2.0 per garantire che la visualizzazione del frammento non venga eliminata prima del completamento della transizione e che le transizioni vengano annullate al momento opportuno

Versione 1.3.0-rc02

4 dicembre 2019

androidx.transition:transition:1.3.0-rc02 viene rilasciato. La versione 1.3.0-rc02 contiene questi commit.

Correzioni di bug

  • Risolto il problema per cui le visualizzazioni venivano contrassegnate in modo errato INVISIBLE dopo aver fatto emergere un frammento nascosto. (b/70793925)

Versione 1.3.0-rc01

23 ottobre 2019

androidx.transition:transition:1.3.0-rc01 viene rilasciato senza modifiche dal giorno 1.3.0-beta01. La versione 1.3.0-rc01 contiene questi commit.

Versione 1.3.0-beta01

9 ottobre 2019

androidx.transition:transition:1.3.0-beta01 viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.

Nuove funzionalità

  • È stata migliorata l'integrazione con Frammento 1.2.0-beta01 per garantire che la visualizzazione del frammento non venga eliminata prima del completamento della transizione e che le transizioni vengano annullate al momento opportuno. (aosp/1119841).

Versione 1.2.0

Versione 1.2.0

9 ottobre 2019

androidx.transition:transition:1.2.0 viene rilasciato senza modifiche dalla versione 1.2.0-rc01 . La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

Utilizza questa versione se scegli come target il livello API 29. In caso contrario, alcune transizioni non funzioneranno correttamente. Anziché le chiamate di riflessione, questa versione utilizza i nuovi metodi pubblici aggiunti al livello API 29. Fa parte delle nostre limitazioni relative alle interfacce non SDK.

Versione 1.2.0-rc01

5 settembre 2019

androidx.transition:transition:1.2.0-rc01 è stato rilasciato senza modifiche dalla versione 1.2.0-beta01. I commit inclusi in questa versione sono disponibili qui.

Versione 1.2.0-beta01

2 luglio 2019

androidx.transition:transition:1.2.0-beta01 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

  • Utilizza questa versione se specifichi 29 come targetSdkVersion. In caso contrario, alcune transizioni non funzioneranno correttamente. Anziché le chiamate di riflessione, questa versione utilizza i nuovi metodi pubblici aggiunti al livello API 29. Fa parte delle nostre limitazioni relative alle interfacce non SDK.

Versione 1.2.0-alpha01

7 maggio 2019

androidx.transition:transition:1.2.0-alpha01 viene rilasciato.

Nuove funzionalità

  • Utilizza questa versione se specifichi Q come targetSdkVersion. In caso contrario, alcune transizioni non funzioneranno correttamente. Anziché le chiamate alla riflessione, questa versione utilizza i nuovi metodi pubblici aggiunti in D. Fa parte delle nostre limitazioni relative alle interfacce non SDK.

Versione 1.1.0

Versione 1.1.0

2 luglio 2019

androidx.transition:transition:1.1.0 viene rilasciato senza modifiche da 1.1.0-rc02. I commit inclusi in questa versione sono disponibili qui.

Versione 1.1.0-rc02

5 giugno 2019

androidx.transition:transition:1.1.0-rc02 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

  • Correzione del funzionamento di TransitionManager.endTransitions() in modo che funzioni correttamente con le transizioni dipendenti. (aosp/946400)

Versione 1.1.0-rc01

7 maggio 2019

androidx.transition:transition:1.1.0-rc01 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Versione 1.1.0-beta01

3 aprile 2019

androidx.transition:transition:1.1.0-beta01 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

  • Risolto il bug di memorizzazione nella cache di ViewGroupOverlay in Visibility, che si verifica a partire dal livello API 17 (aosp/937350)

Versione 1.1.0-alpha02

13 marzo 2019

androidx.transition:transition:1.1.0-alpha02 viene rilasciato. L'elenco completo dei commit inclusi in questa versione è disponibile qui.

Modifiche alle API

  • Il tipo di parametro del metodo Scene.getCurrentScene() è stato modificato da View a ViewGroup.

Correzioni di bug

  • SidePropagation non funziona con un ritardo aggiuntivo fornito tramite setStartDelay() (b/119839526).
  • ChangeImageTransform applica la matrice errata quando viene interrotta prima dell'API 21 (b/123226255).
  • In alcuni casi, ChangeTransform non funziona correttamente prima dell'API 21 (b/125777978).

Versione 1.1.0-alpha01

3 dicembre 2018

Modifiche alle API

  • aosp/807055: metodo Scene.getCurrentScene(View) reso pubblico. Consente di scrivere una logica condizionale personalizzata in base a una scena corrente.

Correzioni di bug

  • È stato corretto l'arresto anomalo durante l'utilizzo di TransitionManager per comprimere/espandere l'elemento in RecyclerView (b/37129527).
  • È stata corretta l'animazione errata quando venivano applicate due transizioni di visibilità (b/62629600).
  • Consenti valori di override come durata e interpolatore per gli elementi secondari di TransizioneSet (b/64644617).
  • Sono stati risolti molti altri bug minori.