Transizioni

Anima il movimento nell'interfaccia utente con layout iniziale e finale.
Aggiornamento più recente Release stabile Candidato per l'uscita Versione beta Release alpha
24 luglio 2024 1.5.1 - - -

Dichiarazione delle dipendenze

Per aggiungere una dipendenza alla transizione, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

Alla moda

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

Kotlin

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

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

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.

Crea un nuovo numero

Consulta la documentazione di Issue Tracker per ulteriori informazioni.

Versione 1.5

Versione 1.5.1

24 luglio 2024

Vengono rilasciate le versioni androidx.transition:transition:1.5.1 e androidx.transition:transition-ktx:1.5.1. La versione 1.5.1 contiene questi commit.

Correzioni di bug

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

Versione 1.5.0

1° maggio 2024

Vengono rilasciate le versioni androidx.transition:transition:1.5.0 e androidx.transition:transition-ktx:1.5.0. 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. È stata aggiunta una nuova API a TransitionManager, controlDelayedTransition(), che restituisce un TransitionSeekController che consente la ricerca di Transition. Questa funzionalità viene utilizzata da Fragment 1.7.0 per cercare automaticamente le transizioni quando si usa 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 da altre transizioni. Questo può essere utile se lo sviluppatore ha bisogno di 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 inizia o termina in senso inverso. Questo può essere importante per sviluppare transizioni ricercabili che hanno TransitionListeners.

Versione 1.5.0-rc02

17 aprile 2024

Vengono rilasciate le versioni androidx.transition:transition:1.5.0-rc02 e androidx.transition:transition-ktx:1.5.0-rc02. La versione 1.5.0-rc02 contiene questi commit.

Aggiornamento delle dipendenze

  • È stata aggiornata la dipendenza Fragment alla versione 1.7.0-rc02 per risolvere un bug per cui si verificava un arresto anomalo se si verificava un arresto anomalo se un elemento condiviso non cercabile veniva aggiunto a una transazione in cui era possibile cercare tutte le altre transizioni.

Versione 1.5.0-rc01

3 aprile 2024

Vengono rilasciate le versioni androidx.transition:transition:1.5.0-rc01 e androidx.transition:transition-ktx:1.5.0-rc01. La versione 1.5.0-rc01 contiene questi commit.

Versione 1.5.0-beta01

20 marzo 2024

Vengono rilasciate le versioni androidx.transition:transition:1.5.0-beta01 e androidx.transition:transition-ktx:1.5.0-beta01. La versione 1.5.0-beta01 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema in Frammenti per cui l'interruzione delle transizioni in arrivo con un gesto predittivo Indietro distruggeva la visualizzazione in entrata, lasciando potenzialmente una schermata vuota. (Id3f22, b/319531491)

Versione 1.5.0-alpha06

10 gennaio 2024

Vengono rilasciate le versioni androidx.transition:transition:1.5.0-alpha06 e androidx.transition:transition-ktx:1.5.0-alpha06. La versione 1.5.0-alpha06 contiene questi commit.

Correzioni di bug

  • Quando viene usato TransitionSeekController.animateToStart(), l'elemento TransitionListeners aggiunto ora avrà onTransitionEnd() chiamato dopo Runnable di animateToStart(). (Ic6a55, b/307624554)

Aggiornamento delle dipendenze

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

Versione 1.5.0-alpha05

29 novembre 2023

Vengono rilasciate le versioni androidx.transition:transition:1.5.0-alpha05 e androidx.transition:transition-ktx:1.5.0-alpha05. La versione 1.5.0-alpha05 contiene questi commit.

Correzioni di bug

  • È stato corretto un problema di NullPointerException causato dall'impostazione della transizione di un elemento condiviso e dall'impossibilità di impostare anche un enter/exitTransition. (I8472b)
  • È stato risolto il problema per cui animateToStart() con Slide() non riusciva a riportare la visualizzazione alla posizione iniziale (I698f4, b/300157785)
  • È stato risolto il problema di rientro nella transizione che causava l'interruzione dell'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". La versione 1.5.0-alpha04 contiene questi commit.

Modifiche alle API

  • Interruzione del cambiamento: il metodo animateToStart() ora utilizza un valore Runnable che dovrebbe essere utilizzato per ripristinare lo stato originale delle viste in transizione.

Versione 1.5.0-alpha03

20 settembre 2023

Vengono rilasciate le versioni androidx.transition:transition:1.5.0-alpha03 e androidx.transition:transition-ktx:1.5.0-alpha03. La versione 1.5.0-alpha03 contiene questi commit.

Nuove funzionalità

  • La transizione ora supporta le animazioni predittive Indietro in-app sui dispositivi Android 14 se utilizzati con Frammento 1.7.0-alpha05.

Correzioni di bug

  • È stato corretto il bug relativo all'interruzione della transizione delle slide. Quando una transizione di slide interrompeva una transizione in entrata per rimuovere una vista, questa saltava in una posizione errata. (I946f8, b/297427333)

Versione 1.5.0-alpha02

6 settembre 2023

Vengono rilasciate le versioni androidx.transition:transition:1.5.0-alpha02 e androidx.transition:transition-ktx:1.5.0-alpha02. 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 i progressi quando utilizzi animateToStart() e animateToEnd() chiamando addOnProgressChangedListener. (aosp/2647607)
  • È stato aggiunto TransitionManager.seekTo() per consentire l'utilizzo delle scene per la ricerca delle transizioni. (aosp/2647607).
  • Aggiunte animazioni basate sulla fisica alla ricerca delle transizioni. Usa un tracker di velocità 1D per tenere traccia della variazione dei progressi con setCurrentFraction() o setCurrentPlayTimeMillis() e lo utilizza per la velocità iniziale di animateToStart e animateToEnd. (aosp/2647607).

Correzioni di bug

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

Aggiornamento delle dipendenze

  • La transizione ora si compila con l'API 34.

Versione 1.5.0-alpha01

10 maggio 2023

Vengono rilasciate le versioni androidx.transition:transition:1.5.0-alpha01 e androidx.transition:transition-ktx:1.5.0-alpha01. 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 la ricerca della transizione.

Modifiche alle API

  • TransitionManager dispone di 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 la transizione è pronta per la ricerca, la durata dell'animazione e consente di impostare l'ora corrente dell'animazione. Solo le transizioni che eseguono l'override di isSeekable() per restituire 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 da altre transizioni. Questo può essere utile se lo sviluppatore ha bisogno di 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 inizia o termina in senso inverso. Questo può essere importante per sviluppare transizioni ricercabili che hanno TransitionListeners.

Correzioni di bug

  • Le transizioni ora copiano il proprio TransitionListeners quando vengono clonate. Ciò significa che l'aggiunta di nuovi listener durante il periodo createAnimator() non influirà sulla transizione principale.

Versione 1.4.1

Versione 1.4.1

21 aprile 2021

Vengono rilasciate le versioni androidx.transition:transition:1.4.1 e androidx.transition:transition-ktx:1.4.1. La versione 1.4.1 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema per cui l'avvio di un Transition in un container metteva inavvertitamente in pausa altre transizioni in esecuzione in container separati, impedendo il completamento di queste altre transizioni. (aosp/1664439, b/182845041)

Versione 1.4.0

Versione 1.4.0

27 gennaio 2021

Vengono rilasciate le versioni androidx.transition:transition:1.4.0 e androidx.transition:transition-ktx:1.4.0. La versione 1.4.0 contiene questi commit.

Modifiche principali 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 rilasciate senza modifiche a partire dal giorno 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 rilasciate 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

Vengono rilasciate le versioni androidx.transition:transition:1.4.0-alpha01 e androidx.transition:transition-ktx:1.4.0-alpha01. 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

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

Correzioni di bug

  • È stato corretto il bug che causava il ritaglio errato di alcune visualizzazioni animate durante l'utilizzo di ChangeTransform (b/148798452)

Versione 1.3.0

Versione 1.3.0

22 gennaio 2020

Viene rilasciato androidx.transition:transition:1.3.0. 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 Vista 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

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

Correzioni di bug

  • È stato risolto un problema per cui le visualizzazioni venivano contrassegnate erroneamente come 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

Viene rilasciato androidx.transition:transition:1.3.0-beta01. 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 Vista 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

Questa versione deve essere utilizzata se hai scelto come target il livello API 29. In caso contrario, alcune transizioni non funzioneranno correttamente. Anziché le chiamate alla riflessione, questa versione utilizza i nuovi metodi pubblici aggiunti nel livello API 29. ma rientra nelle nostre restrizioni sulle interfacce non SDK.

Versione 1.2.0-rc01

5 settembre 2019

androidx.transition:transition:1.2.0-rc01 viene 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

Viene rilasciato androidx.transition:transition:1.2.0-beta01. 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 alla riflessione, questa versione utilizza i nuovi metodi pubblici aggiunti nel livello API 29. ma rientra nelle nostre restrizioni sulle interfacce non SDK.

Versione 1.2.0-alpha01

7 maggio 2019

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

Nuove funzionalità

  • Utilizza questa versione se specifichi Q come targetSdkVersion. In caso contrario, alcune transizioni non funzioneranno correttamente. Invece delle chiamate alla riflessione, questa versione utilizza i nuovi metodi pubblici aggiunti in Q. ma rientra nelle nostre restrizioni sulle interfacce non SDK.

Versione 1.1.0

Versione 1.1.0

2 luglio 2019

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

Versione 1.1.0-rc02

5 giugno 2019

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

Correzioni di bug

  • Correzione per far sì che TransitionManager.endTransitions() funzionasse correttamente con le transizioni dipendenti. (aosp/946400)

Versione 1.1.0-rc01

7 maggio 2019

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

Versione 1.1.0-beta01

3 aprile 2019

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

Correzioni di bug

  • È stato corretto il bug di memorizzazione nella cache di ViewGroupOverlay in Visibility, che si verificava nell'API 17 e livello inferiore (aosp/937350)

Versione 1.1.0-alpha02

13 marzo 2019

Viene rilasciato androidx.transition:transition:1.1.0-alpha02. 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 se viene fornito un ritardo aggiuntivo tramite setStartDelay() (b/119839526).
  • ChangeImageTransform applica una 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. Ti permette di scrivere una logica condizionale personalizzata in base alla scena attuale.

Correzioni di bug

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