Únete a ⁠ #Android11: The Beta Launch Show el 3 de junio.

Compose

Actualización más reciente Versión actual
15 de abril de 2020 0.1.0-dev09

Cómo declarar dependencias

Para agregar una dependencia en Compose, debes agregar el repositorio Maven de Google a tu proyecto. Lee el repositorio 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:

    dependencies {
        def compose_version = "0.1.0-dev09"

        kotlinPlugin "androidx.compose:compose-compiler:$compose_version"
        implementation "androidx.compose:compose-runtime:$compose_version"
    }
    composeOptions {
        kotlinCompilerVersion "1.3.61-dev-withExperimentalGoogleExtensions-20200129"
        kotlinCompilerExtensionVersion "0.1.0-dev09"
    }
    

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 en esta biblioteca antes de crear uno nuevo. Para agregar tu voto a un error existente, haz clic en el botón de la estrella.

Cómo crear un error nuevo

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

Versión 0.1.0-dev

Versión 0.1.0-dev09

15 de abril de 2020

Lanzamiento de androidx.compose:compose-compiler:0.1.0-dev09 y androidx.compose:compose-runtime:0.1.0-dev09. La versión 0.1.0-dev09 contiene estas confirmaciones.

Cambios en la API

  • [Mutable] Los operadores delegados de propiedad estatal se movieron a extensiones a fin de admitir optimizaciones delegadas de propiedad de Kotlin 1.4. Los emisores deben agregar importaciones para continuar usando by state { ... } o by mutableStateOf(...). (I5312c)

Correcciones de errores

  • Se actualizaron wrapContentWidth y wrapContentHeight para incluir Alignment vertical u horizontal en lugar de Alignment. Se actualizó el modificador de gravedad para aceptar Alignment vertical u horizontal. Se actualizaron Row, Column y Stack para admitir Alignment continuas personalizadas. (Ib0728)
  • Se cambió el nombre del módulo ui-text a ui-text-core (I57dec)
  • API DrawModifier mejorada ((Ibaced, b/152919067)):
    • El alcance del receptor incluye draw() ContentDrawScope
    • Se quitaron todos los parámetros de draw()
    • DrawScope tiene la misma interfaz que el CanvasScope anterior
    • ContentDrawScope tiene el método drawContent()
  • El elemento ColoredRect dejó de estar disponible. Usa Box(Modifier.preferredSize(width, height).drawBackground(color)) en su lugar. (I499fa, b/152753731)

Versión 0.1.0-dev08

1 de abril de 2020

Lanzamiento de androidx.compose:compose-compiler:0.1.0-dev08 y androidx.compose:compose-runtime:0.1.0-dev08. La versión 0.1.0-dev08 contiene estas confirmaciones.

Correcciones de errores

  • Se reemplazaron el modificador y el operador por funciones de extensión de fábrica (I225e4)
  • Ahora se puede acceder a los miembros RowScope y ColumnScope desde afuera de la fila y la columna. (I3a641)

Versión 0.1.0-dev07

18 de marzo de 2020

Lanzamiento de androidx.compose:compose-compiler:0.1.0-dev07 y androidx.compose:compose-runtime:0.1.0-dev07. La versión 0.1.0-dev07 contiene estas confirmaciones.

Cambios en la API

  • Se movió androidx.compose.ViewComposer a androidx.ui.node.UiComposer. (Idef00)
  • Se quitó androidx.compose.Emittable. Era redundante con ComponentNode. (Idef00)
  • Se quitó androidx.compose.ViewAdapters. Ya no es un caso práctico admitido. (Idef00)
  • El elemento Compose.composeInto dejó de estar disponible. En su lugar, usa setContent o setViewContent. (Idef00)
  • El elemento Compose.disposeComposition dejó de estar disponible. En su lugar, usa el método dispose en la Composition que muestra setContent. (Idef00)
  • androidx.compose.Compose.subcomposeInto se movió a androidx.ui.core.subcomposeInto. (Idef00)
  • El nombre de ComponentNode#emitInsertAt cambió por ComponentNode#insertAt. (Idef00)
  • El nombre de ComponentNode#emitRemoveAt cambió por ComponentNode#removeAt. (Idef00)
  • El nombre de ComponentNode#emitMode cambió por ComponentNode#move. (Idef00)

Correcciones de errores

  • Se cambió el nombre de LayoutFlexible por LayoutWeight. Se cambió el nombre del parámetro estricto para completar. (If4738)
  • WithConstraints tiene el parámetro LayoutDirection (I6d6f7)

Versión 0.1.0-dev06

4 de marzo de 2020

Lanzamiento de androidx.compose:compose-compiler:0.1.0-dev06 y androidx.compose:compose-runtime:0.1.0-dev06. La versión 0.1.0-dev06 contiene estas confirmaciones.

Nuevas funciones

  • Se actualizó la marca ComposeFlags.COMPOSER_PARAM para que sea true, lo que cambiará la estrategia de generación de código para el complemento de composición. En un nivel alto, esto provoca que las funciones @Composable se generen con un parámetro sintético adicional, que se pasa a través de llamadas @Composable posteriores para que el entorno de ejecución administre la ejecución correctamente. Este es un cambio rotundo e importante del objeto binario; sin embargo, debe preservarse la compatibilidad a nivel de la fuente en todo uso sancionado de la composición. (aosp/1226314)

Versión 0.1.0-dev05

19 de febrero de 2020

Lanzamiento de androidx.compose:compose-compiler:0.1.0-dev05 y androidx.compose:compose-runtime:0.1.0-dev05. La versión 0.1.0-dev05 contiene estas confirmaciones.

Cambios en la API

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

Correcciones de errores

  • Se reemplazó ButtonStyle con funciones distintas y se quitó la sobrecarga de texto (string). Consulta muestras actualizadas para obtener información de uso. (If63ab, b/146478620, b/146482131)

Versión 0.1.0-dev04

29 de enero de 2020

Lanzamiento de androidx.compose:compose-compiler:0.1.0-dev04 y androidx.compose:compose-runtime:0.1.0-dev04. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Cambios en la API

  • Se agregó una devolución de llamada areEquivalent a MutableState (Ic2ef8).
  • Se quitaron las API de composición de nivel superior de los componentes y la refactorización (I1f22e)
  • Transforma las llamadas que se pueden componer con el parámetro de compositor (I1691e)
  • Se quitaron las clases de composición y se reemplazaron con la clase base Composer (Ieadbf)
  • Marca State<T> y MutableState<T> como tipos estables (b/146557624)
  • Agrega currentComposerIntrinsic y pruebas para asegurarte de que el parámetro pase correctamente (I133f0)
  • ModelObserver se hizo de un solo subproceso. (Ica33d)
  • Genera grupos correctamente para las llamadas intercaladas que se pueden componer (Ibf739)
  • Quita la anotación EffectsDsl sin usar (Ibe81d)
  • Se agregó una anotación @Stable. Se marcó el modificador como estable. (Iacba7)
  • Se introdujeron las API MutableState, State y mutableStateOf (I98291)
  • Se refactorizaron efectos de @Composable (Ie2686)
  • Se mejoró el rendimiento de ObserverMap y ModelObserver. (Ieb9b6)
  • Se cambiaron las observaciones de lectura para permitir la observación de no-ComponentNodes. (Ia4d93)