Transição

Anime o movimento na interface com layouts iniciais e finais.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
20 de março de 2024 1.4.1 - 1.5.0-beta01 -

Declarar dependências

Para adicionar uma dependência a Transition, é preciso adicionar o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Groovy

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")
}

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.5

Versão 1.5.0-beta01

20 de março de 2024

Lançamento de androidx.transition:transition:1.5.0-beta01 e androidx.transition:transition-ktx:1.5.0-beta01. A versão 1.5.0-beta01 contém estas confirmações (link em inglês).

Correções de bugs

  • Foi corrigido um problema de fragmentos em que a interrupção de transições recebidas com um gesto de volta preditivo destruía a visualização de entrada, possivelmente deixando uma tela em branco. (Id3f22, b/319531491).

Versão 1.5.0-alpha06

10 de janeiro de 2024

Lançamento de androidx.transition:transition:1.5.0-alpha06 e androidx.transition:transition-ktx:1.5.0-alpha06. A versão 1.5.0-alpha06 contém estas confirmações.

Correções de bugs

  • Quando TransitionSeekController.animateToStart() for usado, o TransitionListeners adicionado agora terá onTransitionEnd() chamado após o Runnable fornecido pelo animateToStart() (Ic6a55, b/307624554).

Atualização de dependências

  • A dependência de fragmento foi atualizada para 1.7.0-alpha08.

Versão 1.5.0-alpha05

29 de novembro de 2023

Lançamento de androidx.transition:transition:1.5.0-alpha05 e androidx.transition:transition-ktx:1.5.0-alpha05. A versão 1.5.0-alpha05 contém estas confirmações.

Correções de bugs

  • Correção de uma NullPointerException causada pela configuração de uma transição de elemento compartilhado e também falhando na definição de um enter/exitTransition (I8472b).
  • Foi corrigido um problema em que animateToStart() com Slide() não conseguia mover a visualização de volta para a posição inicial (I698f4, b/300157785).
  • Correção do problema de reentrada em Transition, que interrompeu o cancelamento. (Iddcce, b/308379201).

Versão 1.5.0-alpha04

4 de outubro de 2023

Lançamento de androidx.transition:transition:1.5.0-alpha04 e "androidx.transition:transition-ktx:1.5.0-alpha04". A versão 1.5.0-alpha04 contém estas confirmações.

Mudanças na API

  • Alteração interruptiva: o método animateToStart() agora usa um Runnable que precisa ser usado para retornar as visualizações em transição de volta ao estado original.

Versão 1.5.0-alpha03

20 de setembro de 2023

Lançamento de androidx.transition:transition:1.5.0-alpha03 e androidx.transition:transition-ktx:1.5.0-alpha03. A versão 1.5.0-alpha03 contém estas confirmações.

Novos recursos

  • A transição agora oferece suporte a animações de volta preditiva no app em dispositivos Android 14 quando usadas com o Fragment 1.7.0-alpha05.

Correções de bugs

  • Correção do bug de interrupção da transição de slides. Quando uma transição de slide interrompeu uma transição de entrada para remover uma visualização, ela pulava para uma posição incorreta. (I946f8, b/297427333).

Versão 1.5.0-alpha02

6 de setembro de 2023

Lançamento de androidx.transition:transition:1.5.0-alpha02 e androidx.transition:transition-ktx:1.5.0-alpha02. A versão 1.5.0-alpha02 contém estas confirmações.

Novos recursos

  • Agora, TransitionSeekController permite que você defina o progresso como uma fração da duração total usando setCurrentFragment() (aosp/2647607).
  • TransitionSeekController agora permite observar o progresso ao usar animateToStart() e animateToEnd() chamando addOnProgressChangedListener (aosp/2647607).
  • Adição de TransitionManager.seekTo() para permitir o uso de cenas para buscar transições (aosp/2647607).
  • Foram adicionadas animações baseadas em física à busca de transições. Ele usa um rastreador de velocidade 1-D para rastrear a mudança de progresso com setCurrentFraction() ou setCurrentPlayTimeMillis() e o utiliza para a velocidade inicial de animateToStart e animateToEnd. (aosp/2647607).

Correções de bugs

  • Correção de uma oscilação ao buscar um AutoTransition (aosp/2643369).
  • Correção de um problema em que uma transição Slide pulava para a posição inicial errada quando interrompida (aosp/2733729, b/297427333).

Atualização de dependências

  • A transição agora é compilada com o nível 34 da API

Versão 1.5.0-alpha01

10 de maio de 2023

Lançamento de androidx.transition:transition:1.5.0-alpha01 e androidx.transition:transition-ktx:1.5.0-alpha01. Esta versão é desenvolvida em um branch interno.

Novos recursos

  • As transições oferecem suporte à busca no nível 34 da API e versões mais recentes Uma nova API foi adicionada a TransitionManager, controlDelayedTransition(), que retorna um TransisionSeekController que permite buscar a transição

Mudanças na API

  • O TransitionManager tem um novo método, controlDelayedTransition(), que permite que os aplicativos controlem o progresso das animações de transição na API 34 e versões mais recentes. O TransitionSeekController retornado informa ao desenvolvedor quando a transição está pronta para busca, a duração da animação e permite definir o horário atual da animação. Somente transições que substituem isSeekable() para retornar "true" são compatíveis com controlDelayedTransition().
  • As transições têm um novo método, getRootTransition(), que retorna a transição que contém a transição atual ou a atual, se ela não estiver contida por nenhuma outra. Isso pode ser útil se o desenvolvedor precisar ter listeners para quando toda a transição começar ou terminar.
  • A TransitionListeners agora tem novos listeners onTransitionStart() e onTransitionEnd(), que permitem ao desenvolvedor saber se a transição está começando ou terminando no sentido inverso ou não Isso pode ser importante para desenvolver transições pesquisáveis que tenham TransitionListeners.

Correções de bugs

  • Agora, as transições copiam o TransitionListeners quando são clonadas. Isso significa que a adição de novos listeners durante createAnimator() não afeta a transição raiz.

Versão 1.4.1

Versão 1.4.1

21 de abril de 2021

Lançamento de androidx.transition:transition:1.4.1 e androidx.transition:transition-ktx:1.4.1. A versão 1.4.1 contém estas confirmações.

Correções de bugs

  • Correção de um problema em que iniciar uma Transition em um contêiner pausaria acidentalmente outras transições em execução em contêineres separados, o que fazia com que essas outras transições nunca fossem concluídas (aosp/1664439, b/182845041).

Versão 1.4.0

Versão 1.4.0

27 de janeiro de 2021

Lançamento de androidx.transition:transition:1.4.0 e androidx.transition:transition-ktx:1.4.0. A versão 1.4.0 contém estas confirmações.

Principais mudanças desde a versão 1.3.0

  • O artefato transition-ktx introduz extensões Kotlin para adicionar listeners às instâncias Transition do AndroidX (b/138870873).

Versão 1.4.0-rc01

2 de dezembro de 2020

Lançamento de androidx.transition:transition:1.4.0-rc01 e androidx.transition:transition-ktx:1.4.0-rc01, sem mudanças desde 1.4.0-beta01. A versão 1.4.0-rc01 contém estas confirmações.

Versão 1.4.0-beta01

22 de julho de 2020

Lançamento de androidx.transition:transition:1.4.0-beta01 e androidx.transition:transition-ktx:1.4.0-beta01, sem mudanças desde a 1.4.0-alpha01. A versão 1.4.0-beta01 contém essas confirmações.

Versão 1.4.0-alpha01

24 de junho de 2020

Lançamento de androidx.transition:transition:1.4.0-alpha01 e androidx.transition:transition-ktx:1.4.0-alpha01. A versão 1.4.0-alpha01 contém essas confirmações (link em inglês).

Novos recursos

  • O artefato transition-ktx introduz extensões Kotlin para adicionar listeners às instâncias Transition do AndroidX (b/138870873).

Versão 1.3.1

Versão 1.3.1

19 de fevereiro de 2020

Lançamento de androidx.transition:transition:1.3.1. A versão 1.3.1 contém estas confirmações.

Correções de bugs

  • Correção de um bug em que algumas visualizações animadas eram cortadas incorretamente durante o uso de ChangeTransform (b/148798452).

Versão 1.3.0

Versão 1.3.0

22 de janeiro de 2020

Lançamento de androidx.transition:transition:1.3.0. A versão 1.3.0 contém essas confirmações (link em inglês).

Mudanças importantes desde a versão 1.2.0

  • Melhorias em Fragment 1.2.0: melhoria na integração com o Fragment 1.2.0 para garantir que a visualização do fragmento não seja destruída antes da conclusão da transição e que as transições sejam canceladas no momento adequado

Versão 1.3.0-rc02

4 de dezembro de 2019

Lançamento de androidx.transition:transition:1.3.0-rc02. A versão 1.3.0-rc02 contém essas confirmações (link em inglês).

Correções de bugs

  • Correção de um problema em que as visualizações eram incorretamente marcadas como INVISIBLE depois de exibirem um fragmento oculto (b/70793925, link em inglês).

Versão 1.3.0-rc01

23 de outubro de 2019

androidx.transition:transition:1.3.0-rc01 é lançado sem mudanças desde 1.3.0-beta01. A versão 1.3.0-rc01 contém essas confirmações (link em inglês).

Versão 1.3.0-beta01

9 de outubro de 2019

Lançamento de androidx.transition:transition:1.3.0-beta01. A versão 1.3.0-beta01 contém essas confirmações (link em inglês).

Novos recursos

  • Integração aprimorada com Fragment 1.2.0-beta01 para garantir que a visualização do fragmento não seja destruída antes da conclusão da transição e que as transições sejam canceladas no momento adequado (aosp/1119841, link em inglês)

Versão 1.2.0

Versão 1.2.0

9 de outubro de 2019

androidx.transition:transition:1.2.0 é lançado sem mudanças desde a versão 1.2.0-rc01. A versão 1.2.0 contém essas confirmações (link em inglês).

Mudanças importantes desde a versão 1.1.0

Use essa versão se você estiver segmentando a API de nível 29. Caso contrário, algumas das transições não funcionarão corretamente. Em vez das chamadas de reflexão, essa versão usa os novos métodos públicos adicionados na API nível 29. Ela faz parte das nossas restrições ao esforço de interfaces que não são SDK.

Version 1.2.0-rc01

5 de setembro de 2019

androidx.transition:transition:1.2.0-rc01 é lançado sem mudanças desde a versão 1.2.0-beta01. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Versão 1.2.0-beta01

2 de julho de 2019

Lançamento de androidx.transition:transition:1.2.0-beta01. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Novos recursos

  • Use essa versão para a targetSdkVersion 29. Caso contrário, algumas das transições não funcionarão corretamente. Em vez das chamadas de reflexão, essa versão usa os novos métodos públicos adicionados na API nível 29. Ela faz parte das nossas restrições ao esforço de interfaces que não são SDK.

Versão 1.2.0-alpha01

7 de maio de 2019

Lançamento de androidx.transition:transition:1.2.0-alpha01.

Novos recursos

  • Use essa versão para a targetSdkVersion Q. Caso contrário, algumas das transições não funcionarão corretamente. Em vez das chamadas de reflexão, essa versão usa os novos métodos públicos adicionados em Q. Ela faz parte das nossas restrições ao esforço de interfaces que não são SDK.

Versão 1.1.0

Versão 1.1.0

2 de julho de 2019

Lançamento de androidx.transition:transition:1.1.0 sem mudanças desde 1.1.0-rc02. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Versão 1.1.0-rc02

5 de junho de 2019

Lançamento de androidx.transition:transition:1.1.0-rc02. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Correções de bugs

  • Correção para TransitionManager.endTransitions() funcionar corretamente com transições dependentes (aosp/946400, link em inglês)

Versão 1.1.0-rc01

7 de maio de 2019

Lançamento de androidx.transition:transition:1.1.0-rc01. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Versão 1.1.0-beta01

3 de abril de 2019

Lançamento de androidx.transition:transition:1.1.0-beta01. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Correções de bugs

  • Corrigido bug de cache ViewGroupOverlay em Visibility, na API de nível 17 e anteriores (aosp/937350).

Versão 1.1.0-alpha02

13 de março de 2019

Lançamento de androidx.transition:transition:1.1.0-alpha02. A lista completa de confirmações incluídas nessa versão pode ser encontrada neste link.

Mudanças na API

  • O tipo de parâmetro do método de Scene.getCurrentScene() foi alterado de View para ViewGroup.

Correções de bugs

  • SidePropagation não funciona quando um atraso extra é disponibilizado por setStartDelay() (b/119839526).
  • ChangeImageTransform aplica a matriz incorreta quando interrompido antes da API 21. (b/123226255).
  • ChangeTransform funciona incorretamente em alguns casos antes da API 21 (b/125777978).

Versão 1.1.0-alpha01

3 de dezembro de 2018

Mudanças na API

  • aosp/807055: o método Scene.getCurrentScene(View) se tornou público. Ele permite escrever uma lógica condicional personalizada, dependendo da cena atual.

Correções de bugs

  • Correção de uma falha ao usar TransitionManager para recolher/expandir um item em RecyclerView ( b/37129527).
  • Correção de uma animação incorreta quando duas transições de Visibility eram aplicadas (b/62629600).
  • Permissão de valores modificados, como duração e interpolador, para filhos do TransitionSet (b/64644617).
  • Vários outros bugs secundários foram corrigidos.