Animación de Compose

Compila animaciones en las aplicaciones de Jetpack Compose para enriquecer la experiencia del usuario.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
6 de marzo de 2024 1.6.3 - - 1.7.0-alpha04

Estructura

Compose es una combinación de 7 ID de grupos de Maven en androidx. Cada grupo contiene un subconjunto de funcionalidades objetivo, que a su vez posee su propio conjunto de notas de la versión.

En esta tabla, se explican los grupos y vínculos correspondientes a cada conjunto de notas de la versión.

GrupoDescripción
compose.animationCompila animaciones en las aplicaciones de Jetpack Compose para enriquecer la experiencia del usuario.
compose.compilerTransforma las funciones que admite @Composable y habilita las optimizaciones con un complemento de compilador de Kotlin.
compose.foundationEscribe aplicaciones de Jetpack Compose con componentes fundamentales listos para usar y extiende la base para compilar tus propias piezas de sistema de diseño.
compose.materialCompila las IUs de Jetpack Compose con componentes de Material Design listos para usar. Este es el punto de entrada de nivel superior de Compose, diseñado para proporcionar componentes que coincidan con los descritos en www.material.io.
compose.material3Compila las IUs de Jetpack Compose con componentes de Material Design 3, la siguiente evolución de Material Design. Material 3 incluye temas y componentes actualizados, y funciones de personalización de Material You, como el color dinámico. Además, se diseñó para ser coherente con el nuevo estilo visual y la IU del sistema de Android 12.
compose.runtimeSe trata de los componentes fundamentales del modelo de programación de Compose y de su administración de estados, así como del entorno de ejecución principal al cual se orienta el complemento de compilación de Compose.
compose.uiSon los componentes fundamentales de la IU de Compose necesarios para interactuar con el dispositivo, incluidos el diseño, el dibujo y la entrada.

Cómo declarar dependencias

Para agregar una dependencia en Compose, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

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

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.10"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.10"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 1.7

Versión 1.7.0-alpha04

6 de marzo de 2024

Lanzamiento de androidx.compose.animation:animation-*:1.7.0-alpha04. La versión 1.7.0-alpha04 contiene estas confirmaciones.

Cambios en la API

  • Se agregó la nueva API de Path.reverse() para revertir la dirección de una ruta (I36348).

Versión 1.7.0-alpha03

21 de febrero de 2024

Lanzamiento de androidx.compose.animation:animation-*:1.7.0-alpha03. La versión 1.7.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • Modifier.animateContentSize nuevo que toma un parámetro adicional para la alineación del contenido personalizado (I5623a, b/269803907).
  • Se agregó el nuevo DeferredTargetAnimation experimental para animar el tamaño, la posición o cualquier otro objetivo desconocido durante la creación de la instancia. (I60745).

Versión 1.7.0-alpha02

7 de febrero de 2024

Lanzamiento de androidx.compose.animation:animation-*:1.7.0-alpha02. La versión 1.7.0-alpha02 contiene estas confirmaciones.

Correcciones de errores

  • Corrección de compatibilidad para KeyframesSpec. (I2bdf3, b/322214617).
  • Se corrigió Modifier.animateContentSize que no se restablecía correctamente cuando se usaba en LazyList (I070512, b/322525716).
  • Se corrigió IllegalStateException en KeyframesSpec cuando se usaban marcas de tiempo fuera de rango (I341b8, b/322839811).

Versión 1.7.0-alpha01

24 de enero de 2024

Lanzamiento de androidx.compose.animation:animation-*:1.7.0-alpha01. La versión 1.7.0-alpha01 contiene estas confirmaciones.

Versión 1.6

Versión 1.6.3

6 de marzo de 2024

Lanzamiento de androidx.compose.animation:animation-*:1.6.3. La versión 1.6.3 contiene estas confirmaciones.

Versión 1.6.2

21 de febrero de 2024

Lanzamiento de androidx.compose.animation:animation-*:1.6.2. La versión 1.6.2 contiene estas confirmaciones.

Versión 1.6.1

7 de febrero de 2024

Lanzamiento de androidx.compose.animation:animation-*:1.6.1. La versión 1.6.1 contiene estas confirmaciones.

Correcciones de errores

Versión 1.6.0

24 de enero de 2024

Lanzamiento de androidx.compose.animation:animation-*:1.6.0. La versión 1.6.0 contiene estas confirmaciones.

Versión 1.6.0-rc01

10 de enero de 2024

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-rc01. La versión 1.6.0-rc01 contiene estas confirmaciones.

Versión 1.6.0-beta03

13 de diciembre de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-beta03. La versión 1.6.0-beta03 contiene estas confirmaciones.

Cambios en la API

  • Se quitaron temporalmente scaleInToFitContainer y scaleOutToFitContainer de AnimatedContentTransitionScope, ya que requieren una visualización anticipada. Estarán disponibles cuando la vista anticipada esté activada de forma predeterminada o se habiliten en versiones futuras.

Versión 1.6.0-beta02

29 de noviembre de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-beta02. La versión 1.6.0-beta02 contiene estas confirmaciones.

Versión 1.6.0-beta01

15 de noviembre de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-beta01. La versión 1.6.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Se cambió el nombre de ExitTransition.Hold por ExitTransition.KeepUntilTransitionsFinished para que sea más explícito (I1c490).
  • Ahora puedes usar keyframesWithSpline para interpolar cualquier valor n-dimensional con splines monótonos. En particular, es útil para interpolar valores posicionales, como Offset, IntOffset y DpOffset. Se agregó como API experimental.

Correcciones de errores

  • Se agregó compatibilidad con el procesador para el gradiente de barrido en ArcLine. (I4d5bb).
  • Implementa equals y hashcode para PageSize.Fixed. (Ie3ede, b/300134276).
  • Se corrigió el problema de compatibilidad binaria con el cambio de inserción de ventana (Iee695).
  • Se quitó la capa principal de Material para el chip o botón de Material 3, ya que las microcomparativas muestran un mejor rendimiento sin ella. (I55555).

Versión 1.6.0-alpha08

18 de octubre de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-alpha08. La versión 1.6.0-alpha08 contiene estas confirmaciones.

Cambios en la API

  • KeyframesSpecConfig#with dejó de estar disponible y se reemplazó por KeyframesSpecConfig#using, que conserva el patrón del compilador. (I1d769).

Versión 1.6.0-alpha07

4 de octubre de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-alpha07. La versión 1.6.0-alpha07 contiene estas confirmaciones.

Cambios en la API

  • Las pestañas fijas y desplazables ahora tienen variantes primarias y secundarias Estos se asignan correctamente al comportamiento del color y del indicador, como se define en Material3.
  • PrimaryScrollableTabRow y SecondaryScrollableTabRow ahora exponen el estado de desplazamiento (Iec8f5, b/260572337).

Versión 1.6.0-alpha06

20 de septiembre de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-alpha06. La versión 1.6.0-alpha06 contiene estas confirmaciones.

Versión 1.6.0-alpha05

6 de septiembre de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-alpha05. La versión 1.6.0-alpha05 contiene estas confirmaciones.

Cambios en la API

  • Se agregó PathEasing para permitir que se proporcione una ruta arbitraria a una curva de aceleración. (Idb4b9).

Versión 1.6.0-alpha04

23 de agosto de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-alpha04. La versión 1.6.0-alpha04 contiene estas confirmaciones.

Cambios en la API

  • Se agregó SeekableTransitionState para permitir que los desarrolladores controlen el progreso de una transición. (I8e69d).

Versión 1.6.0-alpha03

9 de agosto de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-alpha03. La versión 1.6.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • Es un nuevo tipo de transición de entrada y salida que ajusta el contenido en función del tamaño del contenedor de animación durante la animación de entrada y salida. LookaheadScope La interfaz y la diversión componibles ahora son estables (Ifb2ce).

Versión 1.6.0-alpha02

26 de julio de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-alpha02. La versión 1.6.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • Se agregó un nuevo ExitTransition.Hold para mostrar el contenido saliente en AnimatedContent hasta que finalicen la transición de entrada y salida. (I5984f).
  • Anotaciones adicionales para especificar entradas permitidas a elementos componibles (I51109)

Versión 1.6.0-alpha01

21 de junio de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.6.0-alpha01. La versión 1.6.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Informa el tamaño del objetivo en el pase de visualización para permitir que Modifier.animateContentSize y AnimatedVisibility se integren por completo en el sistema de visualización anticipada.

Cambios en la API

  • Propiedad nueva en IntrinsincMeasureScope y sus implementaciones (p. ej., MeasureScope) para indicar si el pase de medición actual es un pase de anticipación (I7a812).

Correcciones de errores

  • Se quitaron las asignaciones de las animaciones de resorte. (Ie9431).
  • Se modificó el nombre del parámetro de valor de Enum.valueOf (Ia9b89).
  • más excepciones arrojadas por enum valueOf (I818fe)

Versión 1.5

Versión 1.5.4

18 de octubre de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.4. La versión 1.5.4 contiene estas confirmaciones.

Versión 1.5.3

4 de octubre de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.3. Esta versión no tiene cambios

Versión 1.5.2

27 de septiembre de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.2. La versión 1.5.2 contiene estas confirmaciones.

Versión 1.5.1

6 de septiembre de 2023

Lanzamiento de androidx.compose.foundation:foundation-*:1.5.1. La versión 1.5.1 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigieron los campos de texto que mostraban el teclado y se podían editar cuando readOnly era verdadero También se corrigió el teclado que no se mostraba cuando readOnly se cambiaba de verdadero a falso mientras se enfocaba (I34a19, b/246909589).

Versión 1.5.1

6 de septiembre de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.1. La versión 1.5.1 contiene estas confirmaciones.

Versión 1.5.0

9 de agosto de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.0. La versión 1.5.0 contiene estas confirmaciones.

Versión 1.5.0-rc01

26 de julio de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.0-rc01. La versión 1.5.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se solucionó un problema por el que, al llamar a .value en un tipo de estado primitivo (como MutableIntState), se informaba una advertencia de lint con una corrección no válida. Ahora, la inspección recomendará migrar a la propiedad correcta. (Iba953, b/287279257).

  • Se ofrece una inspección opcional para recomendar migrar llamadas de mutableStateOf() a sus tipos especializados correspondientes para primitivas. Su ID de lint es AutoboxingStateCreation. Anteriormente, esta inspección estaba habilitada de forma predeterminada para todos los proyectos. Para ver esta advertencia en el editor de Android Studio y en los resultados de lint de tu proyecto, cambia su gravedad de informativa a advertencia (o superior) declarando warning "AutoboxingStateCreation" dentro de la configuración build.gradle o build.gradle.kts de tu módulo, como se muestra (I34f7e):

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

Versión 1.5.0-beta03

28 de junio de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.0-beta03. La versión 1.5.0-beta03 contiene estas confirmaciones.

Versión 1.5.0-beta02

7 de junio de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.0-beta02. La versión 1.5.0-beta02 contiene estas confirmaciones.

Versión 1.5.0-beta01

24 de mayo de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.0-beta01. La versión 1.5.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Se quitaron las asignaciones de la recomposición, las animaciones de color y AndroidComposeView (Ib2bfa).

Correcciones de errores

  • Se quitaron las asignaciones de las animaciones de resorte (Ie9431).

Versión 1.5.0-alpha04

10 de mayo de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.0-alpha04. La versión 1.5.0-alpha04 contiene estas confirmaciones.

Cambios en la API

  • ContentKey ahora es compatible con AnimatedContent para permitir un mayor control sobre cuándo debe realizarse la transición (Ic069b).

Versión 1.5.0-alpha03

19 de abril de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.0-alpha03. La versión 1.5.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • Nuevo comportamiento predeterminado para SubcomposeLayout en LookaheadScope Permite que SubcomposeLayouts que no tiene ranuras condicionales (p. ej., TabRow, Scaffold, BoxWithConstraints, etc.) funcione bien con las animaciones anticipadas.

Cambios en la API

  • El nuevo objeto intermediateMeasurePolicy predeterminado que vuelve a usar la política de medición del pase anticipado permite que los subtipos SubcomposeLayout sin ranuras condicionales, como Scaffold, TabRow y BoxWithConstraints, trabajen con elementos anticipados de forma predeterminada. (Id84c8).
  • Se cambió el nombre de la diversión infija a togetherWith para combinar las transiciones de entrada y salida Se agregó AnimatedContentScope como receptor para la lambda de contenido. (Ic39ae).

Versión 1.5.0-alpha02

5 de abril de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.0-alpha02. La versión 1.5.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó una nueva API experimental para admitir la visualización anticipada en SubcomposeLayout. Esto permitirá que SubcomposeLayout funcione correctamente en un LookaheadScope. Pronto habrá más compatibilidad lista para usar con subtipos específicos de SubcomposeLayout.

Cambios en la API

  • Nueva API de SubcomposeLayout que toma una política de medida intermedia adicional para controlar la lógica de medición y diseño durante las animaciones basadas en la vista previa. (I017d3).

Versión 1.5.0-alpha01

22 de marzo de 2023

Lanzamiento de androidx.compose.animation:animation-*:1.5.0-alpha01. La versión 1.5.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Las APIs de AnimatedContent ahora son estables. Se cambió el nombre de AnimatedContentScope a AnimatedContentTransitionScope scaleIn y scaleOut ahora son APIs estables (Iaf54e).

Versión 1.4

Versión 1.4.3

3 de mayo de 2023

Lanzamiento de androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3 y androidx.compose.animation:animation-graphics:1.4.3 sin cambios (solo una mejora de versión).

Versión 1.4.2

19 de abril de 2023

Lanzamiento de androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2 y androidx.compose.animation:animation-graphics:1.4.2 sin cambios. La versión 1.4.2 contiene estas confirmaciones.

Versión 1.4.1

5 de abril de 2023

Lanzamiento de androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1 y androidx.compose.animation:animation-graphics:1.4.1 sin cambios. La versión 1.4.1 contiene estas confirmaciones.

Versión 1.4.0

22 de marzo de 2023

Lanzamiento de androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0 y androidx.compose.animation:animation-graphics:1.4.0. La versión 1.4.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.3.0

  • La etiqueta de herramientas es compatible con rememberInfiniteTransition y todas las funciones de extensión de InfiniteTransition y Transition (p. ej., InfiniteTransition#animateColor) (I56ef7).

Versión 1.4.0-rc01

8 de marzo de 2023

Lanzamiento de androidx.compose.animation:animation:1.4.0-rc01, androidx.compose.animation:animation-core:1.4.0-rc01 y androidx.compose.animation:animation-graphics:1.4.0-rc01 sin cambios. La versión 1.4.0-rc01 contiene estas confirmaciones.

Versión 1.4.0-beta02

22 de febrero de 2023

Lanzamiento de androidx.compose.animation:animation:1.4.0-beta02, androidx.compose.animation:animation-core:1.4.0-beta02 y androidx.compose.animation:animation-graphics:1.4.0-beta02 sin cambios. La versión 1.4.0-beta02 contiene estas confirmaciones.

Versión 1.4.0-beta01

8 de febrero de 2023

Lanzamiento de androidx.compose.animation:animation:1.4.0-beta01, androidx.compose.animation:animation-core:1.4.0-beta01 y androidx.compose.animation:animation-graphics:1.4.0-beta01 sin cambios. La versión 1.4.0-beta01 contiene estas confirmaciones.

Versión 1.4.0-alpha05

25 de enero de 2023

Lanzamiento de androidx.compose.animation:animation:1.4.0-alpha05, androidx.compose.animation:animation-core:1.4.0-alpha05 y androidx.compose.animation:animation-graphics:1.4.0-alpha05. La versión 1.4.0-alpha05 contiene estas confirmaciones.

Cambios

  • Sin cambios en las bibliotecas de animación desde la última versión alfa, solo cambio de versión

Versión 1.4.0-alpha04

11 de enero de 2023

Lanzamiento de androidx.compose.animation:animation:1.4.0-alpha04, androidx.compose.animation:animation-core:1.4.0-alpha04 y androidx.compose.animation:animation-graphics:1.4.0-alpha04. La versión 1.4.0-alpha04 contiene estas confirmaciones.

Nuevas funciones

  • La etiqueta de herramientas es compatible con rememberInfiniteTransition y con todas las funciones de extensión de InfiniteTransition y Transition (p. ej., InfiniteTransition#animateColor) (I56ef7).

Cambios en la API

  • Las APIs de InfiniteTransition#TransitionAnimationState y InfiniteTransition#animations ahora son públicas (I36682).

Versión 1.4.0-alpha03

7 de diciembre de 2022

Lanzamiento de androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03 y androidx.compose.animation:animation-graphics:1.4.0-alpha03. La versión 1.4.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • En las pruebas de IU que usan una regla de Compose, no se despacharán las continuaciones reanudadas durante las devoluciones de llamada de withFrameNanos hasta que todas las devoluciones de llamada de marco terminen de ejecutarse. Esto coincide con el comportamiento de Compose cuando se ejecuta normalmente. Sin embargo, las pruebas que dependen del comportamiento anterior pueden fallar. Esto solo debería afectar al código que llama a withFrameNanos o withFrameMillis de forma directa, y cuenta con una lógica fuera de la devolución de llamada que pasa a las funciones que pueden necesitar moverse dentro de las devoluciones de llamada. Consulta los cambios de la prueba de animación en esta CL para ver ejemplos.
  • Se agregó el parámetro opcional onPerformTraversals: (Long) -> Unit al constructor TestMonotonicFrameClock y la función de fábrica para ejecutar el código después de las devoluciones de llamada de withFrameNanos, pero antes de reanudar las corrutinas de los emisores. (Idb413, b/254115946, b/222093277, b/255802670).
  • Se agregó un parámetro nuevo en AnimatedContent para la etiqueta de herramientas (Iebe2d).

Versión 1.4.0-alpha02

9 de noviembre de 2022

Lanzamiento de androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02 y androidx.compose.animation:animation-graphics:1.4.0-alpha02. La versión 1.4.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • Se agregó ToolingState para permitir que las herramientas cambien los estados internos de Compose (Ie6614).

Versión 1.4.0-alpha01

24 de octubre de 2022

Lanzamiento de androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01 y androidx.compose.animation:animation-graphics:1.4.0-alpha01. La versión 1.4.0-alpha01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió una animación de interrupción incorrecta en AnimatedContent (b/238662479).

Versión 1.3

Versión 1.3.3

11 de enero de 2023

Lanzamiento de androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3 y androidx.compose.animation:animation-graphics:1.3.3. La versión 1.3.3 contiene estas confirmaciones.

  • No hay cambios desde la versión 1.3.2.

Versión 1.3.2

7 de diciembre de 2022

Lanzamiento de androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2 y androidx.compose.animation:animation-graphics:1.3.2. La versión 1.3.2 contiene estas confirmaciones.

Correcciones de errores

  • Actualización para admitir androidx.compose.ui 1.3.2

Versión 1.3.1

9 de noviembre de 2022

Lanzamiento de androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1 y androidx.compose.animation:animation-graphics:1.3.1. La versión 1.3.1 contiene estas confirmaciones.

Versión 1.3.0

24 de octubre de 2022

Lanzamiento de androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0 y androidx.compose.animation:animation-graphics:1.3.0. La versión 1.3.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.2.0

  • Se logró la estabilidad de un nuevo conjunto de funciones de aceleración.

Versión 1.3.0-rc01

5 de octubre de 2022

Lanzamiento de androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01 y androidx.compose.animation:animation-graphics:1.3.0-rc01. La versión 1.3.0-rc01 contiene estas confirmaciones.

Versión 1.3.0-beta03

21 de septiembre de 2022

Lanzamiento de androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03 y androidx.compose.animation:animation-graphics:1.3.0-beta03. La versión 1.3.0-beta03 contiene estas confirmaciones.

  • No hay cambios desde la versión 1.3.0-beta02.

Versión 1.3.0-beta02

7 de septiembre de 2022

Lanzamiento de androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02 y androidx.compose.animation:animation-graphics:1.3.0-beta02. La versión 1.3.0-beta02 contiene estas confirmaciones.

  • Se quitó Kotlin.experimental de las opciones del compilador, ya que está obsoleto.

Versión 1.3.0-beta01

24 de agosto de 2022

Lanzamiento de androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01 y androidx.compose.animation:animation-graphics:1.3.0-beta01. La versión 1.3.0-beta01 contiene estas confirmaciones.

Versión 1.3.0-alpha03

10 de agosto de 2022

Lanzamiento de androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03 y androidx.compose.animation:animation-graphics:1.3.0-alpha03. La versión 1.3.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • Se agregó un parámetro nuevo en Crossfade, animateAsState y Animatable para la etiqueta de herramientas (Iac08a).
  • Se agregó la función atFraction para definir fotogramas clave en una fracción de tiempo en lugar de una duración específica (I20c76, b/232059455).

Versión 1.3.0-alpha02

27 de julio de 2022

Lanzamiento de androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02 y androidx.compose.animation:animation-graphics:1.3.0-alpha02. La versión 1.3.0-alpha02 contiene estas confirmaciones.

Versión 1.3.0-alpha01

29 de junio de 2022

Lanzamiento de androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01 y androidx.compose.animation:animation-graphics:1.3.0-alpha01. La versión 1.3.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Nuevo objeto LookaheadLayout que admite un pase anticipado antes del diseño o la medición real. Esto permite realizar un cálculo previo del diseño cuando cambia y, al mismo tiempo, permite que la medición o el diseño posvisualización use el tamaño o la posición previamente calculados para animar el tamaño y las posiciones hacia el objetivo. SubcomposeLayouts todavía no son compatibles, pero lo serán en una próxima versión (I477f5).

Versión 1.2

Versión 1.2.1

10 de agosto de 2022

Lanzamiento de androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1 y androidx.compose.animation:animation-graphics:1.2.1. La versión 1.2.1 contiene estas confirmaciones.

Versión 1.2.0

27 de julio de 2022

Lanzamiento de androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0 y androidx.compose.animation:animation-graphics:1.2.0. La versión 1.2.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.1.0

  • La animación de Compose ahora permite configurar la "Escala de duración de animador" desde las Opciones para desarrolladores
  • Una gran selección de nuevas curvas de aceleración experimentales
  • AnimatedImageVector ahora admite repeatCount y repeatMode

Versión 1.2.0-rc03

29 de junio de 2022

Lanzamiento de androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03 y androidx.compose.animation:animation-graphics:1.2.0-rc03. La versión 1.2.0-rc03 contiene estas confirmaciones.

  • No hay cambios desde la versión 1.2.0-rc02.

Versión 1.2.0-rc02

22 de junio de 2022

Lanzamiento de androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02 y androidx.compose.animation:animation-graphics:1.2.0-rc02. La versión 1.2.0-rc02 contiene estas confirmaciones.

Correcciones de errores

  • Se quitó la anotación ExperimentalEasingApi en las funciones de aceleración (Ied441).

Versión 1.2.0-rc01

15 de junio de 2022

Se lanzaron androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01 y androidx.compose.animation:animation-graphics:1.2.0-rc01. La versión 1.2.0-rc01 contiene estas confirmaciones.

Cambios en la API

  • Las interfaces en las bibliotecas de Compose ahora se compilan con métodos de interfaz predeterminados de jdk8 (I5bcf1).

Versión 1.2.0-beta03

1 de junio de 2022

Lanzamiento de androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03 y androidx.compose.animation:animation-graphics:1.2.0-beta03. La versión 1.2.0-beta03 contiene estas confirmaciones.

Cambios en la API

  • Se agregaron curvas de aceleración experimentales para las animaciones (I64a38).

Versión 1.2.0-beta02

18 de mayo de 2022

Lanzamiento de androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02 y androidx.compose.animation:animation-graphics:1.2.0-beta02. La versión 1.2.0-beta02 contiene estas confirmaciones.

Versión 1.2.0-beta01

11 de mayo de 2022

Lanzamiento de androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01 y androidx.compose.animation:animation-graphics:1.2.0-beta01. La versión 1.2.0-beta01 contiene estas confirmaciones.

  • Esta es la primera versión beta de 1.2. No hubo modificaciones desde la última versión alfa.

Versión 1.2.0-alpha08

20 de abril de 2022

Lanzamiento de androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08 y androidx.compose.animation:animation-graphics:1.2.0-alpha08. La versión 1.2.0-alpha08 contiene estas confirmaciones.

Versión 1.2.0-alpha07

6 de abril de 2022

Se lanzaron androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07 y androidx.compose.animation:animation-graphics:1.2.0-alpha07. La versión 1.2.0-alpha07 contiene estas confirmaciones.

Cambios en la API

Versión 1.2.0-alpha06

23 de marzo de 2022

Se lanzaron androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06 y androidx.compose.animation:animation-graphics:1.2.0-alpha06. La versión 1.2.0-alpha06 contiene estas confirmaciones.

Cambios en la API

  • Se actualizó el análisis de elementos de diseño vectoriales para admitir la duplicación automática para girar el contenido de un VectorPainter si la dirección de diseño actual es de derecha a izquierda (I79cd9, b/185760237).

Correcciones de errores

  • Se actualizaron las APIs de gráficos vectoriales para usar la anotación componible correcta @VectorComposable en lugar de @UiComposable (I942bc).

Versión 1.2.0-alpha05

9 de marzo de 2022

Se lanzaron androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05 y androidx.compose.animation:animation-graphics:1.2.0-alpha05. La versión 1.2.0-alpha05 contiene estas confirmaciones.

Cambios en la API

  • ¡Hip, hip, hurra! La animación de Compose ahora permite configurar la "Escala de duración de animador" desde las Opciones para desarrolladores (I5a4fc, b/161675988).

Versión 1.2.0-alpha04

23 de febrero de 2022

Se lanzaron androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04 y androidx.compose.animation:animation-graphics:1.2.0-alpha04. La versión 1.2.0-alpha04 contiene estas confirmaciones.

Versión 1.2.0-alpha03

9 de febrero de 2022

Lanzamiento de androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03 y androidx.compose.animation:animation-graphics:1.2.0-alpha03. La versión 1.2.0-alpha03 contiene estas confirmaciones.

Versión 1.2.0-alpha02

26 de enero de 2022

Lanzamiento de androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02 y androidx.compose.animation:animation-graphics:1.2.0-alpha02. La versión 1.2.0-alpha02 contiene estas confirmaciones.

Versión 1.2.0-alpha01

12 de enero de 2022

Lanzamiento de androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01 y androidx.compose.animation:animation-graphics:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Usa AnimatedImageVector.animatedVectorResource en lugar de animatedVectorResource para cargar un archivo de recursos <animated-vector>.
    • Usa rememberAnimatedVectorResource en lugar de AnimatedImageVector#painterFor para renderizar un AnimatedImageVector (I9c300).

Correcciones de errores

  • Se agregaron métodos toString a Animatable y AnimationResult (Icd3a6).

Actualizaciones de dependencias

  • Ahora depende de Kotlin versión 1.6.10.

Versión 1.1

Versión 1.1.1

23 de febrero de 2022

Lanzamiento de androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1 y androidx.compose.animation:animation-graphics:1.1.1. La versión 1.1.1 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió NullPointerException en androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462).
  • Se corrigió la falla que causaba el contenido del portapapeles mientras se leía desde el portapapeles en Android (I06020, b/197769306).
  • Se corrigió la lectura de derecha a izquierda en LazyVerticalGrid (aosp/1931080, b/207510535).

Versión 1.1.0

9 de febrero de 2022

Lanzamiento de androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0 y androidx.compose.animation:animation-graphics:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Cambios importantes desde 1.0.0

  • Se agregó compatibilidad estable con el efecto de desplazamiento de Android 12.
  • Se agregaron mejoras en el tamaño de los objetivos táctiles.
  • Ten en cuenta que, con respecto a Compose 1.0, los componentes de Material expandirán su espacio de diseño para cumplir con los lineamientos de accesibilidad de Material relativos al tamaño del objetivo táctil. Por ejemplo, el objetivo táctil del botón se expandirá hasta un tamaño mínimo de 48 x 48 dp, incluso si configuras el tamaño del botón para que sea más pequeño. Esto alinea Compose Material con el mismo comportamiento de los componentes de Material Design y proporciona un comportamiento coherente si combinas View y Compose. Este cambio también garantiza que, cuando crees tu IU mediante componentes de Compose Material, se cumplan los requisitos mínimos de la accesibilidad de objetivos táctiles.
  • Se agregó compatibilidad estable con Navigation Rail.
  • Varias API que antes eran experimentales se pasaron a niveles estables.
  • Se agregó compatibilidad con versiones más recientes de Kotlin.

Versión 1.1.0-rc03

26 de enero de 2022

Lanzamiento de androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03 y androidx.compose.animation:animation-graphics:1.1.0-rc03. La versión 1.1.0-rc03 contiene estas confirmaciones.

Correcciones de errores

  • Se actualizó para admitir Compose Material 1.1.0-rc03.

Versión 1.1.0-rc01

15 de diciembre de 2021

Lanzamiento de androidx.compose.animation:animation:1.1.0-rc01 y androidx.compose.animation:animation-core:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Cambios en la API

  • Usa AnimatedImageVector.animatedVectorResource en lugar de animatedVectorResource para cargar un archivo de recursos <animated-vector>.
    • Usa rememberAnimatedVectorResource en lugar de AnimatedImageVector#painterFor para renderizar un AnimatedImageVector (I9c300).

Versión 1.1.0-beta04

1 de diciembre de 2021

Lanzamiento de androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04 y androidx.compose.animation:animation-graphics:1.1.0-beta04. La versión 1.1.0-beta04 contiene estas confirmaciones.

Nuevas funciones

  • Se actualizó para que sea compatible con Kotlin 1.6.0.

Versión 1.1.0-beta03

17 de noviembre de 2021

Lanzamiento de androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03 y androidx.compose.animation:animation-graphics:1.1.0-beta03. La versión 1.1.0-beta03 contiene estas confirmaciones.

Cambios en la API

  • Se agregó el nuevo modificador Modifier.onPlaced para permitir que se observe el cambio de posición. Por lo tanto, se pueden realizar cambios adicionales en la compensación del modificador secundario a partir del cambio de posición observado (I558fd).
  • Se agregó compatibilidad con contentKey en Crossfade. El sistema de animación usará ContentKey para verificar la igualdad. Por lo tanto, el diffing personalizado en los estados se puede lograr si se especifica contentKey adecuadamente según los diferentes estados.

    Además, se usará ContentKey como una clave para guardar y restablecer contenido (I2e055, b/197907070).

Versión 1.1.0-beta02

3 de noviembre de 2021

Lanzamiento de androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02 y androidx.compose.animation:animation-graphics:1.1.0-beta02. La versión 1.1.0-beta02 contiene estas confirmaciones.

Correcciones de errores

  • Nuevas API de Animation para herramientas de asistencia. Específicamente, permiten que las herramientas inspeccionen las animaciones y sus configuraciones en Transiciones (I4116e).

Versión 1.1.0-beta01

27 de octubre de 2021

Lanzamiento de androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01 y androidx.compose.animation:animation-graphics:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Nuevas API de Animation para herramientas de asistencia. Específicamente, permiten que las herramientas inspeccionen las animaciones y sus configuraciones en Transiciones (I4116e).

Versión 1.1.0-alpha06

13 de octubre de 2021

Lanzamiento de androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06 y androidx.compose.animation:animation-graphics:1.1.0-alpha06. La versión 1.1.0-alpha06 contiene estas confirmaciones.

Versión 1.1.0-alpha05

29 de septiembre de 2021

Lanzamiento de androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05 y androidx.compose.animation:animation-graphics:1.1.0-alpha05. La versión 1.1.0-alpha05 contiene estas confirmaciones.

Cambios en la API

  • EnterTransition, ExitTransition y algunas de las API de AnimatedVisibility se volvieron estables. MutableTransitionState.isIdle ya no es experimental. (I5072d)

  • Cambio rotundo: Se movieron lambdas de las fábricas Enter/ExitTransition a la última posición de la lista de parámetros. (I5072d)

Versión 1.1.0-alpha04

15 de septiembre de 2021

Lanzamiento de androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04 y androidx.compose.animation:animation-graphics:1.1.0-alpha04. La versión 1.1.0-alpha04 contiene estas confirmaciones.

Versión 1.1.0-alpha03

1 de septiembre de 2021

Lanzamiento de androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03 y androidx.compose.animation:animation-graphics:1.1.0-alpha03. La versión 1.1.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • Se actualizó Compose 1.1.0-alpha03 para que dependa de Kotlin 1.5.30. (I74545)

Versión 1.1.0-alpha02

18 de agosto de 2021

Lanzamiento de androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02 y androidx.compose.animation:animation-graphics:1.1.0-alpha02. La versión 1.1.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • StartOffset ahora es compatible con infiniteRepeatable y repeatable, como una forma de retrasar la hora de inicio o adelantar la animación antes de que comience la animación. Este desplazamiento de inicio no se repetirá. (Ic679f, b/195079908)
  • Nueva transición de entrada y salida de la escala. Se puede usar en combinación con otros tipos de transiciones de entrada y salida. (I372da, b/191325593)

Versión 1.1.0-alpha01

4 de agosto de 2021

Lanzamiento de androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01 y androidx.compose.animation:animation-graphics:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • AnimatedImageVector y las API relacionadas ahora están en el nuevo módulo androidx.compose.animation:animation-graphics. (I60873)

Correcciones de errores

Versión 1.0

Versión 1.0.5

3 de noviembre de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.5 y androidx.compose.animation:animation-core:1.0.5. La versión 1.0.5 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió una falla en el seguimiento de las instancias de derivedStateOf (aosp/1792247).

Versión 1.0.4

13 de octubre de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.4 y androidx.compose.animation:animation-core:1.0.4. La versión 1.0.4 contiene estas confirmaciones.

Actualizaciones de dependencias

  • Se actualizó para depender de Kotlin 1.5.31

Versión 1.0.3

29 de septiembre de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.3 y androidx.compose.animation:animation-core:1.0.3. La versión 1.0.3 contiene estas confirmaciones.

Actualizaciones de dependencias

  • Se actualizó para depender de Kotlin 1.5.30

Versión 1.0.2

1 de septiembre de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.2 y androidx.compose.animation:animation-core:1.0.2. La versión 1.0.2 contiene estas confirmaciones.

Se actualizó para que sea compatible con la versión 1.0.2 de Compose. Compose 1.0.2 continúa siendo compatible con Kotlin 1.5.21.

Versión 1.0.1

4 de agosto de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.1 y androidx.compose.animation:animation-core:1.0.1. La versión 1.0.1 contiene estas confirmaciones.

Actualizaciones de dependencias

  • Se actualizó para depender de Kotlin 1.5.21.

Versión 1.0.0

28 de julio de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0 y androidx.compose.animation:animation-core:1.0.0. La versión 1.0.0 contiene estas confirmaciones.

Funciones principales de la versión 1.0.0

Esta es la primera versión estable de Compose. Consulta el blog oficial de Lanzamientos de Compose para obtener más información.

Errores conocidos

  • Si usas Android Studio Bumblebee Canary 4 o AGP 7.1.0-alpha04/7.1.0-alpha05, es posible que se produzca la siguiente falla:

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

    Para sortear el problema, aumenta temporalmente tu minSdkVersion a más de 24 en el archivo build.gradle. Este error se solucionará en la próxima versión de Android Studio Bumblebee y en el AGP 7.1. (b/194289155)

Versión 1.0.0-rc02

14 de julio de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-rc02 y androidx.compose.animation:animation-core:1.0.0-rc02. La versión 1.0.0-rc02 contiene estas confirmaciones.

Versión 1.0.0-rc01

1 de julio de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-rc01 y androidx.compose.animation:animation-core:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.

Correcciones de errores

Versión 1.0.0-beta09

16 de junio de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-beta09 y androidx.compose.animation:animation-core:1.0.0-beta09. La versión 1.0.0-beta09 contiene estas confirmaciones.

Cambios en la API

  • Nuevo elemento componible AnimatedContent. Administra su cambio de contenido usando un ContentTransform personalizable a medida que ingresa contenido nuevo de destino y sale el contenido inicial. Se puede usar una combinación diferente de transiciones de entrada y salida para producir un estilo y un aspecto personalizados. Como parte de la transformación de contenido, AnimatedContent anima automáticamente su tamaño para que coincida con el contenido entrante. (I2c3df)
  • Se quitó ManualFrameClock. Si necesitas controlar animaciones, usa composeTestRule.mainClock en su lugar. (I3c3e8, b/189951065)

Se agregaron reglas de perfiles

En esta versión, se agregaron reglas de perfiles a los siguientes módulos de 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

¿Qué son las reglas de perfiles?

  • Las reglas de perfiles de una biblioteca se especifican en un archivo de texto baseline-prof.txt, ubicado en src/main o el directorio equivalente. El archivo especifica una regla por línea, donde una regla en este caso es un patrón para la coincidencia con métodos o clases de la biblioteca. La sintaxis de estas reglas es un superconjunto del formato de perfil ART legible que se usa cuando se implementa adb shell profman --dump-classes-and-methods .... Estas reglas adoptan una de dos formas para segmentar métodos o clases.

  • Una regla de métodos tendrá el siguiente patrón:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • Una regla de clases tendrá el siguiente patrón:

    <CLASS_DESCRIPTOR>
    
  • Aquí, <FLAGS> es uno o más caracteres H, S y P, los cuales indican si este método debe marcarse como "Hot" (caliente), "Startup" (inicio) o "Post Startup" (posterior al inicio).

  • El <CLASS_DESCRIPTOR> es el descriptor de la clase a la que pertenece el método segmentado. Por ejemplo, la clase androidx.compose.runtime.SlotTable tendría un descriptor de Landroidx/compose/runtime/SlotTable;.

  • El <METHOD_SIGNATURE> es la firma del método y, además, incluye el nombre, los tipos de parámetros y los tipos de datos que muestra. Por ejemplo, el método fun isPlaced(): Boolean en LayoutNode tiene la firma isPlaced()Z.

  • Estos patrones pueden tener comodines (**, * y ?) para tener una sola regla que abarque varios métodos o clases.

¿Para qué sirven las reglas?

  • Un método con la marca H indica que es "hot" y debe compilarse con anticipación.

  • Un método con la marca S indica que se llama durante el inicio y debe compilarse con anticipación para evitar el costo de interpretarlo y compilarlo en el momento del inicio.

  • Un método que tiene la marca P indica que es un método que se llama después del inicio.

  • Una clase presente en este archivo indica que se usa durante el inicio y debe asignarse previamente en el montón para evitar el costo de cargarla.

¿Cómo funciona?

  • Las bibliotecas pueden definir estas reglas que se empaquetarán en artefactos de AAR. Luego, cuando se compila una app que incluye esos artefactos, esas reglas se combinan y se usan para compilar un perfil de ART binario compacto específico para la app. De esta manera, ART puede tomar este perfil cuando se instala la app en dispositivos para compilar con anticipación un subconjunto específico de la aplicación a fin de mejorar su rendimiento, especialmente en la primera ejecución. Ten en cuenta que esta acción no tendrá efecto en las aplicaciones depurables.

Versión 1.0.0-beta08

2 de junio de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-beta08 y androidx.compose.animation:animation-core:1.0.0-beta08. La versión 1.0.0-beta08 contiene estas confirmaciones.

Correcciones de errores

  • Ahora detectDragGesures, detectVerticalGestures y detectHorizontalGestures consumirán el cambio de posición automáticamente, sin necesidad de llamar a change.consumePositionChange en las devoluciones de llamada onDrag (I42fc4, b/185096350, b/187320697).
  • Se modificó Modifier.onGloballyPositioned() para informar las coordenadas de este modificador en la cadena de modificador, en lugar de las coordenadas de diseño después de aplicar todos los modificadores. Es decir, ahora el orden de los modificadores afecta las coordenadas que se informarán. (Ieb67d, b/177926591)

Versión 1.0.0-beta07

18 de mayo de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-beta07 y androidx.compose.animation:animation-core:1.0.0-beta07. La versión 1.0.0-beta07 contiene estas confirmaciones.

Cambios en la API

  • Nueva API de AnimatedVisibility que admite visibilidad para que se especifique en un MutableTransitionState. Esto también permite que los estados de la animación se observen de forma externa a AnimatedVisibility mediante currentState y isIdle.
    • Nueva compatibilidad con transiciones secundarias en Transition
    • Admite animación personalizada de transición de entrada y salida en AnimatedVisibility con AnimationScope.transition
    • Nuevo modificador animateEnterExit accesible para todos los elementos secundarios de AnimatedVisibility
    • Dejaron de estar disponibles las API de AnimatedVisibility que toman un parámetro initiallyVisible. (I702f3)

Versión 1.0.0-beta06

5 de mayo de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-beta06 y androidx.compose.animation:animation-core:1.0.0-beta06. La versión 1.0.0-beta06 contiene estas confirmaciones.

Versión 1.0.0-beta05

21 de abril de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-beta05 y androidx.compose.animation:animation-core:1.0.0-beta05. La versión 1.0.0-beta05 contiene estas confirmaciones.

Correcciones de errores

  • Los archivos AndroidManifest de ui-test-manifest y ui-tooling-data ahora son compatibles con Android 12 (I6f9de, b/184718994).

Versión 1.0.0-beta04

7 de abril de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-beta04 y androidx.compose.animation:animation-core:1.0.0-beta04. La versión 1.0.0-beta04 contiene estas confirmaciones.

Cambios en la API

  • Se quitaron las instancias públicas de RowScope, ColumnScope, BoxScope y BoxWithConstraintsScope. (I4e83e, b/181869067)

Versión 1.0.0-beta03

24 de marzo de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-beta03 y androidx.compose.animation:animation-core:1.0.0-beta03. La versión 1.0.0-beta03 contiene estas confirmaciones.

Versión 1.0.0-beta02

10 de marzo de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-beta02 y androidx.compose.animation:animation-core:1.0.0-beta02. La versión 1.0.0-beta02 contiene estas confirmaciones.

Correcciones de errores

  • Se aplicaron restricciones sobre el uso público de las API experimentales. (I6aa29, b/174531520)

Versión 1.0.0-beta01

24 de febrero de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-beta01 y androidx.compose.animation:animation-core:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Esta es la primera versión de Compose 1.0.0 Beta.

Cambios en la API

  • InteractionState se reemplazó por [Mutable]InteractionSource
    • Las interfaces son responsables de emitir o recopilar eventos de interacción.
    • En lugar de pasar el elemento interactionState = remember { InteractionState() } a componentes como Button y Modifier.clickable(), usa el objeto interactionSource = remember { MutableInteractionSource() }.
    • En lugar del elemento Interaction.Pressed in interactionState, debes usar las funciones de extensión en el objeto InteractionSource, como InteractionSource.collectIsPressedAsState().
    • Para casos complejos de uso, puedes usar el elemento InteractionSource.interactions para observar el flujo de Interactions. Para obtener más información, consulta la documentación y ejemplos de InteractionSource.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • Los paquetes de los métodos smoothScrollBy y scrollBy migraron a androidx.compose.foundation.gestures.*. (I3f7c1, b/175294473)
  • Se cambiaron los nombres de los modificadores de tamaño. Se cambió el nombre de modifier.width a requiredWidth, de modifier.height a requiredHeight y de modifier.size a requiredSize. Se cambió el nombre de modifier.preferredWidth a width, de preferredHeight a height y de preferredSize a size. (I5b414)
  • Se migró Orientation al paquete de base. Se migró VelocirtTracker de ui.gesture a ui.input.pointer. (Iff4a8, b/175294473)
  • Se quitó AnimationClockObservable, así como sus subclases. Se quitó AnimatedFloat. (Icde52, b/177457083)
  • Modifier.draggable ahora acepta DraggableState en lugar de una expresión lambda simple. Para obtener el mismo comportamiento que antes, puedes crear un estado a través de rememberDraggableState { delta -> }. (Ica70f, b/175294473)
  • Se quitaron las API de animate, animatedValue y AnimatedValue (If27bc, b/177457083).
  • Se quitó AnimationEndReason.Interrupted. Si se interrumpe la animación, se mostrará una CancellationException. (I2cbbc, b/179695417)
  • Se quitó la API de TargetAnimation. (If47d1, b/177457083)

Versión 1.0.0-alpha12

10 de febrero de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha12 y androidx.compose.animation:animation-core:1.0.0-alpha12. La versión 1.0.0-alpha12 contiene estas confirmaciones.

Cambios en la API

  • Modifier.pointerInput ahora requiere claves de memoria para indicar cuándo se debe reiniciar la corrutina de detección de la entrada del puntero para las dependencias nuevas. (I849cd)
  • El nombre de Bounds se cambió a DpRect. (I4b32a)
  • Se unificó el nombre del parámetro AnimationSpec con animationSpec en todo el sistema de animación. También se restringieron EnterTransition y ExitTransition a fin de aceptar FiniteAnimationSpec. (Ie47c5, b/177457083)
  • Animatable.snapTo y Animatable.stop ahora son funciones de suspensión. (If4288)
  • Se quitará el objeto savedInstanceState { 0 } que admite composición, de forma similar a como se quitó state { 0 }, que también admitía composición, y ahora se promociona el uso de remember { mutableStateOf(0) }, por ejemplo. En su lugar, se debe usar rememberSaveable { mutableStateOf(0) }, que se guardará y restablecerá automáticamente si el tipo usado dentro de MutableState se puede almacenar en el paquete. Si antes pasabas un objeto Saver personalizado, ahora debes usar una sobrecarga nueva de rememberSaveable, que tiene el parámetro stateSaver. Se verá de la siguiente manera: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }. (Ib4c26, b/177338004)
  • Se actualizó la firma del método Crossfade para mantener la coherencia con el resto del sistema de animación. (Ib05ed, b/177457083)
  • Se cambió el nombre de rememberSavedInstanceState() a rememberSaveable() y se movió al paquete androidx.compose.runtime.saveable. (I1366e, b/177338004)
  • Se cambió el nombre de RerestableStateHolder a SaveableStateHolder y se movió al paquete androidx.compose.runtime.saveable. Se cambió el nombre del método interno RerestableStateProvider a SaveableStateProvider. Se quitó el tipo genérico para que cualquiera pueda pasar como clave. Ya no se necesita la anotación experimental. (I0902e, b/174598702)
  • Se actualizó la API de Modifier.animateContentSize para mantener la coherencia con el resto del sistema de animación. (I0bf75, b/177457083)
  • AnimatedValue/Float dejó de estar disponible. En su lugar, usa Animatable. (I71345, b/177457083)
  • tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter y pressIndicititGestureFilter dejaron de estar disponibles. En su lugar, usa Modifier.clickable o Modifier.pointerInput con la función detectTapGestures. (I6baf9, b/175294473)
  • Se introdujo un elemento de contexto de corrutinas InfiniteAnimationPolicy que se aplicará en animaciones infinitas. No se instala ninguna política de forma predeterminada, excepto cuando se ejecutan pruebas con ComposeTestRule. (I50ec4, b/151940543)
  • Se quitaron los métodos copy() y de desestructuración de varias clases en las que se usaban con muy poca frecuencia. (I26702, b/178659281)
  • Ahora, el tiempo de reproducción en la animación se extiende a nanosegundos. (If776a)
  • El artefacto compose:runtime-dispatch dejó de estar disponible. Ahora se puede encontrar MonotonicFrameClock en compose:runtime y AndroidUiDispatcher en compose:ui. (Ib5c36)
  • Se agregaron Animation.isInfinite y VectorizedAnimationSpec.isInfinite, que indican si una animación es infinita. Se pueden usar para un lograr un mejor manejo a la hora de implementar animaciones. Por ejemplo, se puede mostrar un mensaje especial de "tiempo restante" o se puede cancelar la animación durante las pruebas a fin de evitar la inactividad indefinida. (Iebb05, b/151940543)
  • En lugar de Uptime, usa Long como tipo de tiempo de animación (Ie3aa7, b/177420019).

Versión 1.0.0-alpha11

28 de enero de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha11 y androidx.compose.animation:animation-core:1.0.0-alpha11. La versión 1.0.0-alpha11 contiene estas confirmaciones.

Cambios en la API

  • La transición TransitionDefinition-based dejó de estar disponible (I0ac57).
  • Se agrega un campo de etiqueta para que las animaciones secundarias y de Transition se muestren en herramientas (I619fb).
  • animateAsState ahora es animateFooAsState, donde Foo es el tipo de variable que se anima, p. ej., Float, Dp, Offset, etc. (Ie7e25)
  • Se agregó una nueva InfiniteTransition que ejecuta cualquier cantidad de animaciones secundarias. (I1da81)
  • Cambia las interfaces de parámetros con estado de Material para tener funciones @Composable que muestren State<T>. Se agregó Animatable.asState() para facilitar la conversión de un objeto Animatable en un State. También cambia animElevation para que sea una extensión de suspensión en Animatable. (If613c)

Correcciones de errores

  • onCommit, onDispose y onActive dejaron de estar disponibles, y se los reemplazó con las API de SideEffect y DisposableEffect. (If760e)
  • Ahora se admite el State inicial en updateTransition. (Ifd51d).
  • Se agregó un parámetro de descripción de contenido a Image y Icon. Este se usa para proporcionar una descripción a los servicios de accesibilidad. (I2ac4c)
  • invalidate y compositionReference() dejaron de estar disponibles, y se reemplazaron con currentRecomposeScope y rememberCompositionReference, respectivamente. (I583a8)
  • Duration y Uptime se reemplazarán con Long en milisegundos, y este paso quitará la dependencia de entrada del puntero en esas clases. (Ia33b2, b/175142755, b/177420019)
  • Ahora, clickable, toggleable y selectable pueden crearse fuera de las composiciones. (I0a130, b/172938345, b/175294473)
  • Se cambió la aceleración a una interfaz funcional. (Ib14e5).
  • Se agregó un método de fábrica items(count: Int) nuevo para el alcance de LazyColumn/LazyRow/LazyVerticalGrid. items(items: List) y itemsIndexed(items: List) ahora son funciones de extensión, asíque debes importarlas manualmente cuando las uses. Se agregaron sobrecargas de extensiones nuevas para Arrays: items(items: Array) y itemsIndexed(Array). (I803fc, b/175562574)
  • Se implementó TestCoroutineDispatcher en pruebas. (I532b6)
  • Se quitó PointerInputData y se modificó el PointerInputChange para otorgarle todos los campos de PointerInputData. Se convirtieron en internos los elementos PointerInputEvent y PointerInputEventData debido a que no se usan en ninguna API pública. (Ifff97, b/175142755)

Versión 1.0.0-alpha10

13 de enero de 2021

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha10 y androidx.compose.animation:animation-core:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.

Cambios en la API

  • Se modificó Velocity para que tuviera partes de componentes y operaciones matemáticas. (Ib0447)
  • Se cambió el nombre de @ExperimentalTesting a @ExperimentalTestApi para que sea coherente con anotaciones de API experimentales similares. (Ia4502, b/171464963)
  • Se cambió el nombre de Position a DpOffset y se quitó getDistance(). (Ib2dfd)
  • Se quitó la API pública de Any.identityHashCode(). (I025d7)

Correcciones de errores

  • Se agregó la nueva API de Animatable basada en corrutinas que garantiza la exclusividad mutua entre sus animaciones. Se agregó DecayAnimationSpec para admitir animaciones de disminución multidimensionales. (I820f2, b/168014930)
  • Se reemplazó animate() con animateAsState(), que muestra State<T>, en lugar de T. Esto mejora el rendimiento, ya que el alcance de la invalidación se puede limitar a donde se lee el valor State. (Ib179e)

Versión 1.0.0-alpha09

16 de diciembre de 2020

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha09 y androidx.compose.animation:animation-core:1.0.0-alpha09. La versión 1.0.0-alpha09 contiene estas confirmaciones.

Cambios en la API

  • Se movieron p.VectorConverter, Position.VectorConverter, etc. a animation-core, y dejaron de estar disponibles los objetos VectorConveters anteriores. (If0c4b)
  • Se introdujo un conjunto completamente nuevo de API de Transition con una facilidad de uso mejorada y compatibilidad con animaciones agregadas de forma dinámica, y objetivos de animación calculados de manera dinámica. Estas API se marcan como experimentales para facilitar la diferenciación de la API de TransitionDefinition-based. (Ia7fe3)

Correcciones de errores

  • Las expresiones lambda en los modificadores de compensación ahora muestran IntOffset en lugar de Float. (Ic9ee5, b/174137212, b/174146755)
  • Dejaron de estar disponibles los objetos LazyColumnFor, LazyRowFor, LazyColumnForIndexed y LazyRowForIndexed. En su lugar, usa LazyColumn y LazyRow. (I5b48c)
  • Se cambió el nombre de HandlePointerInputScope a AwaitPointerEventScope y el de handlePointerInput() a awaitPointerEventScope() para las API de entrada de puntero de suspensión. (Idf0a1, b/175142755)
  • Se agregó una función infiniteRepeatable para crear InfiniteRepetableSpec. (I668e5)
  • Se quitó la anotación ExperimentalPointerInput. (Ia7a24)

Versión 1.0.0-alpha08

2 de diciembre de 2020

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha08 y androidx.compose.animation:animation-core:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.

Cambios en la API

  • Se agregó la comprobación de lint para el nombre y la posición del parámetro lambda que se pueden componer a fin de verificar la coherencia con los lineamientos de Compose. También se migraron algunas API que usaban children como nombre de su lambda al final a content, según la comprobación y orientación de lint. (Iec48e)
  • Se quitaron las API que habían dejado de estar disponibles:
    • Se quitó Modifier.onPositioned; usa Modifier.onGloballyPositioned.
    • Se quitó Modifier.onDraw; usa Modifier.onDrawBehind.
    • Se quitó Modifier.plus; usa Modifier.then.
    • Se quitó Color.Unset; usa Color.Unspecified.
    • Se quitó la clase PxBounds. En su lugar, usa Rect.
    • (Ie9d02, b/172562222)
  • Se agregó una opción temporal para permitir que MonotonicFrameClock controle a TestAnimationClock. (I1403b, b/173402197)

Correcciones de errores

  • Se cambió el nombre de Modifier.drawLayer a Modifier.graphicsLayer, y se actualizaron las clases relacionadas con GraphicsLayer según los comentarios acordados de la API. (I0bd29, b/173834241)
  • Se agregaron API de Modifier.scale/rotate como convenientes para drawLayer.
    • Se cambió el nombre de modificador.drawOpacity a Modifier.alpha.
    • Se cambió el nombre de Modif.drawShadow a Modifier.shadow. (I264ca, b/173208140)
  • Los campos de posición y tiempo de actividad de PointerInputData se hicieron no nulos. (Id468a)
  • Se cambiaron los nombres de los modificadores de offsetPx a offset. Ahora toman parámetros lambda en lugar de State. (Ic3021, b/173594846)
  • Se agregaron API nuevas para las animaciones que se ejecutan en corrutinas. (Ied662)
  • Los entornos Ambient con el nombre Ambient como sufijo dejaron de estar disponibles, y se los reemplazó por nuevas propiedades con el prefijo Ambient, en función de otros lineamientos de la API de Compose y Ambients. (I33440)
  • El control de tiempo en las pruebas (TestAnimationClock y sus usos) ahora es experimental. (I6ef86, b/171378521)
  • Se quitó el módulo ui-tests y sus stubs. (I3a7cb)
  • Se cambió el nombre de la función RestorableStateHolder.withRestorableState por RestorableStateProvider. (I66640)
  • Se actualizó la interfaz de Alignment y se hizo funcional. (I46a07, b/172311734)

Versión 1.0.0-alpha07

11 de noviembre de 2020

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha07 y androidx.compose.animation:animation-core:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.

Correcciones de errores

  • Las bases AmbientTextStyle, ProvideTextStyle y AmbientContentColor ya no están disponibles. En su lugar, utiliza las nuevas versiones que se proporcionan en la biblioteca de Material. En el caso de las aplicaciones que no son de Material, deberás crear tus propios ambientes de temas específicos de sistemas de diseño que se puedan consumir en tus componentes. (I74acc, b/172067770)
  • foundation.Text dejó de estar disponible y se reemplazó por material.Text. Para ver una API de texto básica y sin tendencias que no consuma valores de un tema, consulta androidx.compose.foundation.BasicText. (If64cb)
  • Se quitó MeasureResult de MeasureScope. (Ibf96d, b/171184002)
  • Varios símbolos relacionados con el diseño se movieron de androidx.compose.ui a androidx.compose.layout.ui. (I0fa98, b/170475424)

Versión 1.0.0-alpha06

28 de octubre de 2020

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha06 y androidx.compose.animation:animation-core:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Cambios en la API

  • Se habilitaron transiciones en ComposeTestRule y se quitó la opción que permitía habilitar el cursor intermitente desde ComposeTestRule. (If0de3)

Versión 1.0.0-alpha05

14 de octubre de 2020

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha05 y androidx.compose.animation:animation-core:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Cambios en la API

  • Nueva interfaz de Animation y subclases: estas clases almacenan las condiciones de inicio y finalización de las animaciones. Por lo tanto, permiten que el valor y la velocidad se consulten solo durante el tiempo de reproducción. (Ie95bd, b/163329867)

Correcciones de errores

  • Se cambió el nombre de OnPositionedModifier a OnGloballyPositionedModifier y onPositioned() a onGloballyPositioned(). (I587e8, b/169083903)
  • Las API contentColor() y currentTextStyle() dejan de estar disponibles, y se reemplazan por AmbientContentColor y AmbientTextStyle, respectivamente. Puedes acceder al valor actual usando .current en la propiedad de los ambientes, como en cualquier otro ambiente. Este cambio se realizó para mantener la coherencia y evitar tener varias formas de lograr el mismo resultado. Además, se cambia el nombre de algunas propiedades de ambientes para describir mejor sus propósitos, de la siguiente manera:

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

Versión 1.0.0-alpha04

1 de octubre de 2020

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha04 y androidx.compose.animation:animation-core:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Cambios en la API

  • Se agregaron las anotaciones rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled y textInputServiceFactory con @VisibleForTesting; se las convirtió en internas para la API y se ocultó su KDoc (I554eb, b/168308412).

Correcciones de errores

  • Se actualizaron varias APIs de gráficos.
    • Se actualizaron las API de transformación de escalamiento y rotación a fin de consumir un solo parámetro de compensación para representar la coordenada dinámica, en lugar de parámetros flotantes separados para las coordenadas x/y en DrawScope y DrawTransform.
    • Se quitaron los métodos Rect.expandToInclude y Rect.join.
    • Se actualizó la documentación de Radius para indicar el óvalo además del elíptico.
    • Se agregó documentación para indicar que el constructor público para la clase de Radius intercalado no se debe llamar directamente, sino que se debe crear una instancia de los objetos Radius a través de sus constructores de funciones.
    • Se quitaron las API de RoundRect para consultar topRight, bottomRight, bottomCenter, etc.
    • Rect.shift dejó de estar disponible y se reemplazó por Rect.translate.
    • Se quitaron las API de RoundRect.grow y Rect.shrink.
    • Se cambió el nombre de RoundRect.outerRect a Rect.boundingRect.
    • Se quitaron los métodos RoundRect.middleRect/tallMiddleRect/wideMiddleRect y Rect.isStadium.
    • Se cambió el nombre de RoundRect.longestSide a RoundRect.maxDimension.
    • Se cambió el nombre de RoundRect.shortestSide a RoundRect.minDimension.
    • Se modificó RoundRect.center para que sea una propiedad en lugar de una función.
    • Se actualizó el constructor RoundRect para consumir propiedades de Radius en lugar de parámetros individuales para valores de radio x/y.
    • Se quitaron las API de tamaño que asumían que se trataba de un rectángulo con el origen en 0,0.
    • Se agregó una API destructiva a Radius.
    • Se migraron varias funciones de extensión de RoundRect para que sean propiedades.
    • (I8f5c7, b/168762961)
  • foundation.Box dejó de estar disponible. Usa foundation.layout.Box en su lugar. (Ie5950, b/167680279)
  • Se cambió el nombre de Stack a Box. La función Box anterior dejará de estar disponible y se usará la nueva función Box en compose.foundation.layout. El comportamiento de la nueva función Box es apilar elementos secundarios uno encima de otro cuando existen varios, a diferencia de la anterior, cuyo comportamiento era similar al de una columna. (I94893, b/167680279)
  • Los parámetros de decoración de Box dejaron de estar disponibles. Si deseas incluir decoraciones o relleno en tu cuadro, utiliza modificadores (Modifier.background, Modifier.border, Modifier.padding). (Ibae92, b/167680279)
  • Evitamos las importaciones estáticas de contenido de alcances de diseño (p. ej., alignWithSiblings en RowScope). En su lugar, se debe usar la alternativa a un alcance explícito: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Versión 1.0.0-alpha03

16 de septiembre de 2020

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha03 y androidx.compose.animation:animation-core:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Correcciones de errores

  • Se cambiaron de manera coherente los nombres de los usos de Gravity a Align o Alignment en las API de diseño. (I2421a, b/164077038)

Versión 1.0.0-alpha02

2 de septiembre de 2020

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha02 y androidx.compose.animation:animation-core:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • Se agregó ManualFrameClock.hasAwaiters para ver si hay algo que espera un marco de ese reloj; runWithManualClock como un reemplazo para runBlocking cuando se ejecutan pruebas que necesitan un ManualFrameClock, y TestUiDispatcher.Main, que brinda un acceso fácil al despachador de IU principal en tus pruebas.

    Por ejemplo:

    @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)

Correcciones de errores

  • onPreCommit dejó de estar disponible. onCommit ahora tiene el comportamiento de onPrecommit.

    OnCommit y OnActive ahora se ejecutan en el mismo fotograma Choreographer que los cambios de composición incluidos, y no al inicio del siguiente fotograma Coreographer. (I70403)

Versión 1.0.0-alpha01

26 de agosto de 2020

Lanzamiento de androidx.compose.animation:animation:1.0.0-alpha01 y androidx.compose.animation:animation-core:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Versión 0.1.0-dev

Versión 0.1.0-dev17

19 de agosto de 2020

Lanzamiento de androidx.compose.animation:animation:0.1.0-dev17 y androidx.compose.animation:animation-core:0.1.0-dev17. La versión 0.1.0-dev17 contiene estas confirmaciones.

Nuevas funciones

Cambios en la API

  • Offset se convirtió en una clase intercalada. (Iaec70)
  • IntOffset ahora es una clase intercalada. (Iac0bf)
  • IntSize ahora es una clase intercalada. (I2bf42)
  • El objeto AnimatedVisibility que admite composición anima la aparición y la desaparición del contenido secundario.

    Se introdujeron EnterTransition y ExitTransition para trabajar con el objeto AnimatedVisibilty que admite composición a fin de proporcionar 3 tipos diferentes de animaciones de aparición y desaparición: atenuar, deslizar y expandir/reducir el contenido. Puedes combinar estos tipos de animaciones y así lograr un diseño más personalizado. (Idda11)

  • PxBounds dejó de estar disponible y se reemplazó por Rect. Se actualizaron todos los usos de PxBounds con rect y se agregaron la baja y reemplazo adecuados, con anotaciones para ayudar con la migración. (I37038, b/162627058)

Correcciones de errores

  • Se cambió el nombre de PlacementScope.placeAbsolute() a PlacementScope.place(), y el del PlacementScope.place() anterior a PlacementScope.placeRelative(). Como resultado, el método PlacementScope.place() ya no duplicará automáticamente la posición en contextos de derecha a izquierda. Si quieres que eso ocurra, usa PlacementScope.placeRelative() en su lugar. (I873ac, b/162916675)
  • El elemento state { ... } que admite composición dejó de estar disponible y se reemplazó por cualquier llamada explícita a remember { mutableStateOf(...) } por motivos de claridad. Con esto, se reduce la superficie general de la API, así como la cantidad de conceptos para la administración de estados, y se hace coincidir el patrón by mutableStateOf() con la delegación de propiedades de clase. (Ia5727)

Versión 0.1.0-dev16

5 de agosto de 2020

Lanzamiento de androidx.compose.animation:animation:0.1.0-dev16 y androidx.compose.animation:animation-core:0.1.0-dev16. La versión 0.1.0-dev16 contiene estas confirmaciones.

Cambios en la API

  • Ahora se puede acceder mediante Foo.VectorConverter a los convertidores vectoriales a fin de convertir unidades integradas. P. ej., Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter, etc. (I3e273)
  • Brinda compatibilidad con el objeto de escucha final en Modifier.animateContentSize() de modo que, cuando finalice la animación de cambio de tamaño, este reciba una notificación que indique la finalización y el tamaño inicial/final de la animación. (I277b2)
  • Nuevo modificador animateContentSize que anima el cambio de tamaño de diseño de su modificador secundario. (Ieffdc)
  • Se agregó MonotonicFrameAnimationClock, que te permite usar un MonotonicFrameClock como un AnimationClockObservable para cerrar la brecha entre los relojes basados en las nuevas corrutinas y las API que aún usan los relojes basados en la devolución de llamada anterior.

    El equivalente MonotonicFrameClock de ManualAnimationClock ahora es ManualFrameClock. (I111c7, b/161247083)

Correcciones de errores

  • Se actualizaron las API correspondientes a la compatibilidad de orientación de derecha a izquierda. Se agregó LayoutDirectionAmbient, que puede usarse para leer y cambiar la dirección del diseño. Se quitaron Modifier.rtl y Modifier.ltr. (I080b3)
  • Se requiere que el tipo T se especifique de forma explícita para transitionDefinition. (I1aded)
  • Se acopló el paquete foundation.shape.corner a foundation.share. (I46491, b/161887429)
  • Modifier.plus dejó de estar disponible; en su lugar, usa Modifier.then. "Then" tiene un indicador de orden más fuerte, a la vez que prohíbe la escritura de Modifier.padding().background() + anotherModifier, lo que interrumpe la cadena y es más difícil de leer. (Iedd58, b/161529964)
  • Se cambió el nombre de Modifier.drawBackground a Modifier.background. (I13677)

Versión 0.1.0-dev15

22 de julio de 2020

Lanzamiento de androidx.compose.animation:animation:0.1.0-dev15 y androidx.compose.animation:animation-core:0.1.0-dev15. La versión 0.1.0-dev15 contiene estas confirmaciones.

Actualización de dependencias

  • Para usar la versión 0.1.0-dev15 de Compose, deberás actualizar tus dependencias de acuerdo con los nuevos fragmentos de código que se muestran más arriba en Cómo declarar dependencias.

Cambios en la API

  • Se modificó la API de Transition para mostrar un elemento TransitionState en lugar de pasar el objeto TransitionState a los elementos secundarios. Esto hace que la API sea más coherente con las API de animate(). (I24e38)
  • Se agregó el parámetro modificable para Crossfade. (I87cfe, b/159706180)
  • Se usa AnimationSpec en lugar de AnimationBuilder en las APIs de nivel superior para aclarar el concepto de especificación de animación estática.
    • Mejora la DSL de transición mediante la eliminación del requisito lambda para crear AnimationSpecs, como la interpolación o la animación de resorte. En su lugar, toman parámetros de constructor en forma directa.
    • A fin de facilitar el uso general de AnimationSpec, establece constructores, en lugar de depender de compiladores.
    • Cambia la duración y el retraso de KeyFrames y Tween a Int. De esta manera, se eliminan las conversiones de tipos y la sobrecarga de métodos innecesarias (para admitir tanto Long como Int). (Ica0b4)
  • Se reemplazó el uso del elemento IntPx con Int. Se reemplazó el objeto IntPxPosition con IntOffset. Se reemplazó el elemento IntPxSize con IntSize. (Ib7b44)
  • A fin de consolidar las clases utilizadas para representar la información de tamaño, se estandarizó el uso de la clase Size en lugar de PxSize. Esto habilita las ventajas de una clase intercalada que permite empaquetar 2 valores de punto flotante para representar el ancho y la altura. (Ic0191)
  • A fin de consolidar las clases utilizadas para representar la información de posicionamiento, se estandarizó el uso de la clase Offset en lugar de PxPosition. Esto habilita las ventajas de una clase intercalada que permite empaquetar 2 valores de punto flotante para representar los desplazamientos x e y. (I3ad98)
  • Se reemplazó el uso de la clase Px en varias clases de Compose como parte de un gran esfuerzo de refactorización para depender solo de los tipos Dp y primitivos para los parámetros de píxeles. (I086f4)
  • Se agregó compatibilidad con animate() para Dp, Px, Size, Position, Límites, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds y AnimationVector (lb7518).
  • Crossfade ahora acepta el parámetro AnimationBuilder opcional para permitir la configuración de la animación. (I6d6e0)
  • Se reemplazaron todos los usos anulables de Color en la API con valores no anulables y se usa Color.Unset en lugar de valor nulo. (Iabaa7)
  • Se quitó la clase ValueHolder. Se reestructuraron las clases AnimatedValue y AnimatedFloat para que el campo de valor de animación sea abstracto a fin de que las subclases puedan ver la actualización del valor.
    • Se agregaron clases de modelos para AnimatedValue, AnimatedFloat, etc.
    • Se agregó un nuevo conjunto de API liviana de @Composable para realizar animaciones entre valores. (I79530)
  • Cambios rotundos en la API de ambients: Consulta el registro y la documentación de Ambient<T> para obtener más detalles. (I4c7ee, b/143769776)
  • Nuevo modo de repetición: revertir. Este modo revierte la iteración anterior a medida que se repite la animación en RepeatableSpec o VectorizedRepeatableSpec. (Ibe0f5)
  • Se agregaron las siguientes API a ManualAnimationClock: hasObservers: Boolean y dispatchOnSubscribe: Boolean de parámetro de constructor. (Iaa134)
  • Se agregaron API para obtener límites mínimos/máximos en AnimatedFloat. (Icd9cc)

Correcciones de errores

  • Se cambió el nombre de runOnIdleCompose a runOnIdle. (I83607)
  • Se cambió el nombre de varias API de prueba con el fin de que sean más intuitivas. Se cambió el nombre de todas las API findXYZ por el de onNodeXYZ. Se cambió el nombre de todas las APIs doXYZ por el de performXYZ (I7f164).
  • Se introdujeron las APIs de Animation sin estado de bajo nivel (I63bf7).
  • La función Recompose que admite composición ya no es una abstracción útil. La mayor parte de la recomposición debería ocurrir como resultado de las asignaciones de MutableState. Para todo lo demás, se recomienda usar la función invalidate para activar una recomposición del alcance actual (Ifc992).
  • Se reemplazó el uso de la clase Px en varias clases de Compose como parte de un gran esfuerzo de refactorización a fin de depender solo de los tipos Dp y primitivos para los parámetros de píxeles. Se borró por completo la clase Px (I3ff33).
  • Se reemplazó el uso de la clase Px en varias clases de Compose como parte de un gran esfuerzo de refactorización para depender solo de los tipos Dp y primitivos para los parámetros de píxeles (Id3434).
  • Crossfade ahora puede iniciarse con un valor nulo (Iad6a4, b/155947711).
  • Se reemplazó el uso de la clase Px en varias clases de Compose como parte de un gran esfuerzo de refactorización para depender solo de los tipos Dp y primitivos para los parámetros de píxeles (I19d02).
  • Se consolidaron las implementaciones de CanvasScope, por lo que ahora solo quedaron los elementos DrawScope y ContentDrawScope. Se cambió el nombre del objeto CanvasScope a DrawScope. Se actualizó DrawScope para implementar la interfaz de Density y proporcionar LayoutDirection. Se borró la subclase DrawScope en ContentDrawScope. Se actualizaron Painter y PainterModifier de modo que ya no mantengan una propiedad RTL, ya que DrawScope la proporciona sin hacerlo manualmente (I1798e).
  • Se actualizaron las API de Compose de nivel superior que exponen un lienzo para mostrar el objeto CanvasScope en su lugar. Esto elimina la necesidad de que los consumidores mantengan sus propios objetos Paint. Para los usuarios que aún necesitan acceso a Canvas, pueden usar el método de extensión drawCanvas que proporciona una devolución de llamada a fin de emitir comandos de dibujo con el Canvas subyacente (I80afd).
  • Se agregaron los parámetros verticalGravity y horizontalGravity a los elementos Row y Column, respectivamente (I7dc5a)
  • Se cambió el nombre del módulo ui-text a ui-text-core (I57dec).
  • Se mejoró la API de DrawModifier:
    • Se creó el alcance del receptor para draw() ContentDrawScope.
    • Se quitaron todos los parámetros de draw().
    • El objeto DrawScope tiene la misma interfaz que el elemento CanvasScope anterior.
    • ContentDrawScope tiene el método drawContent() (Ibaced, b/152919067).
  • Los objetos runOnIdleCompose y runOnUiThread ahora son funciones globales en lugar de ser métodos en ComposeTestRule (Icbe8f).
  • Los operadores delegados de la propiedad [Mutable]State se movieron a extensiones a fin de admitir optimizaciones delegadas de propiedad de Kotlin 1.4. Los llamadres deben agregar importaciones para continuar usando by state { ... } o by mutableStateOf(...). (I5312c).
  • El objeto ColoredRect dejó de estar disponible. Usa Box(Modifier.preferredSize(width, height).drawBackground(color)) en su lugar. (I499fa, b/152753731).
  • Se reemplazaron el modificador y el operador por funciones de extensión de fábrica (I225e4).
  • El elemento Center que admite composición dejó de estar disponible. Debe reemplazarse con el modificador LayoutSize.Fill + LayoutAlign.Center o con una de las funciones que admiten composición Box o Stack con los modificadores adecuados aplicados (Idf5e0).
  • Se cambió el nombre de LayoutFlexible a LayoutWeight. Se cambió el nombre del parámetro estricto para rellenar. (If4738).
  • Se reemplazó la función de componibilidad Opacity por el modificador drawOpacity (I5fb62).
  • Las pruebas que usan AndroidComposeTestRule ahora proporcionan un reloj de animación en la raíz de la composición que se puede pausar, reanudar y avanzar manualmente (Id54c5).
  • Se agregó compatibilidad con lectura de derecha a izquierda en el modificador LayoutPadding (I9e8da).
  • Se combinaron Density y DensityScope en una sola interfaz. En lugar de ambientDensity(), ahora puedes usar DensityAmbient.current. En lugar de withDensity(density), usa with(density) (I11cb1).
  • Se agregaron métodos de copia a varios tipos de clases intercaladas, que incluye lo siguiente:
    • Desplazamiento
    • Tamaño
    • Radio
    • Movimiento
    • TransformOrigin
    • El método del objeto complementario Size.copy dejó de estar disponible para el método de copia de instancias (Ife290, b/159905651).
  • Se trasladó el objeto androidx.compose.ViewComposer al elemento androidx.ui.node.UiComposer androidx.compose. Se quitó el parámetro Emittable. Era redundante con el objeto ComponentNode. Se quitó el elemento androidx.compose.ViewAdapters. Ya no es un caso práctico admitido. Compose.composeInto quedó obsoleto. En su lugar, usa los elementos setContent o setViewContent. El componente Compose.disposeComposition dejó de estar disponible. En su lugar, usa el método dispose en el Composition que muestra setContent. Se movió androidx.compose.Compose.subcomposeInto a androidx.ui.core.subcomposeInto. Se cambió el nombre de ComponentNode#emitInsertAt a ComponentNode#insertAt, el de ComponentNode#emitRemoveAt a ComponentNode#removeAt y el de ComponentNode#emitMode a ComponentNode#move. (Idef00)