Wear Compose Material 3

  
Proporciona funcionalidades que admiten diferentes tamaños de dispositivos y gestos de navegación con el sistema de diseño expresivo de Material 3 para escribir aplicaciones de Jetpack Compose para dispositivos Wear OS.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
13 de agosto de 2025 - 1.5.0-rc02 - -

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.5.0-rc02"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material3:1.5.0-rc02"

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

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-rc02")
    
    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

Kotlin

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

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material3:1.5.0-rc02")

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

    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, 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 Material3, versión 1.5

Versión 1.5.0-rc02

13 de agosto de 2025

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

Correcciones de errores

  • Se corrigió un error en TimePicker en el que las cadenas largas internacionalizadas para el período (a.m./p.m.) podían dañar el diseño. (I0fa81)

Versión 1.5.0-rc01

30 de julio de 2025

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

Correcciones de errores

  • Ahora TimePicker se basa completamente en la configuración regional del usuario y usa DateFormat.getBestDateTimePattern para determinar el orden y el contenido de sus selectores y separadores. Se corrigió el orden incorrecto de las columnas para los idiomas en CJK, se resolvieron los problemas de diseño de RTL en idiomas como el árabe, se usan separadores localizados y se admiten formatos de hora de 0 a 11 y de 1 a 12 según la configuración regional (I5d543).
  • DatePicker ahora muestra un mes numérico en algunas configuraciones regionales, como CJK, para evitar mezclar formatos numéricos y lingüísticos (p.ej., 2025 | 07 | 02 en lugar de 2025 | 7月 | 02). Este cambio aplica una heurística que verifica si la configuración regional usa sufijos lingüísticos para el año y, si es así, cambia el formato del mes de textual (MMM) a numérico (MM) para garantizar la coherencia. (Ia93fe)
  • El espacio vertical del encabezado en el componente Picker ahora es constante, lo que evita un cambio visible cuando se selecciona una columna del selector, especialmente en el modo Talkback. (I7f8b7)
  • Se corrigió un error de accesibilidad causado por el dibujo de HorizontalPageIndicator y VerticalPageIndicator en pantalla completa. Los indicadores de página ya no son de pantalla completa y se posicionarán automáticamente cuando se usen con HorizontalPagerScaffold o VerticalPagerScaffold. Cuando no uses un diseño de Pager, especifica la alineación de forma explícita con modifier = Modifier.align(Alignment.BottomCenter) y HorizontalPageIndicator, y con modifier =Modifier.align(Alignment.CenterEnd) y VerticalPageIndicator. (I3a0ad)
  • La dirección de deslizamiento en SwipeToReveal ahora es coherente para LayoutDirections LTR y RTL. (I6d427)
  • Se restableció el centrado vertical de SwipeToReveal para las acciones. Si es hasPartiallyRevealedState = true, el llamador debe restablecer RevealState a RevealValue.Covered cuando se produzca el desplazamiento. (I6473d)
  • SwipeDismissableNavHost ahora corta correctamente el contenido para la API 36 y versiones posteriores. (Ib9a44)

Versión 1.5.0-beta06

16 de julio de 2025

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

Correcciones de errores

  • Se corrigió la animación de EdgeButton cuando LazyColumn o ScalingLazyColumn tienen reverseLayout = true. (I46a1a)
  • Se corrigió un error en ScreenScaffold por el que la función de tocar para explorar no funcionaba en TalkBack si se proporcionaba un ScrollIndicator/PageIndicator. (I6dcee)
  • TransformingLazyColumn ahora permite la transformación personalizada desde TransformationSpec leyendo el valor de itemHeight proporcionado por TransformationSpec en el objeto de pintura en segundo plano. (I6a599)
  • Transiciones de color animadas habilitadas o inhabilitadas para IconButton, para que sean coherentes con IconToggleButton. (Ife10a)
  • Se quitó la fijación mínima de la sección en CircularProgressIndicator para evitar un salto notable al tamaño mínimo del punto durante la animación. Como parte de este cambio, el parámetro targetProgress en drawCircularProgressIndicator ahora no se usa. (I33309)
  • El selector ahora tiene el rol semántico ValuePicker, que los lectores de pantalla pueden usar para que los selectores sean más accesibles. El selector también tiene etiquetas de clic de accesibilidad actualizadas que diferencian entre ajustar el valor en el modo de solo lectura y seleccionar el valor actual de lo contrario. (I33309)

Versión 1.5.0-beta05

2 de julio de 2025

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

Correcciones de errores

  • Se actualizó la documentación para aclarar el uso de Modifier.edgeSwipeToDismiss (I78cb5).
  • Se corrigió un error por el que se podían mostrar varios elementos revelados con SwipeToReveal en listas diferidas (I1d4f6).
  • Las formas de los contenedores en TransformingLazyColumn ahora se ajustan para evitar que se recorte el contenido. (I9221a)
  • Las etiquetas TimePicker y DatePicker para hora/minuto/segundo o año/mes/día ahora tienen semántica de encabezado para los lectores de pantalla (I77d8b).
  • Se quitó la pausa entre los bucles en el CircularProgressIndicator indeterminado (Iaf0bb).
  • Se corrigió un error de animación en TransformingLazyColumn cuando se quitan elementos. (I73034)
  • Se corrigió el control de los elementos de anclaje en TransformingLazyColumn cuando se quitan elementos. (I841a8)
  • PickerGroup ahora anima los selectores horizontalmente cuando se activa el centrado automático y se cambia el selector seleccionado (centrado). (Ic82c4)

Versión 1.5.0-beta04

18 de junio de 2025

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

Correcciones de errores

  • Se corrigió un error de diseño en TransformingLazyColumn, en el que el contenido que cabe en la pantalla ahora se alinea correctamente desde la parte superior de la pantalla (I80115).
  • Se solucionó un problema con TransformingLazyColumn en el que el elemento inferior se escalaba de forma incorrecta cuando se desplazaba hasta la parte inferior de una lista con un EdgeButton. El progreso de desplazamiento ahora sigue un descenso de gradientes cuando se restablece el diseño. (Iea375)
  • TransformingLazyColumn ahora lee la altura del elemento dentro del pintor de fondo, lo que permite que TransformationSpecs personalizado implemente la transformación. (I022f0)
  • SwipeToReveal ahora centra verticalmente las acciones reveladas de forma correcta. (I4419b)
  • Se corrigió un error en SwipeToReveal que impedía que funcionara correctamente con el gesto de deslizar para descartar si se usaban tanto vistas como Compose en la pantalla. (I5dc0e)
  • Se corrigió un error por el que las acciones de SwipeToReveal se dibujaban con una compensación vertical durante el desplazamiento. (I29444)
  • AlertDialog, ConfirmationDialog, OpenOnPhoneDialog y SwipeToReveal ahora redondean los paddings y los tamaños que se calculan como un porcentaje del tamaño de la pantalla. (I76367)
  • Ahora, ButtonDefaults.outlinedButtonBorder se actualiza según los cambios de estado habilitado/inhabilitado(If2ddd).
  • Se corrigió un error en la altura de EdgeButton que ocurría en pantallas complejas con Pager y ScreenScaffold. (I946e3)
  • Se corrigió una condición de carrera que podía hacer que se detuvieran las animaciones de marcador de posición. (I53530)
  • Se mejoró el rendimiento de HorizontalPageIndicator y VerticalPageIndicator dibujando en Canvas. (Ifae1e)
  • Se perfeccionó la forma de EdgeButton para suavizar las transiciones entre los puntos suspensivos y los círculos que componen el contorno. (I7721e)
  • Se corrigió un error en LevelIndicator que provocaba que se detuvieran las animaciones debido a recomposiciones innecesarias. (I45d08)

Versión 1.5.0-beta03

4 de junio de 2025

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

Cambios en la API

  • Ahora, OpenOnPhoneDialog solo anuncia el texto del mensaje en TalkBack y omite la semántica del ícono. Se actualizaron los OpenOnPhoneDialogDefaults para quitar el parámetro iconContentDescription y el parámetro contentDescription de icon(). Además, ConfirmationDialogDefaults ahora tiene parámetros de modificador en los elementos SuccessIcon y FailureIcon componibles. (Id2ae2)

Correcciones de errores

  • Se cambió el orden en el que aplicamos el efecto de los parámetros SurfaceTransformation. Antes, las transformaciones aplicadas a los componentes de Wear Material 3 se realizaban de la siguiente manera: pintor de fondo, transformación del contenedor y transformación del contenido. Ahora, los primeros 2 se invierten y aplicamos cualquier modificador pasado entre ellos, por lo que se ve afectado por las transformaciones del contenedor. Esto corrige casos como el uso de un efecto de brillo de marcador de posición con elementos en un TLC que usa el parámetro de transformación. (I786cf)
  • Se agregó RevealState.Saver para restablecer el estado de SwipeToReveal cuando se vuelve a crear la actividad o el proceso. La función rememberRevealState ahora usa este Saver de forma predeterminada. (Ie0ecb)
  • Los botones de acciones principales y secundarias SwipeToReveal deben tener ButtonDefault.Height como valor predeterminado (se corrigió un error por el que estos botones ocupaban la altura máxima para los botones más altos). (Ibfba1)
  • Se cambió SwipeToReveal para restablecer el último componente con el que se interactuó cuando se realiza el gesto de deslizar el dedo hacia la derecha. (Ia8450)
  • SwipeToReveal se cambió para establecerse en el estado Revealing cuando la posición final del deslizamiento se encuentra entre los anclajes de revelación y revelado, y está más cerca del anclaje de revelación. (If4458)
  • Ahora el contenido de ButtonGroup se invierte correctamente en un diseño de RTL (Ib378d).
  • AnimatedText ahora admite la dirección de texto de derecha a izquierda (I4533c)
  • TransformingLazyColumn ahora cambia el tamaño de los elementos correctamente cuando se quita el elemento inferior (Idacab).
  • TransformingLazyColumn ahora realiza solo una pasada de medición, lo que mejora el rendimiento al reducir los tiempos de fotogramas. (I501a1)

Versión 1.5.0-beta02

20 de mayo de 2025

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

Correcciones de errores

  • Se actualizaron los perfiles de Baseline para las bibliotecas de Foundation, Material y Material3. (I53f06)
  • Se corrigió un error en TransformingLazyColumn, en el que los elementos cambiaban de tamaño cuando se quitaba el elemento inferior. (Idacab)
  • Se corrigió un error con TransformingLazyColumn, cuando la lista se atascaba en la parte superior o inferior. (I49d00)
  • OpenOnPhoneDialog en TalkBack debería anunciar el texto curvo, en lugar de la descripción del contenido del ícono. (I4efe8)
  • Se corrigió un error en SwipeToReveal que informaba la ancla incorrecta en RevealState.currentValue cuando hasPartiallyRevealedState se establecía en falso. (I9c7cf)
  • Los botones de deshacer SwipeToReveal ahora son ButtonDefaults.Height de forma predeterminada. (I1f6c8)
  • Se mejoró el rendimiento de BasicSwipeToDismissBox eliminando el uso de Canvas para dibujar scrims. (I68f2c)
  • Se corrigió un error de accesibilidad en Slider, en el que el porcentaje anunciado no coincidía con el valor después de las actualizaciones (I91146).
  • Se corrigió un error en la implementación de placeholderShimmer. (Iee39b
  • Se mejoró el rendimiento de TransformingLazyColumn optimizando el cálculo de ScrollProgress en un 30%. (I4c4cb)

Versión 1.5.0-beta01

7 de mayo de 2025

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

La versión 1.5.0-beta01 de Compose para Wear OS indica que esta versión de la biblioteca está completa y la API está bloqueada (excepto donde se marca como experimental).

Wear Compose 1.5.0-beta01 incluye la biblioteca de Wear Compose Material3, que admite el nuevo sistema de diseño de IU llamado Material 3 Expressive. Se recomienda actualizar de Material a Material3 para adoptar el nuevo diseño visual en las apps y aprovechar los nuevos componentes de la siguiente manera:

  • MaterialTheme para esquemas de colores, tipografía y formas actualizados y extendidos que aportan profundidad y variedad a tus diseños.
  • Temas de color dinámico que generan automáticamente un esquema de colores para tu app que coincida con los colores de la cara del reloj
  • Los componentes nuevos se adaptan automáticamente a tamaños de pantalla más grandes de forma predeterminada
  • Cambio de forma: Los componentes de botones redondos, como IconButton, TextButton, IconToggleButton y TextToggleButton, admiten variaciones que se animan cuando se presionan o se marcan.
  • EdgeButton: Un nuevo botón que se ajusta a los bordes con una forma especial diseñada para la parte inferior de la pantalla.
  • Andamios: Se introducen AppScaffold y ScreenScaffold para diseñar la estructura de la pantalla y coordinar las animaciones de ScrollIndicator y TimeText.
  • Botones: Se admiten numerosos botones con forma de estadio con contenedores flexibles de una sola ranura y variaciones de varias ranuras para botones con íconos y etiquetas. CheckboxButton y SwitchButton se proporcionan cuando se necesitan botones de activación, mientras que RadioButton es el botón de selección disponible (también se proporcionan variaciones de "dividir" de los botones de activación y selección).
  • ButtonGroup: Implementa un grupo expresivo de botones en una fila que cambian de forma cuando se tocan.
  • Las variaciones de AlertDialog admiten botones de aceptar/cancelar o un EdgeButton.
  • ConfirmationDialog está disponible para mostrar un mensaje con un tiempo de espera, y admite animaciones especiales para las variaciones de éxito, error y abrir en el teléfono.
  • Selectores: También se admiten las variaciones de TimePicker y DatePicker, así como los componentes Picker y PickerGroup para compilar tus propias pantallas de selector.
  • ProgressIndicators: Se admiten indicadores de progreso circulares y lineales (el CircularProgressIndicator tiene variaciones segmentadas e indeterminadas).
  • Tarjetas: Hay varias variaciones de tarjetas disponibles, incluida TitleCard, que ofrece diseños específicos para tarjetas con espacios para el título, la hora, el subtítulo o el contenido. TitleCard también puede tener una imagen de fondo para reforzar el significado de la información en una tarjeta.
  • Pagers: Los componentes HorizontalPagerScaffold, VerticalPagerScaffold y AnimatedPage coordinan las animaciones HorizontalPageIndicator y VerticalPagerIndicator. Se lanzan HorizontalPager y VerticalPager en la biblioteca de Wear Compose Foundation.
  • Marcadores de posición: Dibujan una forma de esqueleto sobre un componente, para situaciones en las que no hay contenido provisional disponible.
  • Controles deslizantes y objetos Stepper: Ambos permiten que los usuarios seleccionen un rango de valores. Los controles deslizantes son más compactos y se pueden segmentar, mientras que el componente Stepper es de pantalla completa y, por lo general, se combina con un StepperLevelIndicator.
  • SwipeToReveal: Se usa para agregar acciones adicionales a un elemento componible cuando se desliza de derecha a izquierda.

Además, Wear Compose Foundation 1.5.0-beta01 incluye estos componentes nuevos:

  • TransformingLazyColumn: Una lista de desplazamiento vertical diferido que admite animaciones de cambio de forma y escalamiento
  • Grupos de enfoque jerárquicos: Se usan para anotar elementos componibles en una aplicación, hacer un seguimiento de la parte activa de la composición y coordinar el enfoque.
  • Pagers: Componentes HorizontalPager y VerticalPager, creados sobre los componentes de Compose Foundation con mejoras específicas para Wear que permiten mejorar el rendimiento y el cumplimiento de los lineamientos de Wear OS.

Cambios en la API

  • Se actualizó la API de Hierarchical Focus: Se cambió el nombre de Modifier.hierarchicalFocus a Modifier.hierarchicalFocusGroup y se quitó el parámetro de devolución de llamada; se quitó la sobrecarga de Modifier.hierarchicalFocusRequester con un parámetro de FocusRequester; se creó un nuevo CompositionLocal, LocalScreenIsActive para que los componentes puedan informar y verificar qué pantalla está activa. (I5ff7c).
  • Se dio de baja SwipeToReveal de Wear Compose Foundation en favor de las APIs de SwipeToReveal en Wear Compose Material y Wear Compose Material3. Reemplaza las importaciones de SwipeToReveal de Wear Foundation por las importaciones de Wear Compose Material o Wear Compose Material3 para seguir usando las APIs. (Ia147d).
  • Las dependencias de SwipeToReveal de Wear Compose Material3 en Foundation se movieron al paquete material3, p.ej., RevealValue, RevealDirection, RevealActionType, RevealState y rememberRevealState. Los desarrolladores deben cambiar las importaciones de estas clases y funciones de androidx.wear.compose.foundation a androidx.wear.compose.material3. (I640e6).
  • Se actualizó la API de SwipeToReveal de Wear Compose Material3 de la siguiente manera: Se agregaron los parámetros primaryAction, onFullSwipe, secondaryAction, undoPrimaryAction, undoSecondaryAction y hasPartiallyRevealedState al elemento SwipeToReveal componible; se quitó la capacidad de personalizar positionalThreshold y animationSpec de RevealState; se quitaron lastActionType, revealThreshold y el ancho de RevealState; se cambió el constructor de RevealState para que acepte un RevealDirection en lugar de anclajes; se quitaron las funciones createRevealAnchors, los anclajes y bidirectionalAnchors; se cambiaron los nombres de las funciones SwipeToRevealScope primaryAction, secondaryAction, undoPrimaryAction y undoSecondaryAction a PrimaryActionButton, SecondaryActionButton, UndoActionButton y se convirtieron en funciones componibles; se marcó RevealActionType como interno. (I885d0).
  • Se actualizó aún más la API de SwipeToReveal de la siguiente manera: Se cambió el nombre de onFullSwipe a onSwipePrimaryAction, se cambió el nombre de SwipeToRevealNonAnchoredSample para indicar el uso del parámetro hasPartiallyRevealedState, se quitó actionButtonHeight, ya que la altura predeterminada es la del botón y la altura más grande se puede establecer con un modificador, se quitó SmallActionButtonHeight de SwipeToRevealDefaults y se hizo privado el parámetro de valor en los constructores RevealValue y RevealDirection. (I465ce).

Correcciones de errores

  • Se corrigió el control de EdgeButton de ScreenScaffold para que, después de quitar un elemento TransformingLazyColumn, el EdgeButton se anime hasta su posición. (I6d366).
  • Se actualizaron las dependencias de Wear Compose en las bibliotecas de Compose a la versión 1.8.0. (I2ef3f).
  • Se actualizó el movimiento del CircularProgressIndicator indeterminado para que ya no se produzca una regresión temporal. (Ieddb1).
  • Se corrigió un error de SwipeDismissableNavHost: El enfoque no cambiaba correctamente después de deslizar el dedo hacia atrás, lo que provocaba que fallara la entrada rotatoria (esto era para la API 36 y versiones posteriores, que usan el gesto de atrás predictivo). (Ieddb1).
  • Se modificó la documentación de la API de Hierarchical Focus (Idf2ff).
  • Se actualizó la documentación de Button y Card para indicar cómo containerPainter y disabledContainerPainter anulan containerColor y disabledContainerColor (I4a453).
  • Se revirtió un cambio en TimeText de la versión anterior que trasladó BroadcastReceiver a un subproceso de trabajo, ya que causaba problemas en las apps que administran su propio procesamiento durante la navegación. (I34d02).
  • Se actualizaron los ejemplos del selector para quitar las llamadas remember innecesarias y, en cambio, usar rememberUpdatedState en el selector para recordar la función lambda contentDescription más reciente. (Icb5b1).
  • Se actualizaron los estilos de texto en TimePicker y DatePicker para que los cambios de fuente ya no provoquen truncamientos. (I26194).
  • ListHeader y ListSubHeader ahora establecen la alineación del texto de forma predeterminada en alineación centrada y alineación al inicio, respectivamente. (I78339).
  • Se actualizaron las muestras y demostraciones de Foundation y Material Swipe to Reveal para anunciar acciones de accesibilidad personalizadas (las acciones personalizadas se deben agregar como semántica en el contenido, no en el elemento SwipeToReveal componible en sí). (Ie92a3).
  • Se actualizó el conjunto MaxLines predeterminado en el contenido EdgeButton según su tamaño: ahora es 1 para extra pequeño, 2 para pequeño y mediano, y 3 para grande. (Ie35f6).
  • Se simplificó LocalReduceMotion para que el observador solo se registre una vez y, así, mejorar el rendimiento. (Ib1979).
  • Se minimizó la cantidad de redibujos en ScrollIndicator para mejorar el rendimiento. (Ia7a67).
  • Se corrigió un error en TransformingLazyColumn, en el que el elemento superior visible de la lista no se ajustaba correctamente cuando EdgeButton alcanzaba su altura completa. (I30580).

Wear Compose Material3 versión 1.0

Versión 1.0.0-alpha37

23 de abril de 2025

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

Cambios en la API

  • Se quitó scrollTransform de la superficie de la API pública. Usa la combinación de los modificadores transformedHeight y graphicsLayer si necesitas obtener la misma funcionalidad. (Ie181d)
  • Se reemplazaron los elementos ImageButton y ImageCard componibles por las sobrecargas Button y Card/TitleCard, respectivamente. Se cambió el nombre de imageButtonColors por buttonWithContainerPainterColors y el de imageCardColors por cardWithContainerPainterColors. Se agregaron ButtonDefaults.scrimBrush y CardDefaults.scrimBrush públicos. Se cambió el nombre de los botones imageBackgroundGradientStartColor y imageBackgroundGradientEndColor a scrimGradientStartColor y scrimGradientEndColor. Se cambió el nombre de CardDefaults.ImageContentPadding a CardDefaults.CardWithContainerPainterContentPadding (I7b8b6).
  • Picker y PickerGroup ahora toman contentDescription como una expresión lambda para evitar recomposiciones innecesarias. (I002dd)

Correcciones de errores

  • Se solucionó un problema por el que el CircularProgressIndicator indeterminado se tambaleaba durante la animación si el ancho no era igual a la altura. (I76bfe)
  • Se corrigió un problema con el diseño de los botones de borde en tamaños no válidos. Ahora se evita la actualización del diseño del botón de borde cuando la altura es NaN. (I32b93)
  • Se aumentó el ángulo de barrido máximo en OpenOnPhoneDialog para que el texto predeterminado “Revisa tu teléfono” no se recorte con el tamaño de fuente más grande. (I90af9)

Versión 1.0.0-alpha36

9 de abril de 2025

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

Cambios en la API

  • Se reemplazó ButtonDefaults.imageBackgroundButtonColors por ImageButton, ButtonDefaults.imageButtonColors, ButtonDefaults.containerPainter y ButtonDefaults.disabledContainerPainter. Y cambios similares para Card. Se quitan los pintores de ButtonColors y CardColors. (I8c6a1)
  • Se actualizaron los marcadores de posición para simplificar la API. Ahora proporcionamos dos modificadores, Modifier.placeholderShimmer para aplicar un efecto de brillo a nivel del componente y Modifier.placeholder para aplicar una máscara sobre el contenido no cargado (Iaee7a).

Correcciones de errores

  • Se integró el desplazamiento excesivo en ScrollIndicator. (Icfb7f)
  • Se solucionaron los problemas relacionados con los fondos en blanco y los diálogos faltantes cuando se inician diálogos de Material 3. (Ice597)
  • Se corrigieron problemas en FadingExpandingLabel cuando el texto abarca varias líneas. (I04eb7)
  • Se actualizó el padding entre las etiquetas principal y secundaria en los botones. (I99b7b)
  • ArcLarge se redujo de 20sp a 18sp, y se actualizaron los espaciados entre letras en ArcLarge y ArcSmall. ConfirmationDialog/OpenOnPhoneDialog ahora usan el valor predeterminado ArcLarge en lugar de anularlo con 18sp. (Id39a8)

Actualizaciones de dependencias

  • Esta biblioteca ahora tiene como objetivo el nivel de lenguaje Kotlin 2.0 y requiere KGP 2.0.0 o una versión posterior. (Idb6b5)

Versión 1.0.0-alpha35

26 de marzo de 2025

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

Cambios en la API

  • El relleno superior AlertDialog ahora se reduce de forma predeterminada cuando se proporciona un ícono, lo que permite aprovechar al máximo el tamaño de pantalla disponible. (Ief06c)
  • El nombre de PagerScaffoldDefaults.FadeOutAnimation cambió por PagerScaffoldDefaults.FadeOutAnimationSpec. Se cambió el nombre del parámetro page en AnimatedPage a pageIndex. (I701f2)
  • Se actualizó la nomenclatura de la división SurfaceTransformation - applyTransformation de TransformingLazyColumn en applyContainerTransformation y applyContentTransformation, y se cambió el nombre de createBackgroundPainter a createContainerPainter. Se realizaron más actualizaciones de nombres en TransformationSpec y ResponsiveTransformationSpec. (I1c534)
  • Se cambió el nombre de AppScaffold backgroundColor por containerColor. (I4e63f)

Correcciones de errores

  • Se corrigió un problema en FadingExpandingLabel por el que el texto no siempre se expandía correctamente. (I0e773)
  • ArcLarge se redujo de 20 sp a 18 sp, y se actualizaron los espacios entre letras en ArcLarge y ArcSmall. ConfirmationDialog/OpenOnPhoneDialog ahora usa el valor predeterminado ArcLarge en lugar de anularlo a 18 sp. (Id39a8)
  • Se actualizó la animación del encabezado para DatePicker y TimePicker, de modo que la animación de atenuación de entrada y salida actúe como una sola animación de resorte. (I68963)
  • Se optimizó PagerScaffold evitando la lectura de currentPageOffsetFraction en el elemento AnimatedPage componible. (I433ef)
  • Todas las escalas de escritura se actualizaron para que tengan números proporcionales de forma predeterminada, ya que se considera el caso de uso más frecuente y el uso predeterminado de números tabulares generaba demasiado espacio entre ciertos pares de números. TimePicker y DatePicker siguen aplicando FontFeatureSetting=tnum para los números tabulares. (I88929)
  • Se corrigió el enfoque inicial de entrada del RSB para TimePicker y DatePicker. (I1c773)
  • Se actualizó el texto predeterminado en OpenOnPhoneDialog a "Revisa tu teléfono". (I00a3f)
  • Se actualizaron los pesos de ArcLarge y ArcMedium de 600 a 599 para solucionar un problema en el que el peso 600 se trata como negrita (I2a51d).
  • Se actualizaron los paddings de SwipeToReveal entre el contenido y los botones de acción, y también el padding entre el ícono y el texto de los botones de acción. (Ic46cb)

Versión 1.0.0-alpha34

12 de marzo de 2025

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

Cambios en la API

  • PagerScaffold ya no emite un componente Pager, sino que este debe proporcionarse a través del elemento content componible. Las APIs de AnimatedPage y snapWithSpringFlingBehaviour ahora son públicas y se pueden usar junto con Pager de Wear Foundation para lograr el comportamiento anterior de PagerScaffold de M3. (Consulta las muestras actualizadas). (Ia4724)
  • Se actualizó PagerState. Se quitó PagerState de Compose Foundation como clase base y se agregaron las propiedades currentPage, currentPageOffsetFraction y pageCount. Se actualizó la interfaz GestureInclusion y se cambió el nombre del método a ignoreGestureStart. (I4ae07)
  • Los parámetros de ángulo de barrido LevelIndicator ahora están anotados con FloatRange(0, 360) (I7e636).
  • Agregamos CurvedModifier.clearAndSetSemantics para proporcionar un medio por el cual se puede desactivar la semántica curva. CurvedText sigue estableciendo de forma predeterminada la descripción del contenido en el texto, pero timeTextCurvedText y timeTextSeparator ya no anuncian su contenido. (I4b568)
  • Se agregaron parámetros de color de fondo y contenido predeterminados a AppScaffold. (I56652)
  • Se cambió el nombre del control predeterminado de los gestos de deslizamiento de HorizontalPager a PagerDefaults.gestureInclusion. Ahora, el comportamiento predeterminado es ignorar solo los gestos de deslizamiento que comienzan en el borde izquierdo de la primera página y solo cuando TalkBack está desactivado. En otros casos, el comportamiento predeterminado es que el paginador no ignorará los gestos de deslizamiento, por lo que no estarán disponibles para los controladores de deslizamiento para descartar. (Iee486)
  • Se agregó un parámetro SurfaceTransformation a los componentes de botón, tarjeta y encabezado de lista para que puedan aplicar diferentes transformaciones de contenido y fondo cuando se usan en contenedores que cambian la apariencia de los elementos según su posición, como TransformingLazyColumn. (Iabe3f)
  • Actualizamos las propiedades "public const val" en nuestra API de Wear Compose Material3 a "public val" para evitar que los valores se inserten de forma directa. (Ib0f32)
  • Se agregó compatibilidad con una zona de deslizamiento desde el borde a SwipeToReveal. El comportamiento predeterminado de Foundation SwipeToReveal ahora es no permitir el deslizamiento cuando el gesto comienza desde el borde. El comportamiento predeterminado de los SwipeToReveal’ de Material 3 ahora es no permitir el deslizamiento cuando el gesto comienza desde el borde, cuando el SwipeDirection se establece en una sola dirección. (I32ef0)
  • Se agregó el elemento FadingExpandingLabel componible, que permite que el texto aparezca gradualmente con una animación línea por línea. (Ic60fa)
  • TransformingLazyColumn ahora usa contentPadding vacío de forma predeterminada en lugar de colocar el primer y el último elemento en el centro. (I77ab7)
  • Se quitó SwipeToReveal de rememberRevealState de la biblioteca de Wear Compose Material3. (I8c0e0)

Correcciones de errores

  • Se actualizaron las bibliotecas de Wear Compose al compilador de Kotlin 2.0. (I2de79)
  • Se quitó la compatibilidad con ScrollIndicator y PageIndicator no redondos de Material3. La compatibilidad con pantallas cuadradas ya no forma parte de los requisitos de Wear OS. Para obtener más información, consulta la guía de introducción. (I9a852)
  • Se actualizó el CurvedTextStyle que se usa en ConfirmationDialogDefaults y OpenOnPhoneDialogDefaults para usar la tipografía ArcLarge con el tamaño 18sp y el espacio entre letras 1.8sp. (Ic9ced)
  • Card, ListHeader, RadioButton, CheckboxButton y SwitchButton ya no restringen la altura de su contenido de forma predeterminada. Cuando sea necesario, usa Modifier.height(IntrinsicSize.Min) para restablecer el comportamiento anterior. (I80bb8)
  • Actualizamos los colores predeterminados TimeText y ScrollIndicator para incluir más tonos de gris, ya que usar OnBackground (blanco) directamente tenía demasiado peso visual cuando competía con otro contenido en la pantalla, como los títulos. (I8b36f)
  • Redujimos el tiempo de espera para animar TimeText y ScrollIndicator en los componentes de andamio a 2 segundos. (I52021)
  • Actualizamos el movimiento de Dialog para que la escala del fondo del diálogo se sincronice con el gesto de deslizar para descartar. (I925a9)
  • Se agregó una demostración de SwipeToReveal de M3 con el modificador edgeSwipeToDismiss. (I02b07)
  • Agregamos un encabezado a DatePicker y TimePicker en TalkBack para que el usuario sepa que debe desplazarse para configurar la fecha y la hora. (Id738d)
  • AnimatedText ahora sigue el parámetro de configuración de reducción de movimiento. (Ib6578)
  • Se mejoró la optimización para usar AppScaffold para mostrar el contenido de Dialog y permitir que se muestren varios diálogos uno encima del otro (I1209c).

Versión 1.0.0-alpha33

26 de febrero de 2025

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

Cambios en la API

  • Quitamos el parámetro de etiqueta de primaryAction y secondaryAction de SwipeToRevealScope. El desarrollador debe agregar la semántica de las acciones personalizadas directamente al contenido del componente SwipeToReveal. (Ia67f3)
  • Se quitaron los prefijos "Button" de los tamaños, los estilos de texto y las funciones de color en IconToggleButtonDefaults y TextToggleButtonDefaults (I5471d).
  • Se quitó el elemento experimental LocalMinimumInteractiveComponentEnforcement (I4ad8a).
  • Reemplazamos el DSL de PickerGroupScope por un elemento componible. Por lo tanto, quitamos el método pickerGroupItem de PickerGroupScope y, en su lugar, agregamos @Composable PickerGroupItem, que se debe usar para agregar un Picker a PickerGroup. También actualizamos el tipo del parámetro PickerGroup "content" a @Composable PickerGroupScope.() -> Unit. (Ic6aec)
  • Agregamos una sobrecarga de LevelIndicator para valores fraccionarios y un prefijo Stepper a las sobrecargas que incluyen un parámetro de rango (que son adecuadas para usar con el componente Stepper). (If4234)
  • Agregamos el TransformationSpec de TransformingLazyColumn a la API, lo que permite definir las transformaciones exactas que se producen en los elementos a medida que se desplazan por el TLC. (I21856)
  • Se actualizaron IconButtonShapes, IconToggleButtonShapes, TextButtonShapes y TextToggleButtonShapes para que sean coherentes con las clases de compose/material3 (I5a081).
  • Se agregó un parámetro overscrollEffect a ScalingLazyColumn, TransformingLazyColumn y ScreenScaffold. (I0cee8)
  • Cambiamos el nombre del parámetro swipeDirection a revealDirection en rememberRevealState. (I7472f)
  • Wear Pager ahora tiene su propio PagerScope en lugar de usar PagerScope de Compose. (I9195b)
  • Quitamos el elemento componible LinearProgressIndicatorContent. Usa LinearProgressIndicator directamente para que los cambios en los valores se animen de forma predeterminada. (I2c4ad)
  • Quitamos el elemento CircularProgressIndicatorStatic componible y agregamos una función pública DrawScope drawCircularProgressIndicator con la misma funcionalidad. Usa CircularProgressIndicator directamente para que los cambios se animen de forma predeterminada, pero crea tu propio elemento componible a partir de drawCircularProgressIndicator si necesitas animaciones personalizadas. (Ie762f)
  • Se reorganizaron los parámetros en DrawScope.drawCircularProgressIndicator para subir el parámetro targetProgress. (I8ab92)
  • Se actualizó la API de OpenOnPhoneDialog para mejorar la claridad y la coherencia con otros diálogos. Se cambió el nombre del parámetro show a visible, y el llamador ahora proporciona curvedText en lugar de tener un valor predeterminado. (Idec2d)
  • Cambiamos el nombre de openOnPhoneCurvedText a openOnPhoneDialogCurvedText (I65bdd).
  • Agregamos ScrollIndicatorColors para proporcionar colores personalizados a ScrollIndicator. (I9eb8c)
  • Permite configurar el color que se usa para dibujar un fondo detrás de TimeText. (I9f5d9)
  • Se actualizaron las tipografías ArcLarge, ArcMedium y ArcSmall para que sean CurvedTextStyle (Iffc41).
  • Quitamos ScreenScaffoldDefaults.contentPaddingWithEdgeButton. (Ia923e)
  • Agregamos errorDim a ColorScheme para errores de alta prioridad o acciones de emergencia, como alertas de seguridad, superposiciones de diálogo fallidas o botones de detener. (I70998)

Correcciones de errores

  • Fijamos wear.compose.material3 a la versión 1.15.0 de androidx.core.core (I132e9).
  • Mejoramos el rendimiento de Dialog usando AppScaffold para superponer diálogos sobre otro contenido de la pantalla (I1b9a4).
  • Se redujo el padding vertical interno de EdgeButton. (I1a5bb)
  • Agregamos semántica de botón a los botones de control deslizante. (I80cc6)

Versión 1.0.0-alpha32

29 de enero de 2025

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

Cambios en la API

  • En CurvedTextStyle, dividimos el espaciado entre letras en espaciado entre letras en el sentido de las manecillas del reloj y espaciado entre letras en el sentido contrario a las manecillas del reloj. Esto es obligatorio porque las letras en sentido horario se extienden desde la línea base, mientras que las letras en sentido antihorario se extienden hacia adentro (por lo que se necesita un mayor espacio entre letras) (I4b848).
  • Actualizamos IconButtonShapes, IconToggleButtonShapes, TextButtonShapes y TextToggleButtonShapes para mejorar la coherencia en las bibliotecas de Material 3. Este cambio también introduce el almacenamiento en caché de formas para reducir la cantidad de asignaciones. (I049fc)
  • Quitamos el parámetro pressedShapeCornerSizeFraction del método variantAnimatedShape en IconToggleButton y TextToggleButton (I58a65).
  • Presentamos mejoras en la renderización de texto curvo (incluido TimeText) que son incompatibles con las pantallas no redondas. La compatibilidad con pantallas no redondas tampoco forma parte de los requisitos de Wear OS. Para obtener más información, consulta la guía de introducción. (I1cc1c)
  • Actualizamos ButtonGroupScope de ButtonGroup y reemplazamos ButtonGroupItem basado en DSL por Modifier.weight, Modifier.minWidth y Modifier.enlargeOnPress. (I16c3c)
  • En la API de ButtonGroup, actualizamos el nuevo ButtonGroupScope basado en modificadores: enlargeOnPress ahora se llama animateWidth y toma un InteractionSource, en lugar de MutableInteractionSource, porque no es necesario mutarlo. También agregamos la constante pública ButtonGroupDefaults.DefaultMinWidth, que es el ancho mínimo predeterminado de los botones en un ButtonGroup. (Ie27ec)
  • Actualizamos ListHeaderDefaults.contentColor para que comience con una letra en minúscula, ya que es una propiedad componible (I125a5).
  • Agregamos un parámetro de descripción de contenido a SliderDefaults.DecreaseIcon y SliderDefaults.IncreaseIcon, con valores predeterminados adecuados (I2e1a7).
  • Cambiamos el nombre del parámetro spacing en Picker y PickerGroup a verticalSpacing (Ib75cc).
  • Quitamos ConfirmationDialogDefaults.successText y failureText porque se espera que quienes llamen a ConfirmationDialog proporcionen cadenas con más contexto. También se cambió el nombre de confirmationCurvedText por confirmationDialogCurvedText. Por último, se cambió el nombre del parámetro show de Dialog a visible para mantener la coherencia con otras actualizaciones recientes de los diálogos. (I10074)
  • IconButton cambió el nombre de disabledImageOpacity a DisabledImageOpacity. (I5f94a)

Correcciones de errores

  • Corregimos un error en la animación de EdgeButton para que se use el tamaño correcto en cada fotograma (Id3b58).
  • Se corrigió un problema por el que animateContentSize no funcionaba con Button. (Ib18a0)
  • Cambiamos la escala de escritura de Title Large para que tenga un tamaño de fuente de 18dp (Ic9d52).
  • Se actualizaron el espaciado y el tamaño del ícono de AlertDialog (Iac28c).
  • Se corrigieron las incoherencias en los puntos de interrupción de pantallas grandes (las pantallas de 225 dp o más son pantallas grandes) (I36474).
  • Se corrigió un error menor en la posición del botón (I952c2).

Versión 1.0.0-alpha31

15 de enero de 2025

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

Cambios en la API

  • Actualizamos todas las bibliotecas de Wear Compose al modo de "API explícita". (Iebf9f)
  • Actualizamos las APIs de ScreenScaffold y EdgeButton para que sea más fácil especificar el padding de contenido en las pantallas que incluyen un EdgeButton. En la nueva API, el size de EdgeButton solo se pasa a EdgeButton, y ScreenScaffold toma un parámetro edgeButtonSpacing para el espaciado entre EdgeButton y el contenido de la lista. (I424fd)
  • En DatePicker, cambiamos el nombre de los parámetros minDate a maxDate y de minValidDate a maxValidDate. En DatePickerColors, cambiamos el nombre del parámetro selectedPickerContentColor a activePickerContentColor y el de unselectedPickerContentColor a inactivePickerContentColor (Iba17b).
  • Actualizamos los valores predeterminados de ArcProgressIndicator a strokeWidth=6dp y recomendamos diameter = 81.24% de la altura de la pantalla (I6f248).
  • Actualizamos la API de Confirmation para reflejar su uso como diálogo. El elemento componible ahora se llama ConfirmationDialog, con actualizaciones asociadas a la nomenclatura de las clases de colores y valores predeterminados. También cambiamos el nombre del parámetro show a visible para que sea compatible con otras APIs de animación de Compose. Además, pusimos a disposición ConfirmationDialogContent, SuccessConfirmationDialogContent y FailureConfirmationDialogContent para situaciones en las que los desarrolladores necesiten personalizar las animaciones de los diálogos de intro y outro. (Iaeb33)
  • Actualizamos CircularProgressIndicatorContent a CircularProgressIndicatorStatic (la variación no animada de CircularProgressIndicator) para que ahora se pueda usar para compilar CircularProgressIndicator con animaciones personalizadas. (I1346f)
  • Corregimos el orden de los parámetros en ArcProgressIndicator y colocamos el parámetro del modificador en primer lugar (I4656a).
  • Se mejoró la API de SwipeToReveal para recibir un parámetro de ranura de texto para las etiquetas de las acciones (excepto la acción secundaria) y quitar los parámetros de etiqueta de la acción de deshacer (I5b3db).

Correcciones de errores

  • Se corrigió un error por el que la respuesta háptica de LongPress se activaba más de una vez en Button, Card, IconButton y TextButton (Ia8b0f).
  • Cambios en la UX de AlertDialog: En pantallas grandes, los botones de confirmar y descartar ahora son más pequeños. También se aumentó el espacio debajo de los botones de confirmar y descartar. (I4f066)
  • Cambiamos las especificaciones de animación de la etiqueta del botón de acción del componente SwipeToReveal. (Ib87fb)
  • Se cambió SwipeToReveal para expandir el contenedor al mismo tiempo que se muestra el texto. (I44cf8)
  • Se mejoró SwipeToReveal para realizar comentarios hápticos cuando el deslizamiento supera el umbral en el que se confirma la acción principal. (I23efe)
  • Actualizamos SwipeToReveal para que muestre puntos suspensivos en el desbordamiento de texto de forma predeterminada, tanto para las acciones principales como para las de deshacer. (I71f5a)
  • Se corrigió un problema que causaba fluctuaciones en las animaciones de ButtonGroup. (I63f8f)
  • Se agregó semántica de texto a AnimatedText (I6063c).
  • Ahora, el diálogo restablece el ajuste de escala del fondo cuando se quita de la composición (sin esta corrección, es posible que la pantalla de inicio se haya quedado en un estado reducido) (Id24ac).
  • Se agregó una animación de transformación de forma a los botones del componente Stepper (Id6ed3).

Versión 1.0.0-alpha30

11 de diciembre de 2024

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

Cambios en la API

  • Se refactorizó el modificador scrollTransform para TransformingLazyColumn, lo que activó un cambio en la API. (I0c6dc)
  • Actualizamos IconToggleButtonShapes y TextToggleButtonShapes para que tengan dos parámetros de forma diferentes, uncheckedPressed y checkedPressed (I85dbd).
  • Las opciones de mes y día no válidas ahora son visibles en DatePicker, con un nuevo invalidPickerContentColor, cuando se usa minDate o maxDate. (If4541)
  • Actualizamos la API de Stepper para proporcionar ranuras de increaseIcon y decreaseIcon. El contenido de estas se puede compilar como de costumbre desde el elemento componible Icon. (Id35da)
  • Actualizamos dynamicColorScheme quitando el parámetro opcional defaultColorScheme y ahora devolvemos ColorScheme anulable. Esto significa que el llamador debe controlar de forma explícita el caso de resguardo cuando no se proporciona un esquema de color dinámico. (I6d62e)
  • Actualizamos los tamaños de los íconos en ButtonDefaults para que se usen con CompactButton. Un CompactButton que solo contiene un ícono debe usar ButtonDefaults.SmallIconSize = 24.dp, mientras que un CompactButton que contiene tanto un ícono como texto debe usar ButtonDefaults.ExtraSmallIconSize = 20.dp. Se recomienda que CompactButton ajuste su contenido (en lugar de ocupar el ancho máximo), y se actualizaron los ejemplos para mostrarlo. (I0582c)
  • Agregamos EdgeButtonDefaults con tamaños de íconos recomendados para los 4 diferentes EdgeButtonSizes. También se actualizó el diseño de EdgeButton para que tenga un relleno inferior ligeramente más grande que el relleno superior, lo que mejora la apariencia del contenido de íconos y texto. (Id772a)
  • Agregamos movimiento a LinearProgressIndicator y expusimos LinearProgressIndicatorContent, que proporciona el contenido visual sin animaciones. (Idee99)
  • Agregamos un nuevo elemento CircularProgressIndicatorContent componible para mostrar el contenido visual de CircularProgressIndicator sin animaciones. (Ie33d4)
  • TransformingLazyColumn ahora proporciona el local de composición LocalTransformingLazyColumnItemScope que Cards, Buttons y ListHeaders ahora usan para transformarse automáticamente cuando se colocan dentro de un TransformingLazyColumn. Los llamadores pueden inhabilitar la transformación automática con el nuevo wrapper TransformExclusion. (I1652f)
  • Se actualizó el tipo de ButtonDefaults.shape a RoundedCornerShape (Iccdf2).

Correcciones de errores

  • Corregimos un error para respetar el alfa existente en el fondo de TimeText (I1eb60).
  • Establecimos TextMotion en Animated de forma predeterminada en nuestra tipografía para evitar el jitter del texto debido al ajuste de los glifos de letras a los límites de píxeles durante las operaciones de ajuste. (I626fa)
  • Actualizamos la apariencia de ScrollIndicator aumentando el ancho y el tamaño del espacio para mejorar la visibilidad. (Ied7cb)
  • Corregimos un error en Modifier.scrollTransform que se producía al agregar, quitar o mover elementos. (I6830f)
  • Se corrigió un problema de animación del botón redondo para los toques breves (anteriormente, no siempre se observaba la duración mínima de la animación). (I757a7)
  • Actualizamos el ángulo de barrido de LevelIndicator al 20% (es decir, 72 grados). (Idde5c)
  • Se corrigió el posicionamiento de ScrollIndicator cuando se usaba ScalingLazyColumn con AutoCenteringParams. (I387dd)
  • Actualizamos los colores y la tipografía de ListHeader y ListSubHeader. También los colores de los controles de activación en CheckboxButton y SwitchButton. (I39817)
  • Se corrigió el posicionamiento de ScrollIndicator en LazyColumn y ScalingLazyColumn con ContentPadding. (I2bc51)
  • Corregimos un error que se veía en la animación de progreso de OpenOnPhoneDialog con el nuevo CircularProgressIndicatorContent. (I3e443)
  • Actualizamos HorizontalPagerScaffold y VerticalPagerScaffold para inhabilitar las animaciones cuando se habilita la opción Reducir movimiento (Iaaf68).
  • Implementamos una animación separada para los indicadores de progreso circulares cuando el progreso supera el 100%. (I47135)
  • Corregimos un error por el que EdgeButton se podía dibujar con una forma incorrecta en los componentes de Pager (I91db9).

Versión 1.0.0-alpha29

13 de noviembre de 2024

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

Cambios en la API

  • Actualizamos TimeText para proporcionar contenido predeterminado que muestre la hora. (Id23b3)
  • Simplificamos el ScrollInfoProvider para PagerState quitando el parámetro orientation, que ya no es necesario. El nuevo comportamiento es que TimeText permanezca en su lugar para la paginación horizontal y vertical. (I71767)
  • LocalHapticFeedback ahora proporciona una implementación predeterminada de HapticFeedback cuando la API de Vibrator indica que se admiten los hápticos. Se agregaron los siguientes elementos a HapticFeedbackType: Confirm, ContextClick, GestureEnd, GestureThresholdActivate, Reject, SegmentFrequentTick, SegmentTick, ToggleOn, ToggleOff, VirtualKey. Los componentes de Wear Compose que se pueden mantener presionados, como Button, IconButton, TextButton y Card, ahora realizan la respuesta háptica LONG_PRESS cuando se proporciona un controlador de mantener presionado. (I5083d)

Correcciones de errores

  • Actualizamos el movimiento de las Confirmaciones. (I04bff)
  • Actualizamos la dependencia mínima de la API a 1.7.4 para las bibliotecas de Compose. (I88b46)
  • Se agregó un nuevo movimiento para el diálogo OpenOnPhone. (I1e10a)
  • Corregimos un error en LevelIndicator para que ahora se muestre correctamente cuando el nivel es cero. (Ie95a4)
  • Actualizamos las animaciones de HorizontalPageIndicator y VerticalPageIndicator. (I5c8f3)
  • Agregamos una animación de reducción a punto al ArcProgressIndicator indeterminado. (I9fd51)

Versión 1.0.0-alpha28

30 de octubre de 2024

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

Cambios en la API

  • Agregamos una variación de arco en el indicador de progreso circular indeterminado (I2efc1).
  • Publicamos los elementos AlertDialogContent y Dialog componibles que conforman la API de AlertDialog, de modo que se pueda agregar personalización si es necesario (por ejemplo, personalizar la animación de AlertDialog y mantener el diseño de contenido recomendado). Además, agregamos los parámetros Modifier y Color a los miembros EdgeButton, ConfirmButton y DismissButton de AlertDialogDefaults. (I4eb71)
  • Actualizamos la API de Placeholder de la siguiente manera: cambiamos el nombre de PlaceholderState.startPlaceholderAnimation a PlaceholderState.animatePlaceholder, de PlaceholderState.isShowContent a PlaceholderState.isHidden y de PlaceholderDefaults.shape a PlaceholderDefaults.Shape; cambiamos el nombre del parámetro painter en painterWithPlaceholderOverlayBackgroundBrush a originalPainter; cambiamos la visibilidad de PlaceholderState.placeholderProgression de pública a interna y le cambiamos el nombre a placeholderShimmerProgression; agregamos constantes de duración de la animación de marcador de posición a PlaceholderDefaults. (Ie5a59)
  • Actualizamos la API de EdgeButton de la siguiente manera: cambiamos el nombre del parámetro en ScreenScaffold de bottomButton a edgeButton y convertimos EdgeButtonSize en una clase de valor. (Ieef15)
  • Cambiamos la visibilidad de copy() a pública en las clases de colores de Wear Material 3 (I0287f).

Correcciones de errores

  • Se agregó una duración mínima de la animación para IconToggleButton y TextToggleButton cuando se hace clic (Ieb333).
  • Se agregó una duración mínima a la animación de formas IconButton y TextButton (Iebcee).
  • Se corrigió el estado de la opción de repetición de DatePicker. (I3587c)
  • Se agregó movimiento a los diálogos de alerta y confirmación. (I173b1)

Versión 1.0.0-alpha27

16 de octubre de 2024

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

Cambios en la API

  • Actualizamos ScreenScaffold y ScrollIndicator después de cambiar el nombre de LazyColumn de Wear Compose Foundation a TransformingLazyColumn. (I0608b)
  • Se cambió el nombre del parámetro preferredHeight de EdgeButton a buttonSize, y su valor solo se puede elegir entre 4 constantes en la clase de valor EdgeButtonSize recientemente introducida. (Icdd70)
  • Cambiamos el nombre de ListSubheader a ListSubHeader y agregamos valores predeterminados accesibles de forma pública para ListHeader y ListSubHeader. (I96730)
  • Agregamos nuevos componentes HorizontalPagerScaffold y VerticalPagerScaffold para Wear que proporcionan nuevas animaciones y coordinación entre los componentes de texto de hora y de indicador de página. (Iff7d0)
  • Agregamos compatibilidad con la entrada rotativa a HorizontalPagerScaffold y VerticalPagerScaffold, lo que permite a los usuarios navegar por los paginadores con dispositivos de entrada rotativa. (I9770d)
  • Realizamos cambios en la API de MotionScheme para simplificar su uso y mejorar la coherencia. Se quitaron las funciones remember intercaladas y se trasladaron los esquemas de movimiento integrados a un objeto complementario MotionScheme dedicado. Se cambió el nombre de standardMotionScheme y expressiveMotionScheme a estándar y expresivo. (I5fd45)
  • Se agregó compatibilidad con un esquema de colores dinámico basado en los colores del sistema. (I073e9)
  • Actualizamos el componente Stepper según las especificaciones de UX más recientes. (I622bb)

Correcciones de errores

  • Actualizamos la tipografía y los paddings de los componentes de Card. (I3ae48)
  • Cambiamos el padding en AlertDialog entre los botones Confirmar/Descartar y el resto del contenido de 8 dp a 12 dp según las especificaciones de UX (Ie55f0).
  • Actualizamos la opacidad del color para el componente Slider. (Idb383)

Versión 1.0.0-alpha26

2 de octubre de 2024

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

Cambios en la API

  • Se actualizó la API y la apariencia de HorizontalPageIndicator, y se agregó VerticalPageIndicator para usar con VerticalPager (Ic9309).
  • AlertDialog ahora admite la capacidad de omitir el botón inferior predeterminado de la variación de la pila de botones para diseños personalizados en los que no se requiere EdgeButton. (I34fa9)
  • Agregamos un componente SwipeToReveal para Wear Material 3 (Ic38b2).
  • Agregamos compatibilidad con el deslizamiento bidireccional en SwipeToReveal para los casos poco frecuentes en los que la pantalla actual no admite el deslizamiento para descartar. El comportamiento predeterminado sigue siendo deslizar para revelar solo en los deslizamientos de derecha a izquierda, y se recomienda respetar el comportamiento predeterminado para evitar conflictos con el gesto de deslizar para descartar. (Ifac04)
  • Se cambió el nombre del parámetro buttonHeight de EdgeButton a preferredHeight. (I4fab3)
  • Se actualizó la versión de Kotlin a 1.9 (I1a14c).
  • Cambiamos el nombre de OpenOnPhoneDialogDefaults.Icon a OpenOnPhoneDialogDefaults.OpenOnPhoneIcon para evitar conflictos con Icon(I0f391).
  • Agregamos compatibilidad con ScrollIndicator en LazyColumn. (Ia546a)
  • Actualizamos los valores predeterminados para TextToggleButton y IconToggleButton. (I7aaa9)
  • Simplificamos las APIs de Picker y PickerGroup. (Id0653)
  • Agregamos CardDefaults.Shape y CardDefaults.Height, que (al ser tokens) eran privados para los desarrolladores que usaban la biblioteca. (I1594a, b/347649765)
  • Cambiamos el nombre del parámetro de progreso del indicador de progreso circular segmentado binario a segmentValue. (Ib72d9)
  • Actualizamos los colores y el diseño del control deslizante. (Ic3eec)

Correcciones de errores

  • Actualizamos la animación del ícono de openOnPhone (I66f85).
  • Ahora usamos íconos de Símbolos de Google en Slider, TimePicker y DatePicker. (I46c7c)
  • Actualizamos los paddings en Confirmation y OpenOnPhoneDialog. (Iaa82e)

Versión 1.0.0-alpha25

18 de septiembre de 2024

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

Cambios en la API

  • Se agregó un indicador de progreso circular indeterminado. (I427a7)
  • Se agregó compatibilidad con el desbordamiento del progreso (más del 100% de progreso) para CircularProgressIndicator y SegmentedCircularProgressIndicator. Cuando el progreso supere el 1.0, se indicará con el nuevo color overflowTrack. (Iaaa3d)
  • Los elementos IconToggleButton y TextToggleButton redondos ahora admiten una nueva variación de animación de forma, en la que diferentes formas representan los estados seleccionado, no seleccionado y presionado. Se sigue admitiendo la variación de forma animada anterior para el estado de presión. (I29f03)
  • Quitamos la compatibilidad con el uso de EdgeButton con Column debido a la necesidad de especificar la altura de EdgeButton de forma explícita en ScreenScaffold. (Ie353d)
  • Agregamos compatibilidad con LazyColumn de Wear Compose con nuestro ScreenScaffold (y agregamos una implementación de ScrollInfoProvider para LazyColumnState). (Ib8d29)
  • Combinamos LocalTextMaxLines, LocalTextAlign y LocalTextOverflow en un solo LocalTextConfiguration local de composición para proporcionar una solución más escalable en el futuro. (I5edbc)
  • Agregamos arc-large como una escala de escritura adicional, reservada para cadenas de texto de encabezado cortas en la parte superior o inferior de la pantalla, como en las superposiciones de confirmación. (I60e3e)
  • Agregamos valores predeterminados al botón para los tamaños de ícono grandes y extragrandes recomendados, y el padding de contenido. (I84675)

Correcciones de errores

  • Actualizamos los colores de IconButton y TextButton. (I48324)
  • Cambiamos las sobrecargas base de Button para que estén alineadas verticalmente en el centro y sean coherentes con otras sobrecargas. Para restablecer el comportamiento anterior, usa Modifier.align de RowScope. (I66e57)

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 de movimiento al tema de Material 3. Los componentes de la biblioteca usarán este objeto para aplicar especificaciones de animación, como resortes para un movimiento expresivo. (I54ff3)
  • Agregamos los componentes AppScaffold y ScreenScaffold a la biblioteca de Material3, que incluyen la funcionalidad para coordinar las capas y las transiciones de TimeText y ScrollIndicator. AppScaffold proporciona un nivel superior de componentes de andamiaje que se encuentran en la parte superior de todas las pantallas. Por lo tanto, agregar TimeText al AppScaffold permite que permanezca en su lugar mientras se desliza entre pantallas. Las pantallas pueden anular u ocultar el texto de la hora. ScreenScaffold proporciona una ranura para ScrollIndicator y anima automáticamente el indicador de desplazamiento cuando 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 para que ScreenStage sea una clase de valor en lugar de una clase de enumeración, lo que permite agregar etapas adicionales según sea necesario en el futuro. (I48c93)
  • Agregamos EdgeButton, un botón distintivo específico para Wear con una forma que sigue la curvatura de la parte inferior de la pantalla (I16369).
  • Agregamos una nueva ranura al ScreenScaffold para un botón inferior (como EdgeButton), que se mostrará y cambiará de tamaño según el contenido de desplazamiento (I032eb).
  • Agregamos Modifier.scrollTransform y Modifier.targetMorphingHeight para agregar efectos de movimiento de Material 3 a los elementos de LazyColumn. (Ie229a)
  • Agregamos SegmentedCircularProgressIndicator como una variación de CircularProgressIndicator. La variación segmentada muestra un solo valor de progreso en todos los segmentos o muestra cada segmento como activado o desactivado. (I6e059)
  • Agregamos LinearProgressIndicator como alternativa al CircularProgressIndicator existente. (I89182)
  • Agregamos AlertDialog, que proporciona diseños para presentar mensajes importantes al usuario. Se incluyen variaciones para un par de botones de confirmación o descarte, o un solo botón inferior (por lo general, un EdgeButton) debajo de una pila de opciones. Ambas variaciones tienen espacios para el ícono, el título y texto adicional para proporcionar más detalles. (Ieb873)
  • Agregamos 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)
  • Agregamos 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 error. Las confirmaciones se descartan automáticamente después de un tiempo de espera. (Ib43e8)
  • Agregamos un fondo a TimeText para mitigar los problemas en los que el contenido subyacente y el TimeText se superponían y ocultaban la hora. (Ia11fd)
  • Agregamos LevelIndicator, que muestra el valor de un parámetro de configuración, como el volumen, y se puede usar con el componente Stepper existente para crear 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)
  • Agregamos TimePicker, con diseños para la hora en formato de 24 horas (con o sin segundos) o en formato de 12 horas con 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 combinando el control de radio secundario (If7ae8) y el (Split)SelectableButton.
  • Agregamos CheckboxButton y SplitCheckboxButton. Estos componentes simplifican la API anterior combinando el control (dividido)ToggleButton y el control de casilla de verificación secundario (Ia8f70).
  • Agregamos SwitchButton y SplitSwitchButton. Estos componentes simplifican la API anterior combinando el (Split)ToggleButton y el control secundario de interruptor (I0d349).
  • Actualizamos la documentación de AnimatedText para explicar el comportamiento de sobrepaso. (Iff30a)
  • Agregamos ButtonGrouppara combinar 2 o 3 botones de modo que las pulsaciones de los botones produzcan una animación coordinada. (Ie27db)
  • Agregamos una animación de forma opcional para IconButton y TextButton cuando se presionan. (Iffca5)
  • Agregamos 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 las imágenes de los botones ahora mantienen el tamaño del componente de forma predeterminada. Si se establece forcedSize = null, se adopta Painter.instrinsicSize en su lugar. (Ic57af)
  • Agregamos la acción de mantener presionado a los botones (Ib613d).
  • También se agregó compatibilidad con clics largos a IconButton y TextButton. (I38891)
  • Se agregó compatibilidad con el clic prolongado en las tarjetas. (I305d5)
  • Agregamos LocalTextMaxLines, LocalTextAlign y LocalTextOverflow como CompositionLocals y los usamos como valores predeterminados de parámetros en Text. Los elementos locales de composición ahora pueden ser utilizados por componentes como CheckboxButton, SwitchButton y RadioButton para implementar orientación sobre la UX, pero los desarrolladores pueden anular los parámetros si es necesario. (Iab841)
  • Agregamos Placeholder para ayudar a enmascarar el contenido de componentes como botones y tarjetas hasta que se carguen los datos. (I1a532)
  • Agregamos IconToggleButtonColors y TextToggleButtonColors para reemplazar ToggleButtonColors, que ya se quitó. (Ie0bf1)

Correcciones de errores

  • Actualizamos Button, FilledTonalButton, OutlinedButton, ChildButton y CompactButton para usar los nuevos CompositionLocals LocalTextMaxLines, LocalTextAlign y LocalTextOverflow para implementar la orientación de UX. Los desarrolladores pueden anular estos parámetros directamente en el texto 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)
  • Corregimos 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 alternancia divididos cuando se proporciona un padding de contenido personalizado. (Ia33d3)
  • Se redondearon los valores de progreso pequeños para que sean, al menos, del ancho de la 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

  • Actualizamos las APIs de ToggleButton y RadioButton para que se puedan configurar los colores inhabilitados. (If13a7)
  • Agregamos un nuevo CircularProgressIndicator para Material3. (Ib3bd7)

Correcciones de errores

  • Corregimos un error por el que los botones seleccionables anunciaban que se debía 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 ColorScheme de Material3. (I7b2b8)
  • Actualizamos el interruptor de Material 3. Además de algunos cambios de color, la marca de verificación ahora coincide con la que se usa 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 lanzó debido a un problema técnico en la versión anterior que provocó que faltaran archivos JAR de código 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 valores alfa de los estados de enfoque y presión de Ripple para mejorar el contraste. (I59f0a)
  • Agregamos espaciado entre las etiquetas principales y secundarias en Button, ToggleButton y RadioButton, según los cambios más recientes 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 Material3. Este componente muestra la hora actual (y el estado adicional) en la parte superior de la pantalla. La nueva y concisa API de Material 3 evita la duplicación entre el contenido lineal y el curvo. (I4d7c3)
  • Actualizamos los nombres de los parámetros de onSelected a onSelect para RadioButton. (I1a971)
  • Se tokenizan RadioButton y SplitRadioButton, y también se refactorizan los métodos existentes para reducir la cantidad de búsquedas de CompositionLocal agregando instancias almacenadas en caché de colores y haciendo que los métodos de RadioButtonColors y SplitRadioButtonColors sean internos. (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é de forma interna 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 que use buttonColors de forma predeterminada y quitamos el filledButtonColors duplicado. (I4fe3b)
  • Refactorizamos los patrones predeterminados para ButtonColors, IconButtonColors y TextButtonColors creando una instancia almacenada en caché de forma interna y reduciendo el uso de CompositionLocal. (I5f51c)
  • Quitamos la sobrecarga de rememberUpdatedState en las clases de color específicas del componente y marcamos los métodos de acceso dentro de las clases de color como internos. (If6571)

Correcciones de errores

  • Actualizamos Modifier.minimumInteractiveComponentSize para que use 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

  • Agregamos CompactButton, que puede usar los mismos colores con relleno, con relleno tonal y con contorno que Button (I05df0).

Cambios en la API

  • Agregamos RadioButton/SplitRadioButton como contenedores para los controles de selección, como el control de radio. Esto difiere del ToggleButton existente en que RadioButton se puede seleccionar (y funciona dentro de un grupo de selección), mientras que ToggleButton se puede activar o desactivar (y es independiente). (I61275)
  • Quitaremos LocalContentAlpha de la biblioteca de Wear Compose Material3 para que sea coherente con la biblioteca de Compose Material3. (I49a0a)
  • Los componentes de Wear Material y Wear Material 3 que exponen un MutableInteractionSource en su API se actualizaron para exponer un MutableInteractionSource anulable que tiene el valor nulo de forma predeterminada. Aquí no hay cambios semánticos: pasar nulo significa que no deseas elevar el MutableInteractionSource, y se creará dentro del componente si es necesario. Cambiar a nulo permite que algunos componentes nunca asignen un MutableInteractionSource y que otros componentes solo creen una instancia de forma diferida cuando la necesiten, lo que mejora el rendimiento en todos estos componentes. Si no usas el MutableInteractionSource que pasas a estos componentes, te recomendamos que pases null en su lugar. También se recomienda que realices cambios similares en tus propios componentes. (Ib90fc, b/298048146)
  • Se agregó una nueva API de ondulación en las bibliotecas wear:compose-material y wear:compose-material3 que reemplaza la API de rememberRipple obsoleta. También se agrega un CompositionLocal temporal, LocalUseFallbackRippleImplementation, para revertir los componentes de Material al uso de las APIs de rememberRipple/RippleTheme que dejaron de estar disponibles. Se quitará en la próxima versión estable y solo está pensado para ser una ayuda temporal para la migración en los casos en los que proporcionas un RippleTheme personalizado. Consulta developer.android.com para obtener información sobre la migración y más información general sobre este cambio. (af92b21)
  • Realizamos pequeñas mejoras 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 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 sigue siendo posible, pero se volverá a componer más que antes. A su vez, disminuiremos significativamente la cantidad de suscripciones de estado en todo el código de Material, lo que afectará el costo de inicialización y de tiempo de ejecución de los casos de uso más estándares. (Ibc2d6)
  • Se actualizaron las APIs de ToggleButton y SplitToggleButton para permitir la personalización de los colores inhabilitados. Además, ahora se usan tokens de Material Design para los valores de color y tipografía. (If087c)
  • Se actualizaron los colores de fondo de las imágenes de los botones para usar tokens de Material Design. (Iba215)
  • Cambiamos los componentes Checkbox, Switch y RadioButton para que solo se muestren, ya que 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 solo para mostrar (y no están diseñados para usarse de forma independiente en Wear). (I2322e)

Correcciones de errores

  • Agregamos 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 no se repitan los anuncios de accesibilidad (antes, se duplicaban los roles semánticos). (Ica281)
  • Quitamos la capa materialcore para CompactButton y 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 básico SwipeToDismissBox a BasicSwipeToDismissBox. Esto hace que la distinción entre el componente de nivel Foundation y el SwipeToDismissBox de nivel Material3 sea más clara. Este último extrae colores de MaterialTheme para usarlos en las cortinas y delega la implementación restante en BasicSwipeToDismissBox. (Ibecfc)

Correcciones de errores

  • Quitamos la capa material-core del botón de Material3 para 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 de 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 agregando 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

  • Agregamos un campo Subtítulo opcional a TitleCard. (Ifc45a)
  • Agregamos 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

  • Actualizamos IconButton para usar tokens de Material Design. (I3f137)
  • Actualizamos IconToggleButton para usar tokens de Material Design. (I7d263)
  • Hicimos públicos 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

  • Actualizamos la tipografía de las tarjetas de Material 3 a TitleMedium. (I597bd)
  • Actualizamos la tipografía y la alineación de nuestros elementos 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 Wear Material3. (Ifee99)

Cambios en la API

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

Correcciones de errores

  • Actualizamos la guía sobre la tipografía de TextToggleButton para usar LabelLarge en LargeButtonSize (Ib10fa).
  • Actualizamos la guía sobre la tipografía de TextButton para usar LabelLarge en LargeButtonSize (I8f3a7).
  • Configuramos el objetivo táctil mínimo de la tarjeta en 48 dp para garantizar la accesibilidad. (Ieb9b1)
  • Se agregó la demostración de AppCard con imagen y se quitó la demostración de AppCard con fondo (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 Material 3 (I6bed6).

Cambios en la API

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

Correcciones de errores

  • Actualizamos los colores de Button, IconButton y TextButton según el diseño de Material 3. (Ib2495)
  • Corregimos la visibilidad de la marca 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

  • Agregamos los siguientes controles de selección para Material3: Switch, Checkbox y RadioButton. (Ib918c)
  • Agregamos IconToggleButton y TextToggleButton a Material 3, un botón de activación circular con una sola ranura para el ícono y el texto, respectivamente. Para los diferentes tamaños de ToggleButton, recomendamos usar Modifier.touchTargetAwareSize con los tamaños proporcionados en los respectivos botones de activación. (I9f015)
  • Agregamos ListHeader y ListSubheader a nuestros componentes de Material 3. (Ibaefe)
  • Agregamos Material3 SwipeToDismissBox, que llama al nuevo Foundation SwipeToDismissBox y proporciona valores de color predeterminados desde su tema. (I275fb)
  • Agregamos 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 del tema de Material 3 para Wear para que usen RoundedCornerShape en lugar de Shape. (Idb133)
  • Hicimos públicas las constantes de altura para Button (Idbfde).
  • Se actualizaron los archivos de la API para anotar la supresión de compatibilidad (I8e87a, b/287516207).
  • Actualizamos InlineSliderColors en Wear Compose Material 3 para que tenga un constructor público y propiedades públicas. (I6b632)
  • Actualizamos todas las clases de color en Wear Compose Material 3 para que tengan constructores y propiedades públicos. (I17702)
  • Hicimos públicas las constantes de padding horizontal y vertical de Button. (Ieeaf7)

Correcciones de errores

  • Ahora, el botón ajustará su altura para adaptarse al contenido que creció debido a las fuentes grandes para la accesibilidad, cuando sea necesario (Iaf302).
  • Actualizamos varias demostraciones de botones para solucionar problemas de accesibilidad. (I61ce9)
  • Stepper y InlineSlider ahora admiten clics repetidos al mantener presionado el botón, de modo que puedes aumentar o disminuir rápidamente el valor de Stepper y InlineSlider manteniendo 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 Compose para Wear OS Material 3. 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 de rango. (Ic39fd)
  • Agregamos curvedText a nuestra biblioteca de Compose para Wear OS Material 3. (Ia8ae3)

Correcciones de errores

  • Actualizamos wear.compose.foundation para que sea una dependencia de la 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

  • Actualizamos TextButton para que use la función de extensión toDisabledColor para obtener 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

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

Cambios en la API

  • Movimos el parámetro de etiqueta del botón al final para admitir la sintaxis de expresión lambda final y quitamos el parámetro de rol (ya que se puede anular con Modifier.semantics). Los constructores de 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

  • Agregamos IconButton a Material 3, un botón circular con una sola ranura para ícono o imagen. Hay cuatro variaciones: IconButton, FilledIconButton, FilledTonalIconButton y OutlinedIconButton. Para los diferentes tamaños de IconButton, 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 Button de Material 3, que es nuestro botón con forma de estadio y que antes se llamaba Chip en la biblioteca de Wear Compose Material (se cambió su nombre a Button para que sea coherente con la biblioteca de Compose Material 3). El botón predeterminado tiene un fondo relleno, y hay variaciones de botones para FilledTonal (fondo atenuado), Esquematizado (transparente con un borde delgado) y Secundario (fondo transparente y sin borde, que se usa para acciones complementarias con la menor cantidad de prominencia). Los botones redondos para contenido simple de íconos y texto 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

  • Agregamos un DefaultTextStyle a Wear Compose Material 3 que establece PlatformTextStyle.includeFontPadding como verdadero de forma predeterminada (el parámetro de configuración actual). Esto nos permitirá sincronizar la desactivación del padding de fuentes de forma predeterminada con las bibliotecas de Compose en el futuro (consulta Corrige el padding de fuentes 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 siguiente evolución de Material Design y, además, incluye temas actualizados y componentes rediseñados. Material 3 en Wear Compose se diseñó para que sea coherente con la biblioteca de Material 3 Compose en Android. Esta primera versión alfa contiene implementaciones iniciales y funcionales de lo siguiente:

    • Tema de Material: Configura el esquema de color, la tipografía y las formas de manera coherente en los componentes de la biblioteca. El tema de Material 3 tiene colores revisados que admiten el contraste accesible. (I84005)
    • Texto/ícono: Componentes básicos para las apps de 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 Wear Material y Wear Material 3 son mutuamente exclusivas y no deben mezclarse en la misma app, principalmente porque hacen referencia a diferentes temas que generarían incoherencias inesperadas.