Compose Animation

Crie animações nos aplicativos Jetpack Compose para enriquecer a experiência do usuário.
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.6.4 - - 1.7.0-alpha05

Estrutura

O Compose é uma combinação de sete IDs de grupos do Maven no androidx. Cada grupo contém um subconjunto direcionado de funcionalidades, cada um com um conjunto próprio de notas da versão.

Esta tabela explica os grupos e contém links para cada conjunto de notas da versão.

GrupoDescrição
compose.animationCrie animações nos aplicativos Jetpack Compose para enriquecer a experiência do usuário.
compose.compilerTransforme funções @Composable e ative otimizações com um plug-in do compilador Kotlin.
compose.foundationCrie aplicativos do Jetpack Compose com elementos básicos prontos que podem ser usados para criar suas próprias peças de sistema de design.
compose.materialCrie IUs do Jetpack Compose com componentes do Material Design prontos para uso. Este é o ponto de entrada de nível mais alto do Compose, projetado para fornecer componentes que correspondam aos descritos em www.material.io.
compose.material3Crie IUs do Jetpack Compose usando componentes do Material Design 3, a nova versão do Material Design. O Material 3 inclui temas e componentes atualizados, além de recursos de personalização do Material You, como cores dinâmicas, e foi desenvolvido para ser coeso com o novo estilo visual do Android 12 e com a interface do sistema.
compose.runtimeElementos fundamentais do modelo de programação e do gerenciamento de estado do Compose e do ambiente de execução principal do plug-in Compose Compiler.
compose.uiComponentes fundamentais do Compose UI necessários para interagir com o dispositivo, incluindo layout, desenho e entrada.

Declarar dependências

Para adicionar uma dependência ao Compose, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para mais informações.

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

Groovy

dependencies {
    implementation "androidx.compose.animation:animation:1.6.4"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.11"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.animation:animation:1.6.4")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.11"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

Versão 1.7.0-alpha05

20 de março de 2024

Lançamento de androidx.compose.animation:animation-*:1.7.0-alpha05. A versão 1.7.0-alpha05 contém these confirmações.

Mudanças na API

  • O SeekableTransitionState substitui o snapTo() por seekTo() e adiciona um snapTo() que muda imediatamente o estado para um estado de destino sem nenhum tipo de animação.

Versão 1.7.0-alpha04

6 de março de 2024

Lançamento de androidx.compose.animation:animation-*:1.7.0-alpha04. A versão 1.7.0-alpha04 contém these confirmações.

Mudanças na API

  • Nova API Path.reverse() para inverter a direção de um caminho (I36348).

Versão 1.7.0-alpha03

21 de fevereiro de 2024

Lançamento de androidx.compose.animation:animation-*:1.7.0-alpha03. A versão 1.7.0-alpha03 contém estas confirmações.

Novos recursos

  • Novo Modifier.animateContentSize que usa um parâmetro extra para alinhamento de conteúdo personalizado. (I5623a, b/269803907).
  • Novo DeferredTargetAnimation experimental para animar tamanho, posição ou qualquer outro alvo desconhecido durante a instanciação. (I60745).

Versão 1.7.0-alpha02

7 de fevereiro de 2024

Lançamento de androidx.compose.animation:animation-*:1.7.0-alpha02. A versão 1.7.0-alpha02 contém estas confirmações.

Correções de bugs

  • Correção de compatibilidade para KeyframesSpec. (I2bdf3, b/322214617).
  • Correção de Modifier.animateContentSize que não era redefinido corretamente quando usado em LazyList (I070512, b/322525716).
  • Correção de IllegalStateException em KeyframesSpec ao usar carimbos de data/hora fora do intervalo (I341b8, b/322839811).

Versão 1.7.0-alpha01

24 de janeiro de 2024

Lançamento de androidx.compose.animation:animation-*:1.7.0-alpha01. A versão 1.7.0-alpha01 contém estas confirmações.

Versão 1.6

Versão 1.6.4

20 de março de 2024

Lançamento de androidx.compose.animation:animation-*:1.6.4. A versão 1.6.4 contém estas confirmações.

Versão 1.6.3

6 de março de 2024

Lançamento de androidx.compose.animation:animation-*:1.6.3. A versão 1.6.3 contém estas confirmações.

Versão 1.6.2

21 de fevereiro de 2024

Lançamento de androidx.compose.animation:animation-*:1.6.2. A versão 1.6.2 contém estas confirmações.

Versão 1.6.1

7 de fevereiro de 2024

Lançamento de androidx.compose.animation:animation-*:1.6.1. A versão 1.6.1 contém estas confirmações.

Correções de bugs

Versão 1.6.0

24 de janeiro de 2024

Lançamento de androidx.compose.animation:animation-*:1.6.0. A versão 1.6.0 contém estas confirmações.

Versão 1.6.0-rc01

10 de janeiro de 2024

Lançamento de androidx.compose.animation:animation-*:1.6.0-rc01. A versão 1.6.0-rc01 contém estas confirmações.

Versão 1.6.0-beta03

13 de dezembro de 2023

Lançamento de androidx.compose.animation:animation-*:1.6.0-beta03. A versão 1.6.0-beta03 contém estas confirmações.

Mudanças na API

  • scaleInToFitContainer e scaleOutToFitContainer foram removidos temporariamente de AnimatedContentTransitionScope, porque exigem aprovação antecipada Eles vão estar disponíveis quando o recurso estiver ativado por padrão ou em versões futuras.

Versão 1.6.0-beta02

29 de novembro de 2023

Lançamento de androidx.compose.animation:animation-*:1.6.0-beta02. A versão 1.6.0-beta02 contém estas confirmações.

Versão 1.6.0-beta01

15 de novembro de 2023

Lançamento de androidx.compose.animation:animation-*:1.6.0-beta01. A versão 1.6.0-beta01 contém estas confirmações.

Mudanças na API

  • ExitTransition.Hold foi renomeado como ExitTransition.KeepUntilTransitionsFinished para ser mais explícito (I1c490).
  • Agora você pode usar keyframesWithSpline para interpolar qualquer valor N-dimensional usando splines monotônicos. É particularmente útil interpolar valores posicionais, como Offset, IntOffset e DpOffset. Adicionado como API experimental.

Correções de bugs

  • Foi adicionado suporte ao renderizador para Sweep Gradient em ArcLine. (I4d5bb).
  • Implemente equals e hashcode para PageSize.Fixed. (Ie3ede, b/300134276).
  • Correção do problema de compatibilidade binária com a mudança do encarte da janela (Iee695).
  • Remoção da camada do Material Core para o ícone/botão do Material3, já que as microcomparações mostram um melhor desempenho sem ela (I55555).

Versão 1.6.0-alpha08

18 de outubro de 2023

Lançamento de androidx.compose.animation:animation-*:1.6.0-alpha08. A versão 1.6.0-alpha08 contém estas confirmações.

Mudanças na API

  • O uso de KeyframesSpecConfig#with foi descontinuado e substituído por KeyframesSpecConfig#using, que preserva o padrão do builder (I1d769).

Versão 1.6.0-alpha07

4 de outubro de 2023

Lançamento de androidx.compose.animation:animation-*:1.6.0-alpha07. A versão 1.6.0-alpha07 contém estas confirmações.

Mudanças na API

  • Tabrows fixas e roláveis agora têm variantes primárias e secundárias Eles mapeiam corretamente para o comportamento de cor e indicador, conforme definido no Material3.
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow agora expõem o estado de rolagem (Iec8f5, b/260572337).

Versão 1.6.0-alpha06

20 de setembro de 2023

Lançamento de androidx.compose.animation:animation-*:1.6.0-alpha06. A versão 1.6.0-alpha06 contém estas confirmações.

Versão 1.6.0-alpha05

6 de setembro de 2023

Lançamento de androidx.compose.animation:animation-*:1.6.0-alpha05. A versão 1.6.0-alpha05 contém estas confirmações.

Mudanças na API

  • Inclusão de PathEasing para permitir que um caminho arbitrário seja fornecido a uma curva de easing. (Idb4b9).

Versão 1.6.0-alpha04

23 de agosto de 2023

Lançamento de androidx.compose.animation:animation-*:1.6.0-alpha04. A versão 1.6.0-alpha04 contém estas confirmações.

Mudanças na API

  • Adição de SeekableTransitionState para permitir que os desenvolvedores controlem o progresso de uma transição (I8e69d).

Versão 1.6.0-alpha03

9 de agosto de 2023

Lançamento de androidx.compose.animation:animation-*:1.6.0-alpha03. A versão 1.6.0-alpha03 contém estas confirmações.

Mudanças na API

  • Novo tipo de transição de entrada/saída que dimensiona o conteúdo com base no tamanho do contêiner animado durante a entrada e saída da animação. A interface e a diversão combináveis LookaheadScope agora estão estáveis (Ifb2ce).

Versão 1.6.0-alpha02

26 de julho de 2023

Lançamento de androidx.compose.animation:animation-*:1.6.0-alpha02. A versão 1.6.0-alpha02 contém estas confirmações.

Mudanças na API

  • Novo ExitTransition.Hold para mostrar o conteúdo enviado no AnimatedContent até que as transições de entrada e saída sejam concluídas. (I5984f).
  • Outras anotações para especificar entradas permitidas para elementos combináveis (I51109).

Versão 1.6.0-alpha01

21 de junho de 2023

Lançamento de androidx.compose.animation:animation-*:1.6.0-alpha01. A versão 1.6.0-alpha01 contém estas confirmações.

Novos recursos

  • Permita que Modifier.animateContentSize e AnimatedVisibility sejam totalmente integrados ao sistema de pré-visualização informando o tamanho do destino no passe de visualização.

Mudanças na API

  • Nova propriedade em IntrinsincMeasureScope e as respectivas implementações (por exemplo, MeasureScope) para indicar se a passagem de medição atual é antecipada. (I7a812).

Correções de bugs

  • Alocações foram removidas das animações de mola. (Ie9431).
  • O nome do parâmetro de valor para Enum.valueOf mudou (Ia9b89).
  • mais exceções geradas a partir do tipo enumerado valueOf (I818fe).

Versão 1.5

Versão 1.5.4

18 de outubro de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.4. A versão 1.5.4 contém estas confirmações.

Versão 1.5.3

4 de outubro de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.3. Esta versão não tem mudanças

Versão 1.5.2

27 de setembro de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.2. A versão 1.5.2 contém estas confirmações.

Versão 1.5.1

6 de setembro de 2023

Lançamento de androidx.compose.foundation:foundation-*:1.5.1. A versão 1.5.1 contém estas confirmações.

Correções de bugs

  • Correção dos campos de texto que mostram o teclado e podem ser editados quando readOnly é definido como verdadeiro Também foi corrigido o teclado que não era exibido quando readOnly mudava de verdadeiro para falso durante o foco (I34a19, b/246909589).

Versão 1.5.1

6 de setembro de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.1. A versão 1.5.1 contém estas confirmações.

Versão 1.5.0

9 de agosto de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.0. A versão 1.5.0 contém estas confirmações.

Versão 1.5.0-rc01

26 de julho de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.0-rc01. A versão 1.5.0-rc01 contém estas confirmações.

Correções de bugs

  • Foi corrigido um problema em que chamar .value em um tipo de estado primitivo (como MutableIntState) informava um aviso de lint com uma correção inválida A inspeção vai recomendar a migração para a propriedade correta. (Iba953, b/287279257).

  • Está disponível uma inspeção opcional para recomendar a migração de chamadas mutableStateOf() para os tipos especializados correspondentes para primitivos. O ID do lint é AutoboxingStateCreation. Antes, essa inspeção era ativada por padrão para todos os projetos. Para conferir esse aviso no editor do Android Studio e nas saídas de lint do projeto, mude a gravidade de informativa para aviso (ou superior) declarando warning "AutoboxingStateCreation" dentro da configuração build.gradle ou build.gradle.kts do módulo, conforme mostrado (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

Versão 1.5.0-beta03

28 de junho de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.0-beta03. A versão 1.5.0-beta03 contém estas confirmações.

Versão 1.5.0-beta02

7 de junho de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.0-beta02. A versão 1.5.0-beta02 contém estas confirmações.

Versão 1.5.0-beta01

24 de maio de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.0-beta01. A versão 1.5.0-beta01 contém estas confirmações.

Mudanças na API

  • Alocações foram removidas na recomposição, animações de cores e AndroidComposeView (Ib2bfa).

Correções de bugs

  • As alocações de animações de mola foram removidas (Ie9431).

Versão 1.5.0-alpha04

10 de maio de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.0-alpha04. A versão 1.5.0-alpha04 contém estas confirmações.

Mudanças na API

  • ContentKey agora tem suporte de AnimatedContent para permitir mais controle sobre quando a transição deve acontecer (Ic069b).

Versão 1.5.0-alpha03

19 de abril de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.0-alpha03. A versão 1.5.0-alpha03 contém estas confirmações.

Novos recursos

  • Novo comportamento padrão para SubcomposeLayout em LookaheadScope Ela permite que SubcomposeLayouts que não têm slots condicionais (por exemplo, TabRow, Scaffold, BoxWithConstraints etc.) funcionem bem com animações de visualização antecipada.

Mudanças na API

  • O novo intermediateMeasurePolicy padrão, que reutiliza a política de medição da passagem de pré-lançamento, permite que subtipos de SubcomposeLayout sem slots condicionais, como Scaffold, TabRow e BoxWithConstraints, funcionem com Lookahead por padrão. (Id84c8).
  • A função de infixo foi renomeada como togetherWith para combinar as transições de entrada e saída Novo AnimatedContentScope como receptor da lambda de conteúdo. (Ic39ae).

Versão 1.5.0-alpha02

5 de abril de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.0-alpha02. A versão 1.5.0-alpha02 contém estas confirmações.

Novos recursos

  • Nova API experimental para compatibilidade com previsão em SubcomposeLayout. Isso vai permitir que o SubcomposeLayout funcione corretamente em um LookaheadScope. Em breve, teremos mais compatibilidade pronta para uso em subtipos específicos de SubcomposeLayout.

Mudanças na API

  • Nova API SubcomposeLayout, que usa outra política de medida intermediária para processar a lógica de medida/layout durante animações baseadas em visualização. (I017d3).

Versão 1.5.0-alpha01

22 de março de 2023

Lançamento de androidx.compose.animation:animation-*:1.5.0-alpha01. A versão 1.5.0-alpha01 contém estas confirmações.

Mudanças na API

  • As APIs AnimatedContent agora são estáveis e AnimatedContentScope foram renomeados como AnimatedContentTransitionScope scaleIn e scaleOut agora são APIs estáveis (Iaf54e).

Versão 1.4

Versão 1.4.3

3 de maio de 2023

Lançamento de androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3 e androidx.compose.animation:animation-graphics:1.4.3 sem mudanças (apenas uma promoção de versão).

Versão 1.4.2

19 de abril de 2023

Lançamento de androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2 e androidx.compose.animation:animation-graphics:1.4.2 sem mudanças. A versão 1.4.2 contém estas confirmações.

Versão 1.4.1

5 de abril de 2023

Lançamento de androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1 e androidx.compose.animation:animation-graphics:1.4.1 sem mudanças. A versão 1.4.1 contém estas confirmações.

Versão 1.4.0

22 de março de 2023

Lançamento de androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0 e androidx.compose.animation:animation-graphics:1.4.0. A versão 1.4.0 contém estas confirmações.

Mudanças importantes desde a versão 1.3.0

  • O identificador de ferramentas é compatível com rememberInfiniteTransition e todas as funções de extensão em InfiniteTransition e Transition (por exemplo, InfiniteTransition#animateColor) (I56ef7).

Versão 1.4.0-rc01

8 de março de 2023

Lançamento de androidx.compose.animation:animation:1.4.0-rc01, androidx.compose.animation:animation-core:1.4.0-rc01 e androidx.compose.animation:animation-graphics:1.4.0-rc01 sem mudanças. A versão 1.4.0-rc01 contém estas confirmações.

Versão 1.4.0-beta02

22 de fevereiro de 2023

Lançamento de androidx.compose.animation:animation:1.4.0-beta02, androidx.compose.animation:animation-core:1.4.0-beta02 e androidx.compose.animation:animation-graphics:1.4.0-beta02 sem mudanças. A versão 1.4.0-beta02 contém estas confirmações.

Versão 1.4.0-beta01

8 de fevereiro de 2023

Lançamento de androidx.compose.animation:animation:1.4.0-beta01, androidx.compose.animation:animation-core:1.4.0-beta01 e androidx.compose.animation:animation-graphics:1.4.0-beta01 sem mudanças. A versão 1.4.0-beta01 contém estas confirmações.

Versão 1.4.0-alpha05

25 de janeiro de 2023

Lançamento de androidx.compose.animation:animation:1.4.0-alpha05, androidx.compose.animation:animation-core:1.4.0-alpha05 e androidx.compose.animation:animation-graphics:1.4.0-alpha05. A versão 1.4.0-alpha05 contém estas confirmações.

Mudanças

  • Nenhuma mudança nas bibliotecas de animação desde a última versão Alfa, apenas no nível da versão.

Versão 1.4.0-alpha04

11 de janeiro de 2023

Lançamento de androidx.compose.animation:animation:1.4.0-alpha04, androidx.compose.animation:animation-core:1.4.0-alpha04 e androidx.compose.animation:animation-graphics:1.4.0-alpha04. A versão 1.4.0-alpha04 contém estas confirmações.

Novos recursos

  • O identificador de ferramentas pode ser usado com a rememberInfiniteTransition e todas as funções de extensão na InfiniteTransition e Transition, como InfiniteTransition#animateColor (I56ef7).

Mudanças na API

  • As APIs InfiniteTransition#TransitionAnimationState e InfiniteTransition#animations agora são públicas (I36682).

Versão 1.4.0-alpha03

7 de dezembro de 2022

Lançamento de androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03 e androidx.compose.animation:animation-graphics:1.4.0-alpha03. A versão 1.4.0-alpha03 contém estas confirmações.

Mudanças na API

  • Em testes de interface que usam uma regra do Compose, as continuações retomadas durante callbacks withFrameNanos não serão enviadas até que todos os callbacks de frames sejam executados. Esse é o mesmo comportamento que o Compose apresenta quando é executado normalmente. No entanto, testes que dependem do comportamento antigo podem falhar. Isso só afeta o código que chama withFrameNanos ou withFrameMillis diretamente e tem uma lógica fora dos callbacks que é transmitida para essas funções e pode precisar ser movida para dentro deles. Exemplos de mudanças em testes de animação estão disponíveis neste CL (link em inglês).
  • Foi adicionado o parâmetro opcional onPerformTraversals: (Long) -> Unit ao construtor TestMonotonicFrameClock e à função de fábrica para executar o código depois de callbacks withFrameNanos, mas antes de retomar as corrotinas dos autores das chamadas (Idb413, b/254115946, b/222093277, b/255802670).
  • Novo parâmetro em AnimatedContent para o identificador de ferramentas (Iebe2d).

Versão 1.4.0-alpha02

9 de novembro de 2022

Lançamento de androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02 e androidx.compose.animation:animation-graphics:1.4.0-alpha02. A versão 1.4.0-alpha02 contém estas confirmações.

Mudanças na API

  • Adição do ToolingState para permitir que as ferramentas mudem os estados internos do elemento combinável (Ie6614).

Versão 1.4.0-alpha01

24 de outubro de 2022

Lançamento de androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01 e androidx.compose.animation:animation-graphics:1.4.0-alpha01. A versão 1.4.0-alpha01 contém estas confirmações.

Correções de bugs

  • A animação de interrupção no AnimatedContent foi corrigida (b/238662479).

Versão 1.3

Versão 1.3.3

11 de janeiro de 2023

Lançamento de androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3 e androidx.compose.animation:animation-graphics:1.3.3. A versão 1.3.3 contém estas confirmações.

  • Nenhuma mudança desde a versão 1.3.2.

Versão 1.3.2

7 de dezembro de 2022

Lançamento de androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2 e androidx.compose.animation:animation-graphics:1.3.2. A versão 1.3.2 contém estas confirmações.

Correções de bugs

  • Atualização para compatibilidade com androidx.compose.ui 1.3.2.

Versão 1.3.1

9 de novembro de 2022

Lançamento de androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1 e androidx.compose.animation:animation-graphics:1.3.1. A versão 1.3.1 contém estas confirmações.

Versão 1.3.0

24 de outubro de 2022

Lançamento de androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0 e androidx.compose.animation:animation-graphics:1.3.0. A versão 1.3.0 contém estas confirmações.

Mudanças importantes desde a versão 1.2.0

  • O novo conjunto de funções de easing é estável.

Versão 1.3.0-rc01

5 de outubro de 2022

Lançamento de androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01 e androidx.compose.animation:animation-graphics:1.3.0-rc01. A versão 1.3.0-rc01 contém estas confirmações.

Versão 1.3.0-beta03

21 de setembro de 2022

Lançamento de androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03 e androidx.compose.animation:animation-graphics:1.3.0-beta03. A versão 1.3.0-beta03 contém estas confirmações.

  • Nenhuma mudança desde a versão 1.3.0-beta02.

Versão 1.3.0-beta02

7 de setembro de 2022

Lançamento de androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02 e androidx.compose.animation:animation-graphics:1.3.0-beta02. A versão 1.3.0-beta02 contém estas confirmações.

  • O Kotlin.experimental foi removido das opções do compilador porque foi descontinuado.

Versão 1.3.0-beta01

24 de agosto de 2022

Lançamento de androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01 e androidx.compose.animation:animation-graphics:1.3.0-beta01. A versão 1.3.0-beta01 contém estas confirmações.

Versão 1.3.0-alpha03

10 de agosto de 2022

Lançamento de androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03 e androidx.compose.animation:animation-graphics:1.3.0-alpha03. A versão 1.3.0-alpha03 contém estas confirmações.

Mudanças na API

  • Novo parâmetro em Crossfade, animateAsState e Animatable para o identificador de ferramentas (Iac08a).
  • Adicionamos a função atFraction para definir frames-chave em uma fração em vez de uma duração específica (I20c76, b/232059455).

Versão 1.3.0-alpha02

27 de julho de 2022

Lançamento de androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02 e androidx.compose.animation:animation-graphics:1.3.0-alpha02. A versão 1.3.0-alpha02 contém estas confirmações.

Versão 1.3.0-alpha01

29 de junho de 2022

Lançamento de androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01 e androidx.compose.animation:animation-graphics:1.3.0-alpha01. A versão 1.3.0-alpha01 contém estas confirmações.

Mudanças na API

  • Novo LookaheadLayout que permite a pré-visualização antes da medição ou layout finais. Isso possibilita um pré-cálculo do layout quando há mudanças, permitindo que a medição ou o layout pós-visualização usem o tamanho ou a posição pré-calculados para animar o tamanho e as posições de acordo com a segmentação. Ainda não é possível usar SubcomposeLayouts, mas isso será oferecido em uma versão futura (I477f5).

Versão 1.2

Versão 1.2.1

10 de agosto de 2022

Lançamento de androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1 e androidx.compose.animation:animation-graphics:1.2.1. A versão 1.2.1 contém estas confirmações.

Versão 1.2.0

27 de julho de 2022

Lançamento de androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0 e androidx.compose.animation:animation-graphics:1.2.0. A versão 1.2.0 contém estas confirmações.

Mudanças importantes desde a 1.1.0

  • A animação do Compose agora permite a configuração "Escala de duração do Animator" das Opções do desenvolvedor.
  • Grande seleção de novas curvas de easing experimental.
  • A classe AnimatedImageVector agora é compatível com repeatCount e repeatMode.

Versão 1.2.0-rc03

29 de junho de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03 e androidx.compose.animation:animation-graphics:1.2.0-rc03. A versão 1.2.0-rc03 contém estas confirmações.

  • Nenhuma mudança desde a versão 1.2.0-rc02.

Versão 1.2.0-rc02

22 de junho de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02 e androidx.compose.animation:animation-graphics:1.2.0-rc02. A versão 1.2.0-rc02 contém estas confirmações.

Correções de bugs

  • A anotação ExperimentalEasingApi foi removida das funções de easing (Ied441).

Versão 1.2.0-rc01

15 de junho de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01 e androidx.compose.animation:animation-graphics:1.2.0-rc01. A versão 1.2.0-rc01 contém estas confirmações.

Mudanças na API

  • As interfaces em bibliotecas do Compose agora são criadas usando métodos de interface padrão do jdk8 (I5bcf1).

Versão 1.2.0-beta03

1º de junho de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03 e androidx.compose.animation:animation-graphics:1.2.0-beta03. A versão 1.2.0-beta03 contém estas confirmações.

Mudanças na API

  • Curvas de easing experimental foram adicionadas para animações (I64a38).

Versão 1.2.0-beta02

18 de maio de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02 e androidx.compose.animation:animation-graphics:1.2.0-beta02. A versão 1.2.0-beta02 contém estas confirmações.

Versão 1.2.0-beta01

11 de maio de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01 e androidx.compose.animation:animation-graphics:1.2.0-beta01. A versão 1.2.0-beta01 contém estas confirmações.

  • Esta é a primeira versão Beta da 1.2. Não há mudanças desde a última versão Alfa.

Versão 1.2.0-alpha08

20 de abril de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08 e androidx.compose.animation:animation-graphics:1.2.0-alpha08. A versão 1.2.0-alpha08 contém estas confirmações.

Versão 1.2.0-alpha07

6 de abril de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07 e androidx.compose.animation:animation-graphics:1.2.0-alpha07. A versão 1.2.0-alpha07 contém estas confirmações.

Mudanças na API

  • AnimatedImageVector agora é compatível com repeatCount e repeatMode (Ia3e75, b/199304067).

Versão 1.2.0-alpha06

23 de março de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06 e androidx.compose.animation:animation-graphics:1.2.0-alpha06. A versão 1.2.0-alpha06 contém estas confirmações.

Mudanças na API

  • A análise de drawables vetoriais foi atualizada e permite o espelhamento automático para virar o conteúdo de um VectorPainter se a direção atual do layout for RTL (I79cd9, b/185760237).

Correções de bugs

  • As APIs de gráficos vetoriais foram atualizadas para usar a anotação combinável @VectorComposable adequada, em vez de @UiComposable (I942bc).

Versão 1.2.0-alpha05

9 de março de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05 e androidx.compose.animation:animation-graphics:1.2.0-alpha05. A versão 1.2.0-alpha05 contém estas confirmações.

Mudanças na API

  • Oba! A animação do Compose agora permite a configuração "Escala de duração do Animator" das Opções do desenvolvedor (I5a4fc, b/161675988).

Versão 1.2.0-alpha04

23 de fevereiro de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04 e androidx.compose.animation:animation-graphics:1.2.0-alpha04. A versão 1.2.0-alpha04 contém estas confirmações.

Versão 1.2.0-alpha03

9 de fevereiro de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03 e androidx.compose.animation:animation-graphics:1.2.0-alpha03. A versão 1.2.0-alpha03 contém estas confirmações.

Versão 1.2.0-alpha02

26 de janeiro de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02 e androidx.compose.animation:animation-graphics:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.

Versão 1.2.0-alpha01

12 de janeiro de 2022

Lançamento de androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01 e androidx.compose.animation:animation-graphics:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.

Mudanças na API

  • Use AnimatedImageVector.animatedVectorResource em vez de animatedVectorResource para carregar um arquivo de recurso <animated-vector>.
    • Use rememberAnimatedVectorResource em vez de AnimatedImageVector#painterFor para renderizar um AnimatedImageVector (I9c300).

Correções de bugs

  • Adição dos métodos toString à Animatable e AnimationResult (Icd3a6).

Atualizações de dependência

  • Agora depende do Kotlin 1.6.10.

Versão 1.1

Versão 1.1.1

23 de fevereiro de 2022

Lançamento de androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1 e androidx.compose.animation:animation-graphics:1.1.1. A versão 1.1.1 contém estas confirmações.

Correções de bugs

  • A NullPointerException em androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList foi corrigida (aosp/1947059, b/206677462).
  • A falha causada pelo conteúdo da área de transferência durante a leitura no Android foi corrigida (I06020, b/197769306).
  • RTL corrigido no elemento LazyVerticalGrid (aosp/1931080, b/207510535).

Versão 1.1.0

9 de fevereiro de 2022

Lançamento de androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0 e androidx.compose.animation:animation-graphics:1.1.0. A versão 1.1.0 contém estas confirmações.

Mudanças importantes desde a versão 1.0.0

  • Versão estável do efeito de rolagem do Android 12.
  • Melhorias no dimensionamento da área de toque.
  • Em relação ao Compose 1.0, os componentes do Material Design vão aumentar o espaço de layout para atender ao tamanho da área de toque das diretrizes de acessibilidade (links em inglês) do Material Design. Por exemplo, a área de toque do botão será expandida para um tamanho mínimo de 48 x 48 dp, mesmo que você defina um tamanho menor para o botão. Isso alinha o Compose Material ao mesmo comportamento dos Componentes do Material Design para ser consistente se você combinar visualizações e o Compose. Essa mudança também garante que, ao criar a interface usando os componentes do Compose Material, os requisitos mínimos para a acessibilidade da área de toque sejam atendidos.
  • Versão estável da coluna de navegação.
  • Upgrade de várias APIs anteriormente experimentais para a versão estável.
  • Compatibilidade com as versões mais recentes do Kotlin.

Versão 1.1.0-rc03

26 de janeiro de 2022

Lançamento de androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03 e androidx.compose.animation:animation-graphics:1.1.0-rc03. A versão 1.1.0-rc03 contém estas confirmações.

Correções de bugs

  • Atualização de compatibilidade com o Compose Material 1.1.0-rc03.

Versão 1.1.0-rc01

15 de dezembro de 2021

Lançamento de androidx.compose.animation:animation:1.1.0-rc01 e androidx.compose.animation:animation-core:1.1.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.

Mudanças na API

  • Use AnimatedImageVector.animatedVectorResource em vez de animatedVectorResource para carregar um arquivo de recurso <animated-vector>.
    • Use rememberAnimatedVectorResource em vez de AnimatedImageVector#painterFor para renderizar um AnimatedImageVector (I9c300).

Versão 1.1.0-beta04

1º de dezembro de 2021

Lançamento de androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04 e androidx.compose.animation:animation-graphics:1.1.0-beta04. A versão 1.1.0-beta04 contém estas confirmações.

Novos recursos

  • Foi adicionada compatibilidade com o Kotlin 1.6.0.

Versão 1.1.0-beta03

17 de novembro de 2021

Lançamento de androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03 e androidx.compose.animation:animation-graphics:1.1.0-beta03. A versão 1.1.0-beta03 contém estas confirmações.

Mudanças na API

  • O novo modificador Modifier.onPlaced foi adicionado para permitir que a mudança de posição seja observada. Portanto, é possível fazer outras mudanças no deslocamento do modificador filho com base na mudança de posição observada (I558fd).
  • Compatibilidade com contentKey na API Crossfade. A contentKey será usada pelo sistema de animação para verificação de igualdade. Por isso, a diferenciação personalizada em estados pode ser implementada especificando a contentKey adequada para diferentes estados.

    A contentKey também será usada como a chave para salvar e restaurar o conteúdo (I2e055, b/197907070).

Versão 1.1.0-beta02

3 de novembro de 2021

Lançamento de androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02 e androidx.compose.animation:animation-graphics:1.1.0-beta02. A versão 1.1.0-beta02 contém estas confirmações.

Correções de bugs

  • Novas APIs de animação compatíveis com as ferramentas. Mais especificamente, elas permitem que as ferramentas inspecionem as animações e as configurações delas em transições (I4116e).

Versão 1.1.0-beta01

27 de outubro de 2021

Lançamento de androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01 e androidx.compose.animation:animation-graphics:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações.

Mudanças na API

  • Novas APIs de animação compatíveis com as ferramentas. Mais especificamente, elas permitem que as ferramentas inspecionem as animações e as configurações delas em transições (I4116e).

Versão 1.1.0-alpha06

13 de outubro de 2021

Lançamento de androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06 e androidx.compose.animation:animation-graphics:1.1.0-alpha06. A versão 1.1.0-alpha06 contém estas confirmações.

Versão 1.1.0-alpha05

29 de setembro de 2021

Lançamento de androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05 e androidx.compose.animation:animation-graphics:1.1.0-alpha05. A versão 1.1.0-alpha05 contém estas confirmações.

Mudanças na API

  • EnterTransition, ExitTransition e algumas das APIs AnimatedVisibility agora estão estáveis. MutableTransitionState.isIdle também deixou de ser experimental (I5072d).

  • Alteração interruptiva: as lambdas em fábricas Enter/ExitTransition foram movidas para a última posição na lista de parâmetros (I5072d).

Versão 1.1.0-alpha04

15 de setembro de 2021

Lançamento de androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04 e androidx.compose.animation:animation-graphics:1.1.0-alpha04. A versão 1.1.0-alpha04 contém estas confirmações.

Versão 1.1.0-alpha03

1.º de setembro de 2021

Lançamento de androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03 e androidx.compose.animation:animation-graphics:1.1.0-alpha03. A versão 1.1.0-alpha03 contém estas confirmações.

Novos recursos

  • O Compose 1.1.0-alpha03 foi atualizado para depender do Kotlin 1.5.30 (I74545).

Versão 1.1.0-alpha02

18 de agosto de 2021

Lançamento de androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02 e androidx.compose.animation:animation-graphics:1.1.0-alpha02. A versão 1.1.0-alpha02 contém estas confirmações.

Mudanças na API

  • A classe StartOffset agora permite usar anotações repeatable e infiniteRepeatable como uma maneira de atrasar o horário de início ou avançar a animação antes que ela comece. Esse deslocamento inicial não será repetido (Ic679f, b/195079908).
  • Nova transição de entrada/saída para escala. Ela pode ser usada em combinação com outros tipos de Enter/ExitTransitions (I372da, b/191325593).

Versão 1.1.0-alpha01

4 de agosto de 2021

Lançamento de androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01 e androidx.compose.animation:animation-graphics:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Mudanças na API

  • AnimatedImageVector e as APIs relacionadas agora estão no novo módulo androidx.compose.animation:animation-graphics (I60873).

Correções de bugs

Versão 1.0

Versão 1.0.5

3 de novembro de 2021

Lançamento de androidx.compose.animation:animation:1.0.5 e androidx.compose.animation:animation-core:1.0.5. A versão 1.0.5 contém estas confirmações.

Correções de bugs

  • Uma falha de rastreamento de instâncias derivedStateOf foi corrigida (aosp/1792247).

Versão 1.0.4

13 de outubro de 2021

Lançamento de androidx.compose.animation:animation:1.0.4 e androidx.compose.animation:animation-core:1.0.4. A versão 1.0.4 contém estas confirmações.

Atualizações de dependência

  • Atualização para depender do Kotlin 1.5.31.

Versão 1.0.3

29 de setembro de 2021

Lançamento de androidx.compose.animation:animation:1.0.3 e androidx.compose.animation:animation-core:1.0.3. A versão 1.0.3 contém estas confirmações.

Atualizações de dependência

  • Atualização para depender do Kotlin 1.5.30.

Versão 1.0.2

1.º de setembro de 2021

Lançamento de androidx.compose.animation:animation:1.0.2 e androidx.compose.animation:animation-core:1.0.2. A versão 1.0.2 contém estas confirmações.

Atualização para aceitar a versão 1.0.2 do Compose. O Compose 1.0.2 ainda é compatível com o Kotlin 1.5.21.

Versão 1.0.1

4 de agosto de 2021

Lançamento de androidx.compose.animation:animation:1.0.1 e androidx.compose.animation:animation-core:1.0.1. A versão 1.0.1 contém estas confirmações.

Atualizações de dependência

  • Atualização para depender do Kotlin 1.5.21.

Versão 1.0.0

28 de julho de 2021

Lançamento de androidx.compose.animation:animation:1.0.0 e androidx.compose.animation:animation-core:1.0.0. A versão 1.0.0 contém estas confirmações.

Principais recursos da versão 1.0.0

Esta é a primeira versão estável do Compose. Confira mais detalhes na postagem do blog oficial sobre o lançamento do Compose (link em inglês).

Problemas conhecidos

  • Se você está usando o Android Studio Bumblebee Canary 4 ou o AGP 7.1.0-alpha04/7.1.0-alpha05, pode encontrar esta falha:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    Para corrigi-la, aumente temporariamente a minSdkVersion para 24+ no arquivo build.gradle. Esse problema será corrigido na próxima versão do Android Studio Bumblebee e no AGP 7.1 (b/194289155).

Versão 1.0.0-rc02

14 de julho de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-rc02 e androidx.compose.animation:animation-core:1.0.0-rc02. A versão 1.0.0-rc02 contém estas confirmações.

Versão 1.0.0-rc01

1º de julho de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-rc01 e androidx.compose.animation:animation-core:1.0.0-rc01. A versão 1.0.0-rc01 contém estas confirmações.

Correções de bugs

  • InfiniteAnimationPolicy foi movido para androidx.compose.ui:ui (I5eb09, b/160602714).

Versão 1.0.0-beta09

16 de junho de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-beta09 e androidx.compose.animation:animation-core:1.0.0-beta09. A versão 1.0.0-beta09 contém estas confirmações.

Mudanças na API

  • Novo elemento combinável AnimatedContent. Ele gerencia a mudança de conteúdo usando ContentTransform personalizável conforme novos conteúdos de destino entram e o conteúdo inicial sai. Diferentes combinações de transições de entrada e saída podem ser usadas para produzir uma aparência personalizada. Como parte da transformação de conteúdo, AnimatedContent anima automaticamente o próprio tamanho para corresponder ao conteúdo recebido (I2c3df).
  • ManualFrameClock foi removido. Se você precisar controlar as animações, use composeTestRule.mainClock (I3c3e8, b/189951065).

Regras de perfil adicionadas

Nesta versão, adicionamos as regras de perfil aos seguintes módulos do Compose (I14ed6):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

O que são as regras de perfil?

  • As regras de perfil para uma biblioteca são especificadas em um arquivo de texto baseline-prof.txt localizado no diretório src/main ou equivalente. O arquivo especifica uma regra por linha. Nesse caso, uma regra é um padrão para a correspondência de métodos ou classes na biblioteca. A sintaxe dessas regras é um superconjunto do formato de perfil do ART legível que é usado junto com adb shell profman --dump-classes-and-methods .... Essas regras podem ter uma das duas formas destinadas a métodos ou classes.

  • Uma regra de método tem o seguinte padrão:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • E uma regra de classe tem o seguinte padrão:

    <CLASS_DESCRIPTOR>
    
  • Aqui, <FLAGS> é um ou mais dos caracteres H, S e P, para indicar se esse método precisa ser sinalizado como "Hot" (frequente), "Startup" (de inicialização) ou "Post Startup" (pós-inicialização).

  • O <CLASS_DESCRIPTOR> é o descritor da classe à qual o método desejado pertence. Por exemplo, a classe androidx.compose.runtime.SlotTable teria o descritor Landroidx/compose/runtime/SlotTable;.

  • A <METHOD_SIGNATURE> é a assinatura do método e inclui o nome, os tipos de parâmetro e os tipos de retorno do método. Por exemplo, o método fun isPlaced(): Boolean em LayoutNode tem a assinatura isPlaced()Z.

  • Esses padrões podem ter caracteres curinga (**, * e ?) para que uma única regra inclua vários métodos ou classes.

O que as regras fazem?

  • Um método com a flag H indica que ele é um método "hot" (frequente) e precisa ser compilado com antecedência.

  • Um método com a flag S indica que ele é chamado na inicialização e precisa ser compilado com antecedência para evitar o custo da compilação e interpretação dele no momento da inicialização.

  • Um método com a flag P indica que ele é chamado após a inicialização.

  • A presença de uma classe nesse arquivo indica que ela é usada durante a inicialização e precisa ser pré-alocada no heap para evitar o custo do carregamento dela.

Como isso funciona?

  • As bibliotecas podem definir essas regras que serão empacotadas nos artefatos do AAR. Quando um app é criado com esses artefatos, essas regras são mescladas e usadas para criar um perfil do ART binário, compacto e específico para o app. O ART poderá usar esse perfil quando o app for instalado em dispositivos para compilar antecipadamente um subconjunto específico do app e melhorar o desempenho dele, especialmente a primeira execução. Isso não terá efeito nos aplicativos depuráveis.

Versão 1.0.0-beta08

2 de junho de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-beta08 e androidx.compose.animation:animation-core:1.0.0-beta08. A versão 1.0.0-beta08 contém estas confirmações.

Correções de bugs

  • Agora, detectDragGesures, detectVerticalGestures e detectHorizontalGestures vão consumir a mudança de posição automaticamente, sem precisar chamar change.consumePositionChange nos callbacks onDrag (I42fc4, b/185096350, b/187320697).
  • Modifier.onGloballyPositioned() mudou para informar as coordenadas desse modificador na cadeia de modificadores, não as coordenadas de layout após aplicar todos os modificadores. Isso significa que agora a ordem dos modificadores afeta as coordenadas que seriam informadas (Ieb67d, b/177926591).

Versão 1.0.0-beta07

18 de maio de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-beta07 e androidx.compose.animation:animation-core:1.0.0-beta07. A Versão 1.0.0-beta07 contém estas confirmações.

Mudanças na API

  • Nova API AnimatedVisibility compatível com a visibilidade a ser especificada em um MutableTransitionState. Isso também permite que os estados da animação sejam observados externamente à AnimatedVisibility pelo currentState e isIdle.
    • Compatibilidade com a nova transição filha em Transition.
    • Compatibilidade com a animação de saída/entrada personalizada em AnimatedVisibility usando AnimationScope.transition.
    • Novo modificador animateEnterExit que pode ser acessado por todos os elementos filhos de AnimatedVisibility.
    • Descontinuação do uso das APIs AnimatedVisibility que recebem um parâmetro initiallyVisible (I702f3).

Versão 1.0.0-beta06

5 de maio de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-beta06 e androidx.compose.animation:animation-core:1.0.0-beta06. A versão 1.0.0-beta06 contém estas confirmações.

Versão 1.0.0-beta05

21 de abril de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-beta05 e androidx.compose.animation:animation-core:1.0.0-beta05. A versão 1.0.0-beta05 contém estas confirmações.

Correções de bugs

  • Os arquivos AndroidManifest de ui-test-manifest e ui-tooling-data agora são compatíveis com o Android 12 (I6f9de, b/184718994).

Versão 1.0.0-beta04

7 de abril de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-beta04 e androidx.compose.animation:animation-core:1.0.0-beta04. A versão 1.0.0-beta04 contém estas confirmações.

Mudanças na API

  • As instâncias públicas de RowScope, ColumnScope, BoxScope e BoxWithConstraintsScope foram removidas (I4e83e, b/181869067).

Versão 1.0.0-beta03

24 de março de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-beta03 e androidx.compose.animation:animation-core:1.0.0-beta03. A versão 1.0.0-beta03 contém estas confirmações.

Versão 1.0.0-beta02

10 de Março de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-beta02 e androidx.compose.animation:animation-core:1.0.0-beta02. A versão 1.0.0-beta02 contém estas confirmações.

Correções de bugs

  • Aplicação de restrições ao uso público de APIs experimentais (I6aa29, b/174531520).

Versão 1.0.0-beta01

24 de fevereiro de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-beta01 e androidx.compose.animation:animation-core:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.

Esta é a primeira versão do Compose 1.0.0 Beta.

Mudanças na API

  • InteractionState foi substituído por [Mutable]InteractionSource.
    • As interfaces são responsáveis por emitir / coletar eventos de interação.
    • Em vez de transmitir interactionState = remember { InteractionState() } para componentes como Button e Modifier.clickable(), use interactionSource = remember { MutableInteractionSource() }.
    • Em vez de Interaction.Pressed in interactionState, use as funções de extensão em InteractionSource, como InteractionSource.collectIsPressedAsState().
    • Para casos de uso complexos, use InteractionSource.interactions para observar o fluxo de interações. Consulte as amostras e a documentação do InteractionSource para mais informações
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378).
  • Os pacotes de métodos smoothScrollBy e scrollBy foram mudados para androidx.compose.foundation.gestures.* (I3f7c1, b/175294473).
  • Os modificadores de tamanho foram renomeados. Modifier.width/height/size foi renomeado como requiredWidth/requiredHeight/requiredSize. Modifier.preferredWidth/preferredHeight/preferredSize foi renomeado como width/height/size (I5b414).
  • A orientação foi movida para o pacote básico. VelocirtTracker foi movido de ui.gesture para ui.input.pointer (Iff4a8, b/175294473).
  • AnimationClockObservable e subclasses foram removidos. AnimatedFloat foi removido (Icde52, b/177457083).
  • Modifier.draggable agora aceita DraggableState em vez de uma lambda simples. Você pode criar o estado usando o rememberDraggableState { delta -> } para ter o mesmo comportamento de antes (Ica70f, b/175294473).
  • As APIs animate, animatedValue, AnimatedValue foram removidas (If27bc, b/177457083).
  • AnimationEndReason.Interrupted foi removido. CancellationException será gerada se a animação for interrompida (I2cbbc, b/179695417).
  • A API TargetAnimation foi removida (If47d1, b/177457083).

Versão 1.0.0-alpha12

10 de fevereiro de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-alpha12 e androidx.compose.animation:animation-core:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estas confirmações.

Mudanças na API

  • Modifier.pointerInput agora exige que as chaves "remember" indiquem quando a corrotina de detecção de entrada do ponteiro precisa ser reiniciada para novas dependências (I849cd).
  • Bounds foi renomeado como DpRect (I4b32a).
  • Unificação do nome do parâmetro de AnimationSpec para animationSpec em todo o sistema de animação. Além disso, haverá a restrição de Enter/ExitTransition para aceitar FiniteAnimationSpec (Ie47c5, b/177457083).
  • Animatable.snapTo e Animatable.stop agora são funções de suspensão (If4288).
  • De modo semelhante a quando removemos o state { 0 } combinável e passamos a promover o uso como remember { mutableStateOf(0) }, vamos remover o savedInstanceState { 0 } de composição. Use rememberSaveable { mutableStateOf(0) } para salvar e restaurar automaticamente se o tipo usado dentro de MutableState puder ser armazenado no pacote. Se você transmitia um objeto de economia personalizado, agora vai precisar usar uma nova sobrecarga de rememberSaveable, que tem o parâmetro stateSaver. O uso será assim: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004).
  • A assinatura do método do Crossfade foi atualizada para ser mais consistente com o restante do sistema de animação (Ib05ed, b/177457083).
  • rememberSavedInstanceState() foi renomeado como rememberSaveable() e movido para o pacote androidx.compose.runtime.saveable (I1366e, b/177338004).
  • RestorableStateHolder foi renomeado como SaveableStateHolder e movido para o pacote androidx.compose.runtime.saveable. O método interno RestorableStateProvider foi renomeado como SaveableStateProvider. O tipo genérico foi removido para que você possa transmitir qualquer valor como uma chave. A anotação experimental não é mais necessária (I0902e, b/174598702).
  • A API Modifier.animateContentSize foi atualizada para ser consistente com o restante do sistema de animação (I0bf75, b/177457083).
  • O uso de AnimatedValue/Float foi descontinuado. Use o Animatable (I71345, b/177457083).
  • O uso de tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter e pressIndicationGestureFilter foi descontinuado. Use Modifier.clickable ou Modifier.pointerInput com a função detectTapGestures (I6baf9, b/175294473).
  • Foi introduzido um elemento de contexto de corrotina InfiniteAnimationPolicy que vai ser aplicado em animações infinitas. Por padrão, nenhuma política é instalada, exceto durante a execução de testes com ComposeTestRule (I50ec4, b/151940543).
  • Os métodos de desestruturação e copy() foram removidos de várias classes em que raramente eram usados (I26702, b/178659281).
  • Agora, o tempo de reprodução na animação é unificado em nanossegundos (If776a).
  • O uso do artefato compose:runtime-dispatch foi descontinuado. A interface MonotonicFrameClock agora pode ser encontrada em compose:runtime, e a classe AndroidUiDispatcher pode ser encontrada em compose:ui (Ib5c36).
  • Foram adicionados Animation.isInfinite e VectorizedAnimationSpec.isInfinite, que sinalizam se uma animação é infinita ou não. Isso pode ser usado em implementações de animações para lidar com essas animações. Por exemplo, uma mensagem especial de "tempo restante" pode ser exibida ou, durante os testes, a animação pode ser cancelada para evitar uma espera indefinida pelo estado de inatividade (Iebb05, b/151940543).
  • Uso de Long em vez de Uptime como tipo de tempo de animação (Ie3aa7, b/177420019).

Versão 1.0.0-alpha11

28 de janeiro de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-alpha11 e androidx.compose.animation:animation-core:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.

Mudanças na API

  • A Transition baseada em TransitionDefinition foi descontinuada (I0ac57).
  • Um campo de rótulo é adicionado para que Transition e animações filhas sejam exibidas nas ferramentas (I619fb).
  • animateAsState agora é animateFooAsState, em que Foo é o tipo de variável que está sendo animada. Por exemplo, Float, Dp, Offset etc (Ie7e25).
  • Nova InfiniteTransition que executa qualquer número de animações filhas (I1da81).
  • As interfaces de parâmetro com estado do Material Design foram alteradas para terem funções combináveis e que retornam State<T>. Adiciona Animatable.asState() para facilitar a conversão de um Animatable em um State. Também muda o animateElevation para que se torne uma extensão de suspensão no Animatable (If613c).

Correções de bugs

  • O uso de onCommit, onDispose e onActive foi descontinuado e substituído pelas APIs SideEffect e DisposableEffect (If760e).
  • O estado inicial de updateTransition já pode ser usado (Ifd51d).
  • Adicionamos o parâmetro de descrição de conteúdo a Image e Icon. Ele é usado para fornecer descrição para os serviços de acessibilidade (I2ac4c).
  • O uso de invalidate e compositionReference() foi descontinuado e substituído por currentRecomposeScope e rememberCompositionReference, respectivamente (I583a8).
  • Duration e Uptime vão ser substituídos por milissegundos Long, e essa etapa vai remover a dependência de entrada do ponteiro nessas classes (Ia33b2, b/175142755, b/177420019).
  • clickable, toggleable e selectable agora podem ser criados fora da composição (I0a130, b/172938345, b/175294473).
  • Easing foi mudado para uma interface funcional (Ib14e5).
  • Novo método de fábrica items(count: Int) para o escopo de LazyColumn/LazyRow/LazyVerticalGrid. Agora, items(items: List) e itemsIndexed(items: List) são funções de extensão, então precisam ser importadas manualmente quando são usadas. Novas sobrecargas de extensão para Arrays: items(items: Array) e itemsIndexed(Array) (I803fc, b/175562574).
  • Use TestCoroutineDispatcher nos testes (I532b6).
  • PointerInputData foi removido, e PointerInputChange foi modificado para fornecer todos os campos de PointerInputData. PointerInputEvent e PointerInputEventData agora são internos porque não são usados em nenhuma API pública (Ifff97, b/175142755).

Versão 1.0.0-alpha10

13 de janeiro de 2021

Lançamento de androidx.compose.animation:animation:1.0.0-alpha10 e androidx.compose.animation:animation-core:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.

Mudanças na API

  • Modificação de Velocity para ter partes de componentes e operações matemáticas (Ib0447).
  • @ExperimentalTesting foi renomeado para @ExperimentalTestApi para ser consistente com anotações de API experimentais semelhantes (Ia4502, b/171464963).
  • Position foi renomeado como DpOffset e getDistance() foi removido (lb2dfd).
  • Remoção da API public Any.identityHashCode() (I025d7).

Correções de bugs

  • Nova API baseada em corrotina Animatable que garante exclusividade mútua entre as animações. Nova DecayAnimationSpec compatível com animação de redução multidimensional (I820f2, b/168014930).
  • animate() agora é substituído por animateAsState(), que retorna um State<T> em vez de T. Isso permite uma performance melhor, já que o escopo de invalidação pode ser restrito ao local em que o valor do State é lido (Ib179e).

Versão 1.0.0-alpha09

16 de dezembro de 2020

Lançamento de androidx.compose.animation:animation:1.0.0-alpha09 e androidx.compose.animation:animation-core:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estas confirmações.

Mudanças na API

  • Dp.VectorConverter, Position.VectorConverter etc. foram movidos para animation-core e os VectorConverters antigos foram descontinuados (If0c4b).
  • Foi introduzido um conjunto totalmente novo de APIs Transition com facilidade de uso melhorada e compatibilidade com animações adicionadas e destinos de animação calculados dinamicamente. Essas APIs são marcadas como experimentais para facilitar a diferenciação da API baseada em TransitionDefinition (Ia7fe3).

Correções de bugs

  • Lambdas em modificadores de deslocamento agora retornam IntOffset em vez de Float (Ic9ee5, b/174137212, b/174146755).
  • O uso de LazyColumnFor, LazyRowFor, LazyColumnForIndexed e LazyRowForIndexed foi descontinuado. Use LazyColumn e LazyRow (I5b48c).
  • Para suspender as APIs de entrada de ponteiro, o HandlePointerInputScope foi renomeado como AwaitPointerEventScope e o handlePointerInput() como awaitPointerEventScope() (Idf0a1, b/175142755).
  • Nova função InfiniteRepeatable para criar um InfiniteRepeatableSpec (I668e5).
  • A anotação de ExperimentalPointerInput foi removida (Ia7a24).

Versão 1.0.0-alpha08

2 de dezembro de 2020

Lançamento de androidx.compose.animation:animation:1.0.0-alpha08 e androidx.compose.animation:animation-core:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estas confirmações.

Mudanças na API

  • Uma verificação de lint foi adicionada para posicionamento e nomeação do parâmetro lambda combinável, para conferir a consistência com as diretrizes do Compose. Também ocorreu a migração de algumas APIs usando children como o nome da lambda final para content, de acordo com a verificação e as orientações do lint (Iec48e).
  • As APIs descontinuadas foram removidas:
    • Modifier.onPositioned foi removido. Use Modifier.onGloballyPositioned.
    • Modifier.onDraw foi removido. Use Modifier.onDrawBehind.
    • Modifier.plus foi removido. Use Modifier.then.
    • Color.Unset foi removido. Use Color.Unspecified.
    • A classe PxBounds foi removida. Use Rect.
    • (Ie9d02, b/172562222).
  • Opção temporariamente adicionada para permitir que o TestAnimationClock seja orientado pelo MonotonicFrameClock (I1403b, b/173402197).

Correções de bugs

  • Modifier.drawLayer foi renomeado como Modifier.graphicsLayer. Além disso, houve a atualização das classes relacionadas para GraphicsLayer de acordo com o feedback do conselho da API (I0bd29, b/173834241).
  • Adição de APIs Modifier.scale/rotate como conveniências para drawLayer.
    • Renomeação de Modifier.drawOpacity para Modifier.alpha.
    • Renomeação de Modifier.drawShadow para Modifier.shadow (I264ca, b/173208140).
  • Os campos de posição e de tempo de atividade do PointerInputData não são mais anuláveis (Id468a).
  • Os modificadores offsetPx foram renomeados como offset. Agora, eles usam parâmetros lambda em vez de State (Ic3021, b/173594846).
  • Novas APIs para executar animações em corrotinas (Ied662).
  • Ambientes nomeados com Ambient como sufixo foram descontinuados e substituídos por novas propriedades prefixadas com Ambient, seguindo outras diretrizes das APIs Compose e Ambients (I33440).
  • O controle de tempo em testes (TestAnimationClock e os usos dele) agora é experimental (I6ef86, b/171378521).
  • Remoção do antigo módulo ui-test e dos stubs dele (I3a7cb).
  • A função RestorableStateHolder.withRestorableState foi renomeada como RestorableStateProvider (I66640).
  • A interface Alignment foi atualizada e transformada em funcional (I46a07, b/172311734).

Versão 1.0.0-alpha07

11 de novembro de 2020

Lançamento de androidx.compose.animation:animation:1.0.0-alpha07 e androidx.compose.animation:animation-core:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.

Correções de bugs

  • O uso dos elementos AmbientTextStyle, ProvideTextStyle e AmbientContentColor de base foi descontinuado. Em vez disso, use as novas versões disponíveis na biblioteca Material. Em aplicativos que não usam o Material Design, crie seus próprios ambientes de temas específicos do sistema de design que possam ser consumidos nos seus componentes (I74acc, b/172067770).
  • O uso de foundation.Text foi descontinuado e substituído por material.Text. Para uma API de texto básica e discreta que não consome valores de um tema, consulte androidx.compose.foundation.BasicText (If64cb).
  • MeasureResult foi removido do MeasureScope (Ibf96d, b/171184002).
  • Vários símbolos relacionados ao layout foram movidos de androidx.compose.ui para androidx.compose.layout.ui (I0fa98, b/170475424).

Versão 1.0.0-alpha06

28 de outubro de 2020

Lançamento de androidx.compose.animation:animation:1.0.0-alpha06 e androidx.compose.animation:animation-core:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Mudanças na API

  • Ativação de transições em ComposeTestRule. Remoção da opção para ativar o cursor piscante na ComposeTestRule (If0de3).

Versão 1.0.0-alpha05

14 de outubro de 2020

Lançamento de androidx.compose.animation:animation:1.0.0-alpha05 e androidx.compose.animation:animation-core:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Mudanças na API

  • Nova interface e subclasses do Animation: essas classes armazenam as condições de início e fim para animações, permitindo que o valor e a velocidade sejam consultados apenas por tempo de reprodução (Ie95bd, b/163329867).

Correções de bugs

  • OnPositionedModifier foi renomeado como OnGloballyPositionedModifier e onPositioned() foi renomeado como onGloballyPositioned(). (I587e8, b/169083903)
  • Descontinuação do uso das APIs contentColor() e currentTextStyle() e substituição delas pelos ambientes AmbientContentColor e AmbientTextStyle, respectivamente. É possível acessar o valor atual usando .current na propriedade do ambiente, assim como em qualquer outro ambiente. Essa mudança foi feita para manter a consistência e para evitar a existência de várias maneiras de alcançar o mesmo resultado. Também renomeia algumas propriedades de ambiente para descrever melhor a finalidade delas da seguinte maneira:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

Versão 1.0.0-alpha04

1º de outubro de 2020

Lançamento de androidx.compose.animation:animation:1.0.0-alpha04 e androidx.compose.animation:animation-core:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Mudanças na API

  • rootAnimationClockFactory, transitionEnabled, blinkingCursorEnabled e textInputServiceFactory foram anotadas com @VisibleForTesting, tornando-as APIs internas e ocultando o kdoc delas (I554eb, b/168308412).

Correções de bugs

  • Atualização de várias APIs Graphics
    • As APIs de transformação de escala e rotação foram atualizadas para consumir um único parâmetro Offset para representar a coordenada dinâmica em vez de parâmetros de flutuação separados para as coordenadas x/y em DrawScope e DrawTransform.
    • Os métodos Rect.expandToInclude e Rect.join foram removidos.
    • Documentação do Radius atualizada para informar oval, além de elíptico.
    • Foi adicionada documentação para indicar que o construtor público da classe Radius in-line não pode ser chamado diretamente, mas os objetos Radius precisam ser instanciados pelos construtores de função deles.
    • Remoção das APIs RoundRect para consultar topRight, bottomRight, bottomCenter etc.
    • O uso de Rect.shift foi descontinuado e substituído por Rect.translate.
    • Remoção das APIs RoundRect.grow e Rect.shrink.
    • Renomeação de RoundRect.outerRect para Rect.boundingRect.
    • Remoção dos métodos RoundRect.middleRect/tallMiddleRect/wideMiddleRect e Rect.isStadium.
    • Renomeação de RoundRect.longestSide para RoundRect.maxDimension.
    • Renomeação de RoundRect.shortestSide para RoundRect.minDimension.
    • Mudança de RoundRect.center para que seja uma propriedade em vez de uma função.
    • O construtor RoundRect foi atualizado para consumir propriedades do Radius em vez de parâmetros individuais para valores de raio x/y.
    • As APIs Size, que pressupunham ser um retângulo com origem em 0,0, foram removidas.
    • Adição de uma API de destruição ao Radius.
    • Migração de várias funções de extensão RoundRect para serem propriedades
    • (I8f5c7, b/168762961).
  • O uso de foundation.Box foi descontinuado. Use foundation.layout.Box (Ie5950, b/167680279).
  • Stack foi renomeado como Box. O uso do elemento Box anterior vai ser descontinuado e substituído pelo novo Box em compose.foundation.layout. O comportamento do novo Box quando tem vários filhos é os empilhar um em cima do outro. Isso é diferente do Box anterior, que se comportava de maneira semelhante à Column (I94893, b/167680279).
  • O uso de parâmetros de decoração do Box foi descontinuado. Se você quiser ter decorações/padding na sua caixa, use Modifiers, como Modifier.background, Modifier.border, Modifier.padding (Ibae92, b/167680279).
  • Evitamos importações estáticas de conteúdo de escopos de layout, por exemplo, alignWithSiblings no RowScope. A alternativa do escopo explícito precisa ser usada: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) } (I216be, b/166760797).

Versão 1.0.0-alpha03

16 de setembro de 2020

Lançamento de androidx.compose.animation:animation:1.0.0-alpha03 e androidx.compose.animation:animation-core:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Correções de bugs

  • Os usos da gravidade foram renomeados de forma consistente para "align" ou "alignment" nas APIs de layout (I2421a, b/164077038).

Versão 1.0.0-alpha02

2 de setembro de 2020

Lançamento de androidx.compose.animation:animation:1.0.0-alpha02 e androidx.compose.animation:animation-core:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Mudanças na API

  • ManualFrameClock.hasAwaiters foi adicionado para conferir se algo está aguardando um frame desse clock, runWithManualClock como uma substituição de runBlocking ao executar testes que precisam de um ManualFrameClock e TestUiDispatcher.Main que fornece acesso fácil ao principal agente de interface nos seus testes.

    Por exemplo:

    @Test
    fun myTest() = runWithManualClock { clock ->
        // set some compose content
        withContext(TestUiDispatcher.Main) {
            clock.advanceClock(1000L)
        }
        if (clock.hasAwaiters) {
            println("The clock has awaiters")
        } else {
            println("The clock has no more awaiters")
        }
    }
    

    I0a85b, b/161247083

Correções de bugs

  • O uso do onPreCommit foi descontinuado. Agora, o onCommit tem o comportamento de onPreCommit.

    O onCommit e o onActive agora são executados no mesmo frame "choreographer" que as mudanças de composição confirmadas, em vez de no início do próximo frame "choreographer" (I70403).

Versão 1.0.0-alpha01

26 de agosto de 2020

Lançamento de androidx.compose.animation:animation:1.0.0-alpha01 e androidx.compose.animation:animation-core:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Versão 0.1.0-dev

Versão 0.1.0-dev17

19 de agosto de 2020

Lançamento de androidx.compose.animation:animation:0.1.0-dev17 e androidx.compose.animation:animation-core:0.1.0-dev17. A versão 0.1.0-dev17 contém estas confirmações.

Novos recursos

Mudanças na API

  • Offset agora é uma classe inline (Iaec70).
  • IntOffset agora é uma classe inline (Iac0bf).
  • IntSize agora é uma classe inline (I2bf42).
  • O elemento combinável AnimatedVisibilty anima o aparecimento e o desaparecimento do conteúdo filho.

    EnterTransition e ExitTransition foram introduzidos para trabalhar com o elemento combinável AnimatedVisibilty e fornecer três tipos diferentes de animação de aparecimento e desaparecimento: esmaecer, deslizar e aumentar/reduzir o conteúdo. Os diferentes tipos de animação podem ser combinados para alcançar uma aparência mais personalizada (Idda11).

  • O uso de PxBounds foi descontinuado e substituído por Rect. Atualização de todos os usos de PxBounds com rect e adição de descontinuação/substituição por anotações para auxiliar na migração (I37038, b/162627058).

Correções de bugs

  • PlacementScope.placeAbsolute() foi renomeado como PlacementScope.place(), e o PlacementScope.place() anterior foi renomeado como PlacementScope.placeRelative(). Por essa razão, o método PlacementScope.place() não espelhará de forma automática a posição em contextos da direita para a esquerda. Se você quiser o espelhamento, use PlacementScope.placeRelative() (I873ac, b/162916675).
  • O uso do elemento combinável state { ... } foi descontinuado e substituído pelas chamadas explícitas de remember { mutableStateOf(...) } para maior clareza. Isso reduz a plataforma geral da API e o número de conceitos de gerenciamento de estado e corresponde ao padrão by mutableStateOf() para delegação de propriedade de classe (Ia5727).

Versão 0.1.0-dev16

5 de agosto de 2020

Lançamento de androidx.compose.animation:animation:0.1.0-dev16 e androidx.compose.animation:animation-core:0.1.0-dev16. A versão 0.1.0-dev16 contém estas confirmações.

Mudanças na API

  • Os conversores de vetor integrados para converter unidades integradas agora podem ser acessados por Foo.VectorConverter. Por exemplo, Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter etc. (I3e273).
  • Compatibilidade com o listener final em Modifier.animateContentSize(), de modo que, quando a animação de mudança de tamanho termina, o listener seja notificado, junto do tamanho inicial/final da animação. (I277b2).
  • Novo modificador animateContentSize, que anima a mudança do tamanho do layout do modificador filho (Ieffdc).
  • Foi adicionado um MonotonicFrameAnimationClock, que permite usar um MonotonicFrameClock como um AnimationClockObservable para fazer a ponte entre os novos relógios baseados em corrotinas e APIs que ainda usam os relógios antigos com base em callback.

    O MonotonicFrameClock equivalente de ManualAnimationClock agora é ManualFrameClock (I111c7, b/161247083).

Correções de bugs

  • As APIs para o modo de leitura da direita para a esquerda foram atualizadas. LayoutDirectionAmbient foi adicionado e pode ser usado para ler e mudar a direção do layout. Modifier.rtl e Modifier.ltr foram removidos (I080b3).
  • Exigência de que o tipo T seja especificado explicitamente para o transitionDefinition (I1aded).
  • O pacote foundation.shape.corner foi nivelado para foundation.share (I46491, b/161887429).
  • O uso de Modifier.plus foi descontinuado. Use Modifier.then. "Then" tem um sinal mais forte de ordem, mas também proíbe o tipo Modifier.padding().background() + anotherModifier, que interrompe a cadeia e é mais difícil de ler (Iedd58, b/161529964).
  • Renomeação de Modifier.drawBackground como Modifier.background (I13677).

Versão 0.1.0-dev15

22 de julho de 2020

Lançamento de androidx.compose.animation:animation:0.1.0-dev15 e androidx.compose.animation:animation-core:0.1.0-dev15. A versão 0.1.0-dev15 contém estas confirmações.

Atualização de dependências

  • Para usar a versão 0.1.0-dev15 do Compose, será necessário atualizar suas dependências de acordo com os novos snippets de código mostrados acima em Como declarar dependências.

Mudanças na API

  • A API Transition foi modificada para retornar um TransitionState em vez de passar o TransitionState para filhos. Isso torna a API mais consistente com as APIs animate() (I24e38).
  • Parâmetro modificador adicionado para o Crossfade (I87cfe, b/159706180).
  • Use AnimationSpec em vez de AnimationBuilder nas APIs de nível superior para esclarecer o conceito de especificação de animação estática.
    • A DSL de transição foi aprimorada com a remoção do requisito de lambda para criar AnimationSpecs, como Tween e Spring. Em vez disso, os parâmetros do construtor são recebidos diretamente.
    • Melhore a facilidade geral de uso do AnimationSpec para abrir construtores em vez de depender deles.
    • Mudança na duração e no atraso de KeyFrames e Tween para Int. Isso elimina as transmissões desnecessárias e a sobrecarga de métodos (para aceitar os valores Long e Int) (Ica0b4).
  • Uso de IntPx substituído por Int e o de IntPxPosition por IntOffset. IntPxSize foi substituído por IntSize (Ib7b44).
  • Para consolidar o número de classes usadas para representar informações de tamanho, padronize o uso da classe Size em vez de PxSize. Isso fornece os benefícios de uma classe in-line para usar um long para empacotar dois valores de pontos flutuantes e representar a largura e a altura como flutuantes (Ic0191).
  • Para consolidar o número de classes usadas para representar informações de posicionamento, padronize o uso da classe Offset em vez de PxPosition. Isso fornece os benefícios de uma classe inline para usar um valor long para empacotar dois valores de pontos flutuantes e representar os deslocamentos x e y como flutuantes (I3ad98).
  • O uso da classe Px foi substituído em várias classes do Compose como parte do grande esforço de refatoração para depender apenas de tipos primitivos e de Dp para os parâmetros de pixel (I086f4).
  • Compatibilidade com animate() para Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds e AnimationVector (Ib7518).
  • O Crossfade agora aceita o parâmetro AnimationBuilder opcional para permitir a configuração da animação (I6d6e0).
  • Todos os usos de Color anuláveis foram substituídos na API por não anuláveis e usam Color.Unset em vez de null (Iabaa7).
  • Classe ValueHolder removida. As classes AnimatedValue e AnimatedFloat foram reestruturadas para tornar o campo de valor da animação abstrato para que as subclasses possam observar a atualização do valor.
    • Adição de classes de modelo para AnimatedValue, AnimatedFloat etc.
    • Um novo conjunto de APIs @Composable leves foi adicionado para animação entre valores (I79530).
  • Alterações interruptivas na API de ambientes. Consulte o registro e a documentação do Ambient<T> para descobrir mais detalhes (I4c7ee, b/143769776).
  • Novo modo de repetição: inverso. Esse modo reverte a iteração anterior à medida que a animação se repete em RepeatableSpec ou VectorizedRepeatableSpec (Ibe0f5).
  • Adições de API ao ManualAnimationClock: hasObservers: Boolean e dispatchOnSubscribe: Boolean de parâmetro construtor (Iaa134).
  • APIs foram adicionadas para receber os limites mínimo/máximo em AnimatedFloat (Icd9cc).

Correções de bugs

  • runOnIdleCompose foi renomeado como runOnIdle (I83607).
  • Várias APIs de teste foram renomeadas para serem mais intuitivas. Todas as APIs findXYZ foram renomeadas como onNodeXYZ. Todas as APIs doXYZ foram renomeadas como performXYZ (I7f164).
  • Foram introduzidas APIs de animação sem estado de baixo nível. Essas APIs (I63bf7).
  • O elemento combinável Recompose não é mais uma abstração útil. A maioria das recomposições precisa acontecer como resultado de atribuições MutableState. Para qualquer coisa além disso, é recomendável usar a função invalidate para acionar uma recomposição do escopo atual (Ifc992).
  • O uso da classe Px foi substituído em várias classes do Compose como parte do grande esforço de refatoração para depender apenas de tipos primitivos e de Dp para os parâmetros de pixel. Classe Px excluída na íntegra (I3ff33).
  • O uso da classe Px foi substituído em várias classes do Compose como parte do grande esforço de refatoração para depender apenas de tipos primitivos e de Dp para os parâmetros de pixel (Id3434).
  • Crossfade agora pode funcionar com nulo como valor inicial (Iad6a4, b/155947711).
  • O uso da classe Px foi substituído em várias classes do Compose como parte do grande esforço de refatoração para depender apenas de tipos primitivos e de Dp para os parâmetros de pixel (I19d02).
  • As implementações de CanvasScope foram consolidadas para que agora exista apenas DrawScope e ContentDrawScope. CanvasScope foi renomeado como DrawScope. DrawScope foi atualizado para implementar a interface de Density e fornecer LayoutDirection. A subclasse DrawScope foi excluída em ContentDrawScope. Painter e PainterModifier foram atualizados para não manter mais uma propriedade RTL porque DrawScope já fornece isso sem ser de forma manual (I1798e).
  • As APIs combináveis de nível superior foram atualizadas. Em vez de expor Canvas, elas agora expõem CanvasScope. Isso elimina a necessidade dos consumidores manterem seus próprios objetos do Paint. Os consumidores que ainda precisam de acesso a um Canvas podem usar o método de extensão drawCanvas, que fornece um callback para emitir comandos de desenho (I80afd).
  • Adição dos parâmetros verticalGravity e horizontalGravity a Row e Column, respectivamente (I7dc5a).
  • O módulo ui-text foi renomeado como ui-text-core (I57dec).
  • Melhora da API DrawModifier:
    • O escopo do receptor para draw() agora é ContentDrawScope.
    • Todos os parâmetros em draw() foram removidos.
    • DrawScope tem a mesma interface que o antigo CanvasScope.
    • ContentDrawScope tem o método drawContent() (Ibaced, b/152919067).
  • runOnIdleCompose e runOnUiThread agora são funções globais e não métodos em ComposeTestRule (Icbe8f).
  • Os operadores para delegação de propriedade [Mutable]State foram movidos para extensões que permitem otimizações de delegação de propriedade do Kotlin 1.4. Autores de chamadas precisam adicionar importações para continuar usando by state { ... } ou by mutableStateOf(...) (I5312c).
  • O uso de ColoredRect foi descontinuado. Use Box(Modifier.preferredSize(width, height).drawBackground(color)) (I499fa, b/152753731).
  • O Modifier e o operador foram substituídos por funções de extensão de fábrica (I225e4).
  • O uso do elemento combinável Center foi descontinuado. Ele precisa ser substituído pelo modificador LayoutSize.Fill + LayoutAlign.Center ou por elementos combináveis Box ou Stack com modificadores adequados aplicados (Idf5e0).
  • O LayoutFlexible foi renomeado como LayoutWeight. O parâmetro "tight" foi renomeado como "fill" (If4738).
  • A função combinável Opacity foi substituída pelo modificador drawOpacity (I5fb62).
  • Agora, os testes que usam AndroidComposeTestRule oferecem um relógio de animação na raiz da composição que permite que ele pause, retome e avance manualmente (Id54c5).
  • Compatibilidade com a direção da direita para a esquerda no modificador LayoutPadding (I9e8da).
  • Density e DensityScope foram unidos em uma única interface. Agora você pode usar DensityAmbient.current em vez de ambientDensity(). Em vez de withDensity(density), use apenas with(density) (I11cb1).
  • Métodos de cópia foram adicionados a vários tipos de classe inline, incluindo:
    • Offset
    • Tamanho
    • Radius
    • Motion
    • TransformOrigin
    • O método de objeto complementar Size.copy foi descontinuado e substituído pelo método de cópia de instância (Ife290, b/159905651).
  • O androidx.composte.ViewComposer foi movido para androidx.ui.node.UiComposer. androidx.compose.Emittable foi removido. Ele era redundante com o ComponentNode. O androidx.compose.ViewAdapters foi removido. Eles não estão mais disponíveis. O uso de Compose.composeInto foi descontinuado. Use setContent ou setViewContent. O uso de Compose.disposeComposition foi descontinuado. Use o método dispose no Composition retornado pelo setContent. androidx.compose.Compose.subcomposeInto foi movido para androidx.ui.core.subcomposeInto. ComponentNode#emitInsertAt foi renomeado como ComponentNode#insertAt. ComponentNode#emitRemoveAt foi renomeado como ComponentNode#removeAt. ComponentNode#emitMode foi renomeado como ComponentNode#move (Idef00).