Transizioni
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
11 dicembre 2024 | 1.5.1 | - | - | 1.6.0-alpha01 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza a Transition, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo 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 ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.
Versione 1.6
Versione 1.6.0-alpha01
11 dicembre 2024
androidx.transition:transition:1.6.0-alpha01
e androidx.transition:transition-ktx:1.6.0-alpha01
vengono 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 relative transizioni. Ciò consente la risoluzione dei proprietari tramite l'elemento principale disgiunto, il che significa che ora puoi risolvere correttamenteViewModels
, i cicli di vita e così via durante una transizione. (I10a16, b/340894487, b/287484338)
Correzioni di bug
- Questa libreria ora utilizza le annotazioni di nullità JSpecify, che sono di tipo di utilizzo. Gli sviluppatori Kotlin devono utilizzare i seguenti argomenti del compilatore per applicare l'utilizzo corretto:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I1f54e, b/326456246) - È stato rimosso il riepilogo manuale dell'accesso alle nuove API di piattaforma, poiché avviene automaticamente tramite la definizione del modello 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 clienti 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
vengono rilasciati. La versione 1.5.1 contiene questi commit.
Correzioni di bug
- Risolto un problema per cui le chiamate a
animateToStart()
oanimateToEnd()
in una transizione cercabile 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
vengono 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
è stata aggiunta una nuova API,controlDelayedTransition()
, che restituisce unTransitionSeekController
che consente di cercare ilTransition
. 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. Questo può essere utile se lo sviluppatore deve avere ascoltatori per l'inizio o la fine dell'intera transizione. TransitionListeners
ora dispone di nuovi ascoltatorionTransitionStart()
eonTransitionEnd()
che consentono allo sviluppatore di sapere se la transizione sta iniziando o terminando e se è in corso o meno. Ciò può essere importante per lo sviluppo di transizioni cercabili che hannoTransitionListeners
.
Versione 1.5.0-rc02
17 aprile 2024
androidx.transition:transition:1.5.0-rc02
e androidx.transition:transition-ktx:1.5.0-rc02
vengono rilasciati. La versione 1.5.0-rc02 contiene questi commit.
Aggiornamento delle dipendenze
- È stata aggiornata la dipendenza dei frammenti 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 cercabili veniva aggiunto un elemento condiviso non cercabile.
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
- È stato risolto un problema in Frammenti per cui l'interruzione delle transizioni in arrivo con un gesto di ritorno predittivo eliminava 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
vengono rilasciati. La versione 1.5.0-alpha06 contiene questi commit.
Correzioni di bug
- Quando viene utilizzato
TransitionSeekController.animateToStart()
,TransitionListeners
aggiunto avrà oraonTransitionEnd()
chiamato dopo cheanimateToStart()
ha datoRunnable
. (Ic6a55, b/307624554)
Aggiornamento delle dipendenze
- La dipendenza dal frammento è 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 corretto un
NullPointerException
causato dall'impostazione di una transizione di elemento condiviso e dalla mancata impostazione di unenter/exitTransition
. (I8472b) - È stato risolto il problema per cui
animateToStart()
conSlide()
non riusciva a spostare la visualizzazione nella posizione iniziale (I698f4, b/300157785) - È stato risolto il problema di ricorsione in Transizione che ha interrotto 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 stati rilasciati. La versione 1.5.0-alpha04 contiene questi commit.
Modifiche all'API
- Modifica in violazione: il metodo
animateToStart()
ora accetta unRunnable
che deve essere utilizzato per ripristinare lo stato originale delle visualizzazioni in 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 supporta le animazioni Indietro predittivo in-app sui dispositivi Android 14 se utilizzata con il componente Fragment
1.7.0-alpha05
.
Correzioni di bug
- È stato corretto il bug relativo all'interruzione della transizione tra le diapositive. Quando una transizione tra diapositive interrompeva una transizione di entrata per rimuovere una visualizzazione, si saltava a 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 ti consente di impostare l'avanzamento come frazione della durata totale tramitesetCurrentFragment()
. (aosp/2647607)TransitionSeekController
ora consente di osservare l'avanzamento quando si utilizzanoanimateToStart()
eanimateToEnd()
chiamandoaddOnProgressChangedListener
. (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()
osetCurrentPlayTimeMillis()
e la utilizza per la velocità iniziale dianimateToStart
eanimateToEnd
. (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 sbagliata 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
vengono rilasciati. Questa versione è sviluppata in un ramo interno.
Nuove funzionalità
- Le transizioni supportano la ricerca sull'API 34 e versioni successive. A
TransitionManager
è stata aggiunta una nuova API,controlDelayedTransition()
, che restituisce unTransisionSeekController
che consente di cercare la transizione.
Modifiche all'API
TransitionManager
ha un nuovo metodo,controlDelayedTransition()
, che consente alle applicazioni di controllare l'avanzamento delle animazioni di transizione nell'API 34 e versioni successive. Il valoreTransitionSeekController
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.controlDelayedTransition()
supporta solo le transizioni che sostituisconoisSeekable()
per restituire true.- 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. Questo può essere utile se lo sviluppatore deve avere ascoltatori per l'inizio o la fine dell'intera transizione. TransitionListeners
ora dispone di nuovi ascoltatorionTransitionStart()
eonTransitionEnd()
che consentono allo sviluppatore di sapere se la transizione sta iniziando o terminando e se è in corso o meno. Ciò può essere importante per lo sviluppo di transizioni cercabili che hannoTransitionListeners
.
Correzioni di bug
- Ora le transizioni copiano il proprio
TransitionListeners
quando vengono clonate. Ciò significa che l'aggiunta di nuovi ascoltatori durantecreateAnimator()
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
- È stato risolto un problema per cui l'avvio di un
Transition
in un contenitore metteva in pausa inavvertitamente altre transizioni in esecuzione in contenitori separati, impedendo a queste ultime di essere completate. (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.
Modifiche principali dalla versione 1.3.0
- L'artifact
transition-ktx
introduce estensioni Kotlin per l'aggiunta di listener alle istanzeTransition
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
vengono rilasciati. La versione 1.4.0-alpha01 contiene questi commit.
Nuove funzionalità
- L'artifact
transition-ktx
introduce estensioni Kotlin per l'aggiunta di listener alle istanzeTransition
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 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 rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Miglioramenti per il frammento 1.2.0: è stata migliorata l'integrazione con il frammento 1.2.0 per garantire che la visualizzazione del frammento non venga distrutta 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
- È stato risolto un problema per cui le visualizzazioni venivano contrassegnate erroneamente come
INVISIBLE
dopo aver visualizzato 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 il componente Fragment
1.2.0-beta01
per garantire che la visualizzazione del componente non venga distrutta 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 scelto 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 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 rilasciato. 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 riflessione, 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 rilasciato.
Nuove funzionalità
- Questa versione deve essere utilizzata se specifichi Q come
targetSdkVersion
. In caso contrario, alcune transizioni non funzioneranno correttamente. Anziché le chiamate di riflessione, 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 rilasciato. I commit inclusi in questa versione sono disponibili qui.
Correzioni di bug
- Correzione per il corretto funzionamento di
TransitionManager.endTransitions()
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
- È stato corretto il bug della cache di
ViewGroupOverlay
inVisibility
, che si verifica nel livello API 17 e versioni precedenti (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 all'API
- Il tipo del parametro del metodo
Scene.getCurrentScene()
è stato modificato daView
aViewGroup
.
Correzioni di bug
SidePropagation
non funziona quando viene fornito un ritardo aggiuntivo tramitesetStartDelay()
(b/119839526).ChangeImageTransform
applica la matrice sbagliata quando viene interrotta prima dell'API 21 (b/123226255).ChangeTransform
non funziona correttamente 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. Ti consente di scrivere una logica condizionale personalizzata in base a una scena corrente.
Correzioni di bug
- È stato corretto un arresto anomalo quando si utilizza
TransitionManager
per comprimere/espandere un elemento inRecyclerView
(b/37129527). - È stata corretta l'animazione errata quando venivano applicate due transizioni di visibilità (b/62629600).
- Consenti di ignorare valori come durata e interpolatore per gli elementi figlio di TransitionSet (b/64644617).
- Correzione di molti altri bug minori.