Wear Compose
| Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
|---|---|---|---|---|
| 22 de octubre de 2025 | 1.5.4 | - | - | 1.6.0-alpha04 |
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.4" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.5.4" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.5.4" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.4") // 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.5.4") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.5.4") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.5.4") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.4") // 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.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Wear Compose versión 1.6
Versión 1.6.0-alpha04
22 de octubre de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.6.0-alpha04. La versión 1.6.0-alpha04 contiene estas confirmaciones.
Cambios en la API
- Implementa
reverseLayoutparaTransformingLazyColumn(I19f9e, b/352513793). - Se agregó
ConfirmationDialogDefaults.VariantFailureIconpara usar enFailureConfirmationDialog. En algunos casos, es posible que prefieras este nuevo ícono de error genérico en lugar deConfirmationDialogDefaults.FailureIcon, que muestra una conexión interrumpida con el teléfono. (Ifc851, b/443115305)
Correcciones de errores
- Se mejoró el rendimiento del Selector refactorizando el uso de
LaunchedEffect. (I94519, b/418192973) - Se corrigió un error en
SwipeDismissableNavHosten API36 y versiones posteriores, en el que presionar el botón Atrás durante la animación de atrás predictivo interrumpía y reiniciaba la animación. La implementación ahora usaSeakableTransitionState.animateToen lugar de Animatable, lo que ofrece un ligero beneficio en el rendimiento. (I2241f, b/428156670) - Se corrigió un error en el orden de los anuncios de accesibilidad en
AlertDialog, en el que el botón de confirmación se anunciaba como "Botón". Confirmar" en lugar de "Confirmar" estándar. Button". (Ic2381, b/429378202) - Mejora la visibilidad del número de
TimePickeren pantallas pequeñas. (I68386, b/447625365) - Se quitó la bifurcación de Lazy Layout de Wear Compose Foundation, lo que significa que
TransformingLazyColumnahora usa la implementación de Lazy Layout de Compose Foundation, incluida la recuperación previa, y se beneficia de una mejora del rendimiento en los tiempos de fotogramas en la mayoría de los casos. (Idd743, b/445911630)
Versión 1.6.0-alpha03
8 de octubre de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.6.0-alpha03. La versión 1.6.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Se agregó el parámetro
TimePickeraTimePickerpara especificar el componente de tiempo enfocado inicialmente. De forma predeterminada, se selecciona el primer componente disponible según la configuración regional yTimePickerType. (Ie5dfe, b/437015874) - Se quitó el parámetro
targetProgresssin usar en el métododrawCircularProgressIndicatordeCircularProgressIndicator. (Ieeb3c, b/430544552)
Correcciones de errores
- Se implementó la compatibilidad faltante con
TransformingLazyColumnverticalAlignment, que ahora admite disposiciones estándar basadas en la parte superior, inferior o central. (I2e630, b/444143326) - Se mejoró el cálculo del ancho del texto curvo para tener en cuenta los espacios antes y después del texto (es posible que se dañen las capturas de pantalla que incluyen texto curvo, en especial cuando tienen un fondo como
TimeText). (I924a4, b/446601899) - Se actualizó
WarpedCurvedTextRendererde Compose Foundation para optar porEmojiCompatInitializerdeandroidx.emoji2y corregir un error de clase de tiempo de ejecución. (I589b4, b/444422736) - Se actualizó
ScalingLazyColumnpara enfocarse en el nodo desplazable conCollectionInfo, de modo que funcione con el control rotatorio en más contextos, como enMaterial3AlertDialog. (I6be3c, b/445332360)
Versión 1.6.0-alpha02
24 de septiembre de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.6.0-alpha02. La versión 1.6.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se mejoró el renderizado de texto curvo, en especial para las fuentes cursivas, con la introducción de la deformación de texto a través del nuevo parámetro
CurvedTextStylewarpOffset. (If5dcb)
Correcciones de errores
- Se optimizó el almacenamiento en caché de la animación de elementos durante el desplazamiento en
TransformingLazyColumn. (I62ae8) - Se actualizaron las variaciones
OpenOnPhoneDialogyConfirmationDialogpara establecerFLAG_KEEP_SCREEN_ON, de modo que las animaciones se ejecuten hasta completarse y los diálogos se descarten automáticamente según lo previsto. (Iad7d4) - Se corrigió un error por el que
Modifier.edgeSwipeToDismissfallaba cuando se usaba conSwipeDismissableNavHosten la API 36 y versiones posteriores. (Ifc13d) - Se actualizaron la documentación y los comentarios asociados con el nuevo parámetro
CurvedTextStyle warpOffsetpara hacer referencia correctamente al caso Unspecified. (I41aa5)
Versión 1.6.0-alpha01
10 de septiembre de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.6.0-alpha01. La versión 1.6.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se agregaron variantes no clickeables para
Card,TitleCard,OutlinedCardyAppCard(I509bb, b/406690146). - Se quitó el parámetro
interactionSourcede las nuevas APIs de tarjetas no interactivas. (If0c7a, b/440323280) - Se agregó un nuevo tipo
MinutesSecondsal componenteTimePicker, que muestra solo las columnas de minutos y segundos, y omite la columna de horas (Ia9e94, b/438004664).
Correcciones de errores
- Se corrigió el uso de
HorizontalPagerScaffoldde su parámetro de modificador para queHorizontalPagerno pierda el indicador de página si se agrega unModifier.fillMaxSize()(I07ae1, b/441682601). - De forma predeterminada, alinea la dirección de
ScrollIndicatorcon la dirección del diseño del contenido. (I0da0f, b/441489028) - Se corrigió el problema de
ScrollAwaycuando se usaba conTransformingLazyColumn.TimeTextno se desplazaba correctamente después de navegar a otra pantalla y volver. (Ic0ef1, b/433549148) - Se corrigió el informe de
TransformingLazyColumnsobre la semántica deSCROLL_BACKWARDSySCROLL_FORWARDSpara los casos extremos en la parte superior o inferior de la pantalla. (I5c28d, b/405205994) - Se corrigió un error en
SwipeDismissableNavHostpor el que las transiciones en curso no se marcaban como completadas después de deslizar el dedo hacia atrás en la API 36. (Ife72e, b/441089689) - Actualiza el valor predeterminado de
OpenOnPhoneMaxSweepAnglea 200 grados para evitar que se trunquen algunas traducciones de “Revisa tu teléfono”. (Ib2e4c, b/428243902)
Wear Compose versión 1.5
Versión 1.5.4
22 de octubre de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.4. La versión 1.5.4 contiene estas confirmaciones.
Correcciones de errores
- Se mejoró el rendimiento del Selector refactorizando el uso de
LaunchedEffect. (I94519, b/418192973) - Se corrigió un error en
SwipeDismissableNavHosten API36 y versiones posteriores, en el que presionar el botón Atrás durante la animación de atrás predictivo interrumpía y reiniciaba la animación. La implementación ahora usaSeakableTransitionState.animateToen lugar de Animatable, lo que ofrece un ligero beneficio en el rendimiento. (I2241f, b/428156670) - Se corrigió un error en el orden de los anuncios de accesibilidad en
AlertDialog, en el que el botón de confirmación se anunciaba como "Botón". Confirmar" en lugar de "Confirmar" estándar. Button". (Ic2381, b/429378202)
Versión 1.5.3
8 de octubre de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.3. La versión 1.5.3 contiene estas confirmaciones.
Correcciones de errores
- Se implementó la compatibilidad faltante con
TransformingLazyColumnverticalAlignment, que ahora admite disposiciones estándar basadas en la parte superior, inferior o central. (I2e630, b/444143326)
Versión 1.5.2
24 de septiembre de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.2. La versión 1.5.2 contiene estas confirmaciones.
Correcciones de errores
- Se optimizó el almacenamiento en caché de la animación de elementos durante el desplazamiento en
TransformingLazyColumn. (I62ae8) - Se actualizaron las variaciones
OpenOnPhoneDialogyConfirmationDialogpara establecer FLAG_KEEP_SCREEN_ON, de modo que las animaciones se ejecuten hasta completarse y los diálogos se descarten automáticamente según lo previsto. (Iad7d4) - Se corrigió un error por el que
Modifier.edgeSwipeToDismissfallaba cuando se usaba conSwipeDismissableNavHosten la API 36 y versiones posteriores. (Ifc13d) - Se actualizaron la documentación y los comentarios asociados con el nuevo parámetro
CurvedTextStyle warpOffsetpara hacer referencia correctamente al caso Unspecified. (I41aa5)
Versión 1.5.1
10 de septiembre de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.1. La versión 1.5.1 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió el uso de
HorizontalPagerScaffoldde su parámetro de modificador para que HorizontalPager no pierda el indicador de página si se agrega unModifier.fillMaxSize()(I07ae1, b/441682601). - De forma predeterminada, alinea la dirección de
ScrollIndicatorcon la dirección del diseño del contenido. (I0da0f, b/441489028) - Se corrigió el problema de
ScrollAwaycuando se usaba conTransformingLazyColumn.TimeTextno se desplazaba correctamente después de navegar a otra pantalla y volver. (Ic0ef1, b/433549148) - Se corrigió el informe de
TransformingLazyColumnsobre la semántica deSCROLL_BACKWARDSySCROLL_FORWARDSpara los casos extremos en la parte superior o inferior de la pantalla. (I5c28d, b/405205994) - Se corrigió un error en
SwipeDismissableNavHostpor el que las transiciones en curso no se marcaban como completadas después de deslizar el dedo hacia atrás en la API 36. (Ife72e, b/441089689) - Actualiza el valor predeterminado de
OpenOnPhoneMaxSweepAnglea 200 grados para evitar que se trunquen algunas traducciones de “Revisa tu teléfono”. (Ib2e4c, b/428243902)
Versión 1.5.0
27 de agosto de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.0. La versión 1.5.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.4.0
Primera versión de la biblioteca de Wear Compose Material 3, que admite el nuevo sistema de diseño expresivo de Material 3. Esta versión incluye lo siguiente:
- Se actualizaron
MaterialThemey los temas de color dinámico. - Nuevos componentes
AppScaffold, ScreenScaffold,HorizontalPagerScaffoldyVerticalPagerScaffoldpara diseñar la estructura de la pantalla y coordinar las animaciones deScrollIndicator,TimeText,HorizontalPageIndicatoryVerticalPageIndicator - Cambio de forma
IconButton,TextButton,IconToggleButtonyTextToggleButton, con variaciones que se animan cuando se presionan o se marcan. EdgeButton, que tiene una forma especial diseñada para la parte inferior de la pantalla.ButtonGroupimplementa un grupo expresivo de botones en una fila que cambia de forma cuando se toca.AlertDialogyConfirmationDialogcon variaciones para contenido de diálogo adicional.- Componentes
TimePickeryDatePicker - Los indicadores de progreso incluyen
CircularProgressIndicator(con variación segmentada),ArcProgressIndicatoryLinearProgressIndicator.
Además, Wear Compose Foundation 1.5.0 incluye lo siguiente:
TransformingLazyColumn, una lista de desplazamiento vertical diferido que admite animaciones de escalamiento y transformación.- Se agregó compatibilidad con la paginación en Wear Compose Foundation con
HorizontalPageryVerticalPager. - Grupos de enfoque jerárquicos: Se usan para anotar elementos componibles en una aplicación y hacer un seguimiento de la parte activa de la composición y coordinar el enfoque.
Obtén más información sobre (Material 3 Expressive para Wear OS)
Cambios adicionales
- Para obtener una lista más completa de las funciones que se introdujeron en la versión 1.5.0, consulta las (notas de la versión beta01).
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
TimePickeren el que las cadenas largas internacionalizadas para el período (AM/PM) 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
TimePickerse basa completamente en la configuración regional del usuario y usaDateFormat.getBestDateTimePatternpara determinar el orden y el contenido de sus selectores y separadores. Se corrigió el orden incorrecto de las columnas para los idiomas CJK, se resolvieron los problemas de diseño de RTL en idiomas como el árabe, se usan separadores localizados y se admiten formatos de 0 a 11 y de 1 a 12 horas según la configuración regional (I5d543). DatePickerahora 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
HorizontalPageIndicatoryVerticalPageIndicatoren pantalla completa. Los indicadores de página ya no son de pantalla completa y se posicionarán automáticamente cuando se usen conHorizontalPagerScaffoldoVerticalPagerScaffold. Cuando no uses un diseño de página, especifica la alineación de forma explícita conmodifier = Modifier.align(Alignment.BottomCenter)yHorizontalPageIndicator, y conmodifier =Modifier.align(Alignment.CenterEnd)yVerticalPageIndicator. (I3a0ad) - La dirección de deslizamiento en
SwipeToRevealahora es coherente paraLayoutDirectionstanto en LTR como en RTL. (I6d427) - Se restableció el centrado vertical de
SwipeToRevealpara las acciones. Si eshasPartiallyRevealedState = true, el llamador debe restablecerRevealStateaRevealValue.Coveredcuando se produzca el desplazamiento. (I6473d) SwipeDismissableNavHostahora 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
EdgeButtoncuandoLazyColumnoScalingLazyColumntienenreverseLayout = true. (I46a1a) - Se corrigió un error en
ScreenScaffoldpor el que la función de tocar para explorar no funcionaba en TalkBack si se proporcionaba unScrollIndicator/PageIndicator. (I6dcee) TransformingLazyColumnahora permite la transformación personalizada desdeTransformationSpecleyendo el valor deitemHeightproporcionado porTransformationSpecen el objeto de pintura en segundo plano. (I6a599)- Transiciones de color animadas habilitadas o inhabilitadas para
IconButton, para que sean coherentes conIconToggleButton. (Ife10a) - Se quitó la fijación mínima de la sección en
CircularProgressIndicatorpara evitar un salto notable al tamaño mínimo del punto durante la animación. Como parte de este cambio, el parámetrotargetProgressdedrawCircularProgressIndicatorya 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 el ajuste del valor en el modo de solo lectura y la selección del valor actual en otros casos. (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
SwipeToRevealen listas diferidas (I1d4f6). - Las formas de los contenedores en
TransformingLazyColumnahora se ajustan para evitar que se recorte el contenido. (I9221a) - Las etiquetas
TimePickeryDatePickerpara 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
CircularProgressIndicatorindeterminado (Iaf0bb). - Se corrigió un error de animación en
TransformingLazyColumncuando se quitan elementos. (I73034) - Se corrigió el control de los elementos de anclaje en
TransformingLazyColumncuando se quitan elementos. (I841a8) PickerGroupahora 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
TransformingLazyColumnen el que el elemento inferior se escalaba de forma incorrecta cuando se desplazaba hasta la parte inferior de una lista con unEdgeButton. El progreso de desplazamiento ahora sigue un descenso de gradientes cuando se restablece el diseño. (Iea375) TransformingLazyColumnahora lee la altura del elemento dentro del pintor de fondo, lo que permite queTransformationSpecspersonalizado implemente la transformación. (I022f0)SwipeToRevealahora centra verticalmente las acciones reveladas de forma correcta. (I4419b)- Se corrigió un error en
SwipeToRevealque impedía que funcionara correctamente con la acción 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
SwipeToRevealse dibujaban con una compensación vertical durante el desplazamiento. (I29444) AlertDialog,ConfirmationDialog,OpenOnPhoneDialogySwipeToRevealahora redondean los paddings y los tamaños que se calculan como un porcentaje del tamaño de la pantalla. (I76367)- Ahora,
ButtonDefaults.outlinedButtonBorderse actualiza según los cambios de estado habilitado/inhabilitado size(If2ddd) - Se corrigió un error en la altura de
EdgeButtonque ocurría en pantallas complejas con Pager yScreenScaffold. (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
HorizontalPageIndicatoryVerticalPageIndicatordibujando 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
LevelIndicatorque 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,
OpenOnPhoneDialogsolo anuncia el texto del mensaje en TalkBack y omite la semántica del ícono. Se actualizaron losOpenOnPhoneDialogDefaultspara quitar el parámetroiconContentDescriptiony el parámetrocontentDescriptiondeicon(). Además,ConfirmationDialogDefaultsahora tiene parámetros de modificador en los elementosSuccessIconyFailureIconcomponibles. (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.Saverpara restablecer el estado deSwipeToRevealcuando se vuelve a crear la actividad o el proceso. La funciónrememberRevealStateahora usa este Saver de forma predeterminada. (Ie0ecb) - Los botones de acción principal y secundaria
SwipeToRevealahora tienenButtonDefault.Heightcomo 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ó
SwipeToRevealpara restablecer el último componente con el que se interactuó cuando se realiza el gesto de deslizar el dedo hacia la derecha. (Ia8450) SwipeToRevealse cambió para establecerse en el estadoRevealingcuando 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
ButtonGroupse invierte correctamente en un diseño de RTL (Ib378d). AnimatedTextahora admite la dirección de texto de derecha a izquierda (I4533c)TransformingLazyColumnahora cambia el tamaño de los elementos correctamente cuando se quita el elemento inferior (Idacab).TransformingLazyColumnahora 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) OpenOnPhoneDialogen TalkBack debería anunciar el texto curvo, en lugar de la descripción del contenido del ícono. (I4efe8)- Se corrigió un error en
SwipeToRevealque informaba la ancla incorrecta enRevealState.currentValuecuandohasPartiallyRevealedStatese establecía en falso. (I9c7cf) - Los botones de deshacer
SwipeToRevealahora sonButtonDefaults.Heightde forma predeterminada. (I1f6c8) - Se mejoró el rendimiento de
BasicSwipeToDismissBoxeliminando 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
TransformingLazyColumnoptimizando el cálculo deScrollProgressen 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 marque como experimental).
Wear Compose 1.5.0-beta01 incluye la biblioteca de Wear Compose Material3, que admite el nuevo sistema de diseño de la 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:
MaterialThemepara 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,IconToggleButtonyTextToggleButton, 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
AppScaffoldyScreenScaffoldpara diseñar la estructura de la pantalla y coordinar las animaciones deScrollIndicatoryTimeText. - 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.
CheckboxButtonySwitchButtonse proporcionan cuando se necesitan botones de activación, mientras queRadioButtones 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
AlertDialogadmiten botones de aceptar/cancelar o unEdgeButton. ConfirmationDialogestá 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
TimePickeryDatePicker, así como los componentes Picker yPickerGrouppara compilar tus propias pantallas de selector. ProgressIndicators: Se admiten indicadores de progreso circulares y lineales (elCircularProgressIndicatortiene 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.TitleCardtambién puede tener una imagen de fondo para reforzar el significado de la información en una tarjeta. - Pagers: Los componentes
HorizontalPagerScaffold,VerticalPagerScaffoldyAnimatedPagecoordinan las animacionesHorizontalPageIndicatoryVerticalPagerIndicator. Se lanzaronHorizontalPageryVerticalPageren 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 escalamiento y transformación- 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
HorizontalPageryVerticalPager, 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 enfoque jerárquico: Se cambió el nombre de
Modifier.hierarchicalFocusaModifier.hierarchicalFocusGroupy se quitó el parámetro de devolución de llamada; se quitó la sobrecarga deModifier.hierarchicalFocusRequestercon un parámetroFocusRequester; se creó un nuevoCompositionLocal,LocalScreenIsActivepara que los componentes puedan informar y verificar qué pantalla está activa. (I5ff7c). - Se dio de baja
SwipeToRevealde Wear Compose Foundation en favor de las APIs deSwipeToRevealen Wear Compose Material y Wear Compose Material3. Reemplaza las importaciones deSwipeToRevealde Wear Foundation por las importaciones de Wear Compose Material o Wear Compose Material3 para seguir usando las APIs. (Ia147d). - Las dependencias de
SwipeToRevealde Wear Compose Material3 en Foundation se movieron al paquete material3, p.ej.,RevealValue,RevealDirection,RevealActionType,RevealStateyrememberRevealState. Los desarrolladores deben cambiar las importaciones de estas clases y funciones deandroidx.wear.compose.foundationaandroidx.wear.compose.material3. (I640e6). - Se actualizó la API de
SwipeToRevealde Wear Compose Material3 de la siguiente manera: Se agregaron los parámetrosprimaryAction,onFullSwipe,secondaryAction,undoPrimaryAction,undoSecondaryActionyhasPartiallyRevealedStateal elementoSwipeToRevealcomponible; se quitó la capacidad de personalizarpositionalThresholdyanimationSpecdeRevealState; se quitaronlastActionType,revealThresholdy el ancho deRevealState; se cambió el constructor deRevealStatepara que acepte unRevealDirectionen lugar de anclajes; se quitaron las funcionescreateRevealAnchors, los anclajes y las funcionesbidirectionalAnchors; se cambiaron los nombres de las funcionesSwipeToRevealScopeprimaryAction,secondaryAction,undoPrimaryActionyundoSecondaryActionaPrimaryActionButton,SecondaryActionButton,UndoActionButtony se convirtieron en funciones componibles; se marcóRevealActionTypecomo interno. (I885d0). - Se actualizó aún más la API de
SwipeToRevealde la siguiente manera: Se cambió el nombre deonFullSwipeaonSwipePrimaryAction, se cambió el nombre deSwipeToRevealNonAnchoredSamplepara indicar el uso del parámetrohasPartiallyRevealedState, 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óSmallActionButtonHeightdeSwipeToRevealDefaultsy se hizo privado el parámetro de valor en los constructoresRevealValueyRevealDirection. (I465ce).
Correcciones de errores
- Se corrigió el control de
EdgeButtondeScreenScaffoldpara que, después de quitar un elementoTransformingLazyColumn, elEdgeButtonse 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
CircularProgressIndicatorindeterminado 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
containerPainterydisabledContainerPainteranulancontainerColorydisabledContainerColor(I4a453). - Se revirtió un cambio en
TimeTextde la versión anterior que trasladóBroadcastReceivera 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 su lugar, usar
rememberUpdatedStateen el selector para recordar la función lambdacontentDescriptionmás reciente. (Icb5b1). - Se actualizaron los estilos de texto en
TimePickeryDatePickerpara que los cambios de fuente ya no provoquen truncamientos. (I26194). ListHeaderyListSubHeaderahora 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
SwipeToRevealcomponible en sí). (Ie92a3). - Se actualizó el conjunto
MaxLinespredeterminado en el contenidoEdgeButtonsegún su tamaño: ahora es 1 para extra pequeño, 2 para pequeño y mediano, y 3 para grande. (Ie35f6). - Se simplificó
LocalReduceMotionpara que el observador solo se registre una vez y, así, mejorar el rendimiento. (Ib1979). - Se minimizó la cantidad de redibujos en
ScrollIndicatorpara 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).
Versión 1.5.0-alpha14
23 de abril de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha14. La versión 1.5.0-alpha14 contiene estas confirmaciones.
Cambios en la API
- Todas las dependencias de
SwipeToRevealde Material enSwipeToRevealde Foundation se movieron al paquete de Material, p.ej.,RevealValue,RevealDirection,RevealActionType,RevealStateyrememberRevealState. Los desarrolladores deben cambiar las importaciones de estas clases y funciones deandroidx.wear.compose.foundationaandroidx.wear.compose.material. (Ib7cb8) - Se actualizó la API de
HierarchicalFocusCoordinatorpara que sean modificadores en lugar de elementos componibles. - Notas de migración:
HierarchicalFocusCoordinator(function, content)se puede reemplazar agregando unModifier.hierarchicalFocus(function())acontento al elemento componible que lo contiene.ActiveFocusListener { if (it) focusRequester.requestFocus() }se puede reemplazar agregandoModifier.hierarchicalFocusRequester(focusRequester)- Otros usos menos frecuentes de
ActiveFocusListenerpueden usar el nuevo parámetro enModifier.hierarchicalFocus focusRequester(rememberActiveFocusRequester())se puede reemplazar porhierarchicalFocusRequester()val focusRequester = rememberActiveFocusRequester()se puede reemplazar porremember { FocusRequester() }y agregarModifier.hierarchicalFocusRequester(focusRequester). (Ie319a)
Correcciones de errores
- Se aumentó el umbral de velocidad que deben superar los gestos de deslizamiento para activar un cambio de estado en los siguientes componentes:
SwipeToReveal,BasicSwipeToDismissBoxySwipeDismissableNavHost(solo para la API 35 y versiones anteriores paraSwipeDismissableNavHost). (If47bf) - Se solucionó un problema de animación que se producía cuando se agregaban elementos nuevos a
TransformingLazyColumn. (I589b2)
Versión 1.5.0-alpha13
9 de abril de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha13. La versión 1.5.0-alpha13 contiene estas confirmaciones.
Cambios en la API
- Los proyectos lanzados con Kotlin 2.0 requieren que se consuma KGP 2.0.0 o una versión posterior (Idb6b5).
- Se agregó la propiedad
targetPageaPagerState(I4de8b).
Correcciones de errores
- Evita la recomposición innecesaria durante la función de atrás predictivo. (Iecd6d)
- Se corrigió la propiedad
isScrollabledeScrollInfoProviderpara que devuelva el valor actual. (Icbfb8)
Versión 1.5.0-alpha12
26 de marzo de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha12. La versión 1.5.0-alpha12 contiene estas confirmaciones.
Cambios en la API
- Se mejoró la implementación predeterminada de
SwipeToRevealdegestureInclusionpara ignorar solo los gestos si el estado del componente es Covered. (I7e3d6) - Para
SwipeToReveal, se convirtióbidirectionalGestureInclusionen un val en lugar de una función y se agregó@FloatRangeal parámetroedgeZoneFractionengestureInclusion. (Ica7c3)
Correcciones de errores
- Cambia
SwipeToRevealbidirectionalGestureInclusionpara que devuelva un objeto en lugar de una clase. (I29597) - Se inhabilitó el uso de la respuesta háptica cuando se ejecutan pruebas en
RoboElectric. (I58bd1) - Se actualizaron los paddings de
SwipeToRevealentre 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.5.0-alpha11
12 de marzo de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha11. La versión 1.5.0-alpha11 contiene estas confirmaciones.
Cambios en la API
- Se actualizó
PagerState. Se quitóPagerStatede Compose Foundation como clase base y se agregaron las propiedadescurrentPage,currentPageOffsetFractionypageCount. Se actualizó la interfazGestureInclusiony se cambió el nombre del método aignoreGestureStart. (I4ae07) - Se agregó
requireOffsetaSwipeToDismissBoxStatecomo la forma recomendada de obtener un desplazamiento deSwipeToDismissBoxState. (I21042) - Se agregó
CurvedModifier.semantics, que inicialmente admite la descripción del contenido y el índice de recorrido (I0b093). - Agregamos
CurvedModifier.clearAndSetSemanticspara proporcionar un medio por el cual se puede desactivar la semántica curva.CurvedTextsigue estableciendo de forma predeterminada la descripción del contenido en el texto, perotimeTextCurvedTextytimeTextSeparatorya no anuncian su contenido. (I4b568) - Se cambió el nombre del control predeterminado de los gestos de deslizamiento de
HorizontalPageraPagerDefaults.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ó el sobredesplazamiento rotatorio para la API de
rotaryScrollable. Se agregaron el desplazamiento excesivo y el desplazamiento anidado al comportamiento de lanzamiento derotaryScrollable. Este cambio debería equiparar la funcionalidad de desplazamiento excesivo y desplazamiento anidado entre el desplazamiento táctil y el desplazamiento con el dial. (I71926) - Se agregó compatibilidad con una zona de deslizamiento desde el borde a
SwipeToReveal. El comportamiento predeterminado de FoundationSwipeToRevealahora es no permitir el deslizamiento cuando el gesto comienza desde el borde. El comportamiento predeterminado deSwipeToRevealde Material 3 ahora es no permitir el deslizamiento cuando el gesto comienza desde el borde, cuandoSwipeDirectionse establece en una sola dirección. (I32ef0) - Ahora, TLC usa contentPadding vacío de forma predeterminada en lugar de centrar el primer y el último elemento. (I77ab7)
Correcciones de errores
- Se actualizaron las bibliotecas de Wear Compose al compilador de Kotlin 2.0. (I2de79)
- Se corrigió la muestra curva de
LetterSpacingen la base. (Iebf7c)
Versión 1.5.0-alpha10
26 de febrero de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha10. La versión 1.5.0-alpha10 contiene estas confirmaciones.
Cambios en la API
- Haz que
SwipeToRevealDefaultssea público. (I0c34c) - Reemplazamos el parámetro
swipeToDismissEdgeZoneFractionenHorizontalPager. En su lugar, se introdujo un nuevo parámetro,gestureInclusion, que se puede usar para lograr el comportamiento de deslizamiento para descartar necesario.gestureInclusiontoma una instancia deGestureInclusionque decide si el evento de desplazamiento posterior debe continuar o no. Permitir un gesto significa que el Pager lo consume; de lo contrario, se controlará en otro lugar, por ejemplo, con un controlador de deslizar para descartar. El nuevo comportamiento predeterminado es no permitir gestos en el borde más a la izquierda de la primera página del Pager y, por lo tanto, permitir el gesto de deslizar para descartar en esta región. Todas las demás páginas permitirán que el Pager consuma todos los gestos, lo que significa que no se podrá activar el gesto de deslizar para descartar desde ellas. Para lograr el comportamiento de deslizar para descartar en todas las páginas, simplemente proporciona una instanciaGestureInclusionpersonalizada (consultaPagerDefaults.disableLeftEdgeOnFirstPage) que ignore la página actual. Otro cambio que se introdujo aquí es que el componente Pager ya no es de pantalla completa de forma predeterminada. En su lugar, agregaModifier.fillMaxSize()para lograr este comportamiento. (I9d3aa) - Se cambió el nombre de
createAnchorsacreateRevealAnchorsen la API de deslizar para revelar(If5999). - Quitamos
RevealScopede la API de deslizar para revelar. (Ie4ad5) - Quitamos Revealing y Revealed de
RevealValueen la API de deslizar para revelar. (I8dbc5) - Cambiamos el nombre de
SwipeDirectionaRevealDirectionen la API de deslizar para revelar. (I7472f) - Cambiamos la firma del parámetro
positionalThresholdde la funciónrememberRevealStatedeSwipeToReveal. (I29c0a) - Se agregó un nuevo parámetro
overscrollEffectaScalingLazyColumn,TransformingLazyColumnyScreenScaffold. (I0cee8) - Cuando se usa
PagerDefaults#snapFlingBehaviour, el parámetropagerSnapDistancese reemplazó por un parámetro IntmaxFlingPages, que se puede usar para especificar la cantidad máxima de páginas que debe recorrer el Pager. (I8cfc0) - Wear Pager ahora tiene su propio
PagerScopeen lugar de usarPagerScopede Compose Foundation. (I9195b) - Agregamos compatibilidad con
lineHeighten el texto curvo (I1c936). - Agregamos
initialAnchorItemIndexyinitialAnchorItemOffsetaTransformingLazyColumnStateyrememberTransformingLazyColumnStatepara que la posición de desplazamiento inicial se pueda especificar enTransformationLazyColumn. (I0a0d5) - Se dejó de usar
runWithTimingDisableden favor derunWithMeasurementDisabled, que describe con mayor claridad el comportamiento: todas las métricas están pausadas. Además, expón la superclaseMicrobenchmarkScope, ya que no es posible volver a declarar la funciónrunWithMeasurementDisabledpara abrir el acceso, ya que está intercalada. (I9e23b, b/389149423, b/149979716) - Agregamos
TransformingLazyColumnItemScrollProgress.Unspecifieda la API para evitar el boxing enTransformingLazyColumnItemScrollProgress. (I0835d)
Correcciones de errores
- Se mejoró el Kdoc para
CurvedTextStyle(Id45e3). - Hicimos que
SwipeableV2(parte de la implementación deSwipeToReveal) sea interno en lugar de público, pero restringido al grupo de la biblioteca. (Idbb94) - Agregamos pruebas a
HierarchicalFocusCoordinator(I1ce54, b/395548918). - Realizamos mejoras en
SwipeToRevealen las muestras de Wear Compose Foundation. (I5f307) - Se corrigieron los datos semánticos del eje de desplazamiento para
verticalScrollAxisRangeenTransformingLazyColumnpara la accesibilidad (I68123). - Se mejoró el rendimiento de la respuesta háptica rotatoria en WearOS 4 y versiones posteriores quitando subprocesos en segundo plano innecesarios (I39cfe).
- Cambia
SwipeDismissableNavHostpara que usePredictiveBackNavHostsolo en la API 36 y versiones posteriores. (I59bed) - Agregamos una protección contra fallas cuando se accede al parámetro de configuración de reduce motion. (I01e2c)
- Implementamos la recuperación previa para
TransformingLazyColumnpara reducir los bloqueos (Icca88).
Versión 1.5.0-alpha09
29 de enero de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha09. La versión 1.5.0-alpha09 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). - Se simplificó el
CompositionLocalLocalReduceMotionpara que muestre un valor booleano en lugar de un objetoReduceMotion. La interfaz deReduceMotiondejó de estar disponible. Las invocaciones anteriores, comoLocalReduceMotion.current.enabled(), se pueden reemplazar porLocalReduceMotion.current(I4937f). - En
PagerDefaults, se cambió el nombre desnapAnimationSpecaSnapAnimationSpec. (I20c9a)
Versión 1.5.0-alpha08
15 de enero de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha08. La versión 1.5.0-alpha08 contiene estas confirmaciones.
Cambios en la API
- Actualizamos todas las bibliotecas de Wear Compose al modo de "API explícita". (Iebf9f)
- Hicimos que el parámetro de animación de ajuste del paginador forme parte de
PagerDefaults. (Ifff64) - Se agregó un parámetro de desplazamiento a
SwipeToDismissBoxState. (I586bd)
Correcciones de errores
- Ahora se llama a la respuesta háptica de la plataforma giratoria para las versiones de Wear OS posteriores a V (Idb03e).
Versión 1.5.0-alpha07
11 de diciembre de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha07. La versión 1.5.0-alpha07 contiene estas confirmaciones.
Cambios en la API
TransformingLazyColumnStateahora proporciona una forma de observar el progreso actual del desplazamiento en función de los índices de los elementos de anclaje. (I72b01)- Agregamos animaciones a
TransformingLazyColumncuando se agregan, quitan y mueven elementos, si tienen el nuevoModifier.animateItem. (Iecb9c) TransformingLazyColumnahora expone valores parabeforeContentPaddingyafterContentPadding. (Iccd5f)TransformingLazyColumnahora proporciona el local de composiciónLocalTransformingLazyColumnItemScopeque los componentes (comoCardyButtonen Material 3) pueden usar para transformarse automáticamente cuando se colocan dentro de unTransformingLazyColumn. Los llamadores pueden inhabilitar la transformación automática con el nuevo wrapperTransformExclusion. (I1652f)
Correcciones de errores
- Actualizamos las velocidades de lanzamiento mínimas y máximas para el selector rotatorio en dispositivos que tienen como objetivo la versión U y posteriores. (I33559)
- Se corrigió una falla que ocurría si un elemento de
TransformingLazyColumnno contenía ningún elemento componible (Idb99d). - Agregamos compatibilidad con
ScrollFeedbackProviderpara la respuesta háptica rotatoria en Android Vanilla ice cream. (Ibc553) - Aplicamos una mayor tolerancia al tacto cuando se usa
SwipeToRevealpara reducir las posibilidades de activar accidentalmente un deslizamiento cuando se desplaza verticalmente. (Ic0672) - Actualizamos
SwipeDismissableNavHostpara que usePredictiveBackHandlercuando esté disponible con la API 35 y versiones posteriores. En ese caso, se aplicarán animaciones nuevas. (I08c11)
Versión 1.5.0-alpha06
13 de noviembre de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha06. La versión 1.5.0-alpha06 contiene estas confirmaciones.
Cambios en la API
- Simplificamos el
ScrollInfoProviderparaPagerStatequitando el parámetroorientation, que ya no es necesario. El nuevo comportamiento es queTimeTextpermanezca en su lugar para la paginación horizontal y vertical. (I71767) TransformingLazyColumnse introdujo en versiones anteriores. Ahora quitaremos los alias deLazyColumnde Wear (que redireccionaban aTransformingLazyColumn) y usaremos el nuevo nombreTransformingLazyColumn. También quitamos la propiedadheightdeTransformingLazyColumnVisibleItemInfo. En su lugar, usameasuredHeight. (I0ea1e)- Cambiamos la especificación de
PagerDefaults.snapFlingBehaviorsnapAnimationSpecdeTweenaSpring(I10d02, b/349781047, b/303807950). - Promovimos
LocalReduceMotionCompositionLocala estable (Ia6f32).
Correcciones de errores
- Actualizamos
Modifier.rotaryScrollablepara que usefocusTargetWithSemanticsy, así, mejorar la compatibilidad semántica en el selector rotatorio. (Ief0a0) - Actualizamos la dependencia mínima de la API a 1.7.4 para las bibliotecas de Compose. (I88b46)
- Inhabilitamos la transformación de ancho en
TransformingLazyColumncomo solución alternativa para un error de recorte. (I3dfb8) - Se corrigió un error que provocaba que desaparecieran elementos después de un desplazamiento excesivo con
TransformingLazyColumn(Id7668). - Agregamos
LazyLayoutSemanticsparaTransformingLazyColumn. (Ia8f56)
Versión 1.5.0-alpha05
30 de octubre de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha05. La versión 1.5.0-alpha05 contiene estas confirmaciones.
Cambios en la API
- Agregamos compatibilidad con
animateScrollToenTransformingLazyColumnStatepara que el desplazamiento a un elemento se pueda animar. (I4097d) - Agregamos
requestScrollToenTransformingLazyColumnStatepara aplazar el desplazamiento hasta la próxima medición. (I20a5e) - Agregamos compatibilidad con
contentPaddingenTransformingLazyColumn. (I3a69c)
Correcciones de errores
- Corregimos un error en la renderización de
TransformingLazyColumncuando la altura del contenido es menor que la altura de la pantalla. (I6c3e1) - El
ScrollInfoProvderparaTransformingLazyColumnahora hace un seguimiento correcto del primer elemento. (I1e4a3) TransformingLazyColumnStateahora guarda su estado (anchorItemIndexyanchorItemScrollOffset). (I3d265)
Versión 1.5.0-alpha04
16 de octubre de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha04. La versión 1.5.0-alpha04 contiene estas confirmaciones.
Cambios en la API
- Cambiamos el nombre de
LazyColumnde Wear Compose Foundation aTransformingLazyColumnpara que la distinción entre este yLazyColumnde Compose Foundation sea más clara. (I0608b) - Se agregó compatibilidad con el dial para los paginadores horizontales y verticales, lo que permite a los usuarios navegar por los paginadores con dispositivos de entrada rotativa. (I9770d)
- Actualizamos el nuevo
PagerDefaultspara aclarar que el paginador se ajustará a la página de forma predeterminada. (Iff7d0) TransformingLazyColumnItemScrollProgressahora es una clase de valor, lo que debería mejorar el rendimiento. (Ic399e)TransformingLazyColumnahora admite el control rotatorio de inmediato. (I05206)TransformingLazyColumnStateahora admitescrollToItem. (I507b3)- Se quitó
@ExperimentalWearFoundationApide la API deSwipeToReveal(I34a66).
Versión 1.5.0-alpha03
2 de octubre de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha03. La versión 1.5.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Agregamos compatibilidad con el deslizamiento bidireccional en
SwipeToRevealpara 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) - Actualizamos
LazyColumnStatepara anularcanScrollForwardycanScrollBackward. Ahora, se detiene el desplazamiento cuando el primer o el último elemento se encuentra exactamente en el centro de la pantalla. (Ia77d7) - Agregamos nuevos componentes
HorizontalPageryVerticalPagerque abordan problemas comunes, como el control del enfoque y la interacción con el gesto del sistema para descartar con un deslizamiento que podría ocurrir en Wear. (I2902b) - Agregamos compatibilidad con
LazyColumnpara exponer loskeyycontentTypedel cliente a través delayoutItems. (I1bd9c)
Correcciones de errores
- Actualizamos las animaciones de texto curvo para que sean más fluidas con marcas de pintura. (I73a15)
- Actualizamos la documentación de Material Dialog para reflejar que no se llama a
onDismissRequestdespués de que la marca show se establece en falso. (Ifd8d6) - Corregimos un error en la animación de la viñeta en el diálogo de Material (I126bf).
Versión 1.5.0-alpha02
18 de septiembre de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.5.0-alpha02. La versión 1.5.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Agregamos compatibilidad con
LazyColumnde Wear Compose con nuestroScreenScaffold(y agregamos una implementación deScrollInfoProviderparaLazyColumnState). (Ib8d29) - Agregamos
viewportSizeaLazyColumnLayoutInfo. (I4187f)
Correcciones de errores
- Corregimos un error para que el desplazamiento rotatorio ahora esté inhabilitado en
ScalingLazyColumncuando la marcauserScrollEnabledesté establecida enfalse. (I490ab, b/360295825) - Se corrigió un error para abordar el padding vertical inesperado en el texto curvo. La altura del texto curvo ahora coincide más con el espacio real que usa el texto. Ten en cuenta que es probable que esto interrumpa las pruebas de capturas de pantalla que involucran texto curvo (Iaa6ef).
- Revertimos una corrección de errores en
Dialogen la que se llamaba a la devolución de llamadaonDismissRequestcuandoshowDialogse establecía en falso, ya que, en algunos casos, esto provocaba que se llamara aonDismissRequestvarias veces. (I64656)
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
- Agregamos un nuevo
LazyColumna la biblioteca de Wear Compose Foundation con APIs deLazyColumnStateyLazyColumnScopeasociadas. Esto sirve como base para crear efectos de transformación y escalamiento personalizables con Wear Compose. (Ib3b22) - Agregamos una versión indexada de
itemsIndexedenLazyColumnScopecomo parte de la nueva API deLazyColumn. (Ib4a57) - Agregamos modificadores
LazyColumnpara admitir comportamientos de ajuste y transformación. (Ie229a) HierarchicalFocusCoordinatorse promovió a estable. (I31035)- Se agregó compatibilidad con el espacio entre letras en el texto curvo. (I3c740)
- Se agregó un parámetro
rotationLockedaCurvedLayout.curvedComposablepara evitar que se roten los componentes. (I66898) - Se quitó la API temporal de
LocalUseFallbackRippleImplementationde Wear Material y Wear Material3 (I62282). - Se quitó
WearDevices.SQUAREde la función de vista previa múltiple de@WearPreviewDevices(I11c02).
Correcciones de errores
- Ahora,
SwipeToRevealposiciona los elementos revelados en la parte visible de la pantalla, lo que resulta útil cuandoSwipeToRevealse usa dentro de una lista, de modo que los elementos siempre sean interactivos y nunca queden fuera de la pantalla. (I38929) SwipeToRevealahora restablecelastActionTypea None cuando se completaanimatedTo. (I59b03)- Se mejoró la documentación del nuevo parámetro
rotationLockedencurvedComposable. (Ifbd57) - Se corrigió una falla que se producía cuando se pasaba
NaNalperformFlingdeScalingLazyColumnSnapFlingBehavior. (Ic13da) - Se corrigió un error en el modificador de tamaño del diseño curvo (I0fedf).
- Se agregó compatibilidad con el espacio entre letras especificado en "sp". (I9f6e3)
- Corregimos un error en el diálogo de Material 2 por el que no se llamaba a la devolución de llamada
onDismissRequestcuando el diálogo se volvía invisible (I64656). - Se cambió el nombre de
LayoutCoordinates.introducesFrameOfReferenceporLayoutCoordinates.introducesMotionFrameOfReferencepara reflejar mejor su propósito. Se cambió el nombre de la función relacionada para calcular las coordenadas según esa marca. (I3a330)
Versión 1.4
Versión 1.4.1
12 de febrero de 2025
Lanzamiento de androidx.wear.compose:compose-*:1.4.1. La versión 1.4.1 contiene estas confirmaciones.
Correcciones de errores
- Se agregó una protección contra fallas cuando se accede al parámetro de configuración global de reducir movimiento, que se activaba en algunas plataformas en las que no se proporcionaba ese parámetro de configuración. (I01e2c)
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
ScalingLazyColumnyPickerahora admiten la entrada rotatoria de forma predeterminada. Se recomienda quitar el control rotatorio explícito y diferir al comportamiento predeterminado del sistema. Si es necesario, usa el parámetrorotaryScrollableBehaviorpara configurar el comportamiento de desplazamiento o ajuste. Para el comportamiento de ajuste, se recomienda proporcionar capacidades de desplazamiento táctil y comportamiento de ajuste con el parámetroflingBehavior.Modifier.rotaryScrollablees un nuevo modificador que conecta los eventos de rotación con los contenedores desplazables, lo que permite a los usuarios desplazarse con una corona o un bisel giratorio en su dispositivo Wear OS.SwipeDismissableNavHostahora proporciona una animación de entrada para las transiciones en la app.PositionIndicatorahora se muestra de forma predeterminada cuando se muestra una pantalla por primera vez.
Cambios adicionales
- Para obtener un conjunto más completo de los cambios introducidos 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.
- Actualizamos las dependencias de Compose a 1.7.0-rc01 y fijamos Wear Compose Navigation 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.rotaryScrollablepara reemplazar el uso de "focusable" por "focusTarget", lo que mejora el rendimiento. (Id294b) - Se corrigió un problema por el que
ProgressIndicatorrepetía su anuncio enTalkBack. (I94563) - Actualizamos los perfiles de Baseline 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 del límite que se pasa a los lectores de pantalla desde el texto curvo para solucionar problemas de truncamiento (Id865f).
- Restringimos el límite del
HorizontalPageIndicatorque se pasó a los lectores de pantalla. Anteriormente, el indicador ocupaba toda la pantalla (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 la API está bloqueada (excepto donde se marque como experimental). Wear Compose 1.4 incluye las siguientes funciones nuevas:
- Agregamos
Modifier.rotaryScrollable, un nuevo modificador que conecta los eventos rotatorios con contenedores desplazables, lo que permite a los usuarios desplazarse con una corona o un bisel giratorio en su dispositivo Wear OS. Además,ScalingLazyColumnyPickerahora admiten la entrada rotativa de forma predeterminada. Usa el parámetrorotaryScrollableBehaviorpara configurar el comportamiento de desplazamiento o ajuste. Para el comportamiento de ajuste, se recomienda proporcionar el ajuste a través del parámetroflingBehaviortambién para el desplazamiento táctil. SwipeDismissableNavHostahora proporciona una animación de entrada para las transiciones en la app.PositionIndicatorahora se muestra de forma predeterminada cuando se muestra una pantalla por primera vez.- Se agregaron
SelectableChipySplitSelectableChipcomo una variación deToggleChip. Usa esto conRadioButtonpara proporcionar semántica seleccionable en lugar de semántica activable para la accesibilidad. ListHeaderahora 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 anunciaban que se debía presionar dos veces para activar o desactivar cuando ya estaban 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 de rotary: cambiamos el nombre de
Modifier.rotaryaModifier.rotaryScrollable, cambiamos el nombre de la interfazRotaryBehavioraRotaryScrollableBehaviory su funciónhandleScrollEventaperformScroll, cambiamos el nombre deRotaryScrollableAdapteraRotaryScrollableLayoutInfoProvidery quitamos la propiedadscrollableState. (I0c8a6) - Realizamos cambios adicionales en la API de rotary: cambiamos el nombre de
RotaryScrollableLayoutInfoProvideraRotarySnapLayoutInfoProvider(porque este proveedor solo se necesita para rotary con ajuste) y cambiamos el tipo del parámetrosnapOffsetenRotaryScrollableDefaults.snapBehavior snapOffsetde Int a Dp. (Iddebe) - Cambiamos el nombre del parámetro
clickInteractionSourceenSplitSelectableChipacontainerInteractionSource. (Ia8f84) - Actualizamos los nombres de los parámetros de devolución de llamada de clics para
SplitSelectableChip: deonClickaonSelectionClicky deonBodyClickaonContainerClick. (I32237)
Correcciones de errores
- Actualizamos el padding horizontal para
PositionIndicatora 2 dp (antes era de 5 dp) para corregir un error por el quePositionIndicator(barra de desplazamiento) se superponía con el contenido desplazable. Ten en cuenta que se espera que este cambio interrumpa las capturas de pantalla existentes que incluyen elPositionIndicatordebido al cambio de padding. (I57472) - Mejoramos la documentación de la nueva API de rotary describiendo las diferencias entre los dispositivos rotatorios de baja y alta resolución. (I63abe)
- Se corrigió una excepción fuera de rango en
SwipeDismissableNavHostque se podía activar cuando los valores alfa interpolados eran menores que 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 los eventos rotatorios con contenedores desplazables, lo que permite a los usuarios desplazarse con una corona o un bisel giratorio en su dispositivo Wear OS. Además,ScalingLazyColumny Picker ahora admiten la entrada rotatoria de forma predeterminada, con nuevas sobrecargas que incluyen el parámetrorotaryBehaviorpara especificar la configuración de desplazamiento o ajuste. Si el parámetrorotaryBehaviorestá establecido en snap, se recomienda proporcionar el ajuste también a través del parámetroflingBehaviorpara el desplazamiento táctil. (I2ef6f) - Las fuentes
NestedScrollDrag and Fling se reemplazan porUserInputySideEffectpara adaptarse a la definición extendida de estas fuentes que ahora incluyen animaciones (Side Effect) y rueda del mouse y teclado (UserInput). (I40579) - Agregamos
SelectableChipySplitSelectableChippara que la distinción entre los controles de activación, comoSwitch/Checkbox, y los controles seleccionables, comoRadioButton, sea más clara. Esto reemplaza las sobrecargas agregadas anteriormente deToggleChip/SplitToggleChipcon parámetrosselectionControl. (Ia0217) - Se actualizó el modificador de visibilidad de
IndeterminateStrokeWidthenProgressIndicatorDefaultsa 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 la compatibilidad con el dial giratorio como parte del esfuerzo más amplio para migrar el comportamiento del dial giratorio a AndroidX desde Horologist. (I617d1)
- Agregamos un borrador interno de la compatibilidad con la tecnología háptica como parte del esfuerzo más amplio 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
- Hicimos públicas las propiedades
initialCenterItemIndexyinitialCenterItemScrollOffsetdeScalingLazyListState. (I0c616) - Hicimos público el
FullScreenStrokeWidthdeProgressIndicatorDefaults. (Ibea23)
Correcciones de errores
- Mejoramos el rendimiento de
PositionIndicatordisminuyendo la cantidad de llamadas alayoutInfodesdeScalingLazyColumn. (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
- Se agregó una nueva sobrecarga para
ToggleChipySplitToggleChipque toma un parámetroselectionControlen lugar del parámetrotoggleControl. Se debe usar con el controlRadioButtonpara proporcionar una semántica seleccionable en lugar de una semántica activable para la accesibilidad (I1d6d9). - Actualizamos los nombres de los parámetros para la nueva sobrecarga de
selectionControldeonSelectedaonSelectparaToggleChipySplitToggleChip(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
- Se dio de baja el wrapper
Modifier.inspectable. Esta API creará más invalidaciones de tu modificador de las necesarias, por lo que ahora se desaconseja su uso. Se recomienda a los desarrolladores que implementen el métodoinspectableProperties()enModifierNodeElementsi desean exponer las propiedades del modificador a las herramientas. (Ib3236)
Correcciones de errores
- Corregimos un error de documentación para las anotaciones de
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
- Corregimos un error en la función de deslizar para revelar, en el que era posible interactuar con una acción confirmada en un elemento (y cancelarla) comenzando a deslizar otro elemento (Ide059).
- Actualizamos
ListHeaderpara admitir ajustes de altura cuando el contenido necesita 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ó una animación de entrada a
SwipeDismissableNavHostpara las transiciones en la app (cfeb79a). PositionIndicatorahora se muestra de forma predeterminada cuando se muestra una pantalla por primera vez. Este cambio se introdujo para ayudar a cumplir con los lineamientos de calidad de Wear. Lamentablemente, esto significa que las capturas de pantalla de prueba deberán actualizarse en las pantallas que incluyanPositionIndicator, ya quePositionIndicatorno se mostraba anteriormente. (419cef7)
Cambios en la API
- Agregamos una nueva API de efecto de ondulación en las bibliotecas
wear:compose-materialywear:compose-material3que reemplaza a la APIrememberRippleobsoleta. También se agrega unCompositionLocaltemporal,LocalUseFallbackRippleImplementation, para revertir los componentes de Material al uso de las APIs derememberRipple/RippleThemeque dejaron de estar disponibles. Se quitará en la próxima versión estable y solo se pretende que sea una ayuda temporal para la migración en los casos en los que proporciones unRippleThemepersonalizado. Consulta developer.android.com para obtener información sobre la migración y más información general sobre este cambio. (af92b21) - Actualizamos
ColorSchemepara 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. (f5c48b7) - Los componentes de Wear Material y Wear Material 3 que exponen un
MutableInteractionSourceen su API se actualizaron para exponer unMutableInteractionSourceanulable que tiene el valor nulo de forma predeterminada. Aquí no hay cambios semánticos: pasar nulo significa que no deseas elevar elMutableInteractionSource, y se creará dentro del componente si es necesario. Cambiar a nulo permite que algunos componentes nunca asignen unMutableInteractionSourcey 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 elMutableInteractionSourceque pasas a estos componentes, te recomendamos que pases null en su lugar. También se recomienda que realices cambios similares en tus propios componentes. (f8fa920) - Actualizamos
rememberExpandableStatepara guardar el estado expandible. Esto garantiza que los datos se almacenen cuando se navega a otra pantalla y se restablezcan cuando se vuelve a la pantalla original. (5c80095)
Correcciones de errores
- Actualizamos el parámetro de configuración de
ReduceMotionpara usar un objeto de escucha optimizado para el ciclo de vida. (7c6b122) - Actualizamos el objeto Listener de
TouchExplorationStateProviderpara que tenga en cuenta el ciclo de vida (be28b01). - Se quitó la capa materialcore para
CompactButtoncon el objetivo de mejorar el rendimiento (25db8e9). - Hicimos que
BasicSwipeToDismissBoxsea más sólido para los desplazamientos de NaN y evitar excepciones (b983739). - Se actualizó
BasicSwipeToDismissBoxpara garantizar que los valores alfa estén dentro del rango 0,1. - Se corrigió un error en
ToggleButton,SplitToggleButton,Checkbox,SwitchyRadioButtonpara que no se repitan los anuncios de accesibilidad (anteriormente, se duplicaban 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 la función de deslizar para revelar, en el que era posible interactuar con una acción confirmada en un elemento (y cancelarla) comenzando a deslizar otro elemento. (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ónSwipeToDismissValuey la función de extensiónModifier.edgeSwipeToDismissahora forman parte del paqueteandroidx.wear.compose.foundation, en lugar del paqueteandroidx.wear.compose.material. Esta arquitectura actualizada te permite implementar el control de gestos 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
SwipeToRevealCardySwipeToRevealChipte ayudan a implementarrecommended swipe-to-reveal guidance. La claseSwipeToRevealSamplemuestra cómo usar estos componentes. En la versión 1.3.0-alpha02, se introdujo un cambio que hace que los objetos
ChipyToggleChipcrezcan en altura para admitir mejor el ajuste de escala de fuentes seleccionado por el usuario. Esto puede provocar que se recorte parte del video. Para corregir este problema, la formalargedeMaterialThemeahora usa un radio de esquina más grande (26 dp en lugar de 24 dp). Los objetosChipyToggleChipusan este nuevo radio de esquina para evitar recortar el contenido en las esquinas de Chip yToggleChip.- La mayoría de los
ChipsyToggleChipsno cambian, dada su altura predeterminada de 52 dp. Sin embargo, los objetosChipyToggleChipque contienen varias líneas de texto de etiquetas primarias o secundarias, o para los que se anuló la altura, podrían hacer que fallen las pruebas de capturas de pantalla.
- La mayoría de los
Cambios adicionales
Para obtener un conjunto más completo de los cambios introducidos 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 desplacen el contenido de la pantalla, como en una app basada en mapas, desactiva el control de deslizamientos configurando
userSwipeEnabledcomofalseen el elementoSwipeDismissableNavHostcomponible y, luego, incluye un botón que permita a los usuarios ir a la pantalla anterior. - Para desactivar las animaciones de un indicador de posición durante las animaciones de aparición gradual y cambio de posición dentro de una lista de desplazamiento, usa un objeto
SnapSpec. - Mientras esperas a que una app de contenido multimedia cargue contenido para la reproducción, muestra un elemento
Placeholdercomponible 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
MaterialThemepara que use un radio de esquina redondeada de 26 dp, y ahora la usarán Chip yToggleChip. Este cambio es necesario para admitir ajustes de altura cuando el contenido necesita altura adicional para adaptarse a tamaños de fuente grandes. De lo contrario, la forma de estadio existente recortará parte del contenido de texto.Figura 1: Texto recortado en las esquinas. Figura 2: Texto sin recortar. Este cambio puede causar una interrupción 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 previsto en
BasicSwipeToDismissBox. Esto se había modificado en una versión anterior, de modo que la parte de deslizamiento de la transición se producía 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 la API está bloqueada (excepto donde se marque como experimental). Wear Compose 1.3 incluye las siguientes funciones nuevas:
SwipeToDismissBoxState,SwipeToDismissValueyModifier.edgeSwipeToDismissse migraron deandroidx.wear.compose.materialaandroidx.wear.compose.foundation, junto con la implementación subyacente de deslizar para descartar enBasicSwipeToDismissBox. Esto permite que el control de gestos para descartar con deslizamiento se use independientemente de Material Design, por ejemplo, desdeSwipeDismissableNavHostenandroidx.wear.compose.navigation. Aún se recomienda usarSwipeToDismissBoxdeandroidx.wear.compose.materialcon Material Design, ya que extrae colores deMaterialThemey, luego, delega la implementación restante aBasicSwipeToDismissBox.SwipeDismissableNavHostahora admite un nuevo parámetrouserSwipeEnabledpara que se pueda desactivar el control de deslizamiento en las pantallas en las que no se requiere.BasicSwipeToDismissBoxmejoró el manejo del enfoque conHierarchicalFocusCoordinator.SwipeToRevealtiene nuevos elementosSwipeToRevealCardySwipeToRevealChipcomponibles en Material que siguen la orientación de UX recomendada paraCardyChip. También admite la opción de deshacer la acción secundaria.DefaultTextStyleahora desactiva el padding de la fuente para que sea coherente en toda la plataforma de Android.ChipyToggleChipahora ajustan su altura para adaptarse al contenido que creció debido a las fuentes grandes para la accesibilidad.PositionIndicatorahora tiene especificaciones de animación individuales para las animaciones de entrada y salida graduales, y de cambio de posición. Por motivos de rendimiento, recomendamos que el efecto de entrada y el cambio de posición estén desactivados cuando se usen con listas desplazables.ExpandableStateMappingproporciona una nueva forma de generarExpandableStatescuando se necesitan a pedido y no necesariamente con un alcance de@Composable.Placeholderahora permite restablecerse si el contenido ya no está en estado listo. Además, el parámetro de configuración para reducir el movimiento ahora se aplica al efecto de brillo y al movimiento de limpieza enPlaceholder.
Errores conocidos
PositionIndicatorno se muestra inicialmente cuando se muestra una pantalla por primera vez. Tenemos la intención de realizar un cambio en una versión alfa 1.4 inicial para que se muestre inicialmente, pero sin ninguna animación.
Cambios en la API
- Cambiamos el nombre del nivel básico
SwipeToDismissBoxaBasicSwipeToDismissBox. Esto hace que la distinción entre el componente de nivel de Foundation y elSwipeToDismissBoxde nivel de Material sea más clara. Este último extrae colores deMaterialThemepara usarlos en las cortinas y delega la implementación restante enBasicSwipeToDismissBox. (Ibecfc) - Marcamos
rememberExpandableStateMappingcomo experimental y mejoramos el rendimiento deexpandableItem. (I5f6bc) - Reemplazamos la clase
SwipeToRevealActionen las APIs de MaterialSwipeToRevealCard y Chip por una API basada en ranuras que usa los elementos componiblesSwipeToRevealPrimaryAction,SwipeToRevealSecondaryActionySwipeToRevealUndoAction. Consulta el código de muestra para ver ejemplos de cómo usar la nueva API. (Ia8943) - Reemplazamos las marcas de animación
PositionIndicatorpor parámetrosAnimationSpec. Las animaciones individuales se pueden inhabilitar pasandosnapcomoAnimationSpec. (I6c523)
Correcciones de errores
- Corregimos un error que se activaba por texto curvo limitado cuando el tamaño era limitado (I50efe).
- Se solucionó una posible falla de NaN relacionada con
curvedComposable(I970eb). - Revertimos la eliminación de la animación de resaltado del cambio de posición en
PositionIndicator. (Ieb424) - Quitamos la capa material-core del chip de Material 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
- Se agregaron marcas individuales a las sobrecargas de
PositionIndicatorpara controlar diferentes animaciones:showFadeInAnimation,showFadeOutAnimationyshowPositionAnimation. La API anterior dejó de estar disponible y reenvía las llamadas a la nueva. Por motivos de rendimiento y coherencia de la UX, cuando se usaPositionIndicatorcon una lista desplazable, recomendamos desactivar los parámetrosshowFadeInAnimationyshowPositionAnimation. SiPositionIndicatorse usa como indicador independiente, por ejemplo, para el cambio de volumen, te recomendamos que actives las 3 animaciones. (I44294) - Dimos de baja los elementos
SwipeToDismissBoxState,SwipeToDismissValueyedgeSwipeToDismissde Material tras la migración de la función de deslizar para descartar awear.compose.foundation. Reemplaza con los equivalentes dewear.compose.foundation. (Iee8c9)
Correcciones de errores
- Actualizamos los perfiles de Baseline para las bibliotecas de Wear Compose Foundation, Material y Navigation. (Idb060)
- Revertimos un cambio de comportamiento para
PositionIndicatorque se introdujo en una CL anterior, de modo quePositionIndicatorse animaba cuando se mostraba inicialmente una pantalla. Tenemos la intención de realizar un cambio similar en una versión alfa 1.4 inicial, de modo que elPositionIndicatorse muestre inicialmente, pero sin ninguna animación. (I41843) - Se solucionaron algunos problemas de rendimiento en
PositionIndicator. (I1c654, b/302399827) - Optimizamos el rendimiento de la implementación predeterminada del proveedor de estado de exploración táctil para que dependa de
State<Boolean>en lugar del estado derivado. (Ieec4d) - Establecimos rectángulos
systemGestureExclusionpara 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
PositionIndicatorpara controlar diferentes animaciones:showFadeInAnimation,showFadeOutAnimationyshowPositionAnimation. La API anterior dejó de estar disponible y reenvía las llamadas a la nueva. Por motivos de rendimiento y coherencia de la UX, cuando se usaPositionIndicatorcon una lista desplazable, recomendamos desactivar los parámetrosshowFadeInAnimationyshowPositionAnimation. SiPositionIndicatorse usa como indicador independiente, por ejemplo, para el cambio de volumen, te recomendamos que actives las 3 animaciones. (Ia2d63)
Correcciones de errores
- Mejoramos el movimiento de deslizar para revelar agregando una animación de atenuación al texto de la acción principal y atenuando la acción secundaria o cambiando la escala del ícono en la expansión completa del deslizamiento. (Ib7223)
- Se recomienda que las acciones de Deslizar para revelar sean accesibles, por lo que agregamos acciones de accesibilidad personalizadas a nuestros ejemplos 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. Ahora, elSwipeToDismissBoxse dibuja con el tamaño de pantalla completa. (Ie0aa2) - Corregimos un error que provocaba que el elemento
PositionIndicatordesapareciera de forma incorrecta. (I2091a) - Se mejoró el rendimiento de
PositionIndicatoroptimizando las recomposiciones. Posteriormente, se agregaron marcas nuevas para controlar las animaciones (fadeIn,fadeOutypositionChange) (consulta Cambios en la API) (Ifac7d). - Se agregaron pruebas de microcomparativas 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
- Agregamos compatibilidad con
Modifier.edgeSwipeToDismissenSwipeToReveal. (I95774, b/293444286) - Se agregaron muestras para los elementos
SwipeToRevealChipySwipeToRevealCardde Material. (Ieb974) - Actualizamos los perfiles de referencia de 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 un controlador en Deslizar para revelar para que solo se pueda deslizar un elemento a la vez. (I3cd7a)
- Se mejoró la documentación de
ScalingLazyColumnDefaultspara 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ó compatibilidad para deshacer la acción secundaria de
SwipeToReveal. (I7a22d)
Cambios en la API
- Se agregó
HorizontalPageIndicatoren la biblioteca de Wear Material3. (Ifee99) - Se actualizó la herramienta 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
SwipeToRevealcon tarjetas y chips. Estos elementos componibles siguen la orientación de UX recomendada sobre el componente y facilitan a los desarrolladores la implementación deSwipeToRevealcon los componentes existentes en Wear Material. (I7ec65) - Activamos las anotaciones
FloatRangecomo restricciones de la API, que antes se indicaban en los comentarios. (Icb401)
Correcciones de errores
- Trasladamos la lógica de desplazamiento inicial de
ScalingLazyColumndentro deonGloballyPositioned(). (Ic90f1) - Ahora usamos
drawWithCacheenPositionIndicator,ProgressIndicatorySelectionControlspara optimizar las asignaciones de trazos. (I5f225, b/288234617) - Corregimos la visibilidad de la marca de verificación en las casillas de verificación inhabilitadas. (Ib25bf)
- Actualizamos
Placeholderpara permitir el restablecimiento y mostrar el marcador de posición si el contenido ya no está en estado listo. (Ibd820) - Corregimos algunas pruebas de
Placeholderinestables (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 generarExpandableStates, para los casos en los que se deben crear a pedido, no necesariamente dentro de un alcance de@Composable(Iff9e0). SwipeToDismissBoxse migró del paqueteandroidx.wear.compose.materialal paqueteandroidx.wear.compose.foundation. (I275fb)- Se actualizaron los archivos de la API para anotar la supresión de compatibilidad. (I8e87a, b/287516207)
- Hicimos públicas las constantes de altura para
Chip,CompactChipyToggleChip(Idbfde). - Hicimos públicos los paddings horizontales y verticales para
ChipyCompactChip. (Ieeaf7) - Se agregó la funcionalidad para desactivar el control de deslizamiento en
SwipeDismissableNavHosta través del nuevo parámetrouserSwipeEnabled. (Id2a0b, b/230865655) - Actualizamos la biblioteca de navegación de Wear Compose para usar el nuevo
SwipeToDismissBoxde Wear Compose Foundation. (I4ff8e)
Correcciones de errores
- Se corrigió un error de orden Z por el que
expandedItemno mostraba el contenido correcto después de hacer clic en el comportamiento de un botón cuando tiene botones. (I1899d, b/289991514) - Se mejoró el control del enfoque de
SwipeToDismissBox(y, por lo tanto, deSwipeDismissableNavHost) conHierarchicalFocusCoordinator(I45362, b/277852486). - Corregimos el manejo de gestos en
SwipeableV2. (I89737) - Finalizamos los perfiles de Baseline para nuestra versión 1.2. (Id5740)
- Después de la migración de
SwipeToDismissBoxa Foundation, la implementación deSwipeToDismissBoxde Material ahora reenvía a Foundation y proporciona valores de color predeterminados desde su tema.(If8451) - Agregamos semántica de encabezado a
ListHeader. (Ic5420) ChipyToggleChipahora ajustarán su altura para adaptarse al contenido que creció debido a las fuentes grandes para la accesibilidad, cuando sea necesario. (Iaf302)- Se corrigió un error en el rol semántico del área en la que se puede presionar
SplitToggleChippara mejorar la accesibilidad. (Ieed3a) - El parámetro de configuración para reducir el movimiento ahora desactiva el efecto de brillo y el movimiento de borrado en los elementos de marcador de posición. (I91046)
StepperyInlineSliderahora admiten clics repetidos al mantener presionado el botón, de modo que puedes aumentar o disminuir rápidamente el valor deStepperyInlineSlidermanteniendo 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-alpha07y1.2.0-alpha10, ahora cambiaremosDefaultTextStylepara desactivar el padding de fuentes y garantizar la coherencia en toda la plataforma de Android. Esto solucionará 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 se deben actualizar las pruebas de capturas de pantalla. Por ejemplo, aquí vemos un recorte de texto (Ic6a86).
- Ya no está presente cuando el padding de la fuente está desactivado:
- Actualizamos
wear.compose.foundationpara que sea una dependencia de la API dewear.compose.material(I72004, b/285404743). - Corregimos un error en
SwipeToDismissBox. Ahora, las claves de contenido y de fondo se pasan al bloque de memoria para que se creen modificadores nuevos cuando cambie el contenido o el fondo. (Ib876c, b/280392104) - Actualizamos
TimeTextpara que use la configuración regional cuando elija el formato de hora de 12 o 24 horas. (If4a3d) - Se corrigió una incoherencia en los parámetros predeterminados de
SwipeToDismissBoxcontentScrimColor. (I2d70f) - Mejoramos el manejo del 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 provocar el recorte del texto cuando se muestran con tamaños de fuente grandes, por lo que actualizaremos los chips 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 provocaba que el elemento
PositionIndicatordesapareciera de forma incorrecta. (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 estable de Compose para Wear OS 1.2.0 (más información)
- Para ver una lista de los cambios clave en Wear Compose 1.2, consulta las notas de la versión (Compose para Wear OS 1.2 Beta01).
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 Baseline 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
LocalReduceMotionCompositionLocalque inhabilita el ajuste de escala y la atenuación enScalingLazyColumn. (I58024)
Correcciones de errores
- Se actualizaron los perfiles de Baseline para las bibliotecas de Wear Compose Foundation y Material(I4725d).
- Corregimos una incoherencia en los valores predeterminados de los parámetros
SwipeToDismissBoxcontentScrimColor(I2d70f). - Se corrigió el valor predeterminado de
DefaultTextStyleque se usa para el parámetro de configuraciónIncludeFontPadding(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 está completa y la API está bloqueada (excepto donde se marca como experimental). Wear Compose 1.2 incluye las siguientes funciones nuevas:
expandableItemyexpandableItemsson dos nuevos componentesFoundationque admiten la expansión de elementos dentro de unScalingLazyColumn. UsaexpandableItempara un solo elemento expandible, como Texto en el que se muestra la cantidad de líneas. UsaexpandableItemspara un grupo de elementos expandibles yexpandableButtonpara simplificar la creación de un botón que se contrae después de que se expande el contenido.HierarchicalFocusCoordinator: Este elemento componible experimental permite marcar subárboles de la composición como enfoque habilitado o inhabilitado.Picker: La API ahora incluyeuserScrollEnabledpara controlar si el selector está activo para el desplazamiento del usuario.PickerGroup: Es un nuevo elemento componible para controlar varios selectores juntos. Controla el enfoque entre los selectores con la API deHierarchicalFocusCoordinatory habilita el centrado automático de los elementos del selector.Placeholder: Actualizamos las animaciones de brillo y de eliminación. El efecto de borrado ahora se aplica de inmediato cuando el contenido está listo.ScalingLazyColumn: MigramosScalingLazyColumny las clases asociadas deandroidx.wear.compose.material.ScalingLazyColumnaandroidx.wear.compose.foundation.lazy.ScalingLazyColumn. Actualiza a la versiónFoundation.Lazy.SwipeToReveal: Agregamos compatibilidad experimental con el gesto de deslizar para revelar como medio de acceso a acciones secundarias, lo que complementa el patrón existente de "presión prolongada".Stepper: Ahora tiene una sobrecarga con un parámetroenableRangeSemanticsadicional 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 las pantallas de Wear:WearPreviewSmallRoundmuestra una vista previa del elemento componible en un dispositivo redondo pequeño;WearPreviewLargeRoundmuestra una vista previa del elemento componible en un dispositivo redondo grande;WearPreviewSquaremuestra una vista previa del elemento componible en un dispositivo cuadrado. Además, las siguientes anotaciones de vista previa y de vista previa múltiple:WearPreviewFontScalesmuestra una vista previa de los elementos componibles en un dispositivo Wear con varios tamaños de fuente, mientras queWearPreviewDevicesmuestra una vista previa de los elementos componibles en diferentes dispositivos Wear.- Agregamos un
DefaultTextStylea Wear Compose que establece la propiedadPlatformTextStyle.includeFontPaddingcomo verdadera de forma predeterminada (este es 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 una versión alfa 1.3 inicial. Consulta 1.2.0-alpha10 para obtener más información.
Nuevas funciones
- Se agregó compatibilidad experimental con la animación de desvanecimiento y escalamiento inhabilitada cuando se activa el parámetro de configuración reduce_motion. (I58024)
Correcciones de errores
- Se mejoró la documentación de
angularWidthDpenCurvedSize.kt(Iab75c). - Ahora,
SwipeDismissableNavHostregistra una advertencia con las posibles causas de una pila de historial vacía. Esto se hace para evitar fallas inesperadas causadas porIllegalArgumentException, que se arrojó cuando la pila de historial 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
- Agregamos compatibilidad con la función Deslizar para revelar como medio para acceder a acciones secundarias. Este patrón complementa el patrón de "presión prolongada", la forma existente en que un usuario podía revelar acciones secundarias (diferentes). (I60862)
Cambios en la API
- Agregamos
RevealScopea los elementos componibles de acción enSwipeToReveal, lo que brinda acceso a la compensación en la que se revelan las acciones adicionales. (I3fd56)
Correcciones de errores
- Se solucionó un problema por el que
ScalingLazyColumnse quedaba atascado en la API de Wear 33 después de un deslizamiento (Ic4599). - Realizamos algunas mejoras de rendimiento en
PositionIndicatorpara reducir el bloqueo. (I35e92) - Corregimos un error en Chip y
CompactChipen el que el rol semántico ya no se establecía enRole.Button. (I93f91, b/277326264)
Errores conocidos
Identificamos un error en Android Studio que provoca una falla en la renderización de la vista previa cuando se anota con @WearPreviewDevices y @WearPreviewFontScales. Se planea lanzar una corrección pronto. Ten en cuenta que las otras anotaciones de vista previa 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, lo que mantiene el valor existente de PlatformTextStyle.includeFontPadding como verdadero. Para obtener información general, consulta Cómo corregir el padding de fuentes en Compose. Cambiaremos DefaultTextStyle para desactivar el padding de fuentes en una versión alfa 1.3 inicial, de modo que sea coherente en toda la plataforma de Android. Esto solucionará 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 se deben actualizar las capturas de pantalla de prueba. Por ejemplo, con tamaños de fuente grandes, vemos que el texto se corta aquí:
- Ya no está presente cuando el padding de la fuente está desactivado:
Puedes adoptar el nuevo parámetro de configuración ahora mismo anulando 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ó
angularSizeDpa la API deCurvedModifierpara establecer el ancho angular en DP (I89a52).
Correcciones de errores
- Corregimos problemas de accesibilidad en nuestras demostraciones de selectores 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
ExpandableItemsStateporExpandableState. (If85ea) - Agregamos
expandableButtonpara simplificar la creación de un botón que se contrae cuando se expande el contenido y también actualizamos los ejemplos de elementos expandibles. (Iae309)
Correcciones de errores
- Se mejoraron las muestras expandibles para mostrar más posibilidades. Se modificó la animación de
expandableItempara mantener su contenido centrado durante la animación. (I2f637) - Se actualizó
ToggleControlspara evitar recomposiciones adicionales cuando se animan los colores de forma manual 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 Expandable Item (agregados en la versión 1.2.0-alpha06) de Material a Foundation, ya que no tenían una referencia significativa a
MaterialTheme. (Ib0525)
Correcciones de errores
- Corregimos una falla que ocurría en una pantalla que usaba
PickerGroup. Para ello, nos aseguramos de quePickerGroupcontrole el enfoque correctamente cuando ningún Picker lo tenga. También se agregó compatibilidad con el desplazamiento de RSB en nuestras demostraciones de Picker. (If8c19) - Mejoramos las transiciones de diálogo. Ahora, la transición de entrada es más fluida para que coincida con la transición de salida. (Ib5af9)
- Agregamos un
DefaultTextStylea Wear Compose que establece la propiedadPlatformTextStyle.includeFontPaddingcomo verdadera de forma predeterminada (este es el parámetro de configuración actual). Esto nos permitirá sincronizar el desactivado del padding de fuentes de forma predeterminada con las bibliotecas de Compose en el futuro. Consulta (Fix font padding in Compose) para obtener información general. (I2aee8) - Se revirtió una dependencia de vista previa de
UpsideDownCakea través de activity-compose que bloqueaba 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 un
ScalingLazyColumno 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 las pantallas de Wear:
WearPreviewSmallRoundmuestra una vista previa del elemento componible en un dispositivo pequeño y redondo;WearPreviewLargeRoundmuestra una vista previa del elemento componible en un dispositivo redondo grande;WearPreviewSquaremuestra una vista previa del elemento componible en un dispositivo cuadrado. Además, las siguientes anotaciones de vista previa y de vista previa múltiple:WearPreviewFontScalesmuestra una vista previa de los elementos componibles en un dispositivo Wear con varios tamaños de fuente, mientras queWearPreviewDevicesmuestra una vista previa de los elementos componibles 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 posterior. Ten en cuenta que, si estas anotaciones no se ajustan a tu propósito, aún puedes usar la vista previa y admiten más personalizaciones a través de parámetros. (I397ff) - Marcamos
HierarchicalFocusCoordinatorcomo experimental, ya que se considera un candidato para 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 expresión lambda que se pasa para el parámetrofocusEnabled, ahora usamos correctamente la nueva. (Icb353) - Actualizamos el color de contenido inhabilitado predeterminado a Background cuando se usan colores primarios como fondo en
Button,CompactButton,Chip,CompactChipyToggleButton. 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
PickerGrouppara permitir la propagación de las restricciones mínimas al elemento componible de forma opcional. Cuando se establece como verdadero, se permitirán las restricciones mínimas que se pasen desde el elemento componible principal enPickerGroup. Si se establece como falso,PickerGrouprestablecerá las restricciones mínimas. (I3e046) - Agregamos
animateScrollToOptiona la API de Picker para admitir la animación programática a una opción específica del selector (I6fe67).
Correcciones de errores
- Actualizamos
HorizontalPageIndicatorpara admitir diseños de derecha a izquierda. (Ia4359) - Se agregaron pruebas de captura de pantalla para el diseño de derecha a izquierda en
HorizontalPageIndicator(I6fbb8). - Se agregaron más pruebas a
SwipeDismissableNavHostTestque usanTestNavHostController(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
PickerGrouppara 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,PickerGroupmaneja 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
enableRangeSemanticsadicional para facilitar la inhabilitación de la semántica del rango predeterminado (Ia61d4).
Correcciones de errores
- Se permite que
ScalingLazyColumnse 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.navigationa 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) deandroidx.wear.compose.material.ScalingLazyColumnaandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn(consulta este ejemplo para ver la migración). Esta nueva ubicación coincide más con la decompose.foundation.lazy.LazyColumny 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
PositionIndicatororientadas aScalingLazyColumnde Material dejaron de estar disponibles. Actualiza aFoundation.Lazy ScalingLazyColumn. Además, se agregó el campoanchorTypeaScalingLazyListLayoutInfo(I29d95). - El objeto
ScalingLazyColumndejó de estar disponible en el paquete de Material de Wear Compose (I16d34). - Se actualizó el modificador
ScrollAwaypara usarScalingLazyListStatedesdeFoundation.Lazyde Wear Compose, y se dio de baja la sobrecarga que tomabaScalingLazyListStatede Wear Compose Material (Ifc42c). - Se actualizaron las APIs de Dialog para usar
ScalingLazyListStatedesdeFoundation.Lazy, y las sobrecargas que usabanScalingLazyListStatede Material dejaron de estar disponibles (Ic8960). - Actualizamos las APIs de Selector para usar
ScalingParamsdesdeFoundation.Lazy, y las sobrecargas que usabanScalingParamsde 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
ScalingLazyColumnen Wear Compose Foundation (Ie00f9). - Se actualizaron algunos métodos de clases
ScalingLazyColumninternos en Material para usar sus equivalentes desdeFoundation.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
ScalingLazyColumnde modo que dependan deFoundation.Lazyen lugar deScalingLazyColumnde Material (Ic6caa). - Se agregaron parámetros
fromDate/toDateopcionales a nuestra demostración deDatePicker(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
minLinesa Wear Text para lograr un comportamiento coherente conBasicText(I24874). - Se hizo público
CompactChipTapTargetPaddingpara 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 userememberUpdatedStatey que el estado se actualice sionContentReadyes 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ó aModifier.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
HierarchicalFocusCoordinatorcomponible 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.TimeFormat12Hourspara que quite la función de a.m./p.m. enTimeText. Esto cambiará el valor predeterminado de los parámetrostimeSourceen la API deTimeText(I1eb7f). - Ampliamos la API de Picker para mejorar la accesibilidad de las pantallas con selector múltiple. Hay una nueva propiedad
userScrollEnabledque 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/OutlinedCompactButtonde 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
ScalingLazyColumnvacío que aparece para desplazarse a su lugar, agregamos unautoCentering topPaddingestimado 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 deScalingLazyListAnchorType.ItemStart, se calculará el padding superior correcto. En el caso deScalingLazyListAnchorType.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
SwipeToDismisspara que coincida con la plataforma de Wear (I9003e). - Se corrigió el control de
PositionIndicatordeLazyListStateyScalingLazyListStatepara 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 userememberUpdatedStatey que el estado se actualice sionContentReadyes 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
- Versión estable de Compose para Wear OS 1.1.0 (más información).
- Para ver una lista de los cambios clave en Wear Compose 1.1, consulta las notas de la versión (Compose para Wear OS 1.1 Beta01).
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/OutlinedCompactButtonde 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
ScalingLazyColumnvacío que aparece para desplazarse a su lugar, agregamos unautoCentering topPaddingestimado 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 deScalingLazyListAnchorType.ItemStart, se calculará el padding superior correcto. En el caso deScalingLazyListAnchorType.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
SwipeToDismisspara que coincida con la plataforma de Wear (I9003e). - Se corrigió el control de
PositionIndicatordeLazyListStateyScalingLazyListStatepara 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,OutlinedChipyOutlinedCompactChip. (I8249c) - Corregimos un error en
Modifier.scrollAwaypara que, si el elementoitemIndexespecificado no es válido (por ejemplo, si el índice de elementos está fuera de rango), se muestreTimeTextde todos modos. (I2137a) - Actualizamos la animación de
SwipeToDismissBoxpara 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.scrollAwaypara que solo lea elscrollStatedentro 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.placeholderyModifier.placeholderShimmercuando se aplican al mismo elemento componible. (Ie96f4, b/256583229) - Cambiamos el ancho de borde predeterminado de
OutlinedCompactChip/OutlinedChipde 2.dp a 1.dp para que coincida con las especificaciones de UX finales. (Ib3d8e) - Se corrigió un error en
rememberPickerStatepor 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/centerItemOffsetpara que, si dos elementos se ubican a ambos lados de la línea central del viewport, el que se encuentre más cercano se considerecenterItem. (I30709, b/254257769) - Corregimos un error en
ScalingLazyListState.layoutInfo.visibleItemsInfoque informaba compensaciones incorrectas durante la inicialización deScalingLazyColumn. 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 deScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()confirmará que la inicialización deScalingLazyColumnesté 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
contentDescriptiondel 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
gradientRatioen cero tiene el efecto secundario de cambiar la alineación Chip/ToggleChip: Actualizamos los gradientes predeterminados paraChip/ToggleChippara que se alineen con las especificaciones de UX más recientes. Se actualizó la métricaChipDefaults.gradientBackgroundChipColorsde modo que comience desde el 50% de la principal en lugar del 32.5%.Chip/ToggleChip: Se agregaron sobrecargas para modificar formas de chipsChip/Button/ToggleButton: Se agregó un nuevo estilo de contorno para chips y botones, y nuevos elementosOutlinedChipyOutlinedButtoncomponibles que brindan un elementoChip/Buttontransparente con un borde delgado.- Tarjeta: Se actualizaron los gradientes predeterminados para tarjetas para alinearlos con la última especificación de UX. Se actualizó
CardDefaults.cardBackgroundPainterde modo que comience desde el 30% de la principal y finalice al 20% de laonSurfaceVariant(antes comenzaba en el 20% y llegaba al 10% de laonSurfaceVariant).ToggleChip.toggleChipColorscambia 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
MaterialThemepara 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 queTalkbackpueda reconocerlos como botones.- Estructura: Ahora,
PositionIndicatorse 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 dePositionIndicatoren 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 conColumn,LazyColumnyScalingLazyColumn). Por lo general,ScrollAwayse usa a fin de desplazar un elementoTimeTextfuera de la vista cuando el usuario comienza a desplazar una lista de elementos hacia arribaCurvedText/TimeText: Se agregó compatibilidad confontFamily,fontStyleyfontSynthesisenCurvedTextStyle, que se puede usar encurvedTextybasicCurvedTextCurvedText/TimeText: Se agregófontWeightal constructor y al método de copia enCurvedTextStyleToggleControls: Se agregaron los controles de activaciónCheckbox,SwitchyRadioButtonanimados para usar conToggleChipySplitToggleChip; estos se pueden usar en lugar de los íconos estáticos que proporcionaToggleChipDefaults(switchIcon,checkboxIconyradioIcon)- 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,fontStyleyfontSynthesis) ahora se pueden especificar directamente como parámetros decurvedText(Idc422).
Correcciones de errores
curveTextybasicCurvedTextahora 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
Pickerque se producía cuandoPickerState.repeatedItems = falseagregaba una configuración explícita de parámetros de autoCentering en elScalingLazyColumninterno 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,fontStyleyfontSynthesisenCurvedTextStyle, que se puede usar encurvedTextybasicCurvedText. 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.scrollAwaya Dp para mantener la coherencia conModifier.offset(anteriormente, estaba en píxeles). Además, se refactorizó como unLayoutModifierpara mayor eficiencia (I9f94b). - Como parte de la nueva API de controles de activación, cambiamos el nombre de
RadioButton’s circleColoraringColor(I28fa9). - Se agregaron los controles de activación animados
Checkbox,SwitchyRadioButtonpara usar conToggleChipySplitToggleChip. Estos se pueden usar en lugar de los íconos estáticos que proporcionaToggleChipDefaults(switchIcon,checkboxIconyradioIcon) (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 conColumn,LazyColumnyScalingLazyColumn). Por lo general,ScrollAwayse usa para desplazar un elementoTimeTextfuera de la vista cuando el usuario comienza a desplazar una lista de elementos hacia arriba (I61766).
Correcciones de errores
- Ahora,
PositionIndicatorse 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 dePositionIndicatoren 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
InlineSlideryStepperpara 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
ScalingLazyColumnque 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
ChipsyButtons, y nuevos elementos componibles (OutlinedChipyOutlinedButton) que brindan un elementoChip/Buttontransparente 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 incluyanToggleChips, 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
contentDescriptiondel 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/Carda fin de que coincidan con las especificaciones de UX más recientes. Se actualizó la métricaChipDefaults.gradientBackgroundChipColorspara que comience desde el 50% de la principal en lugar del 32.5%. Se actualizóCardDefaults.cardBackgroundPainterpara que comience del 30% al final y finalice en el 20% delonSurfaceVariant(antes era del 20% al 10% delonSurfaceVariant).ToggleChip.toggleChipColorscambia 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 deChip/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
gradientRatioen 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
ScalingLazyColumnque 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/Carda fin de que se alineen con las especificaciones de UX más recientes. Se actualizó la métricaChipDefaults.gradientBackgroundChipColorspara que comience desde el 50% de la principal en lugar del 32.5%. Se actualizóCardDefaults.cardBackgroundPainterpara que comience del 30% al final y finalice al 20% deonSurfaceVariant(anteriormente era del 20% al 10% onSurfaceVariant).ToggleChip.toggleChipColorscambia 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 deChip/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 elementoScalinglazyColumntiene una combinación de componentesListHeader()yChip(), ya que el ancho tiende a aumentar/reducir a medida que se desplazan los elementosListHeaderdentro o fuera de la vista (I37144, b/235074035). - Se corrigió un error en
ScalingLazyColumnque 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 anterioresCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)-> valores nuevosCubicBezierEasing(0.3f, 0f, 0.7f, 1f). Para mantener el comportamiento anterior, puedes anular el elementoscalingParamsdeScalingLazyColumn(Ie375c). - Se agregó padding al elemento
CompactChipa 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 conCompactChips, 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
ScalingLazyColumnfuncionara en el modo@Previewde Compose (I3b3b6, b/232947354).
Cambios en la API
- Cambiamos el valor predeterminado de la propiedad
ScalingLazyColumn.horizontalAlignmentde inicio aCenterHorizontallya 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, establecehorizontalAlignment = 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
TimeTextpara 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/SplitToggleChippara evitar que realicenfillMaxWidthde forma predeterminada. En cambio, se adaptarán a su contenido. Para mantener el comportamiento anterior, solo agregamodifier = Modifier.fillMaxWidth()(I60a2c, b/232206371).
Correcciones de errores
- El constructor de
CurvedTextStyleque toma unTextStyleahora también respeta elfontWeight(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.edgeSwipeToDismissy 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). HorizontalPageIndicatorahora 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
ScalingLazyColumnyPicker(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
MaterialThemede 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,CompactButtonyToggleButton: 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.CompactButtonofrece una única ranura para introducir cualquier contenido (ícono, imagen o texto) y tiene forma circular con un fondo muy pequeño.CompactButtontiene un relleno transparente opcional alrededor del fondo que aumenta el área en la que se puede hacer clic.ToggleButtones 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
AppCardyTitleCardque 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
ToggleControlpara 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,SplitToggleChiptiene 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 concurvedRowycurvedColumn, a fin de distribuir componentes alrededor de dispositivos circulares. Consulta Wear Component Foundation más adelante para obtener más detalles sobreCurvedLayoutyCurvedModifier(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,PositionIndicatoryVignette) 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.
ScalingLazyColumnestá 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:
CurvedLayoutde 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 unCurvedLayoutno 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 deCurvedModifier.basicCurvedText: Es un elemento en el DSL de
CurvedLayout;basicCurvedTextles 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).basicCurvedTextsolo se puede crear enCurvedLayoutpara garantizar la mejor experiencia, por ejemplo, poder especificar el posicionamiento y usarCurvedModifiers. 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. SicurvedComposabletiene 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 concurvedComposable.curvedRow y curvedColumn: Similares a Row y Column,
curvedRowycurvedColumnse pueden anidar dentro deCurvedLayoutpara distribuir los elementos según sea necesario. ParacurvedRow, se pueden especificar la dirección de diseño angular y la alineación radial. ParacurvedColumn, 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,CompactButtonyToggleButton(I57cab). - Agrega el parámetro habilitado a
AppCardyTitleCard. Ahora, tienen una API similar a Cards deandroidx.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
AppCardyTitleCard(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,.radialGradientBackgroundy.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,.angularSizey.radialSizepara 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
insideOuty 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 admitirLayoutDirectiony se hereda cuando no se especifica (If0e6a). - Reemplazamos
autoCenter: BooleanporautoCenter: AutoCentringParamsa fin de corregir un problema de API conScalingLazyColumn(Ia9c90). - Cambiamos el nombre de
iconTintColorytoggleControlTintColoraiconColorytoggleControlColoren 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
PageIndicatorStyleen la clase de valor (I2dc72). - Agregamos
RowScope/ColumnScope/BoxScopea 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 quetimeColoryappColorcambien acontentColorde 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
InlineSlideryStepper. 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ó
CompactChippara 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
ScalingLazyListLayoutInfopara permitir que los desarrolladores conozcan la cantidad decontentPaddingyautoCenteringPaddingque 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 deSwipeToDismissBoxque se agregó recientemente (I682a0). - Para mejorar la compatibilidad con i18n y a11y, cambiamos
ToggleChipySplitToggleChipa fin de que ya no tengan un valor predeterminado para la ranuratoggleControl. También se cambióToggleChipDefaultspara 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()yRadioIcon()->radioIcon(): esto permite que los desarrolladores creen sus propios elementos componiblesIcon()con un conjunto decontentDescriptionadecuado y los alienta a hacerlo (I5bb5b). - Se agregó un parámetro
SwipeDismissableNavHostStateaSwipeDismissableNavHost. Esto admite el uso del deslizamiento desde el borde en pantallas utilizadas como destinos de navegación, ya queSwipeToDismissBoxStatese puede elevar y usar para inicializarSwipeDismissableNavHostStateyModifier.edgeSwipeToDismissen 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
edgeSwipeToDismissparaSwipeToDismiss. Permite queswipeToDismissesté 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 de
CurvedModifiers. Esto abre el modo de introducir formas de personalizar el contenido curvo (pero aún no se proporcionanCurvedModifiers, y es posible que la capacidad de crear modificadores personalizados esté disponible más adelante). (I9b8df) - Se actualizaron la documentación del modificador
EdgeSwipey los valores predeterminados para una mejor comprensión. (I6d00d) - Se agregó la ranura de
PageIndicatora Scaffold. Si agregamosPageIndicatordirectamente a Scaffold, podemos garantizar que se mostrará correctamente en dispositivos circulares. (Ia6042) - Se quitaron los íconos predeterminados de
InlineSlidery 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
SwipeToDismissBoxcon un parámetroonDismissedpara 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
ExperimentalWearMaterialApidel uso deTimeText. (Ide520) - Marcamos el permiso de
ScalingLazyList/Columny 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
flingBehaviournueva al selector y un métodoPickerDefaults.flingBehaviour()para habilitar la configuración del comportamiento de deslizar, como agregar compatibilidad con RSB.PickerStateahora implementa la interfazScrollableState. (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
CurvedRowporCurvedLayouty 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 decurvedRowycurvedColumnanidados (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) ycurvedText(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 deSwipeDismissTarget.Original aSwipeToDismissValue.DefaultySwipeDismissTarget.DismissalaSwipeToDismissValue.Dismissed. También trasladamosSwipeToDismissBoxDefaults.BackgroundKeyySwipeToDismissBoxDefaults.ContentKeyaSwipeToDismissKeys.BackgroundySwipeToDismissKeys.Contentrespectivamente. (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ó
SwipeToDismissBoxStatepara restringir el permiso deExperimentalWearMaterialApiaModifier.swipeableySwipeableState, que ahora se usan internamente.SwipeToDismissBoxStateahora tiene miembros decurrentValue,targetValue,isAnimationRunningysnapTopara admitir casos de uso comunes. Avísanos si necesitas que más propiedades estén disponibles. También se corrigió el comportamiento deSwipeableStateen 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
ScalingLazyColumnse 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
SwipeToDismissBoxpara 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
CircularProgressIndicatora 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
ScalingLazyColumnconforme 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.snapFlingBehaviorpara 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 nuevoToggleDefaults.splitToggleChipColors()para admitir el nuevo esquema de colores. También simplificamos los métodos detoggleChipColors()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ó
PickerStatepara que se pueda actualizar numberOfOptions. Esto admite casos de uso, como unDatePicker, 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
PositionIndicatorcuando 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
PositionIndicatoryVignette. También usamosScalingLazyColumnen lugar deColumn, lo que significa que el contenido del diálogo ahora está enScalingLazyListScope(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
ToggleChipySplitToggleChipde 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
ScalingLazyColumna fin de proporcionar solo el espacio suficiente para garantizar que los elementos con el índiceScalingLazyListState.initialCenterItemIndexo 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 elementoScalingLazyColumnde autoCentering no podrá desplazarse sobreinitialCenterItemIndex/initialCenterItemScrollOffset(I22ee2). - Agregamos una demostración para un selector de fecha y corregimos un error en
PickerStateen el que no se aplicaba initialSelectedOption hasta que se mostrara el selector (Id0d7e). - Para reducir el recorte de elementos
ScalingLazyColumnmás amplios en pantallas circulares, aumentamos el relleno del contenido horizontal predeterminado de 8 a 10 dp (I0d609). - Asegúrate de que se muestre
PositionIndicatordurante 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. ConfiguraflingBehavior = 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
TimeTexten dispositivos cuadrados (Iea76e). ScalingLazyListLayoutInfoahora tienereverseLayout,viewportSizey propiedades de orientación que coinciden con las deLazyListLayoutInfo(I4f258, b/217917020).ScalingLazyColumnahora tiene una propiedaduserScrollEnabledque coincide con la deLazyList(I164d0, b/217912513).- Los selectores ahora tienen un gradiente en las partes inferior y superior de forma predeterminada (Iab92a).
Correcciones de errores
- Modificamos
ScalingLazyColumnpara 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 deLazyColumn. Si deseas restablecer el comportamiento anterior, pasaModifier.fillMaxWidth()/width()/widthIn()aScalingLazyColumn(I51bf8). - Mejoramos el mensaje de excepción en
SwipeDismissableNavHost.ktque 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
ScalingLazyListStatede 0 a >1. Eso significa que, a menos que se anule en la construcción del estado conScalingLazyListState.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
extraPaddingpredeterminada deScalingLazyColumnque 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 medianteviewportVerticalOffsetResolver(I76be4). - Se solucionó un problema relacionado con TimeText en varias líneas de un dispositivo cuadrado (Ibd3fb).
- Modificamos
ScalingLazyColumnpara 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 deLazyColumn. Si deseas restablecer el comportamiento anterior, pasaModifier.fillMaxSize()aScalingLazyColumn. 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
autoCenteringaScalingLazyColumn. 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
Dialogque 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 seaAlertoConfirmation(se cambió el nombre de los componentes anterioresAlertDialogyConfirmationDialog).Alert,ConfirmationyDialogse encuentran en el paqueteandroidx.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ó
onSurfaceVariant2de los colores del tema material de Compose para Wear OS y se reemplazaron los usos de la biblioteca poronSurfaceVariant. (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 unPickerState. (I92bdf) - Se agregó compatibilidad para personalizar el comportamiento de navegación de
ScalingLazyColumn. (I1ad2e, b/208842968) - Se agregó
NavController.currentBackStackEntryAsState()a la bibliotecaWear.Compose.Navigation. (If9028, b/212739653) - Se agregaron
Modifier.onRotaryScrollEvent()yModifier.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
ScalingLazyListStatepara 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.ItemCenteraScalingLazyListpara controlar si el centro (ScalingLazyListAnchorType.ItemCenter) oEdge(ScalingLazyListAnchorType.ItemStart) debe alinearse con la línea central de viewport.Como resultado, se cambió
ScalingLazyListItemInfo.offsetyScalingLazyListItemInfo.adjustedOffset. Ahora reflejarán el desplazamiento del elemento con respecto alanchorTypey a la posición del elemento de la lista. Por ejemplo, para un objetoScalingLazyColumnconanchorTypedeItemCentery un elemento de lista que se posiciona en la línea central del centro de viewport, el desplazamiento sería0.Los nuevos métodos son
scrollTo,animatedScrollTo,centerItemIndexycenterItemOffset. (I61b61)Se agregó un controlador del botón Atrás a
SwipeDismissableNavHostpara 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
RangeIconsinterno (una referencia interna paraInlineSlideryStepper). (I927ec).
Correcciones de errores
Se corrigió un problema en el que
SwipeDismissableNavHostagregaba un destino a la jerarquía de Compose antes de alcanzar el estado de ciclo de vidaCREATED, lo que generaba unIllegalStateException. Esta corrección era un requisito previo para actualizar la dependencia denavigation-composea2.4.0-beta02y 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=trueoshrinkResources=true. (IB2a98).Se agregaron pruebas para
Stepperen Wear Compose. (I2d03a)Se agregaron muestras para
SwipeDismissableNavHosten 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
minSdkVersionde23(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
bodyde AppCard y TitleCard porcontent, 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 debodyColorporcontentColorpara 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 deNavigatorque se agregarán alNavControllerque 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
SwipeDismissableNavHostque aloja un gráfico de navegación y proporciona navegación hacia atrás mediante gestos de deslizamiento - La extensión
NavGraphBuilder.composablepara ayudar a construir gráficos de navegación rememberSwipeDismissableNavController()para permitir la elevación del estado
- Un elemento componible
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ó
SwipeDismissableNavHostpara admitirrememberSaveableestableciendo 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).
performGestureyGestureScopedejar de estar disponibles y se reemplazaron conperformTouchInputyTouchInjectionScope(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).
- Se redujo el espaciado de TitleCard entre Title y Body de 8.dp a 2.dp.
- Se cambió la fuente del encabezado de TitleCard de body a title3.
- 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
@ExperimentalWearMaterialApia la enumeraciónSwipeDismissTarget, que forma parte de la API deSwipeToDismissBox(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()aCardDefaults.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.