Transizione

Anima il movimento nella UI con layout di inizio e fine.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Alpha Release
30 luglio 2025 1.6.0 - - 1.7.0-alpha01

Dichiarazione di dipendenze

Per aggiungere una dipendenza da Transition, devi aggiungere il Repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti che ti servono nel file build.gradle per la tua app o il tuo modulo:

Alla moda

dependencies {
    // Java language implementation
    implementation "androidx.transition:transition:1.6.0"
    // Kotlin
    implementation "androidx.transition:transition-ktx:1.6.0"
}

Kotlin

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

Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di build.

Feedback

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

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.7

Versione 1.7.0-alpha01

30 luglio 2025

androidx.transition:transition:1.7.0-alpha01 e androidx.transition:transition-ktx:1.7.0-alpha01 sono stati rilasciati. La versione 1.7.0-alpha01 contiene questi commit.

Correzioni di bug

  • È stato risolto l'arresto anomalo che si verificava quando la visualizzazione era collegata a una finestra con un windowId nullo. (I2ddf6)

Versione 1.6

Versione 1.6.0

23 aprile 2025

androidx.transition:transition:1.6.0 e androidx.transition:transition-ktx:1.6.0 sono stati rilasciati. La versione 1.6.0 contiene questi commit.

Versione 1.6.0-rc01

26 marzo 2025

androidx.transition:transition:1.6.0-rc01 e androidx.transition:transition-ktx:1.6.0-rc01 sono stati rilasciati. La versione 1.6.0-rc01 contiene questi commit.

Versione 1.6.0-beta01

12 marzo 2025

androidx.transition:transition:1.6.0-beta01 e androidx.transition:transition-ktx:1.6.0-beta01 vengono rilasciati senza modifiche rispetto all'ultima versione alpha. La versione 1.6.0-beta01 contiene questi commit.

Versione 1.6.0-alpha01

11 dicembre 2024

androidx.transition:transition:1.6.0-alpha01 e androidx.transition:transition-ktx:1.6.0-alpha01 sono stati rilasciati. La versione 1.6.0-alpha01 contiene questi commit.

Nuove funzionalità

  • La transizione ora imposta l'elemento principale disgiunto per ViewOverlays utilizzato per animare le transizioni. Ciò consente la risoluzione dei proprietari tramite il genitore disgiunto, il che significa che ora puoi risolvere correttamente ViewModels, cicli di vita e così via durante una transizione. (I10a16, b/340894487, b/287484338)

Correzioni di bug

  • Questa libreria ora utilizza le annotazioni di nullabilità JSpecify, che sono di tipo use. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per imporre l'utilizzo corretto: -Xjspecify-annotations=strict (questo è il valore predefinito a partire dalla versione 2.1.0 del compilatore Kotlin). (I1f54e, b/326456246)
  • È stata rimossa la definizione manuale dell'accesso alle nuove API della piattaforma, poiché questa avviene automaticamente tramite la modellazione delle API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). I client che non utilizzano AGP sono invitati a eseguire l'aggiornamento alla versione 8.1 o successive di D8. Consulta questo articolo per ulteriori dettagli. (Ia60e0, b/345472586)

Versione 1.5

Versione 1.5.1

24 luglio 2024

androidx.transition:transition:1.5.1 e androidx.transition:transition-ktx:1.5.1 sono stati rilasciati. La versione 1.5.1 contiene questi commit.

Correzioni di bug

  • Risolto un problema per cui le chiamate a animateToStart() o animateToEnd() in una transizione ricercabile venivano ignorate se la transizione non era stata avviata. (I44d96, b/338624457)

Versione 1.5.0

1° maggio 2024

androidx.transition:transition:1.5.0 e androidx.transition:transition-ktx:1.5.0 sono stati rilasciati. La versione 1.5.0 contiene questi commit.

Modifiche importanti dalla versione 1.4.0

  • Le transizioni supportano la ricerca sull'API 34 e versioni successive. A TransitionManager, controlDelayedTransition() è stata aggiunta una nuova API che restituisce un TransitionSeekController che consente di cercare il Transition. Questa funzionalità viene utilizzata da Fragment 1.7.0 per cercare automaticamente le transizioni quando si utilizza il gesto Indietro predittivo.
  • Le transizioni hanno un nuovo metodo, getRootTransition(), che restituisce la transizione contenente la transizione corrente o la transizione corrente se non è contenuta in nessun'altra transizione. Questa opzione può essere utile se lo sviluppatore deve avere listener per l'inizio o la fine dell'intera transizione.
  • TransitionListeners ora dispone di nuovi listener onTransitionStart() e onTransitionEnd() che consentono allo sviluppatore di sapere se la transizione sta iniziando o terminando in senso inverso o meno. Ciò può essere importante per sviluppare transizioni ricercabili che abbiano TransitionListeners.

Versione 1.5.0-rc02

17 aprile 2024

androidx.transition:transition:1.5.0-rc02 e androidx.transition:transition-ktx:1.5.0-rc02 sono stati rilasciati. La versione 1.5.0-rc02 contiene questi commit.

Aggiornamento delle dipendenze

  • È stata aggiornata la dipendenza Fragment alla versione 1.7.0-rc02, che ha corretto un bug per cui si verificava un arresto anomalo se a una transazione in cui tutte le altre transizioni erano ricercabili veniva aggiunto un elemento condiviso non ricercabile.

Versione 1.5.0-rc01

3 aprile 2024

androidx.transition:transition:1.5.0-rc01 e androidx.transition:transition-ktx:1.5.0-rc01 sono stati 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 sono stati rilasciati. La versione 1.5.0-beta01 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema in Fragments per cui l'interruzione delle transizioni in entrata con un gesto Indietro predittivo distruggeva la visualizzazione in 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 sono stati 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() chiamato dopo l'elemento animateToStart() dato 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 sono stati rilasciati. La versione 1.5.0-alpha05 contiene questi commit.

Correzioni di bug

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

Versione 1.5.0-alpha04

4 ottobre 2023

androidx.transition:transition:1.5.0-alpha04 e `androidx.transition:transition-ktx:1.5.0-alpha04 sono rilasciati. La versione 1.5.0-alpha04 contiene questi commit.

Modifiche alle API

  • Modifica che causa interruzione: il metodo animateToStart() ora accetta un Runnable che deve essere utilizzato per riportare le visualizzazioni in transizione al loro stato originale.

Versione 1.5.0-alpha03

20 settembre 2023

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

Nuove funzionalità

  • La transizione ora supporta le animazioni Indietro predittivo in-app sui dispositivi Android 14 se utilizzate con Fragment 1.7.0-alpha05.

Correzioni di bug

  • È stato corretto il bug di interruzione della transizione delle slide. Quando una transizione di slide interrompeva una transizione di ingresso per rimuovere una visualizzazione, veniva visualizzata 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 sono stati rilasciati. La versione 1.5.0-alpha02 contiene questi commit.

Nuove funzionalità

  • TransitionSeekController ora ti consente di impostare l'avanzamento come frazione della durata totale tramite setCurrentFragment(). (aosp/2647607)
  • TransitionSeekController ora consente di osservare l'avanzamento quando si utilizzano animateToStart() e animateToEnd() chiamando 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 alle transizioni di ricerca. Utilizza un tracker della velocità 1D per monitorare la variazione di avanzamento con setCurrentFraction() o setCurrentPlayTimeMillis() e lo utilizza per la velocità iniziale di animateToStart e animateToEnd. (aosp/2647607)

Correzioni di bug

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

Aggiornamento delle dipendenze

  • La transizione ora viene 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 sono stati 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 un TransisionSeekController che consente di cercare la transizione.

Modifiche alle API

  • TransitionManager ha un nuovo metodo, controlDelayedTransition(), che consente alle applicazioni di controllare l'avanzamento delle animazioni di transizione su API 34+. Il valore TransitionSeekController restituito consente allo sviluppatore di sapere quando la transizione è pronta per la ricerca, la durata dell'animazione e di impostare l'ora corrente dell'animazione. Solo le transizioni che sostituiscono isSeekable() per restituire il valore true sono supportate da controlDelayedTransition().
  • Le transizioni hanno un nuovo metodo, getRootTransition(), che restituisce la transizione contenente la transizione corrente o la transizione corrente se non è contenuta in nessun'altra transizione. Questa opzione può essere utile se lo sviluppatore deve avere listener per l'inizio o la fine dell'intera transizione.
  • TransitionListeners ora dispone di nuovi listener onTransitionStart() e onTransitionEnd() che consentono allo sviluppatore di sapere se la transizione sta iniziando o terminando in senso inverso o meno. Ciò può essere importante per sviluppare transizioni ricercabili che abbiano TransitionListeners.

Correzioni di bug

  • Ora le transizioni copiano il proprio TransitionListeners quando vengono clonate. Ciò significa che l'aggiunta di nuovi ascoltatori 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 sono stati rilasciati. La versione 1.4.1 contiene questi commit.

Correzioni di bug

  • Risolto un problema per cui l'avvio di una Transition in un container metteva in pausa inavvertitamente altre transizioni in esecuzione in container separati, impedendo il completamento di queste 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 sono stati rilasciati. La versione 1.4.0 contiene questi commit.

Modifiche importanti dalla versione 1.3.0

  • L'artefatto transition-ktx introduce le 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 rispetto a 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 sono stati rilasciati. La versione 1.4.0-alpha01 contiene questi commit.

Nuove funzionalità

  • L'artefatto transition-ktx introduce le 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 ritirata. La versione 1.3.1 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug per cui alcune visualizzazioni animate venivano ritagliate in modo errato quando veniva utilizzato ChangeTransform (b/148798452).

Versione 1.3.0

Versione 1.3.0

22 gennaio 2020

androidx.transition:transition:1.3.0 viene ritirata. 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 fragment 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 ritirata. La versione 1.3.0-rc02 contiene questi commit.

Correzioni di bug

  • Risolto un problema per cui le visualizzazioni venivano contrassegnate erroneamente con INVISIBLE dopo la visualizzazione di 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 ritirata. La versione 1.3.0-beta01 contiene questi commit.

Nuove funzionalità

  • È stata migliorata l'integrazione con Fragment 1.2.0-beta01 per garantire che la visualizzazione di Fragment 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 rispetto alla versione 1.2.0-rc01 . La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

Questa versione deve essere utilizzata se hai come target il livello API 29. In caso contrario, alcune transizioni non funzioneranno correttamente. Anziché le chiamate di reflection, questa versione utilizza i nuovi metodi pubblici aggiunti nel livello API 29. Fa parte del nostro impegno per le limitazioni relative alle interfacce non SDK.

Versione 1.2.0-rc01

5 settembre 2019

androidx.transition:transition:1.2.0-rc01 viene rilasciato senza modifiche rispetto alla 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 ritirata. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

  • Questa versione deve essere utilizzata se specifichi 29 come targetSdkVersion. In caso contrario, alcune transizioni non funzioneranno correttamente. Anziché le chiamate di reflection, questa versione utilizza i nuovi metodi pubblici aggiunti nel livello API 29. Fa parte del nostro impegno per le limitazioni relative alle interfacce non SDK.

Versione 1.2.0-alpha01

7 maggio 2019

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

Nuove funzionalità

  • Questa versione deve essere utilizzata se specifichi Q come targetSdkVersion. In caso contrario, alcune transizioni non funzioneranno correttamente. Anziché le chiamate di reflection, questa versione utilizza i nuovi metodi pubblici aggiunti in Q. Fa parte del nostro impegno per le 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 rispetto a 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 ritirata. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

  • Correzione per TransitionManager.endTransitions() per funzionare correttamente con le transizioni dipendenti. (aosp/946400)

Versione 1.1.0-rc01

7 maggio 2019

androidx.transition:transition:1.1.0-rc01 viene ritirata. 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 ritirata. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

  • È stato corretto il bug della memorizzazione nella cache di ViewGroupOverlay in Visibility, che si verifica nel livello API 17 e precedenti (aosp/937350).

Versione 1.1.0-alpha02

13 marzo 2019

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

Modifiche all'API

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

Correzioni di bug

  • SidePropagation non funziona quando viene fornito un ritardo aggiuntivo tramite setStartDelay() (b/119839526).
  • ChangeImageTransform applica la matrice errata quando viene interrotto prima dell'API 21 (b/123226255).
  • ChangeTransform funziona in modo errato in alcuni casi prima dell'API 21 (b/125777978).

Versione 1.1.0-alpha01

3 dicembre 2018

Modifiche all'API

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

Correzioni di bug

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