Wear Compose

  
Escribe aplicaciones de Jetpack Compose para dispositivos Wearable proporcionando funcionalidad que admita dispositivos, tamaños, formas y gestos de navegación específicos para wearables.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
4 de septiembre de 2024 1.4.0 - - 1.5.0-alpha01

Cómo declarar dependencias

Para agregar una dependencia en Wear, 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.wear.compose:compose-foundation:1.4.0"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.4.0"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.4.0"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.4.0")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.4.0")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.4.0")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

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.

Wear Compose Material 3 versión 1.0

Versión 1.0.0-alpha24

4 de septiembre de 2024

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha24. La versión 1.0.0-alpha24 contiene estas confirmaciones.

Cambios en la API

  • Se agregó un esquema Motion al tema de Material3. Lo usarán los componentes de la biblioteca para aplicar especificaciones de animación, como resortes para movimiento expresivo. (I54ff3).
  • Agregamos los componentes AppScaffold y ScreenScaffold a la biblioteca de Material3, que incluyen la funcionalidad para coordinar las capas y transiciones de TimeText y ScrollIndicator. AppScaffold proporciona un nivel superior de componentes del andamiaje que se ubican encima de todas las pantallas. Por lo tanto, agregar TimeText a AppScaffold permite que permanezca en su lugar mientras se desliza el dedo entre pantallas. Las pantallas pueden ocultar o anular el texto de la hora por sí mismas. ScreenScaffold proporciona un espacio para ScrollIndicator y anima automáticamente el indicador de desplazamiento cuando el usuario se desplaza, incluido el tiempo de espera para ocultar el indicador de desplazamiento después de la inactividad. (I047d6).
  • Agregamos ScrollIndicator con el nuevo diseño de Material 3. Tiene un tamaño de miniatura fijo basado en el contenido inicial de la lista para evitar variaciones de tamaño cuando se carga contenido diferido en la lista. (Ic228d).
  • Cambiamos la API de ScrollAway de modo que ScreenStage sea una clase de valor en lugar de una clase enum para permitir que se agreguen etapas adicionales según sea necesario en el futuro. (I48c93).
  • Agregamos EdgeButton, un botón distintivo específico para Wear que sigue la curvatura de la parte inferior de la pantalla (I16369).
  • Agregamos un nuevo espacio a ScreenScaffold para un botón inferior (como EdgeButton), que se mostrará y cambiará de tamaño según el contenido que se desplaza (I032eb).
  • Se agregaron Modifier.scrollTransform y Modifier.targetMorphingHeight para agregar efectos de movimiento de Material3 a elementos de LazyColumn. (Ie229a).
  • Agregamos SegmentedCircularProgressIndicator como una variación en CircularProgressIndicator. La variación segmentada muestra un único valor de progreso en todos los segmentos o muestra cada uno como activado o desactivado. (I6e059).
  • Agregamos LinearProgressIndicator como alternativa al elemento CircularProgressIndicator existente. (I89182).
  • Agregamos AlertDialog, que proporciona diseños para presentar instrucciones importantes al usuario. Se incluyen variaciones para un par de botones de confirmar y descartar o un solo botón inferior (por lo general, un EdgeButton) debajo de una pila de opciones. Ambas variaciones tienen ranuras para el ícono, el título y texto adicional para proporcionar más detalles. (Ieb873).
  • Se agregó OpenOnPhoneDialog, que se debe usar para indicar una acción que continuará en el teléfono del usuario. OpenOnPhoneDialog se descarta después de un tiempo de espera especificado. (I978fd).
  • Se agregó Confirmation, un componente de diálogo que tiene ranuras para un ícono y texto curvo o lineal. Se proporcionan variaciones específicas para los mensajes de éxito o fracaso. Las confirmaciones se descartan automáticamente después de que se agota el tiempo de espera. (Ib43e8).
  • Agregamos un fondo a TimeText para mitigar problemas en los que el contenido subyacente y TimeText se superpusieron y oscurecieran el tiempo. (Ia11fd).
  • Agregamos LevelIndicator, que muestra el valor de una configuración como el volumen, y se puede usar con el componente Stepper existente para construir una pantalla de volumen. LevelIndicator es similar a ScrollIndicator, pero se muestra en el lado opuesto de la pantalla y tiene un ancho de trazo más amplio y un color de indicador diferente de forma predeterminada. (I8a4ac).
  • Se agregó TimePicker, con diseños para el formato de 24 horas (con o sin segundos) o de 12 horas con la selección de a.m./p.m. (Ia5124).
  • Agregamos DatePicker, con configuración para el orden de las columnas (es decir, día-mes-año, mes-día-año o año-mes-día) y fechas mínimas y máximas opcionales. (Ibf13b).
  • Agregamos un parámetro de peso a la función text de TimeText. En los casos en que TimeText se compone de más de un elemento de texto, esto permite controlar cómo se distribuye el espacio. (I36700).
  • Agregamos RadioButton y SplitRadioButton. Estos componentes simplifican la API anterior, ya que combinan el control de radio secundario (Split)SelectableButton y el secundario (If7ae8).
  • Agregamos CheckboxButton y SplitCheckboxButton. Estos componentes simplifican la API anterior, ya que combinan el control ToggleButton (dividido) y el control de casilla de verificación secundario. (Ia8f70)
  • Se agregaron SwitchButton y SplitSwitchButton. Estos componentes simplifican la API anterior, ya que combinan (Split)ToggleButton y el control interruptor secundario (I0d349).
  • Se actualizó la documentación de AnimatedText para explicar el comportamiento de superación. (Iff30a).
  • Agregamos ButtonGroup para combinar 2 o 3 botones, de modo que cuando se presiona uno de ellos se produce una animación coordinada. (Ie27db).
  • Se agregaron animaciones de forma opcionales para IconButton y TextButton cuando se presionan. (Iffca5).
  • Se agregó una variación de color adicional, FilledVariant, a Button, IconButton, TextButton, CompactButton y EdgeButton. (I65fc3)
  • Agregamos el parámetro forcedSize a ImageWithScrimPainter, de modo que los fondos de la imagen del botón ahora mantengan el tamaño del componente de forma predeterminada. Cuando se configura el forcedSize = null, se adopta el Painter.instrinsicSize en su lugar. (Ic57af).
  • Agregamos la función de clic largo a los botones. (Ib613d)
  • También se agregó compatibilidad con los clics largos a IconButton y TextButton. (I38891).
  • Se agregó compatibilidad con los clics largos a Tarjetas. (I305d5).
  • Agregamos LocalTextMaxLines, LocalTextAlign y LocalTextOverflow como CompositionLocals, y los usamos como valores predeterminados de los parámetros en Text. Los componentes como CheckboxButton, SwitchButton y RadioButton ahora pueden usar los elementos locales de composición para implementar la orientación de UX, pero los desarrolladores pueden anular los parámetros si es necesario. (Iab841).
  • Se agregó Placeholder para ayudar a enmascarar el contenido de componentes, como botones y hasta que se carguen los datos. (I1a532).
  • Agregamos IconToggleButtonColors y TextToggleButtonColors para reemplazar el ToggleButtonColors que se quitó. (Ie0bf1).

Correcciones de errores

  • Actualizamos Button, FilledTonalButton, OutlinedButton, ChildButton y CompactButton para usar los nuevos CompositionLocals LocalTextMaxLines, LocalTextAlign, LocalTextOverflow para implementar la orientación de UX. Los desarrolladores pueden anular estos parámetros directamente en Text si es necesario. (Ie51f7)
  • Cambiamos el ancho de trazo predeterminado de LevelIndicator a 6dp para diferenciarlo del ScrollIndicator, que tiene un ancho de trazo de 4dp. (If6f63).
  • Se corrigió un problema en TimeText para que se admitan ángulos de barrido más grandes (Ie489f).
  • Se corrigió un problema durante la recomposición de EdgeButton. (I4cdca).
  • Se corrigieron los diseños de los botones de activación de división cuando se proporciona padding de contenido personalizado. (Ia33d3).
  • Se redondearon los valores de progreso pequeños hasta al menos el ancho de línea del indicador de progreso. (I3bd84).

Versión 1.0.0-alpha23

14 de mayo de 2024

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha23. La versión 1.0.0-alpha23 contiene estas confirmaciones.

Cambios en la API

  • Se actualizaron las APIs de ToggleButton y RadioButton de modo que se puedan configurar los colores inhabilitados (If13a7).
  • Se agregó un CircularProgressIndicator nuevo para Material3. (Ib3bd7).

Correcciones de errores

  • Se corrigió un error por el que los botones seleccionables anunciaban presionar dos veces para activar o desactivar cuando ya estaban seleccionados. (I7ed88).

Versión 1.0.0-alpha22

1 de mayo de 2024

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha22. La versión 1.0.0-alpha22 contiene estas confirmaciones.

Cambios en la API

  • Actualizamos el objeto ColorScheme de Material3. (I7b2b8).
  • Actualizamos el interruptor de Material3. Además de algunos cambios de color, la marca ahora coincide con la que se usaba para la casilla de verificación. (Icac7b).

Correcciones de errores

  • Actualiza todas las demostraciones de integración para usar el nuevo modificador rotaryScrollable. (I25090).

Versión 1.0.0-alpha21

17 de abril de 2024

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha21. La versión 1.0.0-alpha21 contiene estas confirmaciones.

  • Esta versión se activó debido a un problema técnico en la versión anterior que provocó que faltaran los archivos jar fuente. No hay confirmaciones nuevas en esta versión.

Versión 1.0.0-alpha20

3 de abril de 2024

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha20. La versión 1.0.0-alpha20 contiene estas confirmaciones.

Correcciones de errores

  • Ajustamos los alfas de estado enfocado y Ripple presionado para contrastar. (I59f0a).
  • Agregamos espaciado entre las etiquetas principales y secundarias en Button, ToggleButton y RadioButton, según los últimos cambios en los estilos de tipografía y las alturas de línea. (I2c0ba).

Versión 1.0.0-alpha19

6 de marzo de 2024

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha19. La versión 1.0.0-alpha19 contiene estas confirmaciones.

Cambios en la API

  • Se agregó TimeText a la biblioteca de Wear Compose Material 3. Este componente muestra la hora actual (y el estado adicional) en la parte superior de la pantalla. La nueva API concisa de Material3 evita la duplicación entre contenido lineal y curvo. (I4d7c3).
  • Actualizamos los nombres de los parámetros de onSelected a onSelect para RadioButton. (I1a971).
  • Asigna tokens a RadioButton y SplitRadioButton, y refactoriza los métodos existentes para reducir la cantidad de búsqueda de CompositionLocal agregando instancias de colores almacenadas en caché y haciendo internos los métodos de RadioButtonColors y SplitRadioButtonColors. (I02b33).

Versión 1.0.0-alpha18

21 de febrero de 2024

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha18. La versión 1.0.0-alpha18 contiene estas confirmaciones.

Cambios en la API

  • Refactorizamos el patrón de valores predeterminados para CardColors, ToggleButtonColors y SplitToggleButtonColors creando instancias almacenadas en caché internamente y reduciendo el uso de CompositionLocal. (If3fec).

Versión 1.0.0-alpha17

7 de febrero de 2024

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha17. La versión 1.0.0-alpha17 contiene estas confirmaciones.

Cambios en la API

  • Actualizamos la API de Button para usar buttonColors de forma predeterminada y quitamos el filledButtonColors duplicado. (I4fe3b).
  • Refactorizamos los patrones predeterminados para ButtonColors, IconButtonColors y TextButtonColors mediante la creación de una instancia almacenada en caché de forma interna y la reducción del uso de CompositionLocal. (I5f51c).
  • Se quitó la sobrecarga de rememberUpdatedState en las clases de color específicas de componentes y marcamos los métodos de acceso dentro de las clases de color como internos. (If6571).

Correcciones de errores

  • Se actualizó Modifier.minimumInteractiveComponentSize para usar Modifier.node. (Iba6b7).

Versión 1.0.0-alpha16

24 de enero de 2024

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha16. La versión 1.0.0-alpha16 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó CompactButton, que puede usar los mismos colores tonales rellenos y de contorno que el botón (I05df0).

Cambios en la API

  • Agregamos RadioButton/SplitRadioButton como contenedores para los controles de selección, como el control de radio. Esto se diferencia del ToggleButton existente en que RadioButton se puede seleccionar (y opera dentro de un grupo de selección), mientras que ToggleButton se puede activar o desactivar (y es independiente). (I61275).
  • Se quitó LocalContentAlpha de la biblioteca de Wear Compose Material 3 para mantener la coherencia con la biblioteca de Compose Material 3. (I49a0a).
  • Se actualizaron los componentes de Material para Wear y Material3 que exponen un MutableInteractionSource en su API para exponer un MutableInteractionSource anulable que su valor predeterminado es nulo. No hay cambios semánticos aquí: pasar un valor nulo significa que no deseas elevar el MutableInteractionSource y, si es necesario, se creará dentro del componente. Cambiar a nulo permite que algunos componentes nunca asignen un MutableInteractionSource y permite que otros componentes solo creen de forma diferida una instancia cuando lo necesiten, lo que mejora el rendimiento de estos componentes. Si no usas el MutableInteractionSource que pasas a estos componentes, te recomendamos que pases un valor nulo. También se recomienda que realices cambios similares en tus propios componentes. (Ib90fc, b/298048146).
  • Se agregó una nueva API de ripple en las bibliotecas wear:compose-material y wear:compose-material3, que reemplaza la rememberRipple obsoleta. También se agregó un CompositionLocal temporal, LocalUseFallbackRippleImplementation, para revertir los componentes de Material al uso de las APIs de rememberRipple/RippleTheme obsoletas. Esta se quitará en la próxima versión estable y solo está diseñada como una ayuda de migración temporal para los casos en los que proporciones un RippleTheme personalizado. Consulta developer.android.com para obtener más información sobre la migración y otros antecedentes de este cambio. (af92b21).
  • Realizamos mejoras menores en la API de HorizontalPageIndicator y su documentación. (I60efc).
  • Actualizamos ColorScheme para que sea inmutable, lo que hace que las actualizaciones de color individuales sean menos eficientes, pero hace que el uso más común de los colores sea más eficiente. El motivo de este cambio es que la mayoría de las apps no tendrían la actualización de colores individuales como caso de uso principal. Esto es posible, pero se recompondrá más que antes. A su vez, reducimos significativamente la cantidad de suscripciones de estado a través de todo el código de material y afectará el costo de inicialización y tiempo de ejecución de más casos de uso estándar. (Ibc2d6).
  • Se actualizaron las APIs de ToggleButton y SplitToggleButton para permitir que se personalicen los colores inhabilitados. Además, los tokens de Material Design ahora se usan para valores de color y tipografía. (If087c).
  • Se actualizaron los colores de fondo de la imagen del botón para usar tokens de Material Design. (Iba215).
  • Cambiamos los componentes Checkbox, Switch y RadioButton para que sean de solo visualización. Para ello, quitamos el control de clics. Se espera que estos componentes se usen en (Split)ToggleButton, que controla el clic, por lo que ahora se indican con mayor claridad como de solo visualización (y no están destinados para uso independiente en Wear). (I2322e).

Correcciones de errores

  • Se agregaron tokens para los valores de movimiento de duraciones y aceleraciones en Wear Compose Material 3. (I437cd).
  • Corregimos un error en ToggleButton, SplitToggleButton, Checkbox, Switch y RadioButton para que los anuncios de accesibilidad no se repitan (anteriormente, se duplicaban los roles semánticos). (Ica281).
  • Quitamos la capa de Materialcore de CompactButton para mejorar el rendimiento. (7902858).

Versión 1.0.0-alpha15

15 de noviembre de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha15. La versión 1.0.0-alpha15 contiene estas confirmaciones.

Cambios en la API

  • Cambiamos el nombre del nivel de base SwipeToDismissBox a BasicSwipeToDismissBox. Esto hace que la distinción entre el componente de nivel de base y el SwipeToDismissBox de nivel de Material 3 sea más clara. Este último extrae colores de MaterialTheme para usarlos en scrims y delega la implementación restante a BasicSwipeToDismissBox. (Ibecfc).

Correcciones de errores

  • Se quitó la capa de núcleo de material para el botón de Material 3 a fin de mejorar el rendimiento. (I55555).

Versión 1.0.0-alpha14

18 de octubre de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha14. La versión 1.0.0-alpha14 contiene estas confirmaciones.

Cambios en la API

  • Quitamos el parámetro indicatorStyle del elemento HorizontalPageIndicator de Material3. En su lugar, seguirá la forma de la pantalla del dispositivo (lineal o redonda). (I83728).
  • Separamos los colores de SplitToggleButton de los de ToggleButton y agregamos una nueva clase SplitToggleButtonColors. (I78bee).

Versión 1.0.0-alpha13

4 de octubre de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha13. La versión 1.0.0-alpha13 contiene estas confirmaciones.

Cambios en la API

  • Se agregó un campo de subtítulo opcional a TitleCard. (Ifc45a).
  • Se agregaron tokens de color de Material Design para TextButton. (I769dc).

Versión 1.0.0-alpha12

20 de septiembre de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha12. La versión 1.0.0-alpha12 contiene estas confirmaciones.

Cambios en la API

  • Se actualizó IconButton para usar tokens de Material Design. (I3f137).
  • Se actualizó IconToggleButton para usar tokens de Material Design. (I7d263).
  • Publicamos los constructores de CheckboxColors, RadioButtonColors y SwitchColors. (I82b73).

Versión 1.0.0-alpha11

6 de septiembre de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha11. La versión 1.0.0-alpha11 contiene estas confirmaciones.

Correcciones de errores

  • Se actualizó la tipografía de las tarjetas de Material3 a TitleMedium. (I597bd).
  • Actualizamos la tipografía y alineación de ListHeader y ListSubheader de Material 3. (Ib5ceb).

Versión 1.0.0-alpha10

23 de agosto de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó HorizontalPageIndicator en la biblioteca de Material 3 para Wear. (Ifee99).

Cambios en la API

  • Se actualizó el código de los botones para usar tokens de diseño de Material 3. (I92fe4).
  • Se declaran las APIs de Stepper y Slider de Wear Material 3 como experimentales, ya que los detalles de la interfaz de usuario aún se están ultimando. (I84d54).
  • Quitamos los tamaños de ExtraSmall de la TextButton y la TextToggleButton redondas, ya que ese tamaño solo se aplica a IconButton. (Ibc7d5).

Correcciones de errores

  • Actualizamos la guía sobre tipografía para TextToggleButton a fin de usar LabelLarge para LargeButtonSize. (Ib10fa)
  • Actualizamos la guía sobre tipografía para TextButton a fin de usar LabelLarge para LargeButtonSize. (I8f3a7)
  • Configuramos el objetivo táctil mínimo de la tarjeta para que sea de 48 dp de accesibilidad. (Ieb9b1).
  • Se agregó la AppCard con la demostración de imagen y se quitó la AppCard con la demostración en segundo plano. (Id735f)
  • Se corrigió un error en los botones redondos en el que los modificadores no se encadenaban correctamente (I5e162).

Versión 1.0.0-alpha09

9 de agosto de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha09. La versión 1.0.0-alpha09 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó ToggleButton para material3 (I6bed6).

Cambios en la API

  • Activamos la anotación FloatRange como restricciones de API , que se mencionaron anteriormente en los comentarios. (Icb401).
  • Actualizamos la tipografía de Wear Material3 de modo que cumpla con los lineamientos más recientes de Material3. (I1bad6).

Correcciones de errores

  • Se actualizaron los colores de Button, IconButton y TextButton en función del diseño de Material 3. (Ib2495).
  • Se corrigió la visibilidad de las marcas de verificación en los estados inhabilitados. (Ib25bf).

Versión 1.0.0-alpha08

26 de julio de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron los siguientes controles de selección para Material3: Switch, Checkbox y RadioButton. (Ib918c).
  • Agregamos IconToggleButton y TextToggleButton a Material3, un botón de activación circular con una sola ranura para el ícono y el texto, respectivamente. Para diferentes tamaños de ToggleButton, te recomendamos que uses Modifier.touchTargetAwareSize con los tamaños que se proporcionan en los botones de activación respectivos. (I9f015).
  • Agregamos ListHeader y ListSubheader a nuestros componentes de Material3. (Ibaefe).
  • Se agregó SwipeToDismissBox de Material3, que llama al nuevo elemento SwipeToDismissBox de base y proporciona valores de color predeterminados a partir de su tema. (I275fb).
  • Se agregó InlineSlider de Material3 a Wear Compose. Permite que los usuarios seleccionen un rango de valores. El rango de selecciones se muestra como una barra entre los valores mínimos y máximos del rango, desde el que los usuarios pueden seleccionar un solo valor. InlineSlider es ideal para ajustar parámetros de configuración, como el volumen o el brillo. (I7085f).

Cambios en la API

  • Actualizamos las formas en el tema de Material 3 para Wear para que usen RoundedCornerShape en lugar de Shape. (Idb133).
  • Configuramos como públicas las constantes de altura del botón. (Idbfde)
  • Se actualizaron los archivos de la API para anotar la supresión de compatibilidad (I8e87a, b/287516207).
  • Se actualizó InlineSliderColors en Wear Compose Material 3 para que tenga propiedades públicas y de constructor. (I6b632).
  • Actualizamos todas las clases de color en Wear Compose Material 3 para que tengan constructores públicos y propiedades públicas. (I17702).
  • Las constantes de padding horizontal y vertical de Button son públicas. (Ieeaf7).

Correcciones de errores

  • Cuando sea necesario, el botón ajustará su altura para adaptarse al contenido que creció debido a la presencia de fuentes grandes para facilitar la accesibilidad. (Iaf302)
  • Actualizamos varias demostraciones de Button para abordar los problemas de accesibilidad. (I61ce9).
  • Stepper y InlineSlider ahora admiten clics repetidos cuando se mantiene presionado para que puedas aumentar o disminuir rápidamente el valor de Stepper y InlineSlider si mantienes presionados los botones + o -. (I27359)

Versión 1.0.0-alpha07

21 de junio de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.

Nuevas funciones

  • Agregamos el componente Stepper a nuestra biblioteca de Material 3 de Compose para Wear OS. Es similar a la versión anterior de Material, pero omite la semántica de rango de forma predeterminada, según los comentarios de los desarrolladores. Proporcionamos Modifier.rangeSemantics los casos en los que se requiere la semántica del rango. (Ic39fd).
  • Agregamos curvedText a nuestra biblioteca de Material 3 de Compose para Wear OS. (Ia8ae3).

Correcciones de errores

  • Se actualizó wear.compose.foundation para que sea una dependencia de API de wear.compose.material3. (I72004, b/285404743)

Versión 1.0.0-alpha06

7 de junio de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Correcciones de errores

  • Se actualizó TextButton para usar la función de extensión toDisabledColor para los valores alfa inhabilitados correctos. (I814c8).

Versión 1.0.0-alpha05

24 de mayo de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó TextButton a Material3, un botón circular con una sola ranura para texto. Para diferentes tamaños de TextButton, te recomendamos usar Modifier.touchTargetAwareSize y ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize y LargeButtonSizeIcon proporcionados en TextButtonDefaults. El TextButton predeterminado no tiene borde y un fondo transparente para las acciones de bajo énfasis. Para las acciones que requieren mucho énfasis, usa filledTextButtonColors. para un énfasis medio, delineado TextButton, establece el borde en ButtonDefaults.outlinedButtonBorder; para un punto medio entre el contorno y el relleno, usa filledTonalTextButtonColors. (I667e4).
  • Se agregaron Card, OutlinedCard, AppCard y TitleCard a la biblioteca de Wear Compose Material 3. AppCard y TitleCard también pueden tener la apariencia de contorno mediante CardDefaults.outlinedCardColors y CardDefaults.outlinedCardBorder(I80e72).

Cambios en la API

  • Movimos el parámetro de etiqueta Button al final para admitir la sintaxis de expresión lambda al final y quitamos el parámetro de rol (ya que se puede anular con Modifier.semantics). Los constructores ButtonColors ahora son públicos. (Ie1b6d).

Versión 1.0.0-alpha04

10 de mayo de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó IconButton a Material3, un botón circular con una sola ranura para el ícono o la imagen. Hay cuatro variaciones: IconButton, FilledIconButton, FilledTonalIconButton y OutlinedIconButton. Para diferentes tamaños de IconButton, te recomendamos usar Modifier.touchTargetAwareSize y ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize y LargeButtonSizeIcon proporcionados en IconButtonDefaults. También proporcionamos IconButtonDefaults.iconSizeFor para determinar el tamaño de ícono recomendado para un tamaño de botón determinado. (I721d4).

Versión 1.0.0-alpha03

19 de abril de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • Agregamos el componente Botón de Material 3. Este es nuestro botón con forma de estadio y antes se llamaba Chip en la biblioteca de Wear Compose Material (se cambió el nombre por Button para mantener la coherencia con la biblioteca de Compose Material 3). El botón predeterminado tiene un fondo relleno y hay variantes de botón para FilledTonal (fondo silenciado), Contorno (transparente con un borde fino) y Secundario (fondo transparente y sin borde, que se usan para acciones complementarias con la menor importancia). Los botones redondos para íconos y contenido de texto simples se incluirán en una versión futura (Ia6942).

Versión 1.0.0-alpha02

5 de abril de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Correcciones de errores

  • Se agregó un DefaultTextStyle a Wear Compose Material 3, que establece PlatformTextStyle.includeFontPadding como verdadero de forma predeterminada (la configuración actual). De esta manera, podremos sincronizar la desactivación del padding de la fuente de forma predeterminada con las bibliotecas de Compose en el futuro (consulta Cómo corregir el padding de la fuente en Compose para el fondo). (I7e461).

Versión 1.0.0-alpha01

22 de marzo de 2023

Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Material 3 es la próxima evolución de Material Design e incluye temas actualizados y componentes rediseñados. Material 3 en Wear Compose está diseñado para ser cohesivo con la biblioteca de Compose de Material 3 en Android. Esta primera versión alfa contiene implementaciones iniciales y funcionales de lo siguiente:

    • Tema de Material: Configura el esquema de colores, la tipografía y las formas de manera coherente en todos los componentes de la biblioteca. El tema de Material3 tiene colores revisados para admitir un contraste accesible. (I84005).
    • Texto/ícono: Componentes básicos de apps para Wear Compose (I8e06a)
  • Seguiremos desarrollando Wear Material (androidx.wear.compose:compose-material) y Wear Material 3 (androidx.wear.compose:compose-material3) en paralelo. Las próximas versiones de Material 3 extenderán el conjunto de widgets para incluir otros componentes conocidos de Compose para Wear OS, como botones, selectores y controles deslizantes.

  • Las bibliotecas de Material para Wear y Material 3 son mutuamente excluyentes y no deben mezclarse en la misma app, principalmente porque hacen referencia a diferentes temas que generarían inconsistencias inesperadas.

Wear Compose versión 1.5

Versión 1.5.0-alpha01

4 de septiembre de 2024

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

Cambios en la API

  • Se agregó un nuevo LazyColumn a la biblioteca de Wear Compose Foundation con las APIs de LazyColumnState y LazyColumnScope asociadas. Esto sirve como base para compilar efectos de escalamiento y transformación personalizables con Wear Compose. (Ib3b22).
  • Agregamos una versión indexada de itemsIndexed a LazyColumnScope como parte de la nueva API de LazyColumn. (Ib4a57).
  • Agregamos modificadores LazyColumn para admitir comportamientos de escalamiento y transformación. (Ie229a).
  • Se ascendió HierarchicalFocusCoordinator a estable. (I31035).
  • Se agregó compatibilidad con el espacio entre letras en el texto curvo. (I3c740).
  • Se agregó un parámetro rotationLocked a CurvedLayout.curvedComposable para evitar que se roten los componentes. (I66898).
  • Se quitó la API temporal de LocalUseFallbackRippleImplementation de Wear Material y Wear Material3 (I62282).
  • Se quitó WearDevices.SQUARE de la vista previa múltiple de @WearPreviewDevices (I11c02).

Correcciones de errores

  • SwipeToReveal ahora posiciona los elementos revelados en la parte visible de la pantalla, lo que ayuda cuando se usa SwipeToReveal en una lista para que los elementos siempre puedan interactuar y nunca queden fuera de la pantalla. (I38929).
  • SwipeToReveal ahora restablece lastActionType a None cuando se completa animatedTo. (I59b03).
  • Se mejoró la documentación del nuevo parámetro rotationLocked en curvedComposable. (Ifbd57).
  • Se corrigió una falla que se producía cuando se pasaba NaN al performFling de ScalingLazyColumnSnapFlingBehavior. (Ic13da).
  • Se corrigió el error en el modificador de tamaño de diseño curvo (I0fedf).
  • Se agregó compatibilidad con el espaciado entre letras que se especifica en “sp”. (I9f6e3).
  • Se corrigió un error en el diálogo de Material2 por el que no se llamaba a la devolución de llamada onDismissRequest cuando el diálogo se hacía invisible. (I64656)
  • Se cambió el nombre de LayoutCoordinates.introducesFrameOfReference por LayoutCoordinates.introducesMotionFrameOfReference para reflejar mejor su propósito. Se cambió el nombre de la función relacionada para calcular coordenadas basadas en esa marca. (I3a330).

Versión 1.4

Versión 1.4.0

4 de septiembre de 2024

Lanzamiento de androidx.wear.compose:compose-*:1.4.0. La versión 1.4.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.3.0

  • ScalingLazyColumn y Picker ahora admiten la entrada rotativa de forma predeterminada. Se recomienda quitar el control rotativo explícito y diferir al comportamiento predeterminado del sistema. Si es necesario, usa el parámetro rotaryScrollableBehavior para configurar el comportamiento de desplazamiento o ajuste. Para el comportamiento de ajuste, se recomienda proporcionar comportamiento de ajuste y capacidades de desplazamiento táctil con el parámetro flingBehavior.
  • Modifier.rotaryScrollable es un nuevo modificador que conecta eventos rotativos con contenedores desplazables, lo que permite a los usuarios desplazarse con una corona o un bisel giratorio en su dispositivo Wear OS.
  • SwipeDismissableNavHost ahora proporciona una animación de entrada para transiciones dentro de la app.
  • Ahora, PositionIndicator se muestra de forma predeterminada cuando aparece una pantalla por primera vez.

Cambios adicionales

  • Para obtener un conjunto más completo de los cambios que se implementaron en la versión 1.3.0, consulta las notas de la versión beta01.

Versión 1.4.0-rc01

21 de agosto de 2024

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

  • Se actualizaron las dependencias de Compose a 1.7.0-rc01 y fijamos la navegación de Wear Compose a androidx.lifecycle 2.8.3.

Versión 1.4.0-beta03

12 de junio de 2024

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

Correcciones de errores

  • Actualizamos Modifier.rotaryScrollable para reemplazar el uso de “focusable” por “focusTarget”, que mejora el rendimiento. (Id294b).
  • Corregimos un problema por el que ProgressIndicator repitió su anuncio en TalkBack. (I94563).
  • Se actualizaron los perfiles de referencia de la biblioteca de Wear Compose. (I3cbc3).

Versión 1.4.0-beta02

29 de mayo de 2024

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

Correcciones de errores

  • Aumentamos el ancho de límite que se pasa a los lectores de pantalla de texto curvo para abordar los problemas de truncamiento (Id865f).
  • Restringimos el límite de la HorizontalPageIndicator que se pasaba a los lectores de pantalla; antes, el indicador ocupaba la pantalla completa (Id8d7a).

Versión 1.4.0-beta01

14 de mayo de 2024

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

La versión 1.4-beta01 de Compose para Wear OS indica que esta versión de la biblioteca está completa y que la API está bloqueada (excepto cuando se marca como experimental). Wear Compose 1.4 incluye las siguientes funciones nuevas:

  • Agregamos Modifier.rotaryScrollable, un nuevo modificador que conecta eventos rotativos con contenedores desplazables, lo que permite a los usuarios desplazarse con una corona o un bisel giratorio en su dispositivo Wear OS. Además, ScalingLazyColumn y Picker ahora admiten la entrada rotativa de forma predeterminada. Utiliza el parámetro rotaryScrollableBehavior para configurar el comportamiento de desplazamiento o ajuste. Para el comportamiento de ajuste, se recomienda proporcionar ajuste a través del parámetro flingBehavior también para el desplazamiento táctil.
  • SwipeDismissableNavHost ahora proporciona una animación de entrada para transiciones dentro de la app.
  • Ahora, PositionIndicator se muestra de forma predeterminada cuando aparece una pantalla por primera vez.
  • Se agregaron SelectableChip y SplitSelectableChip como una variación en ToggleChip. Usa esta opción con RadioButton para proporcionar semántica seleccionable en lugar de semántica que se puede activar o desactivar para la accesibilidad.
  • ListHeader ahora admite ajustes de altura cuando el contenido necesita altura adicional para adaptarse a tamaños de fuente grandes.

Correcciones de errores

  • Corregimos un error por el que los chips seleccionables anuncian que se presiona dos veces para activar o desactivar cuando ya están seleccionados. (I7ed88).

Versión 1.4.0-alpha08

1 de mayo de 2024

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

Cambios en la API

  • Realizamos los siguientes cambios en la nueva API rotativa: se cambió el nombre de Modifier.rotary a Modifier.rotaryScrollable Se cambió el nombre de la interfaz RotaryBehavior a RotaryScrollableBehavior y su función handleScrollEvent a performScroll. se cambió el nombre de RotaryScrollableAdapter a RotaryScrollableLayoutInfoProvider y se quitó la propiedad scrollableState. (I0c8a6).
  • Realizamos cambios adicionales en la API de rotativos: se cambió el nombre de RotaryScrollableLayoutInfoProvider a RotarySnapLayoutInfoProvider (porque este proveedor solo se necesita para los controles rotativos con ajuste). se cambió el tipo del parámetro snapOffset en RotaryScrollableDefaults.snapBehavior snapOffset de Int a Dp. (Iddebe).
  • Cambiamos el nombre del parámetro clickInteractionSource de SplitSelectableChip a containerInteractionSource. (Ia8f84).
  • Actualizamos los nombres de los parámetros de devolución de llamada de clics para SplitSelectableChip, de onClick a onSelectionClick y de onBodyClick a onContainerClick. (I32237).

Correcciones de errores

  • Actualizamos el padding horizontal de PositionIndicator a 2 dp (antes era de 5 dp) para corregir un error por el que PositionIndicator (barra de desplazamiento) se superpone con el contenido desplazable Ten en cuenta que se espera que este cambio dañe las capturas de pantalla existentes que incluyen PositionIndicator debido al cambio del padding. (I57472).
  • Mejoramos la documentación de la nueva API rotativa describiendo las diferencias entre los dispositivos rotativos de baja y alta resolución. (I63abe).
  • Abordamos una excepción de fuera de rango en SwipeDismissableNavHost que podría activarse cuando los valores alfa interpolados sean inferiores a cero. (Ib75a1, b/335782510).

Versión 1.4.0-alpha07

17 de abril de 2024

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

Cambios en la API

  • Agregamos Modifier.rotary, un nuevo modificador que conecta eventos rotativos con contenedores desplazables, lo que permite a los usuarios desplazarse con una corona o un bisel giratorio en su dispositivo Wear OS. Además, ScalingLazyColumn y el selector ahora admiten la entrada rotativa de forma predeterminada, con nuevas sobrecargas que incluyen el parámetro rotaryBehavior para especificar la configuración de desplazamiento o ajuste. Si el parámetro rotaryBehavior está configurado para ajustar, se recomienda proporcionar ajuste a través del parámetro flingBehavior también para el desplazamiento táctil. (I2ef6f).
  • Se reemplazarán los elementos Drag y Fling de las fuentes NestedScroll por UserInput y SideEffect para adaptarse a la definición extendida de estas fuentes, que ahora incluyen animaciones (Efecto lateral) y Rueda del mouse y Teclado (UserInput). (I40579).
  • Agregamos SelectableChip y SplitSelectableChip para que la distinción entre controles de activación, como Switch/Checkbox, y controles seleccionables, como RadioButton, sea más claro. Esto reemplaza las sobrecargas de ToggleChip/SplitToggleChip agregadas anteriormente con parámetros selectionControl. (Ia0217).
  • Se actualizó el modificador de visibilidad de IndeterminateStrokeWidth en ProgressIndicatorDefaults a público. (I5b5a4).

Versión 1.4.0-alpha06

3 de abril de 2024

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

Correcciones de errores

  • Agregamos un borrador interno de compatibilidad rotativa, como parte de un esfuerzo más amplio de migración del comportamiento de Rotary a AndroidX desde Horologist. (I617d1).
  • Agregamos un borrador interno de compatibilidad con tecnología táctil, como parte de un esfuerzo mayor para migrar el comportamiento de Rotary a AndroidX desde Horologist. (I5568a).

Versión 1.4.0-alpha05

20 de marzo de 2024

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

Cambios en la API

  • Ahora las propiedades initialCenterItemIndex y initialCenterItemScrollOffset de ScalingLazyListState son públicas. (I0c616).
  • Ahora la FullScreenStrokeWidth de ProgressIndicatorDefaults es pública. (Ibea23).

Correcciones de errores

  • Mejoramos el rendimiento de PositionIndicator reduciendo la cantidad de llamadas a layoutInfo de ScalingLazyColumn. (Idc83d).

Versión 1.4.0-alpha04

6 de marzo de 2024

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

Cambios en la API

  • Agregamos una nueva sobrecarga para ToggleChip y SplitToggleChip que toma un parámetro selectionControl en lugar del parámetro toggleControl. Se debe usar con el control RadioButton para proporcionar semántica seleccionable en lugar de semántica que se puede activar o desactivar para la accesibilidad. (I1d6d9)
  • Se actualizaron los nombres de los parámetros de la nueva sobrecarga de selectionControl de onSelected a onSelect para ToggleChip y SplitToggleChip. (I1a971)

Versión 1.4.0-alpha03

21 de febrero de 2024

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

Cambios en la API

  • El wrapper Modifier.inspectable dejó de estar disponible. Esta API creará más invalidaciones de tu modificador que las necesarias, por lo que no se recomienda su uso. Se recomienda a los desarrolladores que implementen el método inspectableProperties() en ModifierNodeElement si desean exponer las propiedades del modificador a las herramientas. (Ib3236).

Correcciones de errores

  • Se corrigió un error de documentación para las anotaciones WearPreview*. (Id526d).

Versión 1.4.0-alpha02

7 de febrero de 2024

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

Correcciones de errores

  • Se corrigió un error en el gesto de deslizar para revelar, por el que era posible interactuar con una acción confirmada (y cancelar) en un elemento empezando a deslizar otro (Ide059).
  • Se actualizó ListHeader para admitir ajustes de altura cuando el contenido necesita una altura adicional para adaptarse a tamaños de fuente grandes. (I7290c, b/251166127).

Versión 1.4.0-alpha01

24 de enero de 2024

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

Nuevas funciones

  • Se agregó animación de entrada a SwipeDismissableNavHost para transiciones en la app (cfeb79a).
  • Ahora, PositionIndicator se muestra de forma predeterminada cuando aparece una pantalla por primera vez. Se realizó este cambio para ayudar a cumplir con los lineamientos de calidad de Wear. Desafortunadamente, significa que las pruebas de captura de pantalla deberán actualizarse en pantallas que incluyan PositionIndicator, ya que PositionIndicator no se habría mostrado antes. (419cef7).

Cambios en la API

  • Agregamos una nueva API de ripple en las bibliotecas wear:compose-material y wear:compose-material3 que reemplaza la rememberRipple obsoleta. También se agregó un CompositionLocal temporal, LocalUseFallbackRippleImplementation, para revertir los componentes de Material al uso de las APIs de rememberRipple/RippleTheme obsoletas. Esta se quitará en la próxima versión estable y solo está diseñada como una ayuda de migración temporal para los casos en los que proporciones un RippleTheme personalizado. Consulta developer.android.com para obtener más información sobre la migración y otros antecedentes de este cambio. (af92b21).
  • Actualizamos ColorScheme para que sea inmutable, lo que hace que las actualizaciones de color individuales sean menos eficientes, pero hace que el uso más común de los colores sea más eficiente. El motivo de este cambio es que la mayoría de las apps no tendrían la actualización de colores individuales como caso de uso principal. Esto es posible, pero se recompondrá más que antes. A su vez, reducimos significativamente la cantidad de suscripciones de estado a través de todo el código de material y afectará el costo de inicialización y tiempo de ejecución de más casos de uso estándar. (f5c48b7).
  • Se actualizaron los componentes de Material para Wear y Material 3 que exponen un MutableInteractionSource en su API para exponer un MutableInteractionSource anulable que su valor predeterminado es nulo. No hay cambios semánticos aquí: pasar un valor nulo significa que no deseas elevar el MutableInteractionSource y, si es necesario, se creará dentro del componente. Cambiar a nulo permite que algunos componentes nunca asignen un MutableInteractionSource, y permite que otros componentes solo creen de forma diferida una instancia cuando lo necesiten, lo que mejora el rendimiento de estos componentes. Si no usas el MutableInteractionSource que pasas a estos componentes, te recomendamos que pases un valor nulo. También se recomienda que realices cambios similares en tus propios componentes. (f8fa920).
  • Se actualizó rememberExpandableState para guardar el estado expandible. Esto garantiza que los datos se almacenen cuando se navega a otra pantalla y que se restablezcan cuando regresen a la pantalla original. (5c80095).

Correcciones de errores

  • Actualizamos el parámetro de configuración ReduceMotion para usar un objeto de escucha optimizado para ciclos de vida. (7c6b122).
  • Se actualizó el objeto de escucha de TouchExplorationStateProvider para que priorice el ciclo de vida (be28b01).
  • Se quitó la capa de Materialcore de CompactButton para mejorar el rendimiento (25db8e9).
  • Se hizo que BasicSwipeToDismissBox sea más sólido para las compensaciones de NaN a fin de evitar excepciones. (b983739)
  • Se actualizó BasicSwipeToDismissBox para garantizar que los valores alfa se encuentren dentro del rango 0,1.
  • Se corrigió un error en ToggleButton, SplitToggleButton, Checkbox, Switch y RadioButton para que los anuncios de accesibilidad no se repitan (antes, se duplicaron los roles semánticos) (d11eeb7).

Versión 1.3

Versión 1.3.1

3 de abril de 2024

Lanzamiento de androidx.wear.compose:compose-*:1.3.1. La versión 1.3.1 contiene estas confirmaciones.

Correcciones de errores

  • Corregimos un error en el gesto de deslizar para revelar, por el que era posible interactuar con (y cancelar) una acción confirmada en un elemento empezando a deslizar otro. (Ide059).

Versión 1.3.0

24 de enero de 2024

Lanzamiento de androidx.wear.compose:compose-*:1.3.0. La versión 1.3.0 contiene estas confirmaciones.

Cambios importantes desde 1.2.0

  • La clase SwipeToDismissBoxState, la enumeración SwipeToDismissValue y la función de extensión Modifier.edgeSwipeToDismiss ahora son parte del paquete androidx.wear.compose.foundation, en lugar del paquete androidx.wear.compose.material. Esta arquitectura actualizada te permite implementar el control gestual independientemente de otras consideraciones de diseño. Los flujos de trabajo de Material Design, como la aplicación de colores de un tema configurado, se controlan por separado.
  • Las clases SwipeToRevealCard y SwipeToRevealChip te ayudan a implementar recommended swipe-to-reveal guidance. La clase SwipeToRevealSample demuestra cómo usar estos componentes.
  • Nuestra versión 1.3.0-alpha02 introdujo un cambio que hace que los objetos Chip y ToggleChip aumenten su altura para admitir mejor el escalamiento de fuente seleccionado por el usuario. Esto puede provocar recortes. Para solucionar este problema, la forma large de MaterialTheme ahora usa un radio de esquina más grande (26 dp en lugar de 24 dp). Los objetos Chip y ToggleChip usan este nuevo radio de esquina para evitar recortar contenido en las esquinas de Chip y ToggleChip.

    • La mayoría de los objetos Chips y ToggleChips no se modifican, debido a su altura predeterminada de 52 dp. Sin embargo, los objetos Chip y ToggleChip que contienen varias líneas de texto de etiqueta primaria o secundaria, o para los que se anuló la altura, podrían fallar las pruebas de captura de pantalla.

Cambios adicionales

Para obtener un conjunto más completo de los cambios que se implementaron en la versión 1.3.0, consulta las notas de la versión beta01.

Recomendaciones para la implementación

  • Si tu app permite que los usuarios se desplacen por el contenido de la pantalla, como en una app basada en mapas, desactiva el control de deslizamiento estableciendo userSwipeEnabled en false en el elemento componible SwipeDismissableNavHost y, luego, incluye un botón que permita a los usuarios ir a la pantalla anterior.
  • Si deseas desactivar las animaciones para un indicador de posición durante las animaciones de fundido de entrada y de cambio de posición dentro de una lista de desplazamiento, usa un objeto SnapSpec.
  • Mientras esperas a que una app de música cargue contenido para la reproducción, muestra un elemento Placeholder componible en blanco.
  • Para crear una colección de elementos expandibles a pedido, considera usar la clase experimental ExpandableStateMapping.

Versión 1.3.0-rc01

10 de enero de 2024

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

Correcciones de errores

  • Actualizamos la forma grande MaterialTheme para usar un radio de esquina redondeada de 26 dp, que ahora Chip y ToggleChip usarán. Este cambio es necesario para admitir ajustes de altura cuando el contenido necesita una altura adicional para adaptarse a tamaños de fuente grandes; de lo contrario, la forma de estadio existente recorta cierto contenido de texto.

    Texto recortado en esquinas
    Figura 1: Texto recortado en esquinas.
    Texto no recortado
    Figura 2: Texto no recortado.

    Este cambio puede causar fallas en las pruebas de capturas de pantalla. (I2e6ae).

Versión 1.3.0-beta02

13 de diciembre de 2023

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

Correcciones de errores

  • Restablecimos el movimiento de deslizamiento deseado en BasicSwipeToDismissBox. Esto se había modificado en una versión anterior, de modo que la parte de deslizamiento de la transición se produjo mientras el dedo tocaba la pantalla. (Id8e76).

Versión 1.3.0-beta01

15 de noviembre de 2023

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

La versión 1.3-beta01 de Compose para Wear OS indica que esta versión de la biblioteca está completa y que la API está bloqueada (excepto cuando se marca como experimental). Wear Compose 1.3 incluye las siguientes funciones nuevas:

  • Se migraron SwipeToDismissBoxState, SwipeToDismissValue y Modifier.edgeSwipeToDismiss de androidx.wear.compose.material a androidx.wear.compose.foundation, junto con la implementación subyacente de deslizar para descartar en BasicSwipeToDismissBox. Esto permite que el control gestual de deslizar para descartar se use independientemente de Material Design, por ejemplo, desde SwipeDismissableNavHost en androidx.wear.compose.navigation. Aún se recomienda usar SwipeToDismissBox de androidx.wear.compose.material con Material Design, ya que extrae colores de MaterialTheme y, luego, delega la implementación restante a BasicSwipeToDismissBox.
  • SwipeDismissableNavHost ahora admite un nuevo parámetro userSwipeEnabled, de modo que se puede desactivar el control de deslizamiento para las pantallas en las que no es obligatorio.
  • BasicSwipeToDismissBox mejoró el control del enfoque mediante HierarchicalFocusCoordinator.
  • SwipeToReveal tiene nuevos elementos componibles SwipeToRevealCard y SwipeToRevealChip en Material que siguen la guía de UX recomendada para Card y Chip. También permite deshacer la acción secundaria.
  • DefaultTextStyle ahora desactiva el padding de la fuente para que sea coherente en toda la plataforma de Android.
  • Chip y ToggleChip ahora ajustan su altura para adaptarse al contenido que creció debido a las fuentes grandes para mejorar la accesibilidad.
  • PositionIndicator ahora tiene especificaciones de animación individuales para las animaciones de atenuación de entrada, atenuación de salida y cambio de posición. Por motivos de rendimiento, recomendamos que el fundido de entrada y el cambio de posición se desactiven cuando se utilicen con listas desplazables.
  • ExpandableStateMapping proporciona una nueva forma de generar ExpandableStates cuando se deben crear a pedido y no necesariamente con un permiso @Composable.
  • Placeholder ahora permite el restablecimiento si el contenido ya no está listo. Además, el parámetro de configuración para reducir el movimiento ahora se aplica al efecto de brillo y al movimiento de borrado en Placeholder.

Errores conocidos

  • PositionIndicator no aparece inicialmente cuando se muestra una pantalla por primera vez. Tenemos la intención de realizar un cambio en una versión alfa de 1.4 inicial para que se muestre inicialmente, pero sin animación.

Cambios en la API

  • Cambiamos el nombre del nivel de base SwipeToDismissBox a BasicSwipeToDismissBox. Esto hace que la distinción entre el componente de nivel de base y el SwipeToDismissBox de nivel de Material sea más claro. Este último extrae colores de MaterialTheme para usarlos en scrims y delega la implementación restante a BasicSwipeToDismissBox. (Ibecfc).
  • Marcamos rememberExpandableStateMapping como experimental y mejoramos el rendimiento de expandableItem. (I5f6bc).
  • Reemplazamos la clase SwipeToRevealAction en las APIs de Chip y Card de Material SwipeToReveal por una API basada en ranuras con elementos componibles SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction y SwipeToRevealUndoAction. Consulta el código de muestra para ver ejemplos de cómo usar la nueva API. (Ia8943).
  • Reemplazamos las marcas de animación PositionIndicator por los parámetros AnimationSpec. Las animaciones individuales se pueden inhabilitar pasando snap como AnimationSpec. (I6c523).

Correcciones de errores

  • Se corrigió un error que se activaba por texto curvo limitado cuando el tamaño era limitado (I50efe).
  • Abordamos una posible falla de NaN relacionada con curvedComposable (I970eb).
  • Revertimos la eliminación de la animación de resaltado de cambio de posición en PositionIndicator. (Ieb424).
  • Se quitó la capa de núcleo de material de Material Chip para mejorar su rendimiento. (If2dcb).

Versión 1.3.0-alpha08

18 de octubre de 2023

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

Cambios en la API

  • Agregamos marcas individuales a las sobrecargas de PositionIndicator para controlar diferentes animaciones: showFadeInAnimation, showFadeOutAnimation y showPositionAnimation. La API anterior dejó de estar disponible y desvía llamadas a la nueva. Por motivos de rendimiento y por la coherencia de la UX, cuando se usa PositionIndicator con una lista desplazable, te recomendamos desactivar las marcas showFadeInAnimation y showPositionAnimation. Si PositionIndicator se usa como un indicador independiente, por ejemplo, para el cambio de volumen, te recomendamos que tengas activadas las 3 animaciones. (I44294).
  • Dimos de baja los elementos SwipeToDismissBoxState, SwipeToDismissValue y edgeSwipeToDismiss de Material después de la migración de la función de deslizar para descartar a wear.compose.foundation. Reemplázalas por wear.compose.foundation equivalentes. (Iee8c9).

Correcciones de errores

  • Actualizamos los perfiles de Baseline para las bibliotecas de base, materiales y navegación de Wear Compose. (Idb060).
  • Se revirtió un cambio de comportamiento para PositionIndicator que se introdujo en una CL anterior, de modo que se animó el PositionIndicator cuando se mostraba por primera vez una pantalla. Tenemos la intención de realizar un cambio similar en una versión alfa de 1.4 inicial para que se muestre PositionIndicator inicialmente, pero sin animación. (I41843).
  • Corregimos algunos problemas de rendimiento en PositionIndicator. (I1c654, b/302399827).
  • Optimizamos el rendimiento de la implementación predeterminada del proveedor de estado de la exploración táctil para que se base en State<Boolean> en lugar del estado derivado. (Ieec4d).
  • Configuramos rectángulos de systemGestureExclusion para Android 13 y versiones posteriores. (Ib1f4b).

Versión 1.3.0-alpha07

4 de octubre de 2023

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

Cambios en la API

  • Agregamos marcas individuales a PositionIndicator para controlar diferentes animaciones: showFadeInAnimation, showFadeOutAnimation y showPositionAnimation. La API anterior dejó de estar disponible y desvía llamadas a la nueva. Por motivos de rendimiento y por la coherencia de la UX, cuando se usa PositionIndicator con una lista desplazable, te recomendamos desactivar las marcas showFadeInAnimation y showPositionAnimation. Si PositionIndicator se usa como un indicador independiente, por ejemplo, para el cambio de volumen, te recomendamos que tengas activadas las 3 animaciones. (Ia2d63).

Correcciones de errores

  • Realizamos mejoras en la opción de deslizar para revelar el movimiento. Para ello, agregamos una animación de atenuación al texto de la acción principal y atenuaron la acción secundaria o cambiaron la escala del ícono cuando se desliza el dedo por completo. (Ib7223).
  • Se recomienda que las acciones de deslizar para revelar sean accesibles y que hayamos agregado acciones de accesibilidad personalizadas a nuestras muestras de deslizar para revelar. (I42224).
  • Mejoramos el rendimiento de SwipeToDismissBox, incluida la refactorización para garantizar que la lógica inicial no active una recomposición. El elemento SwipeToDismissBox ahora se dibuja como el tamaño de pantalla completa. (Ie0aa2).
  • Corregimos un error que se producía cuando PositionIndicator desapareció por error. (I2091a).
  • Se mejoró el rendimiento de PositionIndicator optimizando las recomposiciones. Posteriormente, se agregaron nuevas marcas para controlar las animaciones (fadeIn, fadeOut y positionChange) (consulta Cambios en la API) (Ifac7d).
  • Se agregaron pruebas de Microbenchmark para PositionIndicator (Idf875).

Versión 1.3.0-alpha06

20 de septiembre de 2023

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

Correcciones de errores

  • Se agregó compatibilidad con Modifier.edgeSwipeToDismiss con SwipeToReveal. (I95774, b/293444286).
  • Se agregaron muestras para SwipeToRevealChip y SwipeToRevealCard de Material. (Ieb974).
  • Se actualizaron los perfiles de Baseline para las bibliotecas de Wear Compose Foundation y Material. (I1dd1f).

Versión 1.3.0-alpha05

6 de septiembre de 2023

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

Correcciones de errores

  • Agregamos control en Deslizar para revelar para que solo se pueda deslizar un elemento a la vez. (I3cd7a).
  • Se mejoró la documentación de ScalingLazyColumnDefaults para que coincida mejor con su comportamiento real. (I886d3).

Versión 1.3.0-alpha04

23 de agosto de 2023

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

Nuevas funciones

  • Se agregó la compatibilidad con deshacer para la acción secundaria de SwipeToReveal. (I7a22d).

Cambios en la API

  • Se agregó HorizontalPageIndicator en la biblioteca de Material 3 para Wear. (Ifee99).
  • Se actualizaron las herramientas de vista previa de Wear Compose para usar la biblioteca androidx.wear.tooling.preview. (Ib036e).

Correcciones de errores

  • Se corrigió un error en los botones redondos en el que los modificadores no se encadenaban correctamente (I5e162).

Versión 1.3.0-alpha03

9 de agosto de 2023

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

Cambios en la API

  • Agregamos dos nuevos elementos componibles en Material para implementar SwipeToReveal con tarjetas y chips. Esos elementos componibles siguen la guía de UX recomendada sobre el componente y facilitan que los desarrolladores implementen SwipeToReveal con los componentes existentes en Wear Material. (I7ec65).
  • Activamos las anotaciones FloatRange como restricciones de API, que se mencionaron anteriormente en los comentarios. (Icb401).

Correcciones de errores

  • Movimos la lógica de desplazamiento inicial de ScalingLazyColumn dentro de onGloballyPositioned(). (Ic90f1).
  • Ahora usamos drawWithCache en PositionIndicator, ProgressIndicator y SelectionControls para optimizar las asignaciones de trazo. (I5f225, b/288234617).
  • Se corrigió la visibilidad de las marcas de verificación en los estados inhabilitados. (Ib25bf).
  • Actualizamos Placeholder para permitir el restablecimiento y mostrar el marcador de posición si el contenido ya no está listo. (Ibd820).
  • Se realizaron algunas correcciones en las pruebas de Placeholder inestables. (Idb560)

Versión 1.3.0-alpha02

26 de julio de 2023

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

Cambios en la API

  • Proporcionamos ExpandableStateMapping, una nueva forma de generar ExpandableStates, para casos en los que se deban crear a pedido, no necesariamente dentro de un alcance de @Composable (Iff9e0).
  • Se migró SwipeToDismissBox de androidx.wear.compose.material al paquete androidx.wear.compose.foundation. (I275fb).
  • Se actualizaron los archivos de la API para anotar la supresión de compatibilidad. (I8e87a, b/287516207).
  • Establecimos que las constantes de altura de Chip, CompactChip y ToggleChip sean públicas. (Idbfde)
  • Ahora los paddings horizontales y verticales de Chip y CompactChip son públicos. (Ieeaf7).
  • Se agregó funcionalidad para desactivar el control de deslizamiento en SwipeDismissableNavHost mediante el nuevo parámetro userSwipeEnabled. (Id2a0b, b/230865655).
  • Se actualizó la biblioteca de navegación de Wear Compose para usar el nuevo SwipeToDismissBox desde Wear Compose Foundation. (I4ff8e).

Correcciones de errores

  • Se corrigió un error de orden Z por el que expandedItem no mostraba el contenido correcto después de hacer clic en el comportamiento de un botón cuando tenía botones. (I1899d, b/289991514).
  • Se mejoró el manejo del foco de SwipeToDismissBox (y, por lo tanto, SwipeDismissableNavHost) con HierarchicalFocusCoordinator (I45362, b/277852486).
  • Se corrigió el control gestual en SwipeableV2 . (I89737).
  • Finalizamos los perfiles de referencia para nuestra versión 1.2. (Id5740).
  • Después de la migración de SwipeToDismissBox a Foundation, la implementación de SwipeToDismissBox de Material ahora reenvía a Foundation y proporciona valores de color predeterminados desde su tema (If8451).
  • Se agregó una semántica de encabezado a ListHeader. (Ic5420).
  • Chip y ToggleChip ahora ajustarán su altura para adaptarse al contenido que creció debido a las fuentes grandes para facilitar la accesibilidad, cuando sea necesario. (Iaf302).
  • Se corrigió un error en la función semántica del área táctil de SplitToggleChip para mejorar la accesibilidad. (Ieed3a).
  • El parámetro de configuración Reducir movimiento ahora desactiva el efecto de brillo y borra el movimiento de los marcadores de posición. (I91046).
  • Stepper y InlineSlider ahora admiten clics repetidos cuando se mantiene presionado para que puedas aumentar o disminuir rápidamente el valor de Stepper y InlineSlider si mantienes presionados los botones + o -. (I27359).

Versión 1.3.0-alpha01

21 de junio de 2023

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

Correcciones de errores

  • Como se anunció en 1.2.0-alpha07 y 1.2.0-alpha10, ahora cambiamos DefaultTextStyle para desactivar el padding de la fuente y que sea coherente en toda la plataforma de Android. Esto abordará algunos casos de recorte de texto con tamaños de fuente grandes y también puede afectar los diseños de pantalla, por lo que las pruebas de captura de pantalla deben actualizarse. Por ejemplo, aquí vemos un recorte de texto. (Ic6a86)
Texto recortado con un tamaño de fuente grande
Figura 1: Texto recortado.
  • Ya no está presente cuando se desactiva el padding de la fuente:
El texto no se recortó con un tamaño de fuente grande
Figura 2: Texto no recortado.
  • Se actualizó wear.compose.foundation para que sea una dependencia de API de wear.compose.material. (I72004, b/285404743)
  • Se corrigió un error en SwipeToDismissBox. Las teclas de fondo y contenido ahora se pasan al bloque de recordatorio para que se creen modificadores nuevos cuando cambie el contenido o el fondo. (Ib876c, b/280392104).
  • Se actualizó TimeText para usar la configuración regional cuando se elija el formato de 12 o 24 horas. (If4a3d).
  • Se corrigió una incoherencia en los parámetros predeterminados de SwipeToDismissBox contentScrimColor (I2d70f).
  • Mejoramos el control de movimiento en SwipeToReveal. (I28fb7).

Errores conocidos

  • Admitir tamaños de fuente configurados por el usuario es un requisito de accesibilidad. Sabemos que los chips de varias líneas pueden generar recortes de texto cuando se muestran con tamaños de fuente grandes, por lo que actualizaremos Chip en una versión alfa 1.3 inicial para realizar ajustes de altura en esos casos.

Versión 1.2

Versión 1.2.1

18 de octubre de 2023

Lanzamiento de androidx.wear.compose:compose-*:1.2.1. La versión 1.2.1 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un error que se producía cuando PositionIndicator desapareció por error. (7a167f).

Versión 1.2.0

9 de agosto de 2023

Lanzamiento de androidx.wear.compose:compose-*:1.2.0. La versión 1.2.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.1.0

Versión 1.2.0-rc01

26 de julio de 2023

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

Correcciones de errores

  • Finalizamos los perfiles de referencia para nuestra versión 1.2 (Id5740).

Versión 1.2.0-beta02

7 de junio de 2023

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

Nuevas funciones

  • Agregamos la nueva variable experimental CompositionLocal de LocalReduceMotion, que inhabilita el escalamiento y el fundido en ScalingLazyColumn. (I58024).

Correcciones de errores

  • Se actualizaron los perfiles de Baseline para las bibliotecas de base y materiales de Wear Compose(I4725d).
  • Se corrigió una incoherencia en los valores predeterminados de los parámetros contentScrimColor de SwipeToDismissBox. (I2d70f)
  • Se corrigió el valor predeterminado DefaultTextStyle que se usaba para el parámetro de configuración IncludeFontPadding. (I737ed)

Versión 1.2.0-beta01

24 de mayo de 2023

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

Qué incluye Compose para Wear OS 1.2

La versión 1.2-beta01 de Compose para Wear OS indica que esta versión de la biblioteca incluye funciones completas y que la API está bloqueada (excepto cuando se marca como experimental). Wear Compose 1.2 incluye las siguientes funciones nuevas:

  • expandableItem y expandableItems son dos componentes nuevos de Foundation que admiten elementos desplegables dentro de un ScalingLazyColumn. Utiliza expandableItem para un solo elemento expandible, como Texto en el que se muestra la cantidad de líneas. Usa expandableItems para un grupo de elementos expandibles y expandableButton para simplificar la creación de un botón que se contraiga después de expandir el contenido.
  • HierarchicalFocusCoordinator: Este elemento experimental componible permite marcar subárboles de la composición como el foco habilitado o el foco inhabilitado.
  • Picker: La API ahora incluye userScrollEnabled para controlar si el selector está activo para el desplazamiento del usuario.
  • PickerGroup: Es un nuevo elemento componible que controla varios selectores juntos. Controla el enfoque entre los selectores con la API de HierarchicalFocusCoordinator y permite que los elementos del selector se centren automáticamente.
  • Placeholder: Se actualizaron las animaciones de brillo y de eliminación. El efecto de limpieza ahora se aplica de inmediato cuando el contenido está listo.
  • ScalingLazyColumn: Migramos ScalingLazyColumn y las clases asociadas de androidx.wear.compose.material.ScalingLazyColumn a androidx.wear.compose.foundation.lazy.ScalingLazyColumn. Actualiza para usar la versión Foundation.Lazy.
  • SwipeToReveal: Agregamos compatibilidad experimental con el gesto de deslizar para revelar como una forma de acceder a acciones secundarias, lo que complementa el patrón de "mantener presionado".
  • Stepper: Ahora tiene una sobrecarga con un parámetro enableRangeSemantics adicional para facilitar la inhabilitación de la semántica del rango predeterminado.
  • Previews: Agregamos las siguientes anotaciones personalizadas para obtener una vista previa de los elementos componibles en pantallas de Wear: WearPreviewSmallRound obtiene una vista previa del elemento componible en un dispositivo pequeño y redondo. WearPreviewLargeRound obtiene una vista previa del elemento componible en un dispositivo redondo grande. WearPreviewSquare muestra una vista previa del elemento componible en un dispositivo cuadrado. Además, las siguientes anotaciones de vista previa múltiple: WearPreviewFontScales muestra una vista previa de los elementos componibles en un dispositivo para Wear con varios tamaños de fuente, mientras que WearPreviewDevices obtiene una vista previa de esos elementos en diferentes dispositivos Wear.
  • Se agregó un DefaultTextStyle a Wear Compose, que establece la propiedad PlatformTextStyle.includeFontPadding como verdadera de forma predeterminada (esta es la configuración actual). Esto nos permitirá sincronizar la desactivación de relleno de fuentes de forma predeterminada con las bibliotecas de Compose en una versión alfa de 1.3 anterior. Consulta 1.2.0-alpha10 para obtener más información.

Nuevas funciones

  • Se agregó compatibilidad experimental para inhabilitar la animación de escalamiento y atenuación cuando se activa el parámetro de configuración reduce_motion. (I58024).

Correcciones de errores

  • Se mejoró la documentación de angularWidthDp en CurvedSize.kt (Iab75c).
  • SwipeDismissableNavHost ahora registra una advertencia con posibles causas de una pila de actividades vacía. Esto se hace para evitar fallas inesperadas causadas por IllegalArgumentException, que se arrojó cuando la pila de actividades estaba vacía. (I04a81, b/277700155).

Versión 1.2.0-alpha10

10 de mayo de 2023

Lanzamiento de androidx.wear.compose:compose-*:1.2.0-alpha10. La versión 1.2.0-alpha10 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con la función deslizar para revelar, como forma de acceder a acciones secundarias. Este patrón complementa el de "Mantener presionado", la forma en que un usuario podría revelar (diferentes) acciones secundarias. (I60862).

Cambios en la API

  • Agregamos RevealScope a los elementos componibles de acción en SwipeToReveal, que brinda acceso al desplazamiento en el que se revelan las acciones adicionales. (I3fd56).

Correcciones de errores

  • Se corrigió un problema por el que ScalingLazyColumn se bloqueaba en la API de Wear 33 después de lanzarlo (Ic4599).
  • Se hicieron algunas mejoras en el rendimiento de PositionIndicator para reducir los bloqueos. (I35e92).
  • Se corrigió un error en Chip y CompactChip por el que la función semántica ya no se configuraba como Role.Button. (I93f91, b/277326264).

Errores conocidos

  • Identificamos un error en Android Studio que causaba una falla en la renderización de la vista previa cuando se anotaba con @WearPreviewDevices y @WearPreviewFontScales. Pronto se lanzará una corrección. Ten en cuenta que las otras anotaciones de la versión preliminar de Wear funcionan según lo previsto en Android Studio Giraffe 2022.3.1 y versiones posteriores.

  • En la versión 1.2.0-alpha07, agregamos DefaultTextStyle a Wear Compose y mantenemos el valor existente de PlatformTextStyle.includeFontPadding como verdadero. Para el fondo, consulta Cómo corregir el padding de la fuente en Compose. A fin de mantener la coherencia en la plataforma de Android, cambiaremos DefaultTextStyle para desactivar el relleno de fuentes en las primeras versiones alfa 1.3. Esto abordará algunos casos de recorte de texto con tamaños de fuente grandes y también puede afectar el diseño de la pantalla, por lo que las pruebas de captura de pantalla deben actualizarse. Por ejemplo, con tamaños de fuente grandes, vemos recorte de texto aquí:

Texto recortado con un tamaño de fuente grande
Figura 1: Texto recortado.
  • Ya no está presente cuando se desactiva el padding de la fuente:
El texto no se recortó con un tamaño de fuente grande
Figura 2: Texto no recortado.

La nueva configuración se puede adoptar ahora con la anulación de la tipografía en tu tema; consulta el código de ejemplo.

Versión 1.2.0-alpha09

19 de abril de 2023

Lanzamiento de androidx.wear.compose:compose-*:1.2.0-alpha09. La versión 1.2.0-alpha09 contiene estas confirmaciones.

Cambios en la API

  • Se agregó angularSizeDp a la API de CurvedModifier para configurar el ancho angular en DP (I89a52).

Correcciones de errores

  • Se corrigieron problemas de accesibilidad en nuestras demostraciones del selector de hora(Id0eb7).

Versión 1.2.0-alpha08

5 de abril de 2023

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

Cambios en la API

  • Se cambió el nombre de ExpandableItemsState por ExpandableState. (If85ea).
  • Agregamos expandableButton para simplificar la creación de un botón que se contrae cuando se expande el contenido y también actualizamos los ejemplos expandibles. (Iae309).

Correcciones de errores

  • Se mejoraron las muestras expandibles para mostrar más posibilidades. Se modificó la animación de expandableItem para mantener su contenido centrado a través de la animación. (I2f637).
  • Se actualizó ToggleControls para evitar recomposiciones adicionales cuando se animan manualmente los colores con State. (I5d319).

Versión 1.2.0-alpha07

22 de marzo de 2023

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

Cambios en la API

  • Trasladamos los componentes de elementos expandibles (agregados en la versión 1.2.0-alpha06) del material a la base, ya que no tenían una referencia significativa a MaterialTheme. (Ib0525).

Correcciones de errores

  • Se corrigió una falla que se producía en una pantalla con PickerGroup. Para ello, garantizamos que PickerGroup controle el enfoque correctamente cuando ningún selector lo tenga. También se agregó compatibilidad con el desplazamiento de RSB en nuestras demostraciones de Picker. (If8c19).
  • Mejoramos las transiciones de diálogos: la transición de introducción ahora es más fluida para que coincida con la de cierre. (Ib5af9).
  • Se agregó un DefaultTextStyle a Wear Compose, que establece la propiedad PlatformTextStyle.includeFontPadding como verdadera de forma predeterminada (esta es la configuración actual). De esta manera, podremos sincronizar la desactivación del padding de la fuente de forma predeterminada con las bibliotecas de Compose en el futuro. Consulta Cómo corregir el padding de la fuente en Compose para el fondo. (I2aee8).
  • Se revirtió una dependencia de vista previa de UpsideDownCake mediante activity-compose que bloqueó la publicación de apps en Google Play Store. (I6443d).

Versión 1.2.0-alpha06

8 de marzo de 2023

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

Cambios en la API

  • Agrega el componente CurvedBox, que coloca los componentes uno encima del otro en el mundo curvo. (I29200).
  • Se agregaron elementos expandibles: dos componentes nuevos para admitir un grupo de elementos expandibles en una ScalingLazyColumn o un solo elemento expandible, como texto en el que se expande la cantidad de líneas. (I95dd5).
  • Agregamos las siguientes anotaciones personalizadas para obtener una vista previa de los elementos componibles en pantallas de Wear: WearPreviewSmallRound obtiene una vista previa del elemento componible en un dispositivo pequeño y redondo. WearPreviewLargeRound obtiene una vista previa del elemento componible en un dispositivo redondo grande. WearPreviewSquare obtiene una vista previa del elemento componible en un dispositivo cuadrado. Además, las siguientes anotaciones de vista previa múltiple: WearPreviewFontScales muestra una vista previa de los elementos componibles en un dispositivo para Wear con varios tamaños de fuente, mientras que WearPreviewDevices obtiene una vista previa de esos elementos en diferentes dispositivos Wear. Para usar estas vistas previas, debes usar la versión más reciente de Android Studio (Giraffe Canary 6) o una versión posterior. Ten en cuenta que, si estas anotaciones no se ajustan a tu objetivo, aún puedes usar la vista previa y admitir más personalizaciones a través de parámetros. (I397ff).
  • Marcamos HierarchicalFocusCoordinator como experimental mientras se considera que puede trasladarse a las bibliotecas principales de Compose, debido a su amplia aplicabilidad. (I3a768).

Correcciones de errores

  • Se corrigió un error en HierarchicalFocusCoordinator: cuando se cambia la lambda pasada para el parámetro focusEnabled, ahora usamos correctamente la nueva. (Icb353).
  • Actualizamos el color predeterminado del contenido inhabilitado a Fondo cuando se usan colores primarios como fondo en Button, CompactButton, Chip, CompactChip y ToggleButton. Esto mejora el contraste para la accesibilidad. (I527cc).

Versión 1.2.0-alpha05

22 de febrero de 2023

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

Cambios en la API

  • Se actualizó la API de PickerGroup para permitir la propagación de restricciones mínimas al elemento componible de forma opcional. Cuando se establece como verdadera, las restricciones mínimas que se pasan desde el elemento superior componible se permitirán en PickerGroup. Si se establece como falsa, PickerGroup restablecerá las restricciones mínimas. (I3e046).
  • Se agregó animateScrollToOption a la API de Picker para admitir animación programática en una opción de selector específica. (I6fe67)

Correcciones de errores

  • Se actualizó HorizontalPageIndicator para admitir diseños de derecha a izquierda. (Ia4359).
  • Se agregaron pruebas de capturas de pantalla para el diseño de derecha a izquierda en HorizontalPageIndicator (I6fbb8).
  • Se agregaron más pruebas a SwipeDismissableNavHostTest que usan TestNavHostController (I61d54).

Versión 1.2.0-alpha04

8 de febrero de 2023

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

Nuevas funciones

  • PickerGroup para controlar varios selectores juntos mediante la API de foco. Controla el enfoque entre los diferentes selectores, habilita el centrado automático de los selectores según los parámetros y permite a los desarrolladores cambiar el enfoque entre diferentes selectores mientras maneja los eventos del grupo. En el modo TalkBack, PickerGroup maneja el enfoque de TalkBack moviendo el enfoque al selector elegido del grupo (I60840).

Cambios en la API

  • Se agregó una sobrecarga a Stepper con un parámetro enableRangeSemantics adicional para facilitar la inhabilitación de la semántica del rango predeterminado (Ia61d4).

Correcciones de errores

  • Se permite que ScalingLazyColumn se anide en una página de desplazamiento horizontal (Iec3f8, b/266555016).
  • Mejoras en la limpieza de pruebas de kdocs y Stepper de StepperTest (Ic118e).
  • Se actualizó la dependencia androidx.navigation a la versión 2.5.3 (If58ed).

Versión 1.2.0-alpha03

25 de enero de 2023

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

Cambios en la API

  • Migramos ScalingLazyColumn (y las clases asociadas) de androidx.wear.compose.material.ScalingLazyColumn a andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (consulta este ejemplo para ver la migración). Esta nueva ubicación coincide más con la de compose.foundation.lazy.LazyColumn y es más natural, ya que no es un componente de Material definido. El cambio se está realizando en preparación para una nueva biblioteca de Material3, en la que trabajaremos en paralelo con la biblioteca de Material existente (I060e7).

Los siguientes cambios forman parte de la migración ScalingLazyColumn de Material a Foundation.Lazy:

  • Las APIs de PositionIndicator orientadas a ScalingLazyColumn de Material dejaron de estar disponibles. Actualiza a Foundation.Lazy ScalingLazyColumn. Además, se agregó el campo anchorType a ScalingLazyListLayoutInfo (I29d95).
  • El objeto ScalingLazyColumn dejó de estar disponible en el paquete de Material de Wear Compose (I16d34).
  • Se actualizó el modificador ScrollAway para usar ScalingLazyListState desde Foundation.Lazy de Wear Compose, y se dio de baja la sobrecarga que tomaba ScalingLazyListState de Wear Compose Material (Ifc42c).
  • Se actualizaron las APIs de Dialog para usar ScalingLazyListState desde Foundation.Lazy, y las sobrecargas que usaban ScalingLazyListState de Material dejaron de estar disponibles (Ic8960).
  • Actualizamos las APIs de Selector para usar ScalingParams desde Foundation.Lazy, y las sobrecargas que usaban ScalingParams de Material dejaron de estar disponibles (Idc3d8).

Correcciones de errores

  • Se corrigió un error que causaba recomposiciones innecesarias en ScalingLazyListState.centerItemIndex. Para ello, nos aseguramos de que solo se envíen actualizaciones cuando el valor cambie (Ia9f38).
  • Mejoramos el rendimiento de SwipeToDismissBox (I3933b).
  • Se agregaron pruebas de comparativas para ScalingLazyColumn en Wear Compose Foundation (Ie00f9).
  • Se actualizaron algunos métodos de clases ScalingLazyColumn internos en Material para usar sus equivalentes desde Foundation.Lazy (I38aab).
  • Se corrigieron algunos problemas en las pruebas de Selector y se agregaron más pruebas para verificar el desplazamiento (I6ac34).
  • Migramos las demostraciones de integración de ScalingLazyColumn de modo que dependan de Foundation.Lazy en lugar de ScalingLazyColumn de Material (Ic6caa).
  • Se agregaron parámetros fromDate/toDate opcionales a nuestra demostración de DatePicker (I961cd).

Versión 1.2.0-alpha02

11 de enero de 2023

Se lanzó androidx.wear.compose:compose-*:1.2.0-alpha02. La Versión 1.2.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • Las pruebas de IU de Android Compose ahora ejecutarán pases de diseño para cada fotograma cuando se ejecuten fotogramas para quedar inactivos (p. ej., a través de waitForIdle). Esto puede afectar las pruebas que se confirman en fotogramas individuales de animaciones de diseño (I8ea08, b/222093277).
  • Se agregó el parámetro minLines a Wear Text para lograr un comportamiento coherente con BasicText (I24874).
  • Se hizo público CompactChipTapTargetPadding para que aparezca en la documentación (If1e70, b/234119038).

Correcciones de errores

  • Se inhabilitaron las compilaciones multiplataforma para paquetes de wear.compose (Iad3d7).
  • Se corrigió kdocs para scrollToOption (I6f9a0).
  • Se actualizó PlaceholderState.rememberPlaceholderState() para que use rememberUpdatedState y que el estado se actualice si onContentReady es lambda (I02635, b/260343754).
  • Corregimos un problema de Jitter de texto que se ve en el componente Picker. Para ello, aprovechamos la nueva estrategia de composición que se agregó a Modifier.graphicsLayer (I99302).
  • Corregimos un error que causaba un parpadeo en la demostración de DatePicker (I660bd).
  • Mejoramos la accesibilidad de las demostraciones de la hora en formato de 12 horas y de selectores de fecha (I05e12).
  • Actualizamos las demostraciones de selectores de fecha y hora para que los selectores no se vean afectados por los cambios de RSB cuando no se seleccionen (I4aecb).

Versión 1.2.0-alpha01

7 de diciembre de 2022

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

Nuevas funciones

  • Actualizamos la funcionalidad experimental de marcador de posición para que el efecto "borrar" se aplique de inmediato cuando el contenido esté listo, en lugar de esperar a que comience el siguiente bucle de animación. También realizamos algunas actualizaciones en el brillo y la eliminación de las animaciones (I5a7f4).

Cambios en la API

  • Se agregó un HierarchicalFocusCoordinator componible para habilitar que se marque el subárbol de la composición como enfoque habilitado o inhabilitado (I827cb).
  • Se agregó una nueva propiedad para anular la función semántica para ToggleButton (I67132).
  • Se actualizó TimeTextDefaults.TimeFormat12Hours para que quite la función de a.m./p.m. en TimeText. Esto cambiará el valor predeterminado de los parámetros timeSource en la API de TimeText (I1eb7f).
  • Ampliamos la API de Picker para mejorar la accesibilidad de las pantallas con selector múltiple. Hay una nueva propiedad userScrollEnabled que tiene el fin de controlar si el selector está activo para el desplazamiento del usuario (I3c3aa).

Correcciones de errores

  • Cambiamos el ancho de borde predeterminado de OutlinedButton/OutlinedCompactButton de 2.dp a 1.dp para que coincida con las especificaciones de UX finales (Icf84d).
  • Para reducir el efecto del primer elemento que se agrega a un ScalingLazyColumn vacío que aparece para desplazarse a su lugar, agregamos un autoCentering topPadding estimado cuando el contenido está vacío. Este cambio calcula la cantidad de padding superior que se necesita si se supone que el elemento inicial tiene una altura es 0 dp. En el caso de ScalingLazyListAnchorType.ItemStart, se calculará el padding superior correcto. En el caso de ScalingLazyListAnchorType.ItemCenter, este cálculo será incorrecto, ya que se necesita la altura de los elementos para ajustar el tamaño del contenido de forma correcta. Como resultado, se producirá un pequeño desplazamiento en el lugar en función de la altura real de los elementos (I239a4).
  • Actualizamos la lámina de fondo que se aplicó a la animación de SwipeToDismiss para que coincida con la plataforma de Wear (I9003e).
  • Se corrigió el control de PositionIndicator de LazyListState y ScalingLazyListState para los elementos de lista de tamaño 0 para evitar errores de división por cero (Ic28dd).

Versión 1.1

Versión 1.1.2

8 de febrero de 2023

Lanzamiento de androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2 y androidx.wear.compose:compose-navigation:1.1.2. La versión 1.1.2 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un error que causaba recomposiciones innecesarias en ScalingLazyListState.centerItemIndex. Para ello, nos aseguramos de que solo se envíen actualizaciones cuando el valor cambie (Ia9f38).

Versión 1.1.1

11 de enero de 2023

Se lanzaron androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1 y androidx.wear.compose:compose-navigation:1.1.1. La versión 1.1.1 contiene estas confirmaciones.

Correcciones de errores

  • Se actualizó PlaceholderState.rememberPlaceholderState() para que use rememberUpdatedState y que el estado se actualice si onContentReady es lambda (I02635, b/260343754).

Versión 1.1.0

7 de diciembre de 2022

Lanzamiento de androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0 y androidx.wear.compose:compose-navigation:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Cambios importantes desde 1.0.0

Nuevas funciones

  • Actualizamos la funcionalidad experimental de marcador de posición para que el efecto "borrar" se aplique de inmediato cuando el contenido esté listo, en lugar de esperar a que comience el siguiente bucle de animación. También realizamos algunas actualizaciones en el brillo y la eliminación de las animaciones (I5a7f4).

Correcciones de errores

  • Cambiamos el ancho de borde predeterminado de OutlinedButton/OutlinedCompactButton de 2.dp a 1.dp para que coincida con las especificaciones de UX finales (Icf84d).
  • Para reducir el efecto del primer elemento que se agrega a un ScalingLazyColumn vacío que aparece para desplazarse a su lugar, agregamos un autoCentering topPadding estimado cuando el contenido está vacío. Este cambio calcula la cantidad de padding superior que se necesita si se supone que el elemento inicial tiene una altura es 0 dp. En el caso de ScalingLazyListAnchorType.ItemStart, se calculará el padding superior correcto. En el caso de ScalingLazyListAnchorType.ItemCenter, este cálculo será incorrecto, ya que se necesita la altura de los elementos para ajustar el tamaño del contenido de forma correcta. Como resultado, se producirá un pequeño desplazamiento en el lugar en función de la altura real de los elementos (I239a4).
  • Actualizamos la lámina de fondo que se aplicó a la animación de SwipeToDismiss para que coincida con la plataforma de Wear (I9003e).
  • Se corrigió el control de PositionIndicator de LazyListState y ScalingLazyListState para los elementos de lista de tamaño 0 para evitar errores de división por cero (Ic28dd).

Versión 1.1.0-rc01

9 de noviembre de 2022

Lanzamiento de androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01 y androidx.wear.compose:compose-navigation:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Agregamos reglas de perfil de Baseline para Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip yOutlinedCompactChip. (I8249c)
  • Corregimos un error en Modifier.scrollAway para que, si el elemento itemIndex especificado no es válido (por ejemplo, si el índice de elementos está fuera de rango), se muestre TimeText de todos modos. (I2137a)
  • Actualizamos la animación de SwipeToDismissBox para que coincida con la implementación de la plataforma. Después de la animación de apretar inicial, la pantalla ahora se desliza hacia la derecha una vez que se activa el descarte. (I41d34)
  • Como optimización, actualizamos Modifier.scrollAway para que solo lea el scrollState dentro del bloque de medición para evitar la recomposición del modificador después de cada nueva medición. (I4c6f1)
  • Agregamos documentación y una muestra a los marcadores de posición para mostrar el orden correcto para Modifier.placeholder y Modifier.placeholderShimmer cuando se aplican al mismo elemento componible. (Ie96f4, b/256583229)
  • Cambiamos el ancho de borde predeterminado de OutlinedCompactChip/OutlinedChip de 2.dp a 1.dp para que coincida con las especificaciones de UX finales. (Ib3d8e)
  • Se corrigió un error en rememberPickerState por el que no se guardaban las entradas actualizadas, de modo que los elementos componibles no se actualizaban después de los cambios en las entradas. (I49ff6, b/255323197)
  • Hicimos algunas actualizaciones de IU a los marcadores de posición: 1) cambiamos el gradiente de brillo a 1.5 veces el tamaño de la pantalla, 2) agregamos una aceleración (bézier cúbico) de la progresión del brillo y 3) aceleramos la animación de eliminación (250 ms). (Id29c1)
  • Corregimos un error de IU en el efecto wipeOff de marcadores de posición en el que los fondos Chip y Card se eliminaban un poco antes debido a que no se tenía en cuenta la posición del componente en la pantalla. (I2c7cb)
  • Se actualizó el dibujo de fondo del marcador de posición para combinar colores en lugar de superponerlos cuando sea posible a fin de reducir el riesgo de que la combinación alfa de las diferentes capas recortadas permitiera que los colores subyacentes se filtren en los bordes del marcador de posición de fondo. (I2ea26)
  • Corregimos el cálculo de ScalingLazyListState.centerItemIndex/centerItemOffset para que, si dos elementos se ubican a ambos lados de la línea central del viewport, el que se encuentre más cercano se considere centerItem. (I30709, b/254257769)
  • Corregimos un error en ScalingLazyListState.layoutInfo.visibleItemsInfo que informaba compensaciones incorrectas durante la inicialización de ScalingLazyColumn. Ahora se mostrará una lista vacía hasta que todos los elementos de la lista estén visibles y tengan las compensaciones correctas. La comprobación de ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() confirmará que la inicialización de ScalingLazyColumn esté completa y que los elementos sean visibles. (I3a3b8)

Versión 1.1.0-beta01

24 de octubre de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01 y androidx.wear.compose:compose-navigation:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.

Qué incluye Compose para Wear OS 1.1

La versión 1.1.0-beta01 de Compose para Wear OS indicó que esta versión de la biblioteca está completa y la API está bloqueada.

  • Wear Compose 1.1 incluye las siguientes funciones nuevas:
    • Selector: Se implementaron mejoras de accesibilidad en el selector para poder navegar por las pantallas de selección múltiple con lectores de pantalla y acceder a la descripción del contenido.
    • El parámetro contentDescription del selector ahora se usa solo para la opción del selector elegido y toma una string anulable (en la confirmación anterior, era necesario pasar una asignación de la opción a la descripción del contenido, pero solo se usó la opción seleccionada)
    • Los elementos del selector ahora están alineados con el centro, lo que corrige un error que se produce cuando configurar gradientRatio en cero tiene el efecto secundario de cambiar la alineación
    • Chip/ToggleChip: Actualizamos los gradientes predeterminados para Chip/ToggleChip para que se alineen con las especificaciones de UX más recientes. Se actualizó la métrica ChipDefaults.gradientBackgroundChipColors de modo que comience desde el 50% de la principal en lugar del 32.5%.
    • Chip/ToggleChip: Se agregaron sobrecargas para modificar formas de chips
    • Chip/Button/ToggleButton: Se agregó un nuevo estilo de contorno para chips y botones, y nuevos elementos OutlinedChip y OutlinedButton componibles que brindan un elemento Chip/Button transparente con un borde delgado.
    • Tarjeta: Se actualizaron los gradientes predeterminados para tarjetas para alinearlos con la última especificación de UX. Se actualizó CardDefaults.cardBackgroundPainter de modo que comience desde el 30% de la principal y finalice al 20% de la onSurfaceVariant (antes comenzaba en el 20% y llegaba al 10% de la onSurfaceVariant). ToggleChip.toggleChipColors cambia de un gradiente lineal de superficie del 75% al principal del 32.5% al de superficie del 0% al principal del 50%.
    • Button/ToggleButton: Se agregaron propiedades para modificar las formas de los botones
    • Tema: Actualizamos varios colores predeterminados en MaterialTheme para mejorar la accesibilidad, ya que los colores originales no tenían suficiente contraste, lo que generaba dificultades para que los usuarios pudieran diferenciar los fondos de chips, tarjetas o botones del color de fondo del tema.
    • InlineSlider/Stepper: Se agregaron funciones de botón de modo que Talkback pueda reconocerlos como botones.
    • Estructura: Ahora, PositionIndicator se posiciona y cambia de tamaño para que solo ocupe el espacio necesario. Esto es útil, por ejemplo, si se le agrega información semántica, ya que TalkBack ahora podrá mostrar los límites correctos de PositionIndicator en la pantalla.
    • CurvedText/TimeText: Se agregó Modifier.scrollAway, que desplaza de forma vertical un elemento fuera de la vista, según el estado de desplazamiento (con sobrecargas para trabajar con Column, LazyColumn y ScalingLazyColumn). Por lo general, ScrollAway se usa a fin de desplazar un elemento TimeText fuera de la vista cuando el usuario comienza a desplazar una lista de elementos hacia arriba
    • CurvedText/TimeText: Se agregó compatibilidad con fontFamily, fontStyle y fontSynthesis en CurvedTextStyle, que se puede usar en curvedText y basicCurvedText
    • CurvedText/TimeText: Se agregó fontWeight al constructor y al método de copia en CurvedTextStyle
    • ToggleControls: Se agregaron los controles de activación Checkbox, Switch y RadioButton animados para usar con ToggleChip y SplitToggleChip; estos se pueden usar en lugar de los íconos estáticos que proporciona ToggleChipDefaults (switchIcon, checkboxIcon y radioIcon)
    • Marcador de posición: Se agregó compatibilidad con marcadores de posición experimentales. Esto tiene tres efectos visuales diferentes diseñados para funcionar en conjunto:
    • Primero, un efecto marcador de posición de pincel de fondo que se usa en contenedores como Chip and Cards para dibujar sobre el fondo normal cuando se espera a que cargue el contenido.
    • En segundo lugar, un modificador (Modifier.placeholder()) para dibujar un widget de marcador de posición con forma de estadio sobre el contenido que se está cargando.
    • Tercero, un efecto de gradiente o brillo (Modifier.placeholderShimmer()) del modificador que se dibuja sobre los demás efectos para indicar a los usuarios que estamos esperando que se carguen los datos.
      • Todos estos efectos están diseñados para estar coordinados, relucientes y limpiarse de forma organizada.
  • Se actualizaron las dependencias principales de Compose de 1.2 a 1.3.

Cambios en la API

  • Los parámetros de fuente (fontFamily, fontWeight, fontStyle y fontSynthesis) ahora se pueden especificar directamente como parámetros de curvedText (Idc422).

Correcciones de errores

  • curveText y basicCurvedText ahora funcionarán correctamente con TalkBack (con un nodo de compose-ui del tamaño adecuado (pero vacío) asociado a ellos, que usa el texto como descripción de contenido) (I7af7c, b/210721259).
  • Se corrigió un error de Picker que se producía cuando PickerState.repeatedItems = false agregaba una configuración explícita de parámetros de autoCentering en el ScalingLazyColumn interno de los selectores a fin de garantizar que sea posible desplazar la opción cero al centro de la vista (I8a4d7).

Versión 1.1.0-alpha07

5 de octubre de 2022

Lanzamiento de androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07 y androidx.wear.compose:compose-navigation:1.1.0-alpha07. La versión 1.1.0-alpha07 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con marcadores de posición experimentales. Esto tiene tres efectos visuales diferentes diseñados para funcionar en conjunto. Primero, un efecto marcador de posición de pincel de fondo que se usa en contenedores como Chip and Cards para dibujar sobre el fondo normal cuando se espera a que cargue el contenido. En segundo lugar, un modificador (Modifier.placeholder()) para dibujar un widget de marcador de posición con forma de estadio sobre el contenido que se está cargando. Tercero, un efecto de gradiente o brillo (Modifier.placeholderShimmer()) del modificador que se dibuja sobre los demás efectos para indicar a los usuarios que estamos esperando que se carguen los datos. Todos estos efectos están diseñados para estar coordinados, relucientes y limpiarse de forma organizada. (I3c339)

Cambios en la API

  • Se agregó compatibilidad con fontWeight, fontFamily, fontStyle y fontSynthesis en CurvedTextStyle, que se puede usar en curvedText y basicCurvedText. Esos parámetros se pueden usar para especificar la fuente y el estilo que se usarán en el texto curvo (Iaa1a8), (I72759).
  • Se actualizó el parámetro de desplazamiento de Modifier.scrollAway a Dp para mantener la coherencia con Modifier.offset (anteriormente, estaba en píxeles). Además, se refactorizó como un LayoutModifier para mayor eficiencia (I9f94b).
  • Como parte de la nueva API de controles de activación, cambiamos el nombre de RadioButton’s circleColor a ringColor (I28fa9).
  • Se agregaron los controles de activación animados Checkbox, Switch y RadioButton para usar con ToggleChip y SplitToggleChip. Estos se pueden usar en lugar de los íconos estáticos que proporciona ToggleChipDefaults (switchIcon, checkboxIcon y radioIcon) (I8a8c4).

Versión 1.1.0-alpha06

21 de septiembre de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.1.0-alpha06, androidx.wear.compose:compose-material:1.1.0-alpha06 y androidx.wear.compose:compose-navigation:1.1.0-alpha06. La versión 1.1.0-alpha06 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó Modifier.scrollAway, que desplaza de forma vertical un elemento fuera de la vista, según el estado de desplazamiento (con sobrecargas para trabajar con Column, LazyColumn y ScalingLazyColumn). Por lo general, ScrollAway se usa para desplazar un elemento TimeText fuera de la vista cuando el usuario comienza a desplazar una lista de elementos hacia arriba (I61766).

Correcciones de errores

  • Ahora, PositionIndicator se posiciona y cambia de tamaño para que solo ocupe el espacio necesario. Esto es útil, por ejemplo, si se le agrega información semántica, ya que TalkBack ahora podrá mostrar los límites correctos de PositionIndicator en la pantalla. (Ie6106, b/244409133).

Versión 1.1.0-alpha05

7 de septiembre de 2022

Lanzamiento de androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05 y androidx.wear.compose:compose-navigation:1.1.0-alpha05. La versión 1.1.0-alpha05 contiene estas confirmaciones.

Correcciones de errores

  • Las funciones de botones se agregaron a InlineSlider y Stepper para que TalkBack pueda reconocerlas como botones (Icb46c, b/244260275).
  • Corregimos el orden Z de los indicadores de posición y página en Scaffold. Los indicadores ahora estarán encima de la viñeta y, por lo tanto, no estarán ocultos por la viñeta si están presentes (Ib988f, b/244207528).

Versión 1.1.0-alpha04

24 de agosto de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04 y androidx.wear.compose:compose-navigation:1.1.0-alpha04. La versión 1.1.0-alpha04 contiene estas confirmaciones.

Cambios en la API

  • Actualizamos varios colores predeterminados en MaterialTheme a fin de mejorar la accesibilidad, ya que los colores originales no tenían suficiente contraste, lo que generaba dificultades para que los usuarios pudieran diferenciar los fondos de chips, tarjetas o botones del color de fondo del tema. Los colores actualizados son surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8) y onError(0xFF202124->0xFF000000). Aunque los cambios en los colores son relativamente sutiles, pueden afectar las pruebas de captura de pantalla existentes (81ab09).

Correcciones de errores

  • Se corrigió un error lógico en ScalingLazyColumn que podía provocar que las listas con un número pequeño (por lo general, exactamente 2) de elementos no se completaran y, como resultado, fueran transparentes (504347).

Versión 1.1.0-alpha03

10 de agosto de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03 y androidx.wear.compose:compose-navigation:1.1.0-alpha03. La versión 1.1.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó un nuevo estilo de contorno para Chips y Buttons, y nuevos elementos componibles (OutlinedChip y OutlinedButton) que brindan un elemento Chip/Button transparente con un borde delgado (Id5972).

Cambios en la API

  • Se agregaron sobrecargas para modificar las formas de los botones (Icccde).

Correcciones de errores

  • Corregimos el tamaño del área de control de activación de ToggleChip, ya que no coincidía con sus especificaciones de UX. Estas requieren un espaciador de 4 dp entre la etiqueta y un área de ícono de control de activación de 24 x 24 dp, lo que da un ancho total de 28 dp. Sin embargo, la implementación brinda incorrectamente un área de control de activación de 36 x 24 dp, lo que resulta en 8 dp de área de etiqueta de texto utilizable. NOTA: Esta corrección de errores proporciona espacio adicional para la etiqueta de texto y, como resultado, puede afectar (de manera positiva) el diseño de texto para el exceso de texto. Si tienes capturas de pantalla de prueba que incluyan ToggleChips, es posible que deban actualizarse (I514c8, b/240548670).

Versión 1.1.0-alpha02

27 de julio de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02 y androidx.wear.compose:compose-navigation:1.1.0-alpha02. La versión 1.1.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • Cambiamos las dependencias de Compose para Wear OS en las bibliotecas principales de Compose de 1.2.0 a 1.3.0-alpha0X.

Cambios en la API

  • Se agregaron sobrecargas para modificar formas de chips (I02e87).

Correcciones de errores

  • Animamos la visibilidad de la viñeta cuando se muestra u oculta Dialog para que sea coherente con la animación de escalamiento existente (Ida33e).
  • Corregimos un error por el que se podía producir una división por cero con algún comportamiento de deslizamiento durante el desplazamiento (I86cb6).
  • Corregimos un error en ChipDefaults.childChipColor() para garantizar que el color de fondo inhabilitado sea completamente transparente (I2b3c3, b/238057342).

Versión 1.1.0-alpha01

29 de junio de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01 y androidx.wear.compose:compose-navigation:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • El parámetro contentDescription del selector ahora se usa solo para la opción del selector elegido y toma una string anulable (antes era necesario pasar una asignación de la opción a la descripción del contenido, pero solo se usó la opción seleccionada) (Ife6a7).
  • Se implementaron mejoras de accesibilidad en el selector para poder navegar por las pantallas de selección múltiple con lectores de pantalla y acceder a la descripción del contenido (I64edb).

Correcciones de errores

  • Se actualizaron las reglas de perfiles de referencia empaquetadas con la biblioteca de Wear Compose (I9c694).
  • Se corrigió la dirección de la gradiente de los chips en modo de derecha a izquierda. Estaba en la parte superior izquierda y, luego, en la parte inferior derecha, ahora está en la parte superior derecha > inferior (Ic2e77).
  • Actualizamos los gradientes predeterminados para Chip/ToggleChip/Card a fin de que coincidan con las especificaciones de UX más recientes. Se actualizó la métrica ChipDefaults.gradientBackgroundChipColors para que comience desde el 50% de la principal en lugar del 32.5%. Se actualizó CardDefaults.cardBackgroundPainter para que comience del 30% al final y finalice en el 20% del onSurfaceVariant (antes era del 20% al 10% del onSurfaceVariant). ToggleChip.toggleChipColors cambia de un gradiente lineal de una superficie del 75% al principal del 32.5% al principal del 0% al 50% principal (I43bbd).
  • Agregamos un color de fondo (MaterialTheme.color.surface) detrás de Chip/ToggleChips, que tiene fondos de gradiente para garantizar que sean correctamente visibles en el improbable caso de que se use un color claro detrás de ellos (Ibe1a4, b/235937657).
  • Los elementos del selector ahora están alineados con el centro, lo que corrige un error que se produce cuando configurar gradientRatio en cero tiene el efecto secundario de cambiar la alineación (I712b8).

Versión 1.0

Versión 1.0.2

7 de septiembre de 2022

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2 y androidx.wear.compose:compose-navigation:1.0.2. La versión 1.0.2 contiene estas confirmaciones.

Correcciones de errores

  • Corregimos el orden Z de los indicadores de posición y página en Scaffold. Los indicadores ahora estarán encima de la viñeta y, por lo tanto, no estarán ocultos por la viñeta si están presentes (Ib988f, b/244207528).

Versión 1.0.1

24 de agosto de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1 y androidx.wear.compose:compose-navigation:1.0.1. La versión 1.0.1 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un error lógico en ScalingLazyColumn que podía provocar que las listas con un número pequeño (por lo general, exactamente 2) de elementos no se completaran y, como resultado, fueran transparentes (076c61).

Versión 1.0.0

27 de julio de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0 y androidx.wear.compose:compose-navigation: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 para Wear OS (más información).
  • Compose para Wear OS se basa en las bibliotecas principales de Compose que proporcionan componentes adicionales específicos para wearables y, cuando corresponde, implementaciones alternativas de componentes principales de Compose diseñados para dispositivos wearable.
  • Para ver una lista de los componentes clave en Wear Compose, consulta las notas de la versión (Compose para Wear OS Beta01).

Correcciones de errores

  • Animamos la visibilidad de la viñeta cuando se muestra u oculta Dialog para que sea coherente con la animación de escalamiento existente (Ida33e).
  • Corregimos un error por el que se podía producir una división por cero con algún comportamiento de deslizamiento durante el desplazamiento (I86cb6).
  • Corregimos un error en ChipDefaults.childChipColor() para garantizar que el color de fondo inhabilitado sea completamente transparente (I2b3c3, b/238057342).

Versión 1.0.0-rc02

22 de junio de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02 y androidx.wear.compose:compose-navigation:1.0.0-rc02. La versión 1.0.0-rc02 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió la dirección del gradiente de las tarjetas en modo de derecha a izquierda (RTL). Estaba en la parte superior izquierda y, luego, en la parte inferior derecha, y ahora está en la parte superior derecha > inferior izquierda (Ic2e77).
  • Actualizamos los gradientes predeterminados para Chip/ToggleChip/Card a fin de que se alineen con las especificaciones de UX más recientes. Se actualizó la métrica ChipDefaults.gradientBackgroundChipColors para que comience desde el 50% de la principal en lugar del 32.5%. Se actualizó CardDefaults.cardBackgroundPainter para que comience del 30% al final y finalice al 20% de onSurfaceVariant (anteriormente era del 20% al 10% onSurfaceVariant). ToggleChip.toggleChipColors cambia de un gradiente lineal de una superficie del 75% al principal del 32.5% al principal del 0% al 50% principal (I43bbd).
  • Agregamos un color de fondo (MaterialTheme.color.surface) detrás de Chip/ToggleChips, que tiene fondos de gradiente para garantizar que sean correctamente visibles en el improbable caso de que se use un color claro detrás de ellos (Ibe1a4, b/235937657).
  • Se actualizaron las reglas de perfiles de referencia empaquetadas con la biblioteca de Wear Compose (I9c694).

Versión 1.0.0-rc01

15 de junio de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01 y androidx.wear.compose:compose-navigation:1.0.0-rc01. La versión 1.0.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).

Correcciones de errores

  • Quitamos la llamada explícita a fillMaxWidth() en el encabezado de la lista, ya que no es necesaria y puede causar problemas si un elemento ScalinglazyColumn tiene una combinación de componentes ListHeader() y Chip(), ya que el ancho tiende a aumentar/reducir a medida que se desplazan los elementos ListHeader dentro o fuera de la vista (I37144, b/235074035).
  • Se corrigió un error en ScalingLazyColumn que podía provocar que los elementos de la lista no se dibujaran correctamente hasta que se los desplazara si el elemento 0 de la lista era lo suficientemente grande (incluido el padding) (Ic6159, b/234328517).
  • Se realizó un pequeño ajuste en la aceleración de ScalingLazyColumn, ya que los elementos llegan al borde de la pantalla para coincidir con las actualizaciones de especificaciones de UX. Valores anteriores CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> valores nuevos CubicBezierEasing(0.3f, 0f, 0.7f, 1f). Para mantener el comportamiento anterior, puedes anular el elemento scalingParams de ScalingLazyColumn (Ie375c).
  • Se agregó padding al elemento CompactChip a fin de garantizar que su tamaño de objetivo táctil sea de al menos 48 dp de alto para cumplir con los lineamientos de accesibilidad de Material. Es posible que se vean afectados los diseños que tengas con CompactChips, ya que ocuparán espacio adicional (I3d57c).

Versión 1.0.0-beta03

1 de junio de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03 y androidx.wear.compose:compose-navigation:1.0.0-beta03. La versión 1.0.0-beta03 contiene estas confirmaciones.

Nuevas funciones

  • Se hizo que ScalingLazyColumn funcionara en el modo @Preview de Compose (I3b3b6, b/232947354).

Cambios en la API

  • Cambiamos el valor predeterminado de la propiedad ScalingLazyColumn.horizontalAlignment de inicio a CenterHorizontally a fin de garantizar que, cuando los elementos de la lista no ocupen todo el ancho de la columna, queden alineados para maximizar la visibilidad. Para volver al comportamiento anterior, establece horizontalAlignment = Alignment.Start (I9ed4b).

Errores conocidos

  • La altura de la función táctil o para presionar de CompactChip es menor que los lineamientos de accesibilidad de Material. Esto se corregirá en la próxima versión (15 de junio). Si usas CompactChip, esto afectará a tus diseños, ya que ahora CompactChips tendrá padding adicional por encima y por debajo. Ajusta y prueba tus diseños, o consulta los comentarios sobre los errores, a fin de encontrar una solución alternativa para usar el comportamiento existente (b/234332135).

Correcciones de errores

  • Nueva demostración para animar la acción de agregar o quitar un texto de inicio en TimeText (I16d75)
  • Se agregaron pruebas para HorizontalPageIndicator.PagesState (I64ed0).
  • Actualización de TimeText para que se aproxime más a las especificaciones de UX (Ib7ea1).

Versión 1.0.0-beta02

18 de mayo de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02 y androidx.wear.compose:compose-navigation:1.0.0-beta02. La versión 1.0.0-beta02 contiene estas confirmaciones.

Nuevas funciones

  • Ahora, el selector siempre responde a los eventos de desplazamiento, incluso en el modo de solo lectura. Este cambio evita que los usuarios deban primero presionar para elegir un selector, antes de que puedan desplazarse. En el modo de solo lectura, las opciones que no estén seleccionadas actualmente se ocultan mediante una corrección de compatibilidad en gradientColor (I72925).
  • Se cambió el comportamiento de la UX de Chip/ToggleChip/CompactChip/SplitToggleChip para evitar que realicen fillMaxWidth de forma predeterminada. En cambio, se adaptarán a su contenido. Para mantener el comportamiento anterior, solo agrega modifier = Modifier.fillMaxWidth() (I60a2c, b/232206371).

Correcciones de errores

  • El constructor de CurvedTextStyle que toma un TextStyle ahora también respeta el fontWeight (en futuras revisiones de la API, es posible que se agregue al constructor y se copien los métodos) (Ieebb9).
  • Se realizaron mejoras en el deslizamiento desde el borde. Cuando se usa Modifier.edgeSwipeToDismiss y se desliza el dedo hacia la izquierda desde el borde, ya no se activa la opción de deslizar para descartar si la dirección de desplazamiento cambia a la derecha. Antes, era posible deslizar para descartar cuando se deslizaba hacia la izquierda y, luego, hacia la derecha (I916ea).
  • HorizontalPageIndicator ahora muestra hasta 6 páginas en la pantalla. Si hay más de 6 páginas en total, se muestra un indicador de tamaño mediano a la izquierda o a la derecha, con una transición fluida entre las páginas (I2ac29).
  • Se mejoró el comportamiento de ajuste predeterminado en ScalingLazyColumn y Picker (I49539).
  • Se realizaron mejoras en el deslizamiento desde el borde. Cuando se usa Modifier.edgeSwipeToDismiss, la opción de deslizar para descartar solo se activa cuando el primer toque es en el borde seguido de un desplazamiento a la derecha. Antes, era posible activar la opción deslizar para descartar cuando se deslizaba el dedo desde cualquier parte de la pantalla si el desplazamiento alcanzaba el inicio (I8ca2a).

Versión 1.0.0-beta01

11 de mayo de 2022

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01 y androidx.wear.compose:compose-navigation:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Qué incluye Compose para Wear OS 1.0

El 1.0.0-beta01 de Compose para Wear OS marca un logro importante, ya que la biblioteca cuenta con todas las funciones y la API bloqueada.

Los componentes de Compose Material para Wear en la versión 1.0 incluyen lo siguiente:

  • Material Theme: Se usa como reemplazo de MaterialTheme de Compose para dispositivos móviles, proporciona los colores, las formas y la tipografía para compilar componentes en wearables que implementan los lineamientos de UX de Material Design para Wear listos para usar.
  • Button, CompactButton y ToggleButton: Button ofrece una sola ranura para introducir un ícono, una imagen o un texto breve (3 caracteres como máximo). Tiene forma circular con tamaños recomendados para los botones grandes, pequeños o predeterminados. CompactButton ofrece una única ranura para introducir cualquier contenido (ícono, imagen o texto) y tiene forma circular con un fondo muy pequeño. CompactButton tiene un relleno transparente opcional alrededor del fondo que aumenta el área en la que se puede hacer clic. ToggleButton es un botón que ofrece una sola ranura para introducir cualquier contenido (texto corto, ícono o imagen) y que tiene estados de activo y desactivado (marcado o desmarcado) con colores e íconos diferentes a fin de indicar si está marcado o no.
  • Cards: Se usan para mostrar información sobre aplicaciones, como notificaciones. Diseño flexible para diferentes casos de uso con AppCard y TitleCard que ofrecen diferentes diseños y compatibilidad con imágenes como contenido de tarjeta o fondos.
  • Chips: Son componentes con forma de estadio similares a los botones, pero con un área más grande y varias ranuras para introducir etiquetas, íconos y etiquetas secundarias. Tienen diferentes tamaños y admite imágenes como fondos.
  • ToggleChips y SplitToggleChips: Es un Chip con un estado de marcado o desmarcado y una ranura adicional de ToggleControl para mostrar un ícono, como un interruptor o un botón de selección, a fin de enseñar el estado de marcado del componente. Además, SplitToggleChip tiene dos áreas que se pueden presionar, una en la que se puede hacer clic y una que se puede activar y desactivar.
  • CircularProgressIndicator: Es un indicador de progreso de Material para Wear con dos variaciones. El primero expresa la proporción de finalización de una tarea en curso y admite un intervalo en el trazado circular entre los ángulos de inicio y fin. El segundo indica un progreso indeterminado para un tiempo de espera sin especificar.
  • curvedText: Forma parte del DSL para describir CurvedLayouts, junto con curvedRow y curvedColumn, a fin de distribuir componentes alrededor de dispositivos circulares. Consulta Wear Component Foundation más adelante para obtener más detalles sobre CurvedLayout y CurvedModifier (cumple una función similar a los modificadores del mundo sin curvas y permite la configuración de varios aspectos de diseño, relleno, gradientes, etc.).
  • Dialog, Alert y Confirmation: Dialog muestra un diálogo de pantalla completa, en capas sobre cualquier otro contenido, y admite la opción deslizar para descartar. Requiere una sola ranura que se espera que sea el contenido definido del diálogo de Material para Wear, como Alert o Confirmation. Alert es el contenido definido del diálogo con ranuras para un ícono, un título y un mensaje. Tiene sobrecargas para dos botones negativos y positivos que se muestran lado a lado o una ranura para uno o más chips apilados verticalmente. Confirmation es el contenido de un diálogo definido que muestra un mensaje durante un tiempo determinado. Tiene una ranura para un ícono o una imagen (que podría ser animado).
  • HorizontalPageIndicator: Muestra la posición horizontal de la página de un modo adecuado para el factor de forma para wearables. Está diseñado para ocupar la pantalla completa y mostrar un indicador curvo en dispositivos redondos. Se puede utilizar con el visualizador de página de acompañamiento.
  • Icon: Es una implementación de Wear de Icon que toma el color y la versión alfa del tema de Material para Wear. Para ver los íconos en los que se puede hacer clic, consulta Button o Chip.
  • Picker: Muestra una lista de elementos para seleccionar en la que se puede hacer desplazamientos. De forma predeterminada, los elementos se repetirán de manera "infinita" en ambas direcciones. Se puede mostrar en modo de solo lectura para ocultar las opciones no seleccionadas.
  • PositionIndicator: Muestra la posición de desplazamiento o cualquier otra indicación posicional de manera apropiada para el factor de forma para wearables. Está diseñado para ocupar la pantalla completa y mostrar un indicador curvo en dispositivos redondos.
  • Scaffold: Implementa la estructura de diseño visual básica de Material Design para Wear. Este componente proporciona una API a fin de reunir varios componentes de Material para Wear (como TimeText, PositionIndicator y Vignette) que construyen la pantalla, lo que garantiza una estrategia de diseño correcta para ellos y recopila datos necesarios, de modo que estos componentes funcionen juntos de forma correcta.
  • ScalingLazyColumn: Es un componente de lista de escala de desplazamiento u ojo de pez que forma una parte clave del lenguaje de Material Design para Wear. Proporciona efectos de escalamiento y transparencia a los elementos del contenido. ScalingLazyColumn está diseñado para poder controlar, potencialmente, grandes cantidades de elementos de contenido, que solo se materializan y componen cuando es necesario.
  • Slider: Permite que los usuarios seleccionen un rango de valores. El rango de selecciones se muestra como una barra, que se puede mostrar, de forma opcional, con separadores.
  • Stepper: Es un componente de pantalla completa que les permite a los usuarios seleccionar elementos de un rango de valores mediante botones para aumentar y disminuir en la parte inferior y superior de la pantalla, con una ranura en el medio para Text o Chip.
  • SwipeToDismissBox: Controla el gesto de deslizar para descartar. Requiere una sola ranura para el contenido en segundo plano (solo se muestra durante el gesto de deslizar) y para el contenido en primer plano. De manera opcional, se puede combinar con la biblioteca de navegación de androidx mediante SwipeDismissableNavHost (consulta la biblioteca de navegación de Wear Compose que se encuentra más adelante).
  • Text: Es una implementación de Wear del componente Text de Compose Material, que toma los colores y la versión alfa del tema de Material para Wear.
  • TimeText: Es un componente que muestra Time y el estado de la aplicación en la parte superior de la pantalla. Se ajusta a la forma de la pantalla mediante el uso de texto curvo en pantallas redondas.
  • Vignette: Es un tratamiento de pantalla para usar en Scaffold que desenfoca la parte superior y la parte inferior de la pantalla cuando se utiliza contenido en el que se puede hacer desplazamientos.

  • Los siguientes componentes también se incluyen en Wear Compose Foundation:

  • CurvedLayout: CurvedLayout de Wear Foundation es un elemento de diseño que admite composición y que coloca a sus elementos secundarios en un arco y los rota según sea necesario. Es similar a un diseño de Row curvado en un segmento de un anillo. Ten en cuenta que el contenido de un CurvedLayout no es un elemento lambda que admite composición, sino un DSL (lenguaje específico del dominio). Todos los elementos del DSL de CurvedLayout admiten un parámetro modificador opcional, que se creó a partir de CurvedModifier.

  • basicCurvedText: Es un elemento en el DSL de CurvedLayout; basicCurvedText les permite a los desarrolladores escribir con facilidad texto curvo siguiendo la curvatura de un círculo (por lo general, en el borde de una pantalla circular). basicCurvedText solo se puede crear en CurvedLayout para garantizar la mejor experiencia, por ejemplo, poder especificar el posicionamiento y usar CurvedModifiers. Ten en cuenta que, en la mayoría de los casos, se debe usar curvedText en su lugar, ya que usa temas de Material.

  • curvedComposable: Envuelve el contenido componible normal, de modo que se pueda usar con CurvedLayout. Si curvedComposable tiene varios elementos adentro, se dibujarán uno encima de otro (como un Box). Para colocar varios elementos que admiten composición en una curva, une cada uno con curvedComposable.

  • curvedRow y curvedColumn: Similares a Row y Column, curvedRow y curvedColumn se pueden anidar dentro de CurvedLayout para distribuir los elementos según sea necesario. Para curvedRow, se pueden especificar la dirección de diseño angular y la alineación radial. Para curvedColumn, se pueden especificar la alineación angular y la dirección radial.

  • CurvedModifier: Todos los componentes curvos aceptan un parámetro modificador que se puede crear con CurvedModifier: se admiten el fondo, el tamaño, el peso y el relleno.

  • El siguiente componente también se incluye en la navegación de Wear Compose:

  • SwipeDismissableNavHost: Proporciona un lugar en la jerarquía de Compose para que se produzca la navegación independiente, con navegación hacia atrás proporcionada por un gesto de deslizar. El contenido se muestra dentro de SwipeToDismissBox, que muestra el nivel de navegación actual. Durante el gesto de deslizar para descartar, se muestra el nivel de navegación anterior (si corresponde) en segundo plano.

  • Para obtener más detalles sobre lo que se entregó, consulta las notas de las versiones alfa anteriores.

Cambios en la API

  • Se agregaron las funciones CurvedModifier.padding*. Se usan para especificar que se debe agregar espacio adicional alrededor de un componente curvo (I4dbb4).
  • Se quitó la clase interna CompositionLocal (I42490).
  • Se agregaron como referencia valores constantes para los tamaños de íconos Button, CompactButton y ToggleButton (I57cab).
  • Agrega el parámetro habilitado a AppCard y TitleCard. Ahora, tienen una API similar a Cards de androidx.compose.material. Si el parámetro se establece como falso, no se podrá hacer clic en la tarjeta (Idc48d, b/228869805).

Correcciones de errores

  • Stepper ahora inhabilita los botones para disminuir y aumentar cuando se alcanzan los límites inferior y superior (y se aplica ContentAlpha.disabled a iconColor) (I4be9f).
  • Agregamos un relleno de 1 dp alrededor del contenido de Picker cuando se dibuja con un gradiente para evitar el jitter en el texto que se observa cuando se desliza el dedo (I0b7b9).
  • Se agregaron pruebas de captura de pantalla para PositionIndicator (I5e8bc).
  • Se agregaron más pruebas para AppCard y TitleCard (I85391, b/228869805).

Versión 1.0.0-alpha21

20 de abril de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21 y androidx.wear.compose:compose-navigation:1.0.0-alpha21. La versión 1.0.0-alpha21 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron nuevos modificadores de curvas para especificar el fondo de un elemento curvo: CurvedModifier.background, .radialGradientBackground y .angularGradientBackground (I8f392).
  • Permitir que se especifique el modo de superposición de texto curvo (clip, puntos suspensivos o visible) (I8e7aa)
  • Se agregó el modificador CurvedModifier.weight, similar al de Compose. Esto se puede usar en elementos secundarios de curvedRow y CurvedLayout (para el ancho) y elementos secundarios de curvedColumn (para la altura) (I8abbd).
  • Se agregaron los modificadores CurvedModifier.size, .angularSize y .radialSize para especificar el tamaño de un elemento curvo (I623c7).

Cambios en la API

  • Se reorganizaron los parámetros para garantizar que el fondo sea anterior al color de manera coherente en la API de Wear Compose (I43208).
  • Se quitaron los parámetros insideOut y en sentido de las manecillas del reloj, y se reemplazaron por constantes más expresivas en las clases nuevas. La dirección del diseño curvo ahora puede admitir LayoutDirection y se hereda cuando no se especifica (If0e6a).
  • Reemplazamos autoCenter: Boolean por autoCenter: AutoCentringParams a fin de corregir un problema de API con ScalingLazyColumn (Ia9c90).
  • Cambiamos el nombre de iconTintColor y toggleControlTintColor a iconColor y toggleControlColor en la API (Chip/ToggleChip/Dialog/Slider/Stepper/...) ya que el color se aplica en la ranura del ícono /toggleControl (Ied238).
  • Se volvió a escribir la enumeración PageIndicatorStyle en la clase de valor (I2dc72).
  • Agregamos RowScope/ColumnScope/BoxScope a algunas de las ranuras de nuestros elementos que admiten composición para indicarles a los desarrolladores cuáles son los supuestos de diseños. Esto permitirá que los desarrolladores usen modificadores adicionales en cierto contenido de las ranuras y evitará la necesidad de proporcionar elementos de diseño adicionales. Además, realizamos algunas actualizaciones menores en los colores de AppCard/TitleCard para que timeColor y appColor cambien a contentColor de forma predeterminada, todas estas propiedades se pueden anular de forma individual si es necesario (I26b59).
  • Se hizo privado el objeto SwipeToDismissBoxState.Companion (I39e84).
  • Corrige el orden de los parámetros para InlineSlider y Stepper. Se realizó un cambio sencillo para seguir los lineamientos de la API (I11fec).
  • Se quitó el objeto Saver de SwipeToDismissBoxState, ya que no se usaba (Ifb54e).
  • Se actualizó CompactChip para que esté intercalado con la última especificación de UX. El relleno se redujo a horizontal = 12 dp y vertical = 0 dp. Se cambió la fuente de la etiqueta de button a caption1. El tamaño recomendado para los íconos es de 20 x 20 cuando están presentes el ícono y la etiqueta, y de 24 x 24 para un chip compacto que solo contiene un ícono. En el caso de uso del ícono, también nos aseguramos de que esté centrado (Iea2be).
  • Agregamos varios campos nuevos a ScalingLazyListLayoutInfo para permitir que los desarrolladores conozcan la cantidad de contentPadding y autoCenteringPadding que se aplicaron. Esto puede ser útil para los desarrolladores cuando calculan deslizamientos y desplazamientos (I7577b).
  • Implementamos transiciones de entrada y salida para Dialog. Se agregó un parámetro showDialog, y Dialog ahora controla su propia visibilidad (esto permite que ejecute las animaciones de introducción y cierre cuando se muestra u oculta Dialog). Ten en cuenta que la animación de cierre no se realiza cuando el usuario abandona el diálogo mediante el deslizamiento para descartar. También agregamos un valor predeterminado para el estado en la sobrecarga de SwipeToDismissBox que se agregó recientemente (I682a0).
  • Para mejorar la compatibilidad con i18n y a11y, cambiamos ToggleChip y SplitToggleChip a fin de que ya no tengan un valor predeterminado para la ranura toggleControl. También se cambió ToggleChipDefaults para que los siguientes métodos ahora muestren ImageVector en lugar de Icon (ten en cuenta que, como ya no muestran @Composables, cambiaron para comenzar con minúsculas), SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon() y RadioIcon()->radioIcon(): esto permite que los desarrolladores creen sus propios elementos componibles Icon() con un conjunto de contentDescription adecuado y los alienta a hacerlo (I5bb5b).
  • Se agregó un parámetro SwipeDismissableNavHostState a SwipeDismissableNavHost. Esto admite el uso del deslizamiento desde el borde en pantallas utilizadas como destinos de navegación, ya que SwipeToDismissBoxState se puede elevar y usar para inicializar SwipeDismissableNavHostState y Modifier.edgeSwipeToDismiss en pantallas que requieren el deslizamiento en el borde (I819f5, b/228336555).

Correcciones de errores

  • Asegúrate de que los diseños curvos se actualicen cuando sea necesario (Ie8bfa, b/229079150).
  • Corrección de errores en https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
  • Se quitaron las anotaciones experimentales innecesarias (I88d7e).

Versión 1.0.0-alpha20

6 de abril de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20 y androidx.wear.compose:compose-navigation:1.0.0-alpha20. La versión 1.0.0-alpha20 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó el modificador edgeSwipeToDismiss para SwipeToDismiss. Permite que swipeToDismiss esté activo solo en el borde izquierdo del viewport. Se usa cuando el centro de la pantalla debe controlar la paginación horizontal, como el desplazamiento en 2D de un mapa o el deslizamiento horizontal entre páginas. (I3fcec, b/200699800)

Cambios en la API

  • Implementación básica deCurvedModifiers. Esto abre el modo de introducir formas de personalizar el contenido curvo (pero aún no se proporcionan CurvedModifiers, y es posible que la capacidad de crear modificadores personalizados esté disponible más adelante). (I9b8df)
  • Se actualizaron la documentación del modificador EdgeSwipe y los valores predeterminados para una mejor comprensión. (I6d00d)
  • Se agregó la ranura de PageIndicator a Scaffold. Si agregamos PageIndicator directamente a Scaffold, podemos garantizar que se mostrará correctamente en dispositivos circulares. (Ia6042)
  • Se quitaron los íconos predeterminados de InlineSlider y de los parámetros de Stepper. Esto ayudará a los desarrolladores a estar más atentos a los requisitos de localización y accesibilidad. Los usos de los íconos predeterminados se mostraron en demostraciones y muestras. (I7e6fd)
  • Se reemplazaron los nombres de parámetros Trailing y Leading por Start y End en TimeText. (Iaac32)
  • Agregamos una sobrecarga de SwipeToDismissBox con un parámetro onDismissed para admitir el uso común de la activación de un evento de navegación cuando se completa el gesto de deslizar. (I50353, b/226565726)
  • Se quitaron las anotaciones de ExperimentalWearMaterialApi del uso de TimeText. (Ide520)
  • Marcamos el permiso de ScalingLazyList/Column y las interfaces de información como selladas, ya que no están diseñadas para que los desarrolladores externos las implementen. Esto nos permitirá agregar miembros nuevos en el futuro sin cambios binarios rotundos. (I7d99f)
  • Agregamos una propiedad flingBehaviour nueva al selector y un método PickerDefaults.flingBehaviour() para habilitar la configuración del comportamiento de deslizar, como agregar compatibilidad con RSB. PickerState ahora implementa la interfaz ScrollableState. (Ib89c7)

Correcciones de errores

  • Se actualizaron las reglas del perfil del modelo de referencia de Android Runtime (ART) para bibliotecas de Compose de Wear. El ART puede aprovechar las reglas de perfil en dispositivos para compilar con anticipación un subconjunto específico de la aplicación a fin de mejorar su rendimiento. Ten en cuenta que esta acción no tendrá efecto en las aplicaciones depurables. (Iaa8ef)
  • Se mejoró la documentación. (I2c051)

Versión 1.0.0-alpha19

23 de marzo de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19 y androidx.wear.compose:compose-navigation:1.0.0-alpha19. La versión 1.0.0-alpha19 contiene estas confirmaciones.

Cambios en la API

  • Se cambió el nombre de CurvedRow por CurvedLayout y se rediseñó para que sea un permiso con un DSL. Con este DSL, se pueden especificar diseños curvos más complejos mediante una serie de curvedRow y curvedColumn anidados (que son los equivalentes curvos del diseño de Row y Column). Dentro de estos elementos de diseño, se pueden usar tres elementos: curvedComposable (para agregar cualquier @Composable), basicCurvedText (texto curvo de base) y curvedText (texto curvo compatible con Wear Material). (Ib776a)
  • Puedes configurar el lado del PositionIndicator. La posición básica de PositionIndicador ahora se puede configurar para que sea End (diseño compatible con la dirección), OppositeRsb (tiene en cuenta la rotación de la pantalla para posicionarse en el lado opuesto al RSB físico), o los valores absolutos Left y Right. (I2f1f3)
  • Para SwipeToDismissBox, cambiamos el nombre de SwipeDismissTarget.Original a SwipeToDismissValue.Default y SwipeDismissTarget.Dismissal a SwipeToDismissValue.Dismissed. También trasladamos SwipeToDismissBoxDefaults.BackgroundKey y SwipeToDismissBoxDefaults.ContentKey a SwipeToDismissKeys.Background y SwipeToDismissKeys.Content respectivamente. (I47a36)
  • Se agregó un modo de solo lectura al selector para pantallas con varios selectores, donde solo se puede editar un selector a la vez. Cuando el selector es de solo lectura, muestra la opción seleccionada actualmente y una etiqueta si se proporcionó. (I879de)
  • Se refactorizó SwipeToDismissBoxState para restringir el permiso de ExperimentalWearMaterialApi a Modifier.swipeable y SwipeableState, que ahora se usan internamente. SwipeToDismissBoxState ahora tiene miembros de currentValue, targetValue, isAnimationRunning y snapTo para admitir casos de uso comunes. Avísanos si necesitas que más propiedades estén disponibles. También se corrigió el comportamiento de SwipeableState en el caso en que la compensación de desplazamiento esté dentro de un error de redondeo de un anclaje. (I58302)

Correcciones de errores

  • Se simplificó y corrigió el código para detectar si el contenido de una ScalingLazyColumn se puede desplazar (se usa para decidir si se muestra una barra de desplazamiento). (I7bce0)
  • Se corrigió un error en el indicador de posición cuando se usaba con más de un estado y cuando se alternaba entre ellos. (I320b5)
  • Actualizamos la tipografía y las fuentes predeterminadas del tema de Compose para Wear OS a fin de que coincidan con nuestra guía más reciente de UX. Display1 (40.sp) y display2 (34.sp) ahora son más pequeños que sus valores anteriores, y se realizaron otras actualizaciones menores en la altura de la línea y el interlineado. (Ie3077)
  • Agregamos resistencia a SwipeToDismissBox para que el movimiento solo se produzca cuando se desliza el dedo para descartar, y no en la dirección opuesta. (Ifdfb9)
  • Cambiamos algunos de los valores de parámetros predeterminados para las funciones CircularProgressIndicator a fin de que se ajusten a la orientación de UX de Material Design de Wear. En la versión de Spinner/Indeterminant, se actualizaron el tamaño (40->24.dp), indicadorColor (primary->onBackground), la transparencia de trackColor (30%->10%) y el ancho de trazo (4->3dp). Para la versión de Progress/Determinate, se actualizó la transparencia de trackColor (30%->10%). (I659cc)
  • Actualizamos los parámetros de escalamiento predeterminados de ScalingLazyColumn conforme a las especificaciones más recientes de UX de Material Design de Wear. Visualmente, esto hace que los elementos de lista se escalen más cerca del centro de la lista, pero se escalen menos en el borde de la lista que antes. (Ica8f3)
  • Se realizaron algunos ajustes a ScalingLazyColumnDefaults.snapFlingBehavior para mejorar el final de la animación (If3260).

Versión 1.0.0-alpha18

9 de marzo de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18 y androidx.wear.compose:compose-navigation:1.0.0-alpha18. La versión 1.0.0-alpha18 contiene estas confirmaciones.

Cambios en la API

  • Se implementaron varias mejoras en PositionIndicador: se cambió el nombre de ShowResult a PositionIndicatorVisibility. Se implementaron algunas mejoras de rendimiento para evitar repeticiones de cálculos cuando no sea necesario (Iaed9d).
  • Se actualizó la coloración recomendada para SplitToggleChip. Los elementos SplitToggleChip ahora tienen un fondo de color sólido cuando se marcan o desmarcan, y el color del elemento ControlControl es el principal indicador de si se marcó o desmarcó el compontente. Se agregó un nuevo ToggleDefaults.splitToggleChipColors() para admitir el nuevo esquema de colores. También simplificamos los métodos de toggleChipColors() ya que quitamos el objeto splitBackgroundOverlayColor (I7e66e).
  • Agregamos unadjustedSize a ScalingLazyListItemInfo, ya que no es seguro calcular el tamaño original del elemento con el tamaño ajustado y el factor de escala debido a la precisión de las operaciones flotantes (I54657, b/221079441).
  • Se agregó HorizontalPageIndicator. Representa un número total de páginas y una página seleccionada. Puede ser lineal o curvo, según la forma del dispositivo. También admite la forma del indicador personalizado, que define cómo se representa visualmente cada indicador (Iac898).
  • Se actualizó PickerState para que se pueda actualizar numberOfOptions. Esto admite casos de uso, como un DatePicker, cuando la cantidad de días del mes cambia según el mes seleccionado. El parámetro de constructor de PickerState cambió a initialNumberOfOption (Iad066).
  • Se ocultó el objeto PositionIndicator cuando es una barra de desplazamiento y no se puede desplazar (Id0a7f).
  • Para mantener la coherencia con Scaffold, nuestro componente de diálogo de pantalla completa ahora muestra PositionIndicator y Vignette. También usamos ScalingLazyColumn en lugar de Column, lo que significa que el contenido del diálogo ahora está en ScalingLazyListScope (y, por lo general, el elemento { /* content */ } debe incluirlo). El diálogo admite el parámetro verticalArrangement en consecuencia (Idea13).
  • Se cambió el nombre de la propiedad ToggleChip y SplitToggleChip de toggleIcon a toggleControl para mejorar la alineación con Material Design a fin de ayudar a diseñadores y desarrolladores a navegar por la API (If5921, b/220129803).
  • Agregamos una nueva caption3 de entrada a del tema de Material para Wear Typology. Caption3 es una fuente pequeña que se usa para escribir textos largos, como los legales (I74b13, b/220128356).

Correcciones de errores

  • Se detiene la animación de ajuste cuando estamos allí (Idb69d).
  • Cambios en la animación en PositionIndicator (I94cb9).
  • En función de los comentarios sobre la IU/UX, cambiamos autoCentering de ScalingLazyColumn a fin de proporcionar solo el espacio suficiente para garantizar que los elementos con el índice ScalingLazyListState.initialCenterItemIndex o superior puedan desplazarse por completo hasta el centro del viewport. Esto permite que los desarrolladores coloquen uno o dos elementos en torno al elemento inicialmente en el centro, que no son desplazables hacia el medio. Eso implica que el elemento ScalingLazyColumn de autoCentering no podrá desplazarse sobre initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2).
  • Agregamos una demostración para un selector de fecha y corregimos un error en PickerState en el que no se aplicaba initialSelectedOption hasta que se mostrara el selector (Id0d7e).
  • Para reducir el recorte de elementos ScalingLazyColumn más amplios en pantallas circulares, aumentamos el relleno del contenido horizontal predeterminado de 8 a 10 dp (I0d609).
  • Asegúrate de que se muestre PositionIndicator durante el desplazamiento (Ied9a2).

Versión 1.0.0-alpha17

23 de febrero de 2022

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17 y androidx.wear.compose:compose-navigation:1.0.0-alpha17. La versión 1.0.0-alpha17 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con ajuste que se puede usar con ScalingLazyColumn. Configura flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) para habilitar la compatibilidad con ajuste (I068d3, b/217377069).
  • Se agregaron demostraciones para el selector que se utiliza a fin de seleccionar una hora en reloj de 24 o 12 horas (Ie5552).

Cambios en la API

  • Se solucionó un problema con las fuentes y los estilos personalizados de TimeText en dispositivos cuadrados (Iea76e).
  • ScalingLazyListLayoutInfo ahora tiene reverseLayout, viewportSize y propiedades de orientación que coinciden con las de LazyListLayoutInfo (I4f258, b/217917020).
  • ScalingLazyColumn ahora tiene una propiedad userScrollEnabled que coincide con la de LazyList (I164d0, b/217912513).
  • Los selectores ahora tienen un gradiente en las partes inferior y superior de forma predeterminada (Iab92a).

Correcciones de errores

  • Modificamos ScalingLazyColumn para que ya no ocupe todo el espacio en su elemento superior. En su lugar, tomará su tamaño del contenido. De esa forma, será coherente con el comportamiento de LazyColumn. Si deseas restablecer el comportamiento anterior, pasa Modifier.fillMaxWidth()/width()/widthIn() a ScalingLazyColumn (I51bf8).
  • Mejoramos el mensaje de excepción en SwipeDismissableNavHost.kt que se activaba si la pila de actividades de navegación estaba vacía (I1b1dc).

Versión 1.0.0-alpha16

9 de febrero de 2022

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16 y androidx.wear.compose:compose-navigation:1.0.0-alpha16. La versión 1.0.0-alpha16 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó CircularProgressIndicator. Los indicadores de progreso muestran la duración de un proceso o un tiempo de espera no especificado. Se admite un espacio (corte) para TimeText u otros componentes si se usa en pantalla completa (Iab8da).

Cambios en la API

  • Los selectores ahora tienen un parámetro flingBehavior. El valor predeterminado hace que se ajusten a la opción más cercana cuando se desplazan o deslizan (I09000).
  • Se agregó una API de número entero para InlineSlider y Stepper (I1b5d6).

Correcciones de errores

  • Se cambió el valor defaultCenterItemIndex predeterminado de ScalingLazyListState de 0 a >1. Eso significa que, a menos que se anule en la construcción del estado con ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), el segundo elemento de la lista (index == 1) se colocará en el centro del viewport en la inicialización y el primero (index == 0) se colocará antes de él. Esto permite un mejor efecto visual predeterminado, ya que la mayor parte del viewport se rellenará con elementos de lista (I0c623, b/217344252).
  • Redujimos la extraPadding predeterminada de ScalingLazyColumn que se proporcionó a fin de garantizar que haya muchos elementos de lista para dibujar (incluso cuando reducimos el tamaño de algunos de ellos) del 10% al 5%. Esto evitará componer elementos de lista adicionales que podrían no aparecer en el viewport. Si se usan scaleParams no estándar (escalamiento más extremo, por ejemplo), el desarrollador puede ajustar el relleno adicional mediante viewportVerticalOffsetResolver (I76be4).
  • Se solucionó un problema relacionado con TimeText en varias líneas de un dispositivo cuadrado (Ibd3fb).
  • Modificamos ScalingLazyColumn para que ya no ocupe todo el espacio en su elemento superior. En su lugar, tomará su tamaño del contenido. De esa forma, será coherente con el comportamiento de LazyColumn. Si deseas restablecer el comportamiento anterior, pasa Modifier.fillMaxSize() a ScalingLazyColumn. NOTA: Este cambio está incompleto y se abordará en un cambio de seguimiento en la próxima versión alfa (I3cbfa).

Versión 1.0.0-alpha15

26 de enero de 2022

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15 y androidx.wear.compose:compose-navigation:1.0.0-alpha15. La versión 1.0.0-alpha15 contiene estas confirmaciones.

Cambios en la API

  • Se agregó una nueva propiedad autoCentering a ScalingLazyColumn. Si estableces la política como verdadera (el valor predeterminado), se garantiza que todos los elementos, incluido el primero y el último, se puedan desplazar para que sean visibles en el centro de las listas de viewport. Ten en cuenta que, si usas el enfoque automático, te recomendamos que establezcas el relleno de contenido vertical en 0 dp. Si se proporcionan el enfoque automático y el relleno de contenido vertical, ambos tendrán espacio adicional disponible antes y después del último elemento de la lista, lo que les permitirá desplazarse aún más. (I2a282, b/214922490)
  • Se agregó un componente Dialog que permite que cualquier elemento que admita composición active un diálogo de pantalla completa que se ubique por encima de otro contenido. Cuando se muestra el diálogo, se puede deslizar para descartarlo y se mostrará el contenido del elemento superior aparece en segundo plano durante el gesto de deslizar el dedo. Se espera que el contenido del diálogo sea Alert o Confirmation (se cambió el nombre de los componentes anteriores AlertDialog y ConfirmationDialog). Alert, Confirmation y Dialog se encuentran en el paquete androidx.wear.compose.material.dialog. Las alertas y la confirmación se pueden usar como destinos de navegación. Además, se agregó ColumnScope a la alerta y a los parámetros de confirmación, según fuera necesario. (Ia9014)
  • Se quitó onSurfaceVariant2 de los colores del tema material de Compose para Wear OS y se reemplazaron los usos de la biblioteca por onSurfaceVariant. (Icd592)
  • Se agregó un método para seleccionar de forma programática una opción en PickerState. Ahora, la opción seleccionada inicialmente también se puede especificar cuando se crea un PickerState. (I92bdf)
  • Se agregó compatibilidad para personalizar el comportamiento de navegación de ScalingLazyColumn. (I1ad2e, b/208842968)
  • Se agregó NavController.currentBackStackEntryAsState() a la biblioteca Wear.Compose.Navigation. (If9028, b/212739653)
  • Se agregaron Modifier.onRotaryScrollEvent() y Modifier.onPreRotaryScrollEvent() en dispositivos para Wear con un botón lateral que rota. (I18bf5, b/210748686)

Versión 1.0.0-alpha14

12 de enero de 2022

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14 y androidx.wear.compose:compose-navigation:1.0.0-alpha14. La versión 1.0.0-alpha14 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron varios métodos a ScalingLazyListState para permitir que los desarrolladores puedan configurar el elemento inicial de una lista y su desplazamiento, además de controlar el desplazamiento de otros elementos específicos.

    Como parte de este cambio, también modificamos ScalingLazyList para que se oriente alrededor del centro del viewport de ScalingLazyList en lugar de hacerlo desde su inicio.

    Se agregó una nueva propiedad anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter a ScalingLazyList para controlar si el centro (ScalingLazyListAnchorType.ItemCenter) o Edge (ScalingLazyListAnchorType.ItemStart) debe alinearse con la línea central de viewport.

    Como resultado, se cambió ScalingLazyListItemInfo.offset y ScalingLazyListItemInfo.adjustedOffset. Ahora reflejarán el desplazamiento del elemento con respecto al anchorType y a la posición del elemento de la lista. Por ejemplo, para un objeto ScalingLazyColumn con anchorType de ItemCenter y un elemento de lista que se posiciona en la línea central del centro de viewport, el desplazamiento sería 0.

    Los nuevos métodos son scrollTo, animatedScrollTo, centerItemIndex y centerItemOffset. (I61b61)

  • Se agregó un controlador del botón Atrás a SwipeDismissableNavHost para que, cuando se presione, se navegue al nivel anterior en la jerarquía de navegación. (I5b086, b/210205624)

Versión 1.0.0-alpha13

15 de diciembre de 2021

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13 y androidx.wear.compose:compose-navigation:1.0.0-alpha13. La versión 1.0.0-alpha13 contiene estas confirmaciones.

Cambios en la API

  • Hicimos RangeIcons interno (una referencia interna para InlineSlider y Stepper). (I927ec).

Correcciones de errores

  • Se corrigió un problema en el que SwipeDismissableNavHost agregaba un destino a la jerarquía de Compose antes de alcanzar el estado de ciclo de vida CREATED, lo que generaba un IllegalStateException. Esta corrección era un requisito previo para actualizar la dependencia de navigation-compose a 2.4.0-beta02 y versiones posteriores. (I40a2b, b/207328687)

  • Se agregó una clase de elementos de diseño para obtener recursos de elementos de diseño dentro de la biblioteca de Wear Compose para que ya no se necesite ese reflejo. Se corrigió un error en el que se quitaban los elementos de diseño de la biblioteca minifyEnabled=true o shrinkResources=true. (IB2a98).

  • Se agregaron pruebas para Stepper en Wear Compose. (I2d03a)

  • Se agregaron muestras para SwipeDismissableNavHost en la navegación de Wear Compose. (I85f06)

Versión 1.0.0-alpha12

1 de diciembre de 2021

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12 y androidx.wear.compose:compose-navigation:1.0.0-alpha12. La versión 1.0.0-alpha12 contiene estas confirmaciones.

Nuevas funciones

  • Agregamos un componente Stepper que permite a los usuarios realizar una selección en función de un rango de valores. Stepper es un control de pantalla completa con botones para aumentar y disminuir en la parte superior e inferior, y un slot en el medio (se espera que tome un chip o texto). Los íconos de botón se pueden personalizar si es necesario. (I625fe)

  • Se agregaron 2 nuevos elementos componibles para mostrar diálogos: AlertDialog espera una respuesta del usuario y muestra un título, un ícono, un mensaje y a) dos botones para opciones positivas o negativas simples, o b) chips apilados verticalmente o chips para activar o desactivar para opciones más flexibles, ConfirmaDialog muestra una confirmación de recepción con un tiempo de espera. Este diálogo simple tiene ranuras para un título y un ícono (animado). (Ic2cf8)

Cambios en la API

  • Agrega unidades (milisegundos) a los valores de duración sugeridos del diálogo. (I09b48)

Versión 1.0.0-alpha11

17 de noviembre de 2021

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11 y androidx.wear.compose:compose-navigation:1.0.0-alpha11. La versión 1.0.0-alpha11 contiene estas confirmaciones.

Nuevas funciones

  • Agregamos un componente de selección que le permite al usuario seleccionar un elemento de una lista de desplazamiento. De forma predeterminada, la lista de elementos seleccionables se repite de forma "infinita" en ambas direcciones, para dar la impresión de un cilindro giratorio visto de lado. Se agregarán dos funciones en versiones posteriores: Ajustar a un valor después de deslizar el dedo en la pantalla y agregar una función a PickerState para establecer o desplazarse hasta el valor actual (I6461b).

Cambios en la API

  • Se agregó un elemento ScalingLazyItemScope y algunos modificadores nuevos fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight para permitir que se ajuste el tamaño de los elementos de la lista según el tamaño del contenedor superior. Los elementos se pueden configurar para llenar la totalidad o una fracción del tamaño del elemento superior. Esto expone la funcionalidad ya disponible en LazyRow/Column (I4612f).
  • Se agregó compatibilidad a ScalingLazyColumn para permitir que los elementos tengan una clave. También se agregaron métodos de conveniencia para agregar elementos de arrays y listas (Ic1f89).

Correcciones de errores

  • Se agregaron ejemplos adicionales para TimeText (I8cb64).

Versión 1.0.0-alpha10

3 de noviembre de 2021

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10 y androidx.wear.compose:compose-navigation:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó un InlineSlider para Wear Compose. InlineSlider permite que los usuarios seleccionen un rango de valores. El rango de selecciones se muestra como una barra entre los valores mínimos y máximos del rango, desde el que los usuarios pueden seleccionar un solo valor. (If0148)

  • Consulta el nuevo Compose para el Codelab de WearOS.

Cambios en la API

  • Macrobenchmark ahora tiene un minSdkVersion de 23 (If2655)

Correcciones de errores

  • Se actualizó el control de transición en SwipeDismissableNavHost en un SideEffect (I04994, b/202863359)
  • Se actualizó el control de transición en SwipeDismissableNavHost (I1cbe0, b/202863359)

Versión 1.0.0-alpha09

27 de octubre de 2021

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha09, androidx.wear.compose:compose-material:1.0.0-alpha09 y androidx.wear.compose:compose-navigation:1.0.0-alpha09. La versión 1.0.0-alpha09 contiene estas confirmaciones.

Nuevas funciones

  • Lanzamos la Vista previa para desarrolladores de Compose en Wear OS. Consulta nuestra entrada de blog, en la que se revisan los elementos principales que admiten composición y se incluyen vínculos a más recursos a fin de comenzar a usarlos.

Cambios en la API

  • Agregamos compatibilidad, de modo que los desarrolladores puedan personalizar todos los colores con el tema de color de Material Design para Wear. (I4759b, b/199754668)

Correcciones de errores

  • Se agregaron muestras de SwipeToDismissBox que conservan el estado (Ibaffe)
  • Se agregaron vínculos a las guías de developer.android.com desde KDocs para CurvedText, TimeText y SwipeToDismissBox. (I399d4)
  • Ahora, se arroja SwipeDismissableNavHost si no hay un destino actual (indica que NavGraph no se compiló con la función de utilidad wear.compose.navigation.composable) (I91403)
  • Se agregaron documentación adicional y ejemplos para usar la fuente de tiempo en TimeText (I4f6f0)

Versión 1.0.0-alpha08

13 de octubre de 2021

Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha08, androidx.wear.compose:compose-material:1.0.0-alpha08 y androidx.wear.compose:compose-navigation:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.

Cambios en la API

  • Modificamos el nombre de las propiedades body de AppCard y TitleCard por content, y se las movió al final de la lista de propiedades para que puedan proporcionarse como una lambda al final. También se cambió el nombre de bodyColor por contentColor para mantener la coherencia con los nombres de ranuras nuevos (I57e78).

Correcciones de errores

  • Se agregaron vínculos a las guías de developer.android.com desde KDocs para componentes de botones, tarjetas, chips, temas, indicadores de posición y columnas de escalado diferido (I22428).
  • Se corrigió el problema por el que WearOS SwipeToDismissBox no controlaba los deslizamientos. (I9387e).
  • Se agregaron muestras para Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip y SplitToggleChip (Iddc15).
  • Se agregaron pruebas de rendimiento de microcomparativas para Card, Chip, ToggleChip, TimeText y ScalingLazyColumn (If2fe9).

Versión 1.0.0-alpha07

29 de septiembre de 2021

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha07, androidx.wear.compose:compose-material:1.0.0-alpha07 y androidx.wear.compose:compose-navigation:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó un componente de CurvedText en Material, que permite a los desarrolladores escribir con facilidad texto curvo siguiendo la curvatura de un círculo (generalmente en el borde de una pantalla circular) (I19593).

Cambios en la API

  • Se agregaron pruebas para TimeText (Idfead).
  • Se transformó ArcPaddingValues en una interfaz (Iecd4c).
  • Se agregó una animación a SwipeToDismissBox (I9ad1b).
  • Se agregó el parámetro hasBackground a la API de SwipeToDismissBox para que se pueda inhabilitar el gesto de deslizamiento cuando no haya contenido en segundo plano para mostrar (I313d8).
  • Ahora, rememberNavController() toma un conjunto opcional de instancias de Navigator que se agregarán al NavController que se muestre para mejorar la compatibilidad con los elementos Navigator opcionales, como los de Material de Navigation acompañante (I4619e).
  • Haz una referencia a NamedNavArgument de navigation-common y quita la copia de Wear.compose.navigation (I43af6).

Correcciones de errores

  • Se corrigió la fragilidad de prueba de CurvedRow en dispositivos más pequeños (If7941).
  • Se corrigió el posible parpadeo en CurvedRow cuando se actualizaba el contenido y se garantiza que se vuelva a medir la fila curva (Ie4e06).
  • Se actualizó ChipDefaults.gradientBackgroundChipColors() según los cambios en las especificaciones de UX. El gradiente ahora comienza con MaterialTheme.colors.primary en alfa al 32.5% y termina con MaterialTheme.colors.surface en alfa al 0% sobre un fondo de MaterialTheme.colors.surface en alfa al 75% (Id1548).
  • Actualizamos los colores de ToggleChips cuando están en el estado seleccionado para que coincidan con las pautas de UX más recientes de Material Design de Wear. Cuando se seleccionan, los ToggleChips ahora tienen un fondo con gradiente que va desde MaterialTheme.color.surface en alfa al 0%, arriba a la izquierda, hasta MaterialTheme.color.primary en alfa al 32%, abajo a la derecha, sobre un fondo de MaterialTheme.color.surface en alfa al 75%. Esto genera una diferencia más sutil entre los elementos marcados y desmarcados correspondientes al ToggleChip (Idd40b).

Versión 1.0.0-alpha06

15 de septiembre de 2021

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06 y androidx.wear.compose:compose-navigation:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó Scaffold (un objeto que admite composición de nivel superior de la aplicación y que proporciona una estructura para controlar los PositionIndicators, como Scroll o Volume), un área en la parte superior de la pantalla para mostrar la hora y el estado de la aplicación, y que además admite un objeto Vignette para desenfocar los bordes superior e inferior de la pantalla para el contenido sobre el que es posible desplazarse. El área principal de Scaffold es donde se coloca el contenido de la aplicación (I5e0bf).
  • Se agregó la implementación de TimeText para Wear Compose (I5654c).

Biblioteca de navegación de Wear Compose

  • Agregamos la primera versión de la biblioteca de navegación de Wear Compose, que proporciona integración entre las bibliotecas de navegación de Wear Compose y Androidx. Proporciona un medio simple para navegar entre las funciones @Composable como destinos de tu aplicación.

  • En esta versión inicial, se proporciona lo siguiente:

    • Un elemento componible SwipeDismissableNavHost que aloja un gráfico de navegación y proporciona navegación hacia atrás mediante gestos de deslizamiento
    • La extensión NavGraphBuilder.composable para ayudar a construir gráficos de navegación
    • rememberSwipeDismissableNavController() para permitir la elevación del estado
  • Ejemplo de uso en el que creamos dos pantallas y navegamos entre ellas:

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • La navegación de Wear Compose se empaqueta como una biblioteca independiente de modo que no sea necesario que las aplicaciones WearCompose simples que implementen su propia navegación con desplazamiento manual dependan de la biblioteca de navegación de AndroidX.

Cambios en la API

  • Se actualizó SwipeDismissableNavHost para admitir rememberSaveable estableciendo la identidad clave para el contenido y el fondo (I746fd).
  • Se agregó un adaptador PositionIndicador que puede controlar LazyListState (I21b88).
  • Se actualizó SwipeToDismissBox para admitir rememberSaveable (Ie728b).
  • Se agregó compatibilidad con reverseLayout a ScalingLazyColumn. Esto permite revertir la dirección del desplazamiento y el diseño (I9e2fc).
  • performGesture y GestureScope dejar de estar disponibles y se reemplazaron con performTouchInput y TouchInjectionScope (Ia5f3f, b/190493367).
  • Cambiamos el nombre de VignetteValue a VignettePosition, el de VignetteValue.Both a VignettePosition.TopAndBottom (I57ad7).
  • Cambiamos el nombre de ScalingLazyColumnState a ScalingLazyListState, el de ScalingLazyColumnItemInfo to ScalingLazyListItemInfo, el de ScalingLazyColumnLayoutInfo to ScalingLazyListLayoutInfo y el de ScalingLazyColumnScope to ScalingLazyListScope en caso de que decidamos agregar una implementación de ScalingLazyRow en el futuro (I22734).

Correcciones de errores

  • Se actualizó la documentación de CompactChip para describir lo que sucede si no se proporciona un ícono ni una etiqueta (I4ba88).
  • Realizamos algunos ajustes en los componentes de la tarjeta de Wear (I6b3d0).
    1. Se redujo el espaciado de TitleCard entre Title y Body de 8.dp a 2.dp.
    2. Se cambió la fuente del encabezado de TitleCard de body a title3.
    3. El gradiente de fondo de la tarjeta cambió para oscurecer el fondo.

Versión 1.0.0-alpha05

1 de septiembre de 2021

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha05 y androidx.wear.compose:compose-material:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Cambios en la API

  • Se marcó ArcPaddingValues como @Stable (I57deb).
  • Ahora, ScalingLazyColumnState implementa la interfaz de ScrollableState, que les brinda a los desarrolladores acceso programático para desplazar el componente (I47dbc).

Correcciones de errores

  • Redujimos el espacio entre Icon y Text en Chip y ToggleChip para alinearlos con las actualizaciones de UX Spec (I83802).

Versión 1.0.0-alpha04

18 de agosto de 2021

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha04 y androidx.wear.compose:compose-material:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó un objeto SwipeToDismissBox y un modificador deslizable que se pueden usar a fin de admitir un gesto de deslizar de izquierda a derecha para descartar. Independientemente de los componentes de navegación, se espera que se use para salir de una pantalla y navegar a otra. Se agregaron pruebas de integración a fin de demostrar el gesto deslizar para descartar (I7bbaa).
  • Agregamos las interfaces de ScalingLazyColumnItemInfo y ScalingLazyColumnLayoutInfo a la clase ScalingLazyColumnState, para que los desarrolladores conozcan las posiciones y los tamaños reales de los elementos en ScalingLazyColumn después de que se aplicara el escalamiento. También, corregimos un error relacionado con la manera en que se calculaba el escalamiento cuando se aplicaba el padding del contenido "principal" a ScalingLazyColumn (I27c07).

Cambios en la API

  • Se agregó la clase CurvedTextStyle para especificar las opciones de estilo de texto curvo. Es similar a TextStyle, pero ahora solo admite color, tamaño de fuente y fondo. En el futuro, se agregarán más opciones de estilo (I96ac3).
  • Agregamos las interfaces de ScalingLazyColumnItemInfo y ScalingLazyColumnLayoutInfo a la clase ScalingLazyColumnState, para que los desarrolladores conozcan las posiciones y los tamaños reales de los elementos en ScalingLazyColumn después de que se aplicara el escalamiento. También, corregimos un error relacionado con la manera en que se calculaba el escalamiento cuando se aplicaba el padding del contenido "principal" a ScalingLazyColumn (I27c07).
  • Agregamos @ExperimentalWearMaterialApi a la enumeración SwipeDismissTarget, que forma parte de la API de SwipeToDismissBox (I48b5e).

Correcciones de errores

  • Se agregó material de prueba para SwipeToDismissBox (I9febc).

Versión 1.0.0-alpha03

4 de agosto de 2021

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha03 y androidx.wear.compose:compose-material:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • Se agregó el componente CurvedText, que les permite a los desarrolladores escribir texto con facilidad en la curvatura de un círculo (generalmente en el perímetro de una pantalla circular) (Id1267).
  • Se cambió el nombre de CardDefaults.imageBackgroundPainter() a CardDefaults.imageWithScrimBackgroundPainter() para aclarar que la imagen de fondo tiene una malla dibujada (I53206).
  • Se agregó el componente ScalingLazyColumn, que proporciona una lista de componentes para Wear Material. Esto otorga una vista de ojo de pez con la lista de contenidos, que reduce la escala de su tamaño verticalmente y se vuelve transparente a medida que se ajustan a los bordes del componente (I7070c).

Correcciones de errores

  • Se cambió el color predeterminado del contenido de appName en AppCard, en respuesta a una actualización de UX Spec. El color predeterminado de appName ahora es MaterialTheme.colors.onSurfaceVariant. Además, se agregó la descripción del documento de parámetros faltante para el espacio del título (Ic4ad1).

Versión 1.0.0-alpha02

21 de julio de 2021

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha02 y androidx.wear.compose:compose-material:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó la nueva clase CurvedRow para disponer los elementos componibles en forma de arco (I29941).
  • Se agregó un nuevo tipo de tarjeta para las apps (TitleCard) y compatibilidad para usar imágenes como fondo de las tarjetas a fin de destacar su contenido (I53b0f).

Cambios en la API

  • Se agregó compatibilidad con la alineación radial a CurvedRow (similar a la alineación vertical en una fila) (Id9de5).
  • Se agregó la nueva clase CurvedRow para disponer los elementos componibles en forma de arco (I29941).
  • Se agregó un nuevo tipo de tarjeta para las apps (TitleCard) y compatibilidad para usar imágenes como fondo de las tarjetas a fin de destacar su contenido (I53b0f).
  • Se agregaron íconos de activación (casillas de verificación, botones y botones de selección) a ToggleChipDefaults para que los desarrolladores puedan configurar ToggleChip y SplitToggleChips de forma más fácil (I7b639).
  • Se actualizó el padding inicial y final del contenido para los chips a fin de que siempre sea 14.dp, independientemente de si el chip tiene un ícono o no (antes era 12.dp si tenía íconos y 14.dp si no los tenía) (I34c86).

Correcciones de errores

  • Se agregaron pruebas para CurvedRow (I93cdb).
  • Se vincularon las dependencias de Wear Compose a Compose 1.0.0-rc01 (Ie6bc9).
  • Se modificó el manejo del color en la imagen de fondo en las tarjetas y los chips para que la imagen se recorte, en lugar de ampliarse, a fin de mantener sus proporciones (I29b41).
  • Se agregaron más demostraciones y pruebas de integración para Button y SwitchButton (5e27ed2).
  • Se agregaron más pruebas de chips a fin de agregar los colores de contenido de imageBackgroundChips (Ia9183).

Versión 1.0.0-alpha01

1 de julio de 2021

Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha01 y androidx.wear.compose:compose-material:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

Wear Compose es una biblioteca de Kotlin basada en Compose que admite Material Design para Wear, una extensión de este lenguaje para wearables de Wear OS. Esta primera versión alfa contiene implementaciones iniciales y funcionales de lo siguiente:

  • Tema de Material: Configura los colores, la tipografía y las formas de manera coherente en los componentes utilizados de esta biblioteca.
  • Chip, CompactChip: Los chips tienen forma de estadio, y hay variaciones disponibles para tomar el contenido de los íconos, las etiquetas y las etiquetas secundarias.
  • ToggleChip, SplitToggleChip: Se trata de un tipo especializado de chips que incluye un espacio para un ícono de botón de activación de dos estados, como un botón de selección o una casilla de verificación. Además, SplitToggleChip tiene dos áreas que se pueden presionar, una en la que se puede hacer clic y una que se puede activar y desactivar.
  • Button, CompactButton: Los botones tienen forma circular y cuentan con un solo espacio de contenido para un ícono o una cantidad mínima de texto (3 caracteres como máximo).
  • ToggleButton: Se trata de un botón que permite activar o desactivar una acción y que contiene un solo espacio para un ícono o una cantidad mínima de texto (3 caracteres como máximo).
  • Card, AppCard: Tienen forma rectangular, con esquinas redondeadas, y ofrecen espacios de contenido, como el ícono de la app, la marca de tiempo, el título y el cuerpo.

Las próximas versiones extenderán el conjunto de widgets a fin de agregar compatibilidad con elementos de Material Design para Wear, como selectores, controles deslizantes, listas, indicadores de página, diálogos, indicadores RSB de desplazamiento, avisos y mucho más.

Además, se brindará compatibilidad con otras funciones específicas para wearables, como texto y diseños curvos, además de estructuras que facilitarán a los desarrolladores la compilación de superposiciones o apps para estos dispositivos.

Wear Compose Material se diseñó con los mismos principios que Compose Material, aunque está orientado a wearables. La biblioteca de Wear Compose Material se debe usar en lugar de la biblioteca de Compose Material cuando se compile para wearables.

Las dos bibliotecas "Material" deben considerarse mutuamente excluyentes y no deben mezclarse en la misma app. Si los desarrolladores incluyeran la biblioteca de Material Compose en sus dependencias, esto indicaría que falta un componente de la biblioteca de Wear Compose Material (en este caso, avísanos lo que necesitas), o bien se está usando un componente que no recomendamos que utilices en un dispositivo wearable.