Wear Compose
Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
11 de diciembre de 2024 | 1.4.0 | - | - | 1.5.0-alpha07 |
Cómo declarar dependencias
Para agregar una dependencia en Wear, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle
de tu app o módulo:
Groovy
dependencies { implementation "androidx.wear.compose:compose-foundation:1.4.0" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.4.0" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.4.0" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Kotlin
dependencies { implementation("androidx.wear.compose:compose-foundation:1.4.0") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.4.0") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.4.0") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Wear Compose Material3 versión 1.0
Versión 1.0.0-alpha30
11 de diciembre de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha30
. La versión 1.0.0-alpha30 contiene estas confirmaciones.
Cambios en la API
- Se refactorizó el modificador
scrollTransform
paraTransformingLazyColumn
, lo que activó un cambio en la API. (I0c6dc). - Se actualizaron
IconToggleButtonShapes
yTextToggleButtonShapes
para tener dos parámetros de forma diferentes:uncheckedPressed
ycheckedPressed
(I85dbd). - Las opciones de mes o día no válidas ahora se pueden ver en
DatePicker
, con un nuevoinvalidPickerContentColor
, cuando se usaminDate
omaxDate
. (If4541). - Actualizamos la API de
Stepper
para proporcionar ranurasincreaseIcon
ydecreaseIcon
. El contenido para estas se puede compilar como de costumbre desde el elemento componible Icon. (Id35da) - Actualizamos
dynamicColorScheme
quitando el parámetro opcionaldefaultColorScheme
y ahora devolvemosColorScheme
anulable. Esto significa que el llamador debe controlar de forma explícita el caso de resguardo cuando no se proporciona un esquema de colores dinámico. (I6d62e). - Se actualizaron los tamaños de los íconos en
ButtonDefaults
para usarlos conCompactButton
. UnCompactButton
que solo contiene un ícono debe usarButtonDefaults.SmallIconSize = 24.dp
, mientras que unCompactButton
que contiene ícono y texto debe usarButtonDefaults.ExtraSmallIconSize = 20.dp
. Se recomienda queCompactButton
una su contenido (en lugar de completar el ancho máximo) y se actualizaron los ejemplos para mostrarlo. (I0582c) - Agregamos
EdgeButtonDefaults
con tamaños de íconos recomendados para los 4EdgeButtonSizes
diferentes. También se actualizó el diseño deEdgeButton
para que tenga un padding inferior ligeramente más grande que el padding superior, lo que mejora la apariencia del contenido de íconos y texto. (Id772a) - Agregamos movimiento a
LinearProgressIndicator
y expusimosLinearProgressIndicatorContent
, que proporciona el contenido visual sin animaciones. (Idee99). - Agregamos un nuevo elemento componible
CircularProgressIndicatorContent
para mostrar el contenido visual deCircularProgressIndicator
sin animaciones. (Ie33d4) TransformingLazyColumn
ahora proporciona elLocalTransformingLazyColumnItemScope
local de composición que losCard
,Button
yListHeader
ahora usan para transformarse automáticamente cuando se colocan dentro de unTransformingLazyColumn
. Los emisores pueden inhabilitar la transformación automática con el nuevo wrapperTransformExclusion
. (I1652f).- Se actualizó el tipo de
ButtonDefaults.shape
aRoundedCornerShape
(Iccdf2).
Correcciones de errores
- Corregimos un error para respetar el alfa existente en el fondo de
TimeText
(I1eb60). - En nuestra tipografía, configuramos
TextMotion
comoAnimated
de forma predeterminada para evitar el jitter de texto debido a que los glifos de letras se ajustan a los límites de píxeles durante las operaciones de escalamiento. (I626fa). - Actualizamos el aspecto de
ScrollIndicator
aumentando el ancho y el tamaño del espacio para mejorar la visibilidad. (Ied7cb). - Corregimos un error en
Modifier.scrollTransform
cuando se agregaban, quitaban o movían elementos. (I6830f). - Se corrigió un problema de animación de botones redondos para toques cortos (anteriormente, no siempre se observaba la duración mínima de la animación). (I757a7).
- Actualizamos el ángulo de barrido de
LevelIndicator
al 20% (es decir, 72 grados). (Idde5c). - Se corrigió el posicionamiento de
ScrollIndicator
cuando se usabaScalingLazyColumn
conAutoCenteringParams
. (I387dd). - Actualizamos los colores y la tipografía de
ListHeader
yListSubHeader
. También los colores de los controles de activación enCheckboxButton
ySwitchButton
. (I39817) - Se corrigió el posicionamiento de
ScrollIndicator
enLazyColumn
yScalingLazyColumn
conContentPadding
. (I2bc51). - Corregimos un error que se veía en la animación de progreso de
OpenOnPhoneDialog
con el nuevoCircularProgressIndicatorContent
. (I3e443) - Se actualizaron
HorizontalPagerScaffold
yVerticalPagerScaffold
para inhabilitar las animaciones cuando se habilita la opción para reducir el movimiento (Iaaf68). - Implementamos una animación independiente para los indicadores de progreso circulares cuando el progreso supera el 100%. (I47135).
- Corregimos un error por el que
EdgeButton
se podía dibujar con una forma incorrecta en los componentes de Pager (I91db9).
Versión 1.0.0-alpha29
13 de noviembre de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha29
. La versión 1.0.0-alpha29 contiene estas confirmaciones.
Cambios en la API
- Actualizamos
TimeText
para proporcionar contenido predeterminado que muestre la hora. (Id23b3). - Se simplificó
ScrollInfoProvider
paraPagerState
quitando el parámetroorientation
, que ya no es necesario. El nuevo comportamiento es queTimeText
permanezca en su lugar para la paginación horizontal y vertical. (I71767). LocalHapticFeedback
ahora proporciona una implementación predeterminada deHapticFeedback
cuando la API de Vibrator indica que se admiten las respuestas táctiles. Se agregaron los siguientes elementos aHapticFeedbackType
:Confirm
,ContextClick
,GestureEnd
,GestureThresholdActivate
,Reject
,SegmentFrequentTick
,SegmentTick
,ToggleOn
,ToggleOff
yVirtualKey
. Los componentes de Wear Compose en los que se puede hacer clic con el botón presionado, comoButton
,IconButton
,TextButton
yCard
, ahora realizan la respuesta táctilLONG_PRESS
cuando se proporciona un controlador de clic largo. (I5083d)
Correcciones de errores
- Actualizamos el movimiento de Confirmaciones. (I04bff).
- Actualizamos la dependencia mínima de API a 1.7.4 para las bibliotecas de Compose. (I88b46).
- Se agregó un nuevo movimiento para el diálogo
OpenOnPhone
. (I1e10a). - Corregimos un error en
LevelIndicator
para que ahora se muestre correctamente con el nivel cero. (Ie95a4). - Actualizamos las animaciones
HorizontalPageIndicator
yVerticalPageIndicator
. (I5c8f3) - Se agregó una animación de reducción a punto al
ArcProgressIndicator
indeterminado. (I9fd51).
Versión 1.0.0-alpha28
30 de octubre de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha28
. La versión 1.0.0-alpha28 contiene estas confirmaciones.
Cambios en la API
- Agregamos una variación de arco al indicador de progreso circular indeterminado (I2efc1).
- Hicimos públicos los elementos componibles
AlertDialogContent
yDialog
que conforman la API deAlertDialog
para que sea posible agregar personalización si es necesario (como personalizar la animación deAlertDialog
y, al mismo tiempo, mantener el diseño de contenido recomendado). Además, agregamos los parámetrosModifier
yColor
a los miembrosEdgeButton
,ConfirmButton
yDismissButton
deAlertDialogDefaults
. (I4eb71). - Actualizamos la API de
Placeholder
de la siguiente manera: cambiamos el nombre dePlaceholderState.startPlaceholderAnimation
aPlaceholderState.animatePlaceholder
, dePlaceholderState.isShowContent
aPlaceholderState.isHidden
y dePlaceholderDefaults.shape
aPlaceholderDefaults.Shape
; cambiamos el nombre del parámetropainter
enpainterWithPlaceholderOverlayBackgroundBrush
aoriginalPainter
; cambiamos la visibilidad dePlaceholderState.placeholderProgression
de pública a interna y le cambiamos el nombre aplaceholderShimmerProgression
; y agregamos constantes de duración de animación de marcador de posición aPlaceholderDefaults
. (Ie5a59). - Actualizamos la API de
EdgeButton
de la siguiente manera: cambiamos el nombre del parámetro enScreenScaffold
debottomButton
aedgeButton
y convertimosEdgeButtonSize
en una clase de valor. (Ieef15). - Cambiamos la visibilidad de
copy()
a pública en las clases de colores de Material3 para Wear (I0287f).
Correcciones de errores
- Se agregó una duración mínima de animación para
IconToggleButton
yTextToggleButton
al hacer clic (Ieb333). - Se agregó una duración mínima a la animación de formas
IconButton
yTextButton
(Iebcee). - Se corrigió el estado de la opción de repetición de
DatePicker
. (I3587c). - Se agregó movimiento para los diálogos de Alerta y Confirmación. (I173b1).
Versión 1.0.0-alpha27
16 de octubre de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha27
. La versión 1.0.0-alpha27 contiene estas confirmaciones.
Cambios en la API
- Se actualizaron
ScreenScaffold
yScrollIndicator
después de cambiar el nombre de Wear Compose FoundationLazyColumn
aTransformingLazyColumn
. (I0608b). - Se cambió el nombre del parámetro
preferredHeight
deEdgeButton
abuttonSize
, y su valor solo se puede elegir entre 4 constantes en la nueva clase de valoresEdgeButtonSize
. (Icdd70). - Cambiamos el nombre de
ListSubheader
aListSubHeader
y agregamos valores predeterminados de acceso público paraListHeader
yListSubHeader
. (I96730). - Agregamos nuevos componentes
HorizontalPagerScaffold
yVerticalPagerScaffold
para Wear que proporcionan nuevas animaciones y coordinación entre el texto de la hora y los componentes del indicador de página. (Iff7d0). - Se agregó compatibilidad con controles rotativos a
HorizontalPagerScaffold
yVerticalPagerScaffold
, lo que permite a los usuarios navegar por los buscapersonas con dispositivos de entrada rotativos. (I9770d) - Realizamos cambios en la API de
MotionScheme
para simplificar el uso y mejorar la coherencia. Se quitaron las funciones de recuerdo intercaladas y se movieron los esquemas de movimiento integrados a un objeto complementario de MotionScheme dedicado. Se cambió el nombre destandardMotionScheme
yexpressiveMotionScheme
a estándar y expresivo. (I5fd45). - Se agregó compatibilidad con un esquema de colores dinámico basado en los colores del sistema. (I073e9)
- Actualizamos el control Stepper a las especificaciones de UX más recientes. (I622bb).
Correcciones de errores
- Actualizamos la tipografía y los paddings de los componentes de la tarjeta. (I3ae48).
- Cambiamos el padding en
AlertDialog
entre los botones Confirmar/Cancelar y el resto del contenido de 8 dp a 12 dp según las especificaciones de UX (Ie55f0). - Actualizamos la opacidad del color del componente Slider. (Idb383).
Versión 1.0.0-alpha26
2 de octubre de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha26
. La versión 1.0.0-alpha26 contiene estas confirmaciones.
Cambios en la API
- Se actualizaron la API y el aspecto de
HorizontalPageIndicator
, y se agregóVerticalPageIndicator
para usar conVerticalPager
(Ic9309). AlertDialog
ahora admite la posibilidad de omitir el botón inferior predeterminado de la variación de pila de botones para diseños personalizados en los que no se requiere EdgeButton. (I34fa9).- Agregamos un componente
SwipeToReveal
para Wear Material 3 (Ic38b2). - Agregamos compatibilidad con el deslizamiento bidireccional en
SwipeToReveal
para los casos poco frecuentes en los que la pantalla actual no admite el deslizamiento para descartar. La opción predeterminada sigue siendo el gesto de deslizar para mostrar solo en los deslizamientos de derecha a izquierda, y se recomienda respetar el comportamiento predeterminado para evitar conflictos con el gesto de deslizar para descartar. (Ifac04). - Se cambió el nombre del parámetro
buttonHeight
deEdgeButton
apreferredHeight
. (I4fab3). - Se actualizó la versión de Kotlin a la 1.9 (I1a14c).
- Se cambió el nombre de
OpenOnPhoneDialogDefaults.Icon
porOpenOnPhoneDialogDefaults.OpenOnPhoneIcon
para evitar conflictos conIcon
(I0f391). - Agregamos compatibilidad con
ScrollIndicator
enLazyColumn
. (Ia546a). - Actualizamos los valores predeterminados de
TextToggleButton
yIconToggleButton
. (I7aaa9). - Simplificamos las APIs de
Picker
yPickerGroup
. (Id0653). - Se agregaron
CardDefaults.Shape
yCardDefaults.Height
, que (como tokens) eran privados para los desarrolladores que usaban la biblioteca. (I1594a, b/347649765) - Cambiamos el nombre del parámetro de progreso del indicador de progreso circular segmentado binario a
segmentValue
. (Ib72d9). - Actualizamos los colores y el diseño del control deslizante. (Ic3eec).
Correcciones de errores
- Se actualizó la animación del ícono
openOnPhone
(I66f85). - Ahora usamos íconos de Google Symbols en
Slider
,TimePicker
yDatePicker
. (I46c7c). - Se actualizaron los rellenos en
Confirmation
yOpenOnPhoneDialog
. (Iaa82e).
Versión 1.0.0-alpha25
18 de septiembre de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha25
. La versión 1.0.0-alpha25 contiene estas confirmaciones.
Cambios en la API
- Agregamos un indicador de progreso circular indeterminado. (I427a7)
- Se agregó compatibilidad con el desbordamiento de progreso (>100% de progreso) para
CircularProgressIndicator
ySegmentedCircularProgressIndicator
. Cuando el progreso supere 1.0, se indicará con el nuevo coloroverflowTrack
. (Iaaa3d). - Los elementos
IconToggleButton
yTextToggleButton
redondos ahora admiten una nueva variación de animación de formas, en la que diferentes formas representan estados marcados, no marcados y presionados. Se sigue admitiendo la variación de forma animada anterior para el estado de recién presionado. (I29f03). - Quitamos la compatibilidad con el uso de
EdgeButton
conColumn
debido a la necesidad de especificar la altura deEdgeButton
de forma explícita enScreenScaffold
. (Ie353d). - Agregamos compatibilidad con
LazyColumn
de Wear Compose con nuestroScreenScaffold
(y agregamos una implementación deScrollInfoProvider
paraLazyColumnState
). (Ib8d29). - Combinamos
LocalTextMaxLines
,LocalTextAlign
yLocalTextOverflow
en una sola composición local deLocalTextConfiguration
para proporcionar una solución más escalable en el futuro. (I5edbc). - Agregamos arc-large como una escala de tipo adicional, reservada para cadenas de texto de encabezado breves en la parte superior o inferior de la pantalla, como en las superposiciones de confirmación. (I60e3e).
- Agregamos valores predeterminados a Button para los tamaños de íconos grandes y extragrandes recomendados, y el padding de contenido. (I84675).
Correcciones de errores
- Se actualizaron los colores de
IconButton
yTextButton
. (I48324). - Cambiamos las sobrecargas de Button base para que estén alineadas verticalmente en el centro para mantener la coherencia con otras sobrecargas. Para restaurar el comportamiento anterior, usa
Modifier.align
desdeRowScope
. (I66e57).
Versión 1.0.0-alpha24
4 de septiembre de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha24
. La versión 1.0.0-alpha24 contiene estas confirmaciones.
Cambios en la API
- Se agregó un esquema de movimiento al tema Material3. Los componentes de la biblioteca lo usarán para aplicar especificaciones de animación, como resortes para el movimiento expresivo. (I54ff3)
- Agregamos componentes
AppScaffold
yScreenScaffold
a la biblioteca de Material3, que incluyen funciones para coordinar las capas y las transiciones deTimeText
yScrollIndicator
.AppScaffold
proporciona un nivel superior de componentes de andamiaje que se ubican sobre todas las pantallas. Por lo tanto, agregarTimeText
aAppScaffold
le permite permanecer en su lugar mientras te deslizas entre pantallas. Las pantallas pueden anular o ocultar el texto de la hora.ScreenScaffold
proporciona un espacio paraScrollIndicator
y anima automáticamente el indicador de desplazamiento cuando se desplaza, incluido el tiempo de espera para ocultar el indicador de desplazamiento después de la inactividad. (I047d6) - Agregamos
ScrollIndicator
con el nuevo diseño de Material3. Tiene un tamaño de miniatura fijo basado en el contenido inicial de la lista para evitar variaciones de tamaño cuando se carga contenido diferido en la lista. (Ic228d). - Cambiamos la API de
ScrollAway
de modo queScreenStage
sea una clase de valor en lugar de una clase de enum para permitir que se agreguen etapas adicionales según sea necesario en el futuro. (I48c93). - Agregamos
EdgeButton
, un botón distintivo específico para Wear con una forma que sigue la curvatura de la parte inferior de la pantalla (I16369). - Se agregó un nuevo espacio a
ScreenScaffold
para un botón inferior (comoEdgeButton
), que se mostrará y cambiará de tamaño según el contenido del desplazamiento (I032eb). - Se agregaron
Modifier.scrollTransform
yModifier.targetMorphingHeight
para agregar efectos de movimiento de Material3 a los elementos deLazyColumn
. (Ie229a). - Se agregó
SegmentedCircularProgressIndicator
como una variación deCircularProgressIndicator
. La variación segmentada muestra un solo valor de progreso en todos los segmentos o muestra cada segmento como activado o desactivado. (I6e059) - Se agregó
LinearProgressIndicator
como alternativa alCircularProgressIndicator
existente. (I89182) - Agregamos
AlertDialog
, que proporciona diseños para presentar instrucciones importantes al usuario. Se incluyen variaciones para un par de botones de confirmación o descarte, o un solo botón inferior (por lo general, un EdgeButton) debajo de una pila de opciones. Ambas variantes tienen espacios para el ícono, el título y el texto adicional para proporcionar más detalles. (Ieb873) - Agregamos
OpenOnPhoneDialog
, que se debe usar para indicar una acción que continuará en el teléfono del usuario.OpenOnPhoneDialog
se descarta después de un tiempo de espera especificado. (I978fd). - Se agregó
Confirmation
, un componente de diálogo que tiene ranuras para un ícono y texto curvo o lineal. Se proporcionan variaciones específicas para los mensajes de éxito o error. Las confirmaciones se descartan automáticamente después de un tiempo de espera. (Ib43e8) - Agregamos un fondo a
TimeText
para mitigar los problemas en los que el contenido subyacente yTimeText
se superponían y ocultaban la hora. (Ia11fd). - Agregamos
LevelIndicator
, que muestra el valor de un parámetro de configuración, como el volumen, y se puede usar con el componenteStepper
existente para crear una pantalla de volumen.LevelIndicator
es similar aScrollIndicator
, pero se muestra en el lado opuesto de la pantalla y tiene un ancho de trazo más amplio y un color de indicador diferente de forma predeterminada. (I8a4ac) - Se agregó
TimePicker
, con diseños para la hora de 24 horas (con o sin segundos) o la hora de 12 horas con selección de a.m./p.m. (Ia5124). - Se agregó
DatePicker
, con la configuración para el orden de las columnas (es decir, día-mes-año, mes-día-año o año-mes-día) y fechas mínimas y máximas opcionales. (Ibf13b). - Se agregó un parámetro de peso a la función
text
deTimeText
. En los casos en que TimeText consta de más de un elemento de texto, esto permite controlar cómo se distribuye el espacio. (I36700). - Agregamos
RadioButton
ySplitRadioButton
. Estos componentes simplifican la API anterior combinando (Split)SelectableButton
y el control de radio secundario (If7ae8). - Agregamos
CheckboxButton
ySplitCheckboxButton
. Estos componentes simplifican la API anterior combinandoToggleButton
(dividido) y el control de casilla de verificación secundario (Ia8f70). - Agregamos
SwitchButton
ySplitSwitchButton
. Estos componentes simplifican la API anterior combinando(Split)ToggleButton
y el control de interruptor secundario (I0d349). - Actualizamos la documentación de
AnimatedText
para explicar el comportamiento de sobrepaso. (Iff30a). - Agregamos
ButtonGroup
para combinar 2 o 3 botones de modo que los toques produzcan una animación coordinada. (Ie27db). - Se agregó una animación de forma opcional para
IconButton
yTextButton
cuando se presionan. (Iffca5). - Se agregó una variación de color adicional,
FilledVariant
, aButton
,IconButton
,TextButton
,CompactButton
yEdgeButton
(I65fc3). - Se agregó el parámetro
forcedSize
aImageWithScrimPainter
, de modo que los fondos de imagen de Button ahora mantienen su tamaño de componente de forma predeterminada. Si configurasforcedSize = null
, se adoptaráPainter.instrinsicSize
. (Ic57af). - Se agregó la acción de mantener presionado a los botones (Ib613d).
- También se agregó compatibilidad con el clic largo a
IconButton
yTextButton
. (I38891). - Se agregó compatibilidad con la función de mantener presionado en las tarjetas. (I305d5).
- Agregamos
LocalTextMaxLines
,LocalTextAlign
yLocalTextOverflow
comoCompositionLocals
y los usamos como parámetros predeterminados enText
. Los componentes comoCheckboxButton
,SwitchButton
yRadioButton
ahora pueden usar los elementos locales de composición para implementar la guía de UX, pero los desarrolladores pueden anular los parámetros si es necesario. (Iab841). - Agregamos
Placeholder
para ayudar a enmascarar el contenido de componentes como botones y tarjetas hasta que se carguen los datos. (I1a532) - Agregamos
IconToggleButtonColors
yTextToggleButtonColors
para reemplazarToggleButtonColors
, que ahora se quitó. (Ie0bf1).
Correcciones de errores
- Actualizamos
Button
,FilledTonalButton
,OutlinedButton
,ChildButton
yCompactButton
para usar los nuevosCompositionLocals
LocalTextMaxLines
,LocalTextAlign
yLocalTextOverflow
para implementar la guía de UX. Los desarrolladores pueden anular estos parámetros directamente en Text si es necesario (Ie51f7). - Cambiamos el ancho de trazo predeterminado de
LevelIndicator
a6dp
para diferenciarlo deScrollIndicator
, que tiene un ancho de trazo de4dp
. (If6f63). - Se corrigió un problema en
TimeText
para que se admitan ángulos de barrido más grandes. (Ie489f) - Se corrigió un problema durante la recomposición de
EdgeButton
. (I4cdca). - Se corrigieron los diseños de los botones de activación divididos cuando se proporciona un padding de contenido personalizado. (Ia33d3)
- Se redondearon los valores de progreso pequeños al menos al ancho de línea del indicador de progreso. (I3bd84).
Versión 1.0.0-alpha23
14 de mayo de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha23
. La versión 1.0.0-alpha23 contiene estas confirmaciones.
Cambios en la API
- Se actualizaron las APIs de
ToggleButton
yRadioButton
para que se puedan configurar los colores inhabilitados. (If13a7). - Se agregó un nuevo
CircularProgressIndicator
para Material3. (Ib3bd7).
Correcciones de errores
- Se corrigió un error por el que los botones seleccionables anunciaban la acción de presionar dos veces para activar o desactivar cuando ya estaban seleccionados. (I7ed88).
Versión 1.0.0-alpha22
1 de mayo de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha22
. La versión 1.0.0-alpha22 contiene estas confirmaciones.
Cambios en la API
- Se actualizó el
ColorScheme
de Material3. (I7b2b8). - Actualizamos el interruptor de Material3. Además de algunos cambios de color, la marca ahora coincide con la que se usa para la casilla de verificación. (Icac7b)
Correcciones de errores
- Se actualizaron todas las demostraciones de integración para usar el nuevo modificador
rotaryScrollable
. (I25090).
Versión 1.0.0-alpha21
17 de abril de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha21
. La versión 1.0.0-alpha21 contiene estas confirmaciones.
- Esta versión se activó debido a un problema técnico en la versión anterior que provocó que faltaran los frascos de origen. No hay confirmaciones nuevas en esta versión.
Versión 1.0.0-alpha20
3 de abril de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha20
. La versión 1.0.0-alpha20 contiene estas confirmaciones.
Correcciones de errores
- Ajustamos las alfas del estado enfocado y presionado de Ripple para mejorar el contraste. (I59f0a).
- Agregamos espacio entre las etiquetas principales y secundarias en
Button
,ToggleButton
yRadioButton
, siguiendo los cambios más recientes en los estilos de tipografía y las alturas de línea. (I2c0ba).
Versión 1.0.0-alpha19
6 de marzo de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha19
. La versión 1.0.0-alpha19 contiene estas confirmaciones.
Cambios en la API
- Se agregó
TimeText
a la biblioteca de Material3 de Wear Compose. Este componente muestra la hora actual (y el estado adicional) en la parte superior de la pantalla. La nueva API concisa de Material3 evita la duplicación entre el contenido lineal y el curvo. (I4d7c3). - Se actualizaron los nombres de los parámetros de
onSelected
aonSelect
paraRadioButton
. (I1a971). - Tokeniza
RadioButton
ySplitRadioButton
, y también refactoriza los métodos existentes para reducir la cantidad de búsquedas deCompositionLocal
agregando instancias almacenadas en caché de colores y haciendo que los métodos deRadioButtonColors
ySplitRadioButtonColors
sean internos. (I02b33).
Versión 1.0.0-alpha18
21 de febrero de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha18
. La versión 1.0.0-alpha18 contiene estas confirmaciones.
Cambios en la API
- Se refactorizó el patrón predeterminado de
CardColors
,ToggleButtonColors
ySplitToggleButtonColors
creando instancias almacenadas en caché de forma interna y reduciendo el uso deCompositionLocal
. (If3fec).
Versión 1.0.0-alpha17
7 de febrero de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha17
. La versión 1.0.0-alpha17 contiene estas confirmaciones.
Cambios en la API
- Actualizamos la API de Button para usar
buttonColors
de forma predeterminada y quitamos elfilledButtonColors
duplicado. (I4fe3b). - Se refactorizaron los patrones predeterminados de
ButtonColors
,IconButtonColors
yTextButtonColors
creando una instancia almacenada en caché de forma interna y reduciendo el uso deCompositionLocal
. (I5f51c). - Quitamos la sobrecarga de
rememberUpdatedState
en las clases de colores específicas del componente y marcamos los métodos de acceso dentro de las clases de colores como internos. (If6571).
Correcciones de errores
- Se actualizó
Modifier.minimumInteractiveComponentSize
para usarModifier.node
. (Iba6b7).
Versión 1.0.0-alpha16
24 de enero de 2024
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha16
. La versión 1.0.0-alpha16 contiene estas confirmaciones.
Nuevas funciones
- Agregamos
CompactButton
, que puede usar los mismos colores rellenos, tonal y con contornos que Button.(I05df0)
Cambios en la API
- Se agregaron
RadioButton
/SplitRadioButton
como contenedores para controles de selección, como el control de radio. Esto difiere deToggleButton
existente en queRadioButton
se puede seleccionar (y opera dentro de un grupo de selección), mientras queToggleButton
se puede activar o desactivar (y es independiente). (I61275). - Quitaremos
LocalContentAlpha
de la biblioteca de Material3 de Wear Compose para mantener la coherencia con la biblioteca de Material3 de Compose. (I49a0a) - Los componentes de Material para Wear y Material 3 para Wear que exponen un
MutableInteractionSource
en su API se actualizaron para exponer unMutableInteractionSource
anulable que se establece de forma predeterminada como nulo. No hay cambios semánticos aquí: 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 unMutableInteractionSource
y que otros componentes solo creen una instancia de forma diferida cuando lo necesiten, lo que mejora el rendimiento de estos componentes. Si no usas elMutableInteractionSource
que pasas a estos componentes, te recomendamos que pases un valor nulo. También te recomendamos que realices cambios similares en tus propios componentes. (Ib90fc, b/298048146). - Se agregó una nueva API de Ripple en las bibliotecas
wear:compose-material
ywear:compose-material3
, que reemplaza a larememberRipple
obsoleta. También se agrega unCompositionLocal
temporal,LocalUseFallbackRippleImplementation
, para revertir los componentes de Material a usar las APIs derememberRipple/RippleTheme
que dejaron de estar disponibles. Se quitará en la próxima versión estable y solo se diseñó como una ayuda de migración temporal para los casos en los que proporcionas unRippleTheme
personalizado. Consulta developer.android.com para obtener información sobre la migración y más información contextual sobre este cambio. (af92b21). - Realizamos mejoras menores en la API de
HorizontalPageIndicator
y su documentación. (I60efc). - Actualizamos
ColorScheme
para que sea inmutable, lo que hace que las actualizaciones de colores 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 aún es posible, pero se volverá a componer más que antes. A su vez, disminuiremos significativamente la cantidad de suscripciones de estado a través de todo el código de material y afectará el costo de inicialización y tiempo de ejecución de casos de uso más estándar. (Ibc2d6) - Se actualizaron las APIs de
ToggleButton
ySplitToggleButton
para permitir que se personalicen los colores inhabilitados. Además, los tokens de Material Design ahora se usan para los valores de color y tipografía. (If087c) - Se actualizaron los colores de fondo de la imagen del botón para usar tokens de Material Design. (Iba215).
- Quitamos el control de clics para que los componentes
Checkbox
,Switch
yRadioButton
solo se muestren. Se espera que estos componentes se usen en(Split)ToggleButton
, que controla el clic, por lo que ahora se indican más claramente como solo para visualización (y no están diseñados para usarse de forma independiente en Wear). (I2322e).
Correcciones de errores
- Se agregaron tokens para los valores de movimiento de las duraciones y las suavizaciones en Wear Compose Material 3. (I437cd)
- Se corrigió un error en
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
yRadioButton
para que no se repitan los anuncios de accesibilidad (anteriormente, se duplicaban los roles semánticos). (Ica281). - Quitamos la capa de materialcore para
CompactButton
para mejorar el rendimiento. (7902858)
Versión 1.0.0-alpha15
15 de noviembre de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha15
. La versión 1.0.0-alpha15 contiene estas confirmaciones.
Cambios en la API
- Se cambió el nombre del nivel de fundación
SwipeToDismissBox
aBasicSwipeToDismissBox
. Esto hace que la distinción entre el componente de nivel de Foundation y elSwipeToDismissBox
de nivel de Material3 sea más clara. Este último extrae colores deMaterialTheme
para usarlos en las pantallas en blanco y delega la implementación restante aBasicSwipeToDismissBox
. (Ibecfc).
Correcciones de errores
- Quitamos la capa material-core para el botón Material3 para mejorar el rendimiento. (I55555).
Versión 1.0.0-alpha14
18 de octubre de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha14
. La versión 1.0.0-alpha14 contiene estas confirmaciones.
Cambios en la API
- Quitamos el parámetro
indicatorStyle
deHorizontalPageIndicator
de Material3. En su lugar, seguirá la forma de la pantalla del dispositivo (lineal o redonda). (I83728). - Separamos los colores de
SplitToggleButton
de los deToggleButton
agregando una nueva claseSplitToggleButtonColors
. (I78bee).
Versión 1.0.0-alpha13
4 de octubre de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha13
. La versión 1.0.0-alpha13 contiene estas confirmaciones.
Cambios en la API
- Se agregó un campo de subtítulos opcional a
TitleCard
. (Ifc45a). - Agregamos tokens de color de Material Design para
TextButton
. (I769dc)
Versión 1.0.0-alpha12
20 de septiembre de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha12
. La versión 1.0.0-alpha12 contiene estas confirmaciones.
Cambios en la API
- Se actualizó
IconButton
para usar tokens de Material Design. (I3f137). - Se actualizó
IconToggleButton
para usar tokens de Material Design. (I7d263). - Hicimos públicos los constructores de
CheckboxColors
,RadioButtonColors
ySwitchColors
. (I82b73).
Versión 1.0.0-alpha11
6 de septiembre de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha11
. La versión 1.0.0-alpha11 contiene estas confirmaciones.
Correcciones de errores
- Se actualizó la tipografía de las tarjetas de Material3 a
TitleMedium
. (I597bd). - Actualizamos la tipografía y la alineación de nuestros elementos
ListHeader
yListSubheader
de Material3. (Ib5ceb).
Versión 1.0.0-alpha10
23 de agosto de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha10
. La versión 1.0.0-alpha10 contiene estas confirmaciones.
Nuevas funciones
- Se agregó
HorizontalPageIndicator
en la biblioteca de Material3 para Wear. (Ifee99).
Cambios en la API
- Se actualizó el código de los botones para usar tokens de diseño de Material3. (I92fe4).
- Se declararon como experimentales las APIs de Stepper y Slider de Wear Material 3, ya que aún se están finalizando los detalles de la interfaz de usuario. (I84d54).
- Quitamos los tamaños
ExtraSmall
de losTextButton
yTextToggleButton
redondos, ya que ese tamaño solo se aplica aIconButton
. (Ibc7d5).
Correcciones de errores
- Actualizamos la guía sobre la tipografía de TextToggleButton para usar LabelLarge para LargeButtonSize (Ib10fa).
- Actualizamos la guía de tipografía de TextButton para usar LabelLarge para LargeButtonSize (I8f3a7).
- Para mejorar la accesibilidad, configuramos el objetivo táctil mínimo de la tarjeta en 48 dp. (Ieb9b1)
- Se agregó la tarjeta de aplicación con la demostración de imagen y se quitó la tarjeta de aplicación con la demostración de fondo (Id735f).
- Se corrigió un error en los botones redondos en el que los modificadores no se encadenaban correctamente. (I5e162).
Versión 1.0.0-alpha09
9 de agosto de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha09
. La versión 1.0.0-alpha09 contiene estas confirmaciones.
Nuevas funciones
- Se agregó
ToggleButton
para material3 (I6bed6).
Cambios en la API
- Activamos la anotación
FloatRange
como restricciones de la API , que se indicaban anteriormente en los comentarios. (Icb401). - Actualizamos la tipografía de Material3 para Wear para que cumpla con los lineamientos más recientes de Material3. (I1bad6).
Correcciones de errores
- Actualizamos los colores de
Button
,IconButton
yTextButton
de acuerdo con el diseño de Material3. (Ib2495). - Corrigimos la visibilidad de la marca de verificación de la casilla en los estados inhabilitados. (Ib25bf).
Versión 1.0.0-alpha08
26 de julio de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha08
. La versión 1.0.0-alpha08 contiene estas confirmaciones.
Nuevas funciones
- Agregamos los siguientes controles de selección para Material3:
Switch
,Checkbox
yRadioButton
. (Ib918c). - Agregamos
IconToggleButton
yTextToggleButton
a Material3, un botón de activación circular con un solo espacio para el ícono y el texto, respectivamente. Para diferentes tamaños deToggleButton
, recomendamos usarModifier.touchTargetAwareSize
con los tamaños proporcionados en los botones de activación correspondientes. (I9f015). - Agregamos
ListHeader
yListSubheader
a nuestros componentes de Material3. (Ibaefe). - Agregamos
SwipeToDismissBox
de Material3, que llama al nuevoSwipeToDismissBox
de Foundation y proporciona valores de color predeterminados desde su tema. (I275fb). - Se agregó
InlineSlider
de Material3 a Wear Compose. Permite que los usuarios seleccionen un rango de valores. El rango de selecciones se muestra como una barra entre los valores mínimos y máximos del rango, desde el que los usuarios pueden seleccionar un solo valor.InlineSlider
es ideal para ajustar parámetros de configuración, como el volumen o el brillo. (I7085f).
Cambios en la API
- Se actualizó el tema Shapes en Material para Wear 3 para usar
RoundedCornerShape
en lugar de Shape. (Idb133). - Se hicieron públicas las constantes de altura de Button (Idbfde).
- Se actualizaron los archivos de API para anotar la supresión de compatibilidad (I8e87a, b/287516207).
- Actualizamos
InlineSliderColors
en Wear Compose Material 3 para que tenga un constructor y propiedades públicas. (I6b632). - Actualizamos todas las clases de color en Wear Compose Material 3 para que tengan constructores y propiedades públicos. (I17702).
- Se hicieron públicas las constantes de padding horizontal y vertical de Button. (Ieeaf7).
Correcciones de errores
- El botón ahora ajustará su altura para adaptarse al contenido que aumentó debido a las fuentes grandes para la accesibilidad, cuando sea necesario (Iaf302).
- Actualizamos varias demostraciones de botones para abordar problemas de accesibilidad. (I61ce9)
Stepper
yInlineSlider
ahora admiten clics repetidos en la presión prolongada para que puedas aumentar o disminuir rápidamente el valor deStepper
yInlineSlider
manteniendo presionados los botones + o - (I27359).
Versión 1.0.0-alpha07
21 de junio de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha07
. La versión 1.0.0-alpha07 contiene estas confirmaciones.
Nuevas funciones
- Agregamos el componente
Stepper
a nuestra biblioteca de Material 3 de Compose para Wear OS. Esto es similar a la versión anterior de Material, pero omite la semántica de rango de forma predeterminada, según los comentarios de los desarrolladores. ProporcionamosModifier.rangeSemantics
en los casos en los que se requieren semánticas de rango. (Ic39fd) - Agregamos
curvedText
a nuestra biblioteca de Material 3 de Compose para Wear OS. (Ia8ae3).
Correcciones de errores
- Se actualizó
wear.compose.foundation
para que sea una dependencia de API dewear.compose.material3
(I72004, b/285404743).
Versión 1.0.0-alpha06
7 de junio de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha06
. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Correcciones de errores
- Actualizamos
TextButton
para usar la función de extensióntoDisabledColor
para corregir los valores de alfa inhabilitados. (I814c8).
Versión 1.0.0-alpha05
24 de mayo de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha05
. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
- Agregamos
TextButton
a Material3, un botón circular con una sola ranura para texto. Para diferentes tamaños deTextButton
, recomendamos usarModifier.touchTargetAwareSize
yExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
yLargeButtonSizeIcon
que se proporcionan enTextButtonDefaults
. ElTextButton
predeterminado no tiene borde y tiene un fondo transparente para las acciones de énfasis bajo. Para las acciones que requieren un énfasis alto, usafilledTextButtonColors
; para un énfasis medio, usaTextButton
con contorno, establece el borde enButtonDefaults.outlinedButtonBorder
; para un término medio entre el contorno y el relleno, usafilledTonalTextButtonColors
. (I667e4) - Agregamos
Card
,OutlinedCard
,AppCard
yTitleCard
a la biblioteca de Material3 de Wear Compose.AppCard
yTitleCard
también pueden tener el aspecto de un contorno conCardDefaults.outlinedCardColors
yCardDefaults.outlinedCardBorder
(I80e72).
Cambios en la API
- Movemos el parámetro de etiqueta de botón al final para admitir la sintaxis de expresión lambda final y quitamos el parámetro de rol (ya que se puede anular con
Modifier.semantics
). Los constructores deButtonColors
ahora son públicos. (Ie1b6d).
Versión 1.0.0-alpha04
10 de mayo de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha04
. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Agregamos
IconButton
a Material3, un botón circular con una sola ranura para el ícono o la imagen. Hay cuatro variaciones:IconButton
,FilledIconButton
,FilledTonalIconButton
yOutlinedIconButton
. Para diferentes tamaños deIconButton
, te recomendamos que usesModifier.touchTargetAwareSize
yExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
yLargeButtonSizeIcon
que se proporcionan enIconButtonDefaults
. También proporcionamosIconButtonDefaults.iconSizeFor
para determinar el tamaño de ícono recomendado para un tamaño de botón determinado. (I721d4)
Versión 1.0.0-alpha03
19 de abril de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Agregamos el componente de botón de Material 3, que es nuestro botón con forma de estadio y antes se llamaba Chip en la biblioteca de Material de Wear Compose (se cambió el nombre a Botón para mantener la coherencia con la biblioteca de Material 3 de Compose). El botón predeterminado tiene un fondo relleno y hay variaciones de botones para
FilledTonal
(fondo atenuado), con contorno (transparente con un borde delgado) y secundario (fondo transparente y sin borde, se usa para acciones complementarias con la menor cantidad de importancia). Los botones redondos para íconos simples y contenido de texto se agregarán en una versión futura.(Ia6942)
Versión 1.0.0-alpha02
5 de abril de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Correcciones de errores
- Se agregó un
DefaultTextStyle
a Wear Compose Material 3, que establecePlatformTextStyle.includeFontPadding
como verdadero de forma predeterminada (el parámetro de configuración actual). Esto nos permitirá sincronizar la desactivación del padding de fuente de forma predeterminada con las bibliotecas de Compose en el futuro (consulta Cómo corregir el padding de fuente en Compose para el fondo). (I7e461).
Versión 1.0.0-alpha01
22 de marzo de 2023
Lanzamiento de androidx.wear.compose:compose-material3:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
Material 3 es la siguiente evolución de Material Design y, además, incluye temas actualizados y componentes rediseñados. Material 3 en Wear Compose está diseñado para ser cohesivo con la biblioteca de Compose de Material 3 en Android. Esta primera versión alfa contiene implementaciones iniciales y funcionales de lo siguiente:
Seguiremos desarrollando Wear Material (
androidx.wear.compose:compose-material
) y Wear Material 3 (androidx.wear.compose:compose-material3
) en paralelo. Las próximas versiones de material3 extenderán el conjunto de widgets para incluir otros componentes conocidos de Compose para Wear OS, como botones, selectores y controles deslizantes.Las bibliotecas de Wear Material y Wear Material 3 son mutuamente excluyentes y no deben mezclarse en la misma app, principalmente porque hacen referencia a temas diferentes, lo que generaría inconsistencias inesperadas.
Wear Compose versión 1.5
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
TransformingLazyColumnState
ahora proporciona una forma de observar el progreso de desplazamiento actual en función de los índices de elementos de anclaje. (I72b01)- Se agregaron animaciones a
TransformingLazyColumn
cuando se agregan, quitan y mueven elementos, si tienen el nuevoModifier.animateItem
. (Iecb9c). TransformingLazyColumn
ahora expone valores parabeforeContentPadding
yafterContentPadding
. (Iccd5f).TransformingLazyColumn
ahora proporciona elLocalTransformingLazyColumnItemScope
local de composición que los componentes (comoCard
yButton
en Material3) pueden usar para transformarse automáticamente cuando se colocan dentro de unTransformingLazyColumn
. Los emisores 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 dispositivos rotativos en dispositivos con segmentación U en adelante. (I33559)
- Se corrigió una falla que se producía si un elemento de
TransformingLazyColumn
no contenía ningún elemento componible (Idb99d). - Se agregó compatibilidad con
ScrollFeedbackProvider
para la tecnología táctil rotativa en Android Vanilla Ice Cream. (Ibc553). - Aplicamos un mayor deslizamiento táctil cuando se usa
SwipeToReveal
para reducir las posibilidades de activar accidentalmente un deslizamiento cuando se desplaza verticalmente. (Ic0672). - Se actualizó
SwipeDismissableNavHost
para usarPredictiveBackHandler
cuando esté disponible a partir del nivel de API 35. 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
- Se simplificó
ScrollInfoProvider
paraPagerState
quitando el parámetroorientation
, que ya no es necesario. El nuevo comportamiento es queTimeText
permanezca en su lugar para la paginación horizontal y vertical. (I71767). TransformingLazyColumn
se introdujo en versiones anteriores. Ahora quitaremos los aliasLazyColumn
de Wear (que reenviaban aTransformingLazyColumn
) y los reemplazaremos por el nuevo nombreTransformingLazyColumn
. También quitamos la propiedadheight
deTransformingLazyColumnVisibleItemInfo
. En su lugar, usameasuredHeight
. (I0ea1e).- Cambiamos el
snapAnimationSpec
dePagerDefaults.snapFlingBehavior
de una especificaciónTween
a unaSpring
.(I10d02, b/349781047, b/303807950). - Se asignó el
CompositionLocal
LocalReduceMotion
a estable (Ia6f32).
Correcciones de errores
- Actualizamos
Modifier.rotaryScrollable
para usarfocusTargetWithSemantics
y brindar una mejor compatibilidad con la semántica en dispositivos rotativos. (Ief0a0). - Actualizamos la dependencia mínima de API a 1.7.4 para las bibliotecas de Compose. (I88b46).
- Inhabilitamos la transformación de ancho en
TransformingLazyColumn
como solución alternativa a un error de recorte. (I3dfb8). - Se corrigió un error que causaba que los elementos desaparecieran después de un desplazamiento excesivo con
TransformingLazyColumn
(Id7668). - Se agregó
LazyLayoutSemantics
paraTransformingLazyColumn
. (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
- Se agregó compatibilidad con
animateScrollTo
enTransformingLazyColumnState
para que el desplazamiento a un elemento pueda animarse. (I4097d). - Agregamos
requestScrollTo
enTransformingLazyColumnState
para aplazar el desplazamiento a la siguiente medición. (I20a5e). - Agregamos compatibilidad con
contentPadding
enTransformingLazyColumn
. (I3a69c).
Correcciones de errores
- Se corrigió un error en la renderización de
TransformingLazyColumn
cuando la altura del contenido es más corta que la altura de la pantalla. (I6c3e1). - El
ScrollInfoProvder
paraTransformingLazyColumn
ahora realiza un seguimiento correcto del primer elemento. (I1e4a3) TransformingLazyColumnState
ahora guarda su estado (anchorItemIndex
yanchorItemScrollOffset
). (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
- Se cambió el nombre de
LazyColumn
de Wear Compose Foundation aTransformingLazyColumn
para que la distinción sea más clara entre esta yLazyColumn
de Compose Foundation. (I0608b). - Se agregó compatibilidad con los localizadores rotativos horizontales y verticales, lo que permite a los usuarios navegar por los localizadores con dispositivos de entrada rotativos. (I9770d)
- Actualizamos el nuevo
PagerDefaults
para dejar en claro que el paginador se ajustará a la página de forma predeterminada. (Iff7d0). TransformingLazyColumnItemScrollProgress
ahora es una clase de valor que debería mejorar el rendimiento. (Ic399e).TransformingLazyColumn
ahora admite objetos rotativos de forma predeterminada. (I05206).TransformingLazyColumnState
ahora admitescrollToItem
. (I507b3).- Se quitó
@ExperimentalWearFoundationApi
de 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
SwipeToReveal
para los casos poco frecuentes en los que la pantalla actual no admite el deslizamiento para descartar. . La opción predeterminada sigue siendo el gesto de deslizar para mostrar 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
LazyColumnState
para anularcanScrollForward
ycanScrollBackward
, lo que ahora detiene el desplazamiento cuando el primer o el último elemento está exactamente en el centro de la pantalla. (Ia77d7). - Se agregaron nuevos componentes
HorizontalPager
yVerticalPager
que abordan problemas comunes, como el manejo del enfoque y la interacción con el deslizamiento del sistema para descartar que podría ocurrir en Wear. (I2902b). - Se agregó compatibilidad con
LazyColumn
para exponer elkey
y elcontentType
del 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)
- Se actualizó la documentación de Material Dialog para reflejar que no se llama a
onDismissRequest
después de que la marca de visualización se establece como falsa. (Ifd8d6) - Corregimos un error con la animación de 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
LazyColumn
de Wear Compose con nuestroScreenScaffold
(y agregamos una implementación deScrollInfoProvider
paraLazyColumnState
). (Ib8d29). - Se agregó
viewportSize
aLazyColumnLayoutInfo
. (I4187f).
Correcciones de errores
- Corregimos un error para que el desplazamiento rotativo ahora esté inhabilitado en
ScalingLazyColumn
cuando la marcauserScrollEnabled
esté configurada enfalse
. (I490ab, b/360295825). - Corrigimos 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 afecte las pruebas de capturas de pantalla que incluyan texto curvo (Iaa6ef).
- Se revirtió una corrección de errores en
Dialog
en la que se llamaba a la devolución de llamadaonDismissRequest
cuandoshowDialog
se establecía como falso, ya que, en algunos casos, esto provocaba que se llamara aonDismissRequest
varias 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
LazyColumn
a la biblioteca de Wear Compose Foundation con las APIs deLazyColumnState
yLazyColumnScope
asociadas. Esto sirve como base para compilar efectos de escalamiento y transformación personalizables con Wear Compose. (Ib3b22). - Agregamos una versión indexada de
itemsIndexed
aLazyColumnScope
como parte de la nueva API deLazyColumn
. (Ib4a57). - Se agregaron modificadores
LazyColumn
para admitir comportamientos de escalamiento y transformación. (Ie229a) HierarchicalFocusCoordinator
se cambió a estable. (I31035).- Se agregó compatibilidad con el espaciado entre letras para el texto curvo. (I3c740).
- Se agregó un parámetro
rotationLocked
aCurvedLayout.curvedComposable
para detener la rotación de los componentes. (I66898). - Se quitó la API temporal de
LocalUseFallbackRippleImplementation
de Material para Wear y Material3 para Wear (I62282). - Se quitó
WearDevices.SQUARE
de la vista previa múltiple de@WearPreviewDevices
(I11c02).
Correcciones de errores
SwipeToReveal
ahora posiciona los elementos revelados en la parte visible de la pantalla. Esto ayuda cuando se usaSwipeToReveal
dentro de una lista, de modo que los elementos siempre se puedan interactuar y nunca queden fuera de la pantalla. (I38929)SwipeToReveal
ahora restablecelastActionType
a None cuando se completaanimatedTo
. (I59b03)- Se mejoró la documentación del nuevo parámetro
rotationLocked
encurvedComposable
. (Ifbd57). - Se corrigió una falla que se producía cuando se pasaba
NaN
aperformFling
deScalingLazyColumnSnapFlingBehavior
. (Ic13da). - Se corrigió un error en el modificador de tamaño del diseño curvo (I0fedf).
- Se agregó compatibilidad con el espaciado entre letras especificado en "sp". (I9f6e3).
- Se corrigió un error en el diálogo de Material2 por el que no se llamaba a la devolución de llamada
onDismissRequest
cuando el diálogo se volvía invisible (I64656). - Se cambió el nombre de
LayoutCoordinates.introducesFrameOfReference
porLayoutCoordinates.introducesMotionFrameOfReference
para reflejar mejor su propósito. Se cambió el nombre de la función relacionada para calcular las coordenadas en función de esa marca. (I3a330).
Versión 1.4
Versión 1.4.0
4 de septiembre de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.4.0
. La versión 1.4.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.3.0
ScalingLazyColumn
yPicker
ahora admiten la entrada rotativa de forma predeterminada. Se recomienda quitar el control rotativo explícito y aplazar el comportamiento predeterminado del sistema. Si es necesario, usa el parámetrorotaryScrollableBehavior
para configurar el comportamiento de desplazamiento o ajuste. Para el comportamiento de ajuste, se recomienda proporcionar el comportamiento de ajuste y las capacidades de desplazamiento táctil con el parámetroflingBehavior
.Modifier.rotaryScrollable
es un nuevo modificador que conecta eventos rotativos con contenedores desplazables, lo que permite a los usuarios desplazarse con una corona o un bisel giratorio en su dispositivo Wear OS.SwipeDismissableNavHost
ahora proporciona una animación de entrada para las transiciones en la app.PositionIndicator
ahora 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 la navegación de Wear Compose a androidx.lifecycle 2.8.3.
Versión 1.4.0-beta03
12 de junio de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.4.0-beta03
. La versión 1.4.0-beta03 contiene estas confirmaciones.
Correcciones de errores
- Actualizamos
Modifier.rotaryScrollable
para reemplazar el uso de "focusable" por "focusTarget", lo que mejora el rendimiento. (Id294b). - Se corrigió un problema por el que
ProgressIndicator
repetía su anuncio enTalkBack
. (I94563). - Se actualizaron 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 abordar problemas de truncamiento (Id865f).
- Limitamos el límite del
HorizontalPageIndicator
que se pasaba a los lectores de pantalla. Anteriormente, el indicador ocupaba la pantalla completa (Id8d7a).
Versión 1.4.0-beta01
14 de mayo de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.4.0-beta01
. La versión 1.4.0-beta01 contiene estas confirmaciones.
La versión 1.4-beta01 de Compose para Wear OS indica que esta versión de la biblioteca está completa y la API está bloqueada (excepto donde se marca como experimental). Wear Compose 1.4 incluye las siguientes funciones nuevas:
- Agregamos
Modifier.rotaryScrollable
, un nuevo modificador que conecta eventos rotativos con contenedores desplazables, lo que permite a los usuarios desplazarse con una corona o un bisel giratorio en su dispositivo Wear OS. Además,ScalingLazyColumn
yPicker
ahora admiten la entrada rotativa de forma predeterminada. Usa el parámetrorotaryScrollableBehavior
para configurar el comportamiento de desplazamiento o ajuste. Para el comportamiento de ajuste, se recomienda proporcionar el ajuste a través del parámetroflingBehavior
también para el desplazamiento táctil. SwipeDismissableNavHost
ahora proporciona una animación de entrada para las transiciones en la app.PositionIndicator
ahora se muestra de forma predeterminada cuando se muestra una pantalla por primera vez.- Se agregaron
SelectableChip
ySplitSelectableChip
como una variación deToggleChip
. Úsalo conRadioButton
para proporcionar semánticas seleccionables en lugar de semánticas activables o desactivables para la accesibilidad. ListHeader
ahora admite ajustes de altura cuando el contenido necesita altura adicional para adaptarse a tamaños de fuente grandes.
Correcciones de errores
- Corregimos un error por el que los chips seleccionables anunciaban la acción de 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 controles rotativos: cambiamos el nombre de
Modifier.rotary
aModifier.rotaryScrollable
, el nombre de la interfazRotaryBehavior
aRotaryScrollableBehavior
y el nombre de su funciónhandleScrollEvent
aperformScroll
, cambiamos el nombre deRotaryScrollableAdapter
aRotaryScrollableLayoutInfoProvider
y quitamos la propiedadscrollableState
. (I0c8a6). - Realizamos cambios adicionales en la API de Rotary: cambiamos el nombre de
RotaryScrollableLayoutInfoProvider
aRotarySnapLayoutInfoProvider
(porque este proveedor solo es necesario para Rotary con ajuste) y cambiamos el tipo del parámetrosnapOffset
enRotaryScrollableDefaults.snapBehavior snapOffset
de Int a Dp. (Iddebe). - Se cambió el nombre del parámetro
clickInteractionSource
deSplitSelectableChip
acontainerInteractionSource
. (Ia8f84). - Actualizamos los nombres de los parámetros de devolución de llamada de clic para
SplitSelectableChip
, deonClick
aonSelectionClick
y deonBodyClick
aonContainerClick
. (I32237).
Correcciones de errores
- Actualizamos el padding horizontal de
PositionIndicator
a 2 dp (era de 5 dp) para corregir un error en el quePositionIndicator
(barra de desplazamiento) se superponía con el contenido desplazable. Ten en cuenta que se espera que este cambio dañe las capturas de pantalla existentes que incluyenPositionIndicator
debido al cambio de padding. (I57472). - Mejoramos la documentación de la nueva API de dispositivos rotativos describiendo las diferencias entre los dispositivos rotativos de baja resolución y los de alta resolución. (I63abe).
- Solucionamos una excepción fuera de rango en
SwipeDismissableNavHost
que 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 eventos rotativos con contenedores desplazables, lo que permite a los usuarios desplazarse con una corona o un bisel giratorio en su dispositivo Wear OS. Además,ScalingLazyColumn
y Picker ahora admiten la entrada rotativa de forma predeterminada, con nuevas sobrecargas que incluyen el parámetrorotaryBehavior
para especificar la configuración de desplazamiento o ajuste. Si el parámetrorotaryBehavior
está configurado para ajustarse, se recomienda proporcionar el ajuste también a través del parámetroflingBehavior
para el desplazamiento táctil. (I2ef6f). - Las fuentes de
NestedScroll
Arrastrar y Lanzar se reemplazarán porUserInput
ySideEffect
para adaptarse a la definición extendida de estas fuentes que ahora incluyen animaciones (Side Effect) y la rueda del mouse y el teclado (UserInput). (I40579). - Se agregaron
SelectableChip
ySplitSelectableChip
para 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 deToggleChip/SplitToggleChip
agregadas anteriormente por parámetrosselectionControl
. (Ia0217) - Se actualizó el modificador de visibilidad de
IndeterminateStrokeWidth
enProgressIndicatorDefaults
a público. (I5b5a4).
Versión 1.4.0-alpha06
3 de abril de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.4.0-alpha06
. La versión 1.4.0-alpha06 contiene estas confirmaciones.
Correcciones de errores
- Agregamos un borrador interno de compatibilidad con dispositivos rotativos, como parte del esfuerzo más grande de migrar el comportamiento rotativo a AndroidX desde Horologist. (I617d1).
- Agregamos un borrador interno de compatibilidad con la tecnología táctil, como parte del esfuerzo más grande de migrar el comportamiento rotativo 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
- Las propiedades
initialCenterItemIndex
yinitialCenterItemScrollOffset
deScalingLazyListState
ahora son públicas. (I0c616). - Hicimos público el
FullScreenStrokeWidth
deProgressIndicatorDefaults
. (Ibea23).
Correcciones de errores
- Mejoramos el rendimiento de
PositionIndicator
disminuyendo la cantidad de llamadas alayoutInfo
desdeScalingLazyColumn
. (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
ToggleChip
ySplitToggleChip
que toma un parámetroselectionControl
en lugar del parámetrotoggleControl
. Se debe usar con el controlRadioButton
para proporcionar semánticas seleccionables en lugar de semánticas conmutables para la accesibilidad (I1d6d9). - Se actualizaron los nombres de los parámetros de la nueva sobrecarga
selectionControl
deonSelected
aonSelect
paraToggleChip
ySplitToggleChip
(I1a971).
Versión 1.4.0-alpha03
21 de febrero de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.4.0-alpha03
. La versión 1.4.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- El wrapper
Modifier.inspectable
dejó de estar disponible. Esta API creará más invalidaciones de tu modificador de lo necesario, por lo que se desaconseja su uso. Se recomienda a los desarrolladores que implementen el métodoinspectableProperties()
enModifierNodeElement
si desean exponer propiedades de 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 mostrar, por el que se podía interactuar con (y cancelar) una acción confirmada en un elemento si se comenzaba a deslizar otro elemento.(Ide059)
- Actualizamos
ListHeader
para 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ó la animación de entrada a
SwipeDismissableNavHost
para las transiciones en la app (cfeb79a). PositionIndicator
ahora se muestra de forma predeterminada cuando se muestra una pantalla por primera vez. Este cambio se implementó para ayudar a cumplir con los lineamientos de calidad de Wear. Lamentablemente, esto significa que se deberán actualizar las pruebas de capturas de pantalla en las pantallas que incluyanPositionIndicator
, ya quePositionIndicator
no se habría mostrado anteriormente. (419cef7)
Cambios en la API
- Se agregó una nueva API de Ripple en las bibliotecas
wear:compose-material
ywear:compose-material3
, que reemplaza arememberRipple
, que dejó de estar disponible. También se agrega unCompositionLocal
temporal,LocalUseFallbackRippleImplementation
, para revertir los componentes de Material a usar las APIs derememberRipple/RippleTheme
que dejaron de estar disponibles. Se quitará en la próxima versión estable y solo se diseñó como una ayuda de migración temporal para los casos en los que proporcionas unRippleTheme
personalizado. Consulta developer.android.com para obtener información sobre la migración y más información contextual sobre este cambio. (af92b21). - Actualizamos
ColorScheme
para que sea inmutable, lo que hace que las actualizaciones de colores 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 a través de todo el código de material y afectará el costo de inicialización y tiempo de ejecución de casos de uso más estándar. (f5c48b7). - Los componentes de Material y Material3 para Wear que exponen un
MutableInteractionSource
en su API se actualizaron para exponer unMutableInteractionSource
anulable que se establece de forma predeterminada como nulo. No hay cambios semánticos aquí: 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 unMutableInteractionSource
y que otros componentes solo creen una instancia de forma diferida cuando lo necesiten, lo que mejora el rendimiento de estos componentes. Si no usas elMutableInteractionSource
que pasas a estos componentes, te recomendamos que pases un valor nulo. También te recomendamos que realices cambios similares en tus propios componentes. (f8fa920). - Actualizamos
rememberExpandableState
para 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 la configuración de
ReduceMotion
para usar un objeto de escucha que se adapta al ciclo de vida. (7c6b122). - Actualizamos el objeto de escucha de
TouchExplorationStateProvider
para que reconozca el ciclo de vida (be28b01). - Quitamos la capa de materialcore para
CompactButton
para mejorar el rendimiento (25db8e9). - Hicimos que
BasicSwipeToDismissBox
sea más resistente a los desfases de NaN para evitar excepciones (b983739). - Se actualizó
BasicSwipeToDismissBox
para garantizar que los valores de alfa estén dentro del rango 0,1. - Se corrigió un error en
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
yRadioButton
para 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 mostrar, por el que se podía interactuar con (y cancelar) una acción confirmada en un elemento si se comenzaba 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ónSwipeToDismissValue
y la función de extensiónModifier.edgeSwipeToDismiss
ahora 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 aplicar colores de un tema configurado, se controlan por separado. - Las clases
SwipeToRevealCard
ySwipeToRevealChip
te ayudan a implementarrecommended swipe-to-reveal guidance
. En la claseSwipeToRevealSample
, se muestra cómo usar estos componentes. Nuestra versión 1.3.0-alpha02 introdujo un cambio que hace que los objetos
Chip
yToggleChip
aumenten de altura para admitir mejor la escala de fuente seleccionada por el usuario. Esto puede provocar que se produzcan algunos recortes. Para solucionar este problema, la formalarge
paraMaterialTheme
ahora usa un radio de esquina más grande (26 dp en lugar de 24 dp). Los objetosChip
yToggleChip
usan este nuevo radio de esquina para evitar recortar el contenido en las esquinas de Chip yToggleChip
.- La mayoría de los
Chips
yToggleChips
no cambian, ya que tienen una altura predeterminada de 52 dp. Sin embargo, los objetosChip
yToggleChip
que contienen varias líneas de texto de etiquetas primarias o secundarias, o para los que se anuló la altura, pueden hacer que las pruebas de capturas de pantalla fallen.
- 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 se desplacen por el contenido de la pantalla, como en una app basada en mapas, desactiva el manejo de deslizamientos configurando
userSwipeEnabled
comofalse
en el elemento componibleSwipeDismissableNavHost
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 atenuación y cambio de posición dentro de una lista de desplazamiento, usa un objeto
SnapSpec
. - Mientras esperas a que una app multimedia cargue contenido para la reproducción, muestra un elemento componible
Placeholder
en blanco. - Para crear una colección de elementos expandibles a pedido, considera usar la clase experimental
ExpandableStateMapping
.
Versión 1.3.0-rc01
10 de enero de 2024
Lanzamiento de androidx.wear.compose:compose-*:1.3.0-rc01
. La versión 1.3.0-rc01 contiene estas confirmaciones.
Correcciones de errores
-
Actualizamos la forma grande
MaterialTheme
para usar un radio de esquina redondeada de 26 dp, que ahora 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ía parte del contenido de texto.Este cambio puede provocar una falla 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
- Restauramos el movimiento de deslizamiento deseado en
BasicSwipeToDismissBox
. Esto se había modificado en una versión anterior, de modo que la parte deslizante 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 marca como experimental). Wear Compose 1.3 incluye las siguientes funciones nuevas:
SwipeToDismissBoxState
,SwipeToDismissValue
yModifier.edgeSwipeToDismiss
se migraron deandroidx.wear.compose.material
aandroidx.wear.compose.foundation
, junto con la implementación subyacente de deslizar para descartar enBasicSwipeToDismissBox
. Esto permite que el manejo de gestos para deslizar y descartar se use independientemente de Material Design, por ejemplo, desdeSwipeDismissableNavHost
enandroidx.wear.compose.navigation
. Aún se recomienda usarSwipeToDismissBox
deandroidx.wear.compose.material
con Material Design, ya que extrae colores deMaterialTheme
y, luego, delega la implementación restante aBasicSwipeToDismissBox
.SwipeDismissableNavHost
ahora admite un nuevo parámetrouserSwipeEnabled
para que se pueda desactivar el manejo de deslizamientos en las pantallas en las que no es necesario.BasicSwipeToDismissBox
mejoró el manejo del enfoque conHierarchicalFocusCoordinator
.SwipeToReveal
tiene nuevos elementos componiblesSwipeToRevealCard
ySwipeToRevealChip
en Material que siguen la guía de UX recomendada paraCard
yChip
. También admite la acción de deshacer para la acción secundaria.DefaultTextStyle
ahora desactiva el padding de la fuente para que sea coherente en toda la plataforma de Android.Chip
yToggleChip
ahora ajustan su altura para adaptarse al contenido que aumentó debido a las fuentes grandes para la accesibilidadPositionIndicator
ahora tiene especificaciones de animación individuales para las animaciones de fundido de entrada, fundido de salida y cambio de posición. Por motivos de rendimiento, te recomendamos que desactives la atenuación y el cambio de posición cuando se usen con listas desplazables.ExpandableStateMapping
proporciona una nueva forma de generarExpandableStates
cuando se deben crear a pedido y no necesariamente con un alcance de@Composable
.Placeholder
ahora permite restablecer 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
PositionIndicator
no se muestra inicialmente cuando se muestra una pantalla por primera vez. Tenemos la intención de hacer un cambio en una versión alfa temprana de 1.4 para que se muestre inicialmente, pero sin ninguna animación.
Cambios en la API
- Se cambió el nombre del nivel de fundación
SwipeToDismissBox
aBasicSwipeToDismissBox
. Esto hace que la distinción entre el componente de nivel de Foundation y elSwipeToDismissBox
de nivel de Material sea más clara. Este último extrae colores deMaterialTheme
para usarlos en las pantallas en blanco y delega la implementación restante aBasicSwipeToDismissBox
. (Ibecfc). - Marcamos
rememberExpandableStateMapping
como experimental y mejoramos el rendimiento deexpandableItem
. (I5f6bc). - Reemplazamos la clase
SwipeToRevealAction
en las APIs de tarjetas y chipsSwipeToReveal
de Material por una API basada en ranuras que usa elementos componiblesSwipeToRevealPrimaryAction
,SwipeToRevealSecondaryAction
ySwipeToRevealUndoAction
. Consulta el código de muestra para ver ejemplos sobre cómo usar la nueva API. (Ia8943). - Reemplazamos las marcas de animación
PositionIndicator
por parámetrosAnimationSpec
. Para inhabilitar las animaciones individuales, pasasnap
comoAnimationSpec
. (I6c523).
Correcciones de errores
- Corregimos un error que se activaba con el texto curvo limitado cuando el tamaño era limitado (I50efe).
- Solucionamos una posible falla de NaN relacionada con
curvedComposable
(I970eb). - Revertimos la eliminación de la animación de resaltado de cambio de posición en
PositionIndicator
. (Ieb424). - Quitamos la capa de material-core para el 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
PositionIndicator
para controlar diferentes animaciones:showFadeInAnimation
,showFadeOutAnimation
yshowPositionAnimation
. 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 usaPositionIndicator
con una lista desplazable, te recomendamos que desactives las marcasshowFadeInAnimation
yshowPositionAnimation
. SiPositionIndicator
se usa como indicador independiente, por ejemplo, para el cambio de volumen, te recomendamos que tengas activadas las 3 animaciones. (I44294). - Dejamos de admitir
SwipeToDismissBoxState
,SwipeToDismissValue
yedgeSwipeToDismiss
de Material después de migrar la funcionalidad de deslizar para descartar awear.compose.foundation
. Reemplaza por los equivalentes dewear.compose.foundation
. (Iee8c9).
Correcciones de errores
- Se actualizaron los perfiles de Baseline para las bibliotecas de Wear Compose Foundation, Material y Navigation. (Idb060).
- Revertiremos un cambio de comportamiento para
PositionIndicator
que se introdujo en una CL anterior, de modo quePositionIndicator
se analice cuando se muestre una pantalla inicialmente. Tenemos la intención de hacer un cambio similar en una versión alfa temprana de 1.4, de modo que elPositionIndicator
se muestre inicialmente, pero sin ninguna animación. (I41843) - Solucionamos 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 se base en
State<Boolean>
en lugar del estado derivado. (Ieec4d). - Establecimos rectángulos
systemGestureExclusion
para Android 13 y versiones posteriores. (Ib1f4b).
Versión 1.3.0-alpha07
4 de octubre de 2023
Lanzamiento de androidx.wear.compose:compose-*:1.3.0-alpha07
. La versión 1.3.0-alpha07 contiene estas confirmaciones.
Cambios en la API
- Se agregaron marcas individuales a
PositionIndicator
para controlar diferentes animaciones:showFadeInAnimation
,showFadeOutAnimation
yshowPositionAnimation
. 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 usaPositionIndicator
con una lista desplazable, te recomendamos que desactives las marcasshowFadeInAnimation
yshowPositionAnimation
. SiPositionIndicator
se usa como indicador independiente, por ejemplo, para el cambio de volumen, te recomendamos que tengas activadas las 3 animaciones. (Ia2d63)
Correcciones de errores
- Realizamos mejoras en el deslizamiento para revelar el movimiento. Para ello, agregamos una animación de atenuación al texto de la acción principal y atenuamos la acción secundaria o cambiamos la escala del ícono cuando se expande el deslizamiento completo. (Ib7223).
- Se recomienda que las acciones de deslizar para revelar sean accesibles, y 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. ElSwipeToDismissBox
ahora se dibuja como el tamaño de pantalla completa. (Ie0aa2). - Se corrigió un error en el que
PositionIndicator
desaparecía de forma incorrecta. (I2091a). - Se mejoró el rendimiento de
PositionIndicator
mediante la optimización de las recomposiciones. Se agregaron marcas nuevas para controlar las animaciones (fadeIn
,fadeOut
ypositionChange
) posteriormente (consulta los 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.edgeSwipeToDismiss
conSwipeToReveal
. (I95774, b/293444286). - Se agregaron muestras para
SwipeToRevealChip
ySwipeToRevealCard
de Material. (Ieb974). - Se actualizaron los perfiles de Baseline para las bibliotecas de Material y Foundation de Wear Compose. (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 el control en Deslizar para mostrar para que solo se pueda deslizar un elemento a la vez. (I3cd7a).
- Se mejoró la documentación de
ScalingLazyColumnDefaults
para que coincida mejor con su comportamiento real. (I886d3)
Versión 1.3.0-alpha04
23 de agosto de 2023
Lanzamiento de androidx.wear.compose:compose-*:1.3.0-alpha04
. La versión 1.3.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con la acción de deshacer para la acción secundaria de
SwipeToReveal
. (I7a22d).
Cambios en la API
- Se agregó
HorizontalPageIndicator
en la biblioteca de Material3 para Wear. (Ifee99). - Se actualizaron las herramientas de vista previa de Wear Compose para usar la biblioteca
androidx.wear.tooling.preview
. (Ib036e).
Correcciones de errores
- Se corrigió un error en los botones redondos en el que los modificadores no se encadenaban correctamente. (I5e162).
Versión 1.3.0-alpha03
9 de agosto de 2023
Lanzamiento de androidx.wear.compose:compose-*:1.3.0-alpha03
. La versión 1.3.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Se agregaron dos nuevos elementos componibles en Material para implementar
SwipeToReveal
con tarjetas y chips. Estos elementos componibles siguen la guía de UX recomendada en el componente y facilitan a los desarrolladores la implementación deSwipeToReveal
con los componentes existentes en Material para Wear. (I7ec65) - Activamos las anotaciones
FloatRange
como restricciones de la API, que se indicaban anteriormente en los comentarios. (Icb401).
Correcciones de errores
- Movemos la lógica de desplazamiento inicial de
ScalingLazyColumn
dentro deonGloballyPositioned()
. (Ic90f1). - Ahora usamos
drawWithCache
enPositionIndicator
,ProgressIndicator
ySelectionControls
para optimizar las asignaciones de trazo. (I5f225, b/288234617). - Corrigimos la visibilidad de la marca de verificación de la casilla en los estados inhabilitados. (Ib25bf).
- Se actualizó
Placeholder
para permitir que el restablecimiento muestre el marcador de posición si el contenido ya no está en estado listo. (Ibd820). - Realizamos algunas correcciones en las pruebas inestables de
Placeholder
(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). SwipeToDismissBox
se migró deandroidx.wear.compose.material
al paqueteandroidx.wear.compose.foundation
. (I275fb).- Se actualizaron los archivos de la API para anotar la supresión de compatibilidad. (I8e87a, b/287516207).
- Se hicieron públicas las constantes de altura para
Chip
,CompactChip
yToggleChip
(Idbfde). - Se hicieron públicos los paddings horizontales y verticales para
Chip
yCompactChip
. (Ieeaf7). - Se agregó la funcionalidad para desactivar el manejo de deslizamientos en
SwipeDismissableNavHost
a través del nuevo parámetrouserSwipeEnabled
. (Id2a0b, b/230865655). - Se actualizó la biblioteca de Navigation de Wear Compose para usar el nuevo
SwipeToDismissBox
de Wear Compose Foundation. (I4ff8e).
Correcciones de errores
- Se corrigió un error de orden en Z por el que
expandedItem
no mostraba el contenido correcto después de hacer clic en el comportamiento de un botón cuando tenían botones. (I1899d, b/289991514) - Se mejoró el control de enfoque de
SwipeToDismissBox
(y, por lo tanto, deSwipeDismissableNavHost
) conHierarchicalFocusCoordinator
(I45362, b/277852486). - Realizamos una corrección en el manejo de gestos en
SwipeableV2
. (I89737). - Finalizamos los perfiles de Baseline para la versión 1.2. (Id5740).
- Después de la migración de
SwipeToDismissBox
a Foundation, la implementación deSwipeToDismissBox
de Material ahora reenvía a Foundation y proporciona valores de color predeterminados desde su tema.(If8451) - Se agregaron semánticas de encabezado a
ListHeader
. (Ic5420). Chip
yToggleChip
ahora ajustarán su altura para admitir contenido que aumentó debido a fuentes grandes para la accesibilidad, cuando sea necesario. (Iaf302).- Se corrigió un error en el rol semántico del área que se puede presionar de
SplitToggleChip
para la accesibilidad. (Ieed3a). - El parámetro de configuración para reducir el movimiento ahora desactiva el efecto de brillo y el movimiento de limpieza en los marcadores de posición. (I91046).
Stepper
yInlineSlider
ahora admiten clics repetidos en la acción de mantener presionado para que puedas aumentar o disminuir rápidamente el valor deStepper
yInlineSlider
manteniendo presionados los botones + o -. (I27359)
Versión 1.3.0-alpha01
21 de junio de 2023
Lanzamiento de androidx.wear.compose:compose-*:1.3.0-alpha01
. La versión 1.3.0-alpha01 contiene estas confirmaciones.
Correcciones de errores
- Como se anunció en
1.2.0-alpha07
y1.2.0-alpha10
, ahora cambiamosDefaultTextStyle
para desactivar el padding de fuente para que sea coherente en toda la plataforma de Android. Esto abordará algunos casos de recorte de texto con tamaños de fuente grandes y también puede afectar los diseños de pantalla, por lo que se deben actualizar las pruebas de capturas de pantalla. Por ejemplo, aquí vemos el recorte de texto (Ic6a86).
- Ya no está presente cuando se desactiva el padding de la fuente:
- Actualizamos
wear.compose.foundation
para que sea una dependencia de API dewear.compose.material
(I72004, b/285404743). - Se corrigió un error en
SwipeToDismissBox
. Las claves de fondo y contenido ahora se pasan al bloque de recuerdo para que se creen modificadores nuevos cuando cambie el contenido o el fondo. (Ib876c, b/280392104) - Actualizamos
TimeText
para usar la configuración regional cuando se elige el formato de 12 o 24 horas. (If4a3d). - Se corrigió una incoherencia en los parámetros predeterminados de
contentScrimColor
SwipeToDismissBox
. (I2d70f). - Mejoramos el manejo de movimiento en
SwipeToReveal
. (I28fb7).
Errores conocidos
- Admitir tamaños de fuente configurados por el usuario es un requisito de accesibilidad. Sabemos que los chips de varias líneas pueden provocar que se recorte el texto cuando se muestran con tamaños de fuente grandes, por lo que actualizaremos Chip en una versión alfa temprana de 1.3 para hacer 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 hacía que
PositionIndicator
desapareciera 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 la versión 1.2 (Id5740).
Versión 1.2.0-beta02
7 de junio de 2023
Lanzamiento de androidx.wear.compose:compose-*:1.2.0-beta02
. La versión 1.2.0-beta02 contiene estas confirmaciones.
Nuevas funciones
- Agregamos la nueva variable experimental
CompositionLocal
LocalReduceMotion
, que inhabilita el escalamiento y la atenuación enScalingLazyColumn
. (I58024).
Correcciones de errores
- Se actualizaron los perfiles de Baseline para las bibliotecas de Material y Wear Compose Foundation(I4725d).
- Corrigimos una incoherencia en los valores predeterminados de los parámetros
contentScrimColor
deSwipeToDismissBox
(I2d70f). - Corrigimos el valor predeterminado de
DefaultTextStyle
que se usaba para la configuración deIncludeFontPadding
(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:
expandableItem
yexpandableItems
son dos nuevos componentesFoundation
que admiten la expansión de elementos dentro de unScalingLazyColumn
. UsaexpandableItem
para un solo elemento expandible, como Text en el que se muestra la cantidad de líneas. UsaexpandableItems
para un grupo de elementos expandibles yexpandableButton
para simplificar la creación de un botón que se contraiga después de que se expanda el contenido.HierarchicalFocusCoordinator
: Este elemento componible experimental permite marcar subárboles de la composición como enfoque habilitado o inhabilitado.Picker
: La API ahora incluyeuserScrollEnabled
para 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 deHierarchicalFocusCoordinator
y habilita el centrado automático de los elementos del selector.Placeholder
: Realizamos actualizaciones en el brillo y las animaciones de "Borrar". El efecto de borrado ahora se aplica de inmediato cuando el contenido está listo.ScalingLazyColumn
: MigramosScalingLazyColumn
y las clases asociadas deandroidx.wear.compose.material.ScalingLazyColumn
aandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
. Actualiza para usar la versiónFoundation.Lazy
.SwipeToReveal
: Se agregó compatibilidad experimental con el deslizamiento para revelar como una forma de acceder a acciones secundarias, lo que complementa el patrón existente de "mantener presionado".Stepper
: Ahora tiene una sobrecarga con un parámetroenableRangeSemantics
adicional para facilitar la inhabilitación de la semántica del rango predeterminado.Previews
: Agregamos las siguientes anotaciones personalizadas para obtener una vista previa de los elementos componibles en pantallas de Wear:WearPreviewSmallRound
muestra una vista previa del elemento componible en un dispositivo redondo pequeño;WearPreviewLargeRound
muestra una vista previa del elemento componible en un dispositivo redondo grande;WearPreviewSquare
muestra una vista previa del elemento componible en un dispositivo cuadrado. Además, las siguientes anotaciones y anotaciones de vista previa múltiple:WearPreviewFontScales
obtiene una vista previa de los elementos componibles en un dispositivo para Wear con varios tamaños de fuente, mientras queWearPreviewDevices
obtiene una vista previa de los elementos componibles en diferentes dispositivos para Wear.- Se agregó un
DefaultTextStyle
a Wear Compose que establece la propiedadPlatformTextStyle.includeFontPadding
como verdadera de forma predeterminada (este es el parámetro de configuración actual). Esto nos permitirá sincronizar la desactivación del padding de fuente de forma predeterminada con las bibliotecas de Compose en una versión alfa temprana de 1.3. Consulta 1.2.0-alpha10 para obtener más información.
Nuevas funciones
- Se agregó compatibilidad experimental con la animación de atenuación y escalamiento inhabilitada cuando el parámetro de configuración reduce_motion está activado. (I58024).
Correcciones de errores
- Se mejoró la documentación de
angularWidthDp
enCurvedSize.kt
(Iab75c). SwipeDismissableNavHost
ahora registra una advertencia con posibles causas de una pila de actividades vacía. Esto se hace para evitar fallas inesperadas causadas porIllegalArgumentException
, que se arrojó cuando la pila de actividades estaba vacía. (I04a81, b/277700155).
Versión 1.2.0-alpha10
10 de mayo de 2023
Lanzamiento de androidx.wear.compose:compose-*:1.2.0-alpha10
. La versión 1.2.0-alpha10 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con el deslizamiento para revelar como una forma de acceder a acciones secundarias. Este patrón complementa el patrón de "mantener presionado", la forma existente en que un usuario puede revelar acciones secundarias (diferentes). (I60862).
Cambios en la API
- Agregamos
RevealScope
a los elementos componibles de acción enSwipeToReveal
, lo que brinda acceso al desplazamiento en el que se revelan acciones adicionales. (I3fd56).
Correcciones de errores
- Se solucionó un problema por el que
ScalingLazyColumn
se bloqueaba en la API de Wear 33 después de un deslizamiento (Ic4599). - Realizamos algunas mejoras de rendimiento en
PositionIndicator
para reducir el bloqueo. (I35e92). - Corregimos un error en Chip y
CompactChip
por el que el rol semántico ya no se configuraba comoRole.Button
. (I93f91, b/277326264)
Errores conocidos
Identificamos un error en Android Studio que causa fallas en la renderización de la vista previa cuando se agregan anotaciones con @WearPreviewDevices y @WearPreviewFontScales. Se planea lanzar una corrección pronto. Ten en cuenta que las otras anotaciones de vista previa para Wear funcionan según lo previsto en Android Studio Giraffe 2022.3.1 y versiones posteriores.
En la versión 1.2.0-alpha07, agregamos DefaultTextStyle a Wear Compose y mantuvimos el valor existente de PlatformTextStyle.includeFontPadding como verdadero. Para obtener información de fondo, consulta Cómo corregir el padding de fuente en Compose. Cambiaremos DefaultTextStyle para desactivar el padding de la fuente en una versión alfa temprana de 1.3, para que sea coherente en toda la plataforma de Android. Esto abordará algunos casos de recorte de texto con tamaños de fuente grandes y también puede afectar los diseños de pantalla, por lo que las pruebas de capturas de pantalla deben actualizarse. Por ejemplo, con tamaños de fuente grandes, vemos el recorte de texto aquí:
- Ya no está presente cuando se desactiva el padding de la fuente:
Ahora puedes adoptar el nuevo parámetro de configuración 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ó
angularSizeDp
a la API deCurvedModifier
para establecer el ancho angular en DP (I89a52).
Correcciones de errores
- Solucionamos 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
ExpandableItemsState
porExpandableState
. (If85ea). - Agregamos
expandableButton
para simplificar la creación de un botón que se contraiga cuando se expanda el contenido y también actualizamos los ejemplos de elementos expandibles. (Iae309).
Correcciones de errores
- Se mejoraron los ejemplos expandibles para mostrar más posibilidades. Se modificó la animación de
expandableItem
para mantener su contenido centrado durante la animación. (I2f637) - Se actualizó
ToggleControls
para evitar recomposiciones adicionales cuando se animan los colores de forma manual con el estado. (I5d319).
Versión 1.2.0-alpha07
22 de marzo de 2023
Lanzamiento de androidx.wear.compose:compose-*:1.2.0-alpha07
. La versión 1.2.0-alpha07 contiene estas confirmaciones.
Cambios en la API
- Trasladamos los componentes de elementos expandibles (agregados en 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 se producía en una pantalla con
PickerGroup
. Para ello, nos aseguramos de quePickerGroup
controle el enfoque correctamente cuando ningún selector tenga el enfoque. También se agregó compatibilidad con el desplazamiento de RSB en nuestras demostraciones de Selector. (If8c19). - Mejoramos las transiciones de diálogo. La transición de introducción ahora es más fluida para que coincida con la de cierre. (Ib5af9).
- Se agregó un
DefaultTextStyle
a Wear Compose que establece la propiedadPlatformTextStyle.includeFontPadding
como verdadera de forma predeterminada (este es el parámetro de configuración actual). Esto nos permitirá sincronizar la desactivación del padding de fuente de forma predeterminada con las bibliotecas de Compose en el futuro. Consulta (Cómo corregir el padding de fuente en Compose) para obtener información de fondo. (I2aee8). - Se revirtió una dependencia de vista previa de
UpsideDownCake
a 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 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
ScalingLazyColumn
o un solo elemento expandible, como el texto en el que se expande la cantidad de líneas. (I95dd5). - Agregamos las siguientes anotaciones personalizadas para obtener una vista previa de los elementos componibles en pantallas de Wear:
WearPreviewSmallRound
muestra una vista previa del elemento componible en un dispositivo redondo pequeño;WearPreviewLargeRound
muestra una vista previa del elemento componible en un dispositivo redondo grande;WearPreviewSquare
muestra una vista previa del elemento componible en un dispositivo cuadrado. Además, las siguientes anotaciones y anotaciones de vista previa múltiple:WearPreviewFontScales
obtiene una vista previa de los elementos componibles en un dispositivo para Wear con varios tamaños de fuente, mientras queWearPreviewDevices
obtiene una vista previa de los elementos componibles en diferentes dispositivos para 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, puedes usar la vista previa, que admite más personalizaciones a través de parámetros. (I397ff). - Marcamos
HierarchicalFocusCoordinator
como 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 lambda que se pasa para el parámetrofocusEnabled
, ahora usamos correctamente la nueva. (Icb353). - Se actualizó el color predeterminado del contenido inhabilitado a Fondo cuando se usan colores primarios como fondo en
Button
,CompactButton
,Chip
,CompactChip
yToggleButton
. Esto mejora el contraste para la accesibilidad. (I527cc)
Versión 1.2.0-alpha05
22 de febrero de 2023
Lanzamiento de androidx.wear.compose:compose-*:1.2.0-alpha05
. La versión 1.2.0-alpha05 contiene estas confirmaciones.
Cambios en la API
- Se actualizó la API de
PickerGroup
para permitir propagar las restricciones mínimas al elemento componible de forma opcional. Cuando se establece como verdadero, se permitirán las restricciones mínimas que se pasan del elemento componible superior en elPickerGroup
. Si se establece como falso,PickerGroup
restablecerá las restricciones mínimas. (I3e046). - Agregamos
animateScrollToOption
a la API de Picker para admitir la animación programática en una opción de Selector específica (I6fe67).
Correcciones de errores
- Se actualizó
HorizontalPageIndicator
para admitir diseños de derecha a izquierda. (Ia4359). - Se agregaron pruebas de captura de pantalla para el diseño de derecha a izquierda en
HorizontalPageIndicator
(I6fbb8). - Se agregaron más pruebas a
SwipeDismissableNavHostTest
que 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
PickerGroup
para controlar varios selectores juntos mediante la API de foco. Controla el enfoque entre los diferentes selectores, habilita el centrado automático de los selectores según los parámetros y permite a los desarrolladores cambiar el enfoque entre diferentes selectores mientras maneja los eventos del grupo. En el modo TalkBack,PickerGroup
maneja el enfoque de TalkBack moviendo el enfoque al selector elegido del grupo (I60840).
Cambios en la API
- Se agregó una sobrecarga a Stepper con un parámetro
enableRangeSemantics
adicional para facilitar la inhabilitación de la semántica del rango predeterminado (Ia61d4).
Correcciones de errores
- Se permite que
ScalingLazyColumn
se anide en una página de desplazamiento horizontal (Iec3f8, b/266555016). - Mejoras en la limpieza de pruebas de kdocs y Stepper de
StepperTest
(Ic118e). - Se actualizó la dependencia
androidx.navigation
a la versión 2.5.3 (If58ed).
Versión 1.2.0-alpha03
25 de enero de 2023
Lanzamiento de androidx.wear.compose:compose-*:1.2.0-alpha03
. La versión 1.2.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Migramos
ScalingLazyColumn
(y las clases asociadas) deandroidx.wear.compose.material.ScalingLazyColumn
aandrdoidx.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.LazyColumn
y es más natural, ya que no es un componente de Material definido. El cambio se está realizando en preparación para una nueva biblioteca de Material3, en la que trabajaremos en paralelo con la biblioteca de Material existente (I060e7).
Los siguientes cambios forman parte de la migración ScalingLazyColumn
de Material a Foundation.Lazy
:
- Las APIs de
PositionIndicator
orientadas aScalingLazyColumn
de Material dejaron de estar disponibles. Actualiza aFoundation.Lazy ScalingLazyColumn
. Además, se agregó el campoanchorType
aScalingLazyListLayoutInfo
(I29d95). - El objeto
ScalingLazyColumn
dejó de estar disponible en el paquete de Material de Wear Compose (I16d34). - Se actualizó el modificador
ScrollAway
para usarScalingLazyListState
desdeFoundation.Lazy
de Wear Compose, y se dio de baja la sobrecarga que tomabaScalingLazyListState
de Wear Compose Material (Ifc42c). - Se actualizaron las APIs de Dialog para usar
ScalingLazyListState
desdeFoundation.Lazy
, y las sobrecargas que usabanScalingLazyListState
de Material dejaron de estar disponibles (Ic8960). - Actualizamos las APIs de Selector para usar
ScalingParams
desdeFoundation.Lazy
, y las sobrecargas que usabanScalingParams
de Material dejaron de estar disponibles (Idc3d8).
Correcciones de errores
- Se corrigió un error que causaba recomposiciones innecesarias en
ScalingLazyListState.centerItemIndex
. Para ello, nos aseguramos de que solo se envíen actualizaciones cuando el valor cambie (Ia9f38). - Mejoramos el rendimiento de
SwipeToDismissBox
(I3933b). - Se agregaron pruebas de comparativas para
ScalingLazyColumn
en Wear Compose Foundation (Ie00f9). - Se actualizaron algunos métodos de clases
ScalingLazyColumn
internos en Material para usar sus equivalentes 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
ScalingLazyColumn
de modo que dependan deFoundation.Lazy
en lugar deScalingLazyColumn
de Material (Ic6caa). - Se agregaron parámetros
fromDate/toDate
opcionales 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
minLines
a Wear Text para lograr un comportamiento coherente conBasicText
(I24874). - Se hizo público
CompactChipTapTargetPadding
para que aparezca en la documentación (If1e70, b/234119038).
Correcciones de errores
- Se inhabilitaron las compilaciones multiplataforma para paquetes de
wear.compose
(Iad3d7). - Se corrigió kdocs para
scrollToOption
(I6f9a0). - Se actualizó
PlaceholderState.rememberPlaceholderState()
para que userememberUpdatedState
y que el estado se actualice sionContentReady
es lambda (I02635, b/260343754). - Corregimos un problema de Jitter de texto que se ve en el componente
Picker
. Para ello, aprovechamos la nueva estrategia de composición que se agregó 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
HierarchicalFocusCoordinator
componible para habilitar que se marque el subárbol de la composición como enfoque habilitado o inhabilitado (I827cb). - Se agregó una nueva propiedad para anular la función semántica para
ToggleButton
(I67132). - Se actualizó
TimeTextDefaults.TimeFormat12Hours
para que quite la función de a.m./p.m. enTimeText
. Esto cambiará el valor predeterminado de los parámetrostimeSource
en la API deTimeText
(I1eb7f). - Ampliamos la API de Picker para mejorar la accesibilidad de las pantallas con selector múltiple. Hay una nueva propiedad
userScrollEnabled
que tiene el fin de controlar si el selector está activo para el desplazamiento del usuario (I3c3aa).
Correcciones de errores
- Cambiamos el ancho de borde predeterminado de
OutlinedButton/OutlinedCompactButton
de 2.dp a 1.dp para que coincida con las especificaciones de UX finales (Icf84d). - Para reducir el efecto del primer elemento que se agrega a un
ScalingLazyColumn
vacío que aparece para desplazarse a su lugar, agregamos unautoCentering topPadding
estimado cuando el contenido está vacío. Este cambio calcula la cantidad de padding superior que se necesita si se supone que el elemento inicial tiene una altura es 0 dp. En el caso 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
SwipeToDismiss
para que coincida con la plataforma de Wear (I9003e). - Se corrigió el control de
PositionIndicator
deLazyListState
yScalingLazyListState
para los elementos de lista de tamaño 0 para evitar errores de división por cero (Ic28dd).
Versión 1.1
Versión 1.1.2
8 de febrero de 2023
Lanzamiento de androidx.wear.compose:compose-foundation:1.1.2
, androidx.wear.compose:compose-material:1.1.2
y androidx.wear.compose:compose-navigation:1.1.2
. La versión 1.1.2 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un error que causaba recomposiciones innecesarias en
ScalingLazyListState.centerItemIndex
. Para ello, nos aseguramos de que solo se envíen actualizaciones cuando el valor cambie (Ia9f38).
Versión 1.1.1
11 de enero de 2023
Se lanzaron androidx.wear.compose:compose-foundation:1.1.1
, androidx.wear.compose:compose-material:1.1.1
y androidx.wear.compose:compose-navigation:1.1.1
. La versión 1.1.1 contiene estas confirmaciones.
Correcciones de errores
- Se actualizó
PlaceholderState.rememberPlaceholderState()
para que userememberUpdatedState
y que el estado se actualice sionContentReady
es lambda (I02635, b/260343754).
Versión 1.1.0
7 de diciembre de 2022
Lanzamiento de androidx.wear.compose:compose-foundation:1.1.0
, androidx.wear.compose:compose-material:1.1.0
y androidx.wear.compose:compose-navigation:1.1.0
. La versión 1.1.0 contiene estas confirmaciones.
Cambios importantes desde 1.0.0
- 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/OutlinedCompactButton
de 2.dp a 1.dp para que coincida con las especificaciones de UX finales (Icf84d). - Para reducir el efecto del primer elemento que se agrega a un
ScalingLazyColumn
vacío que aparece para desplazarse a su lugar, agregamos unautoCentering topPadding
estimado cuando el contenido está vacío. Este cambio calcula la cantidad de padding superior que se necesita si se supone que el elemento inicial tiene una altura es 0 dp. En el caso 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
SwipeToDismiss
para que coincida con la plataforma de Wear (I9003e). - Se corrigió el control de
PositionIndicator
deLazyListState
yScalingLazyListState
para los elementos de lista de tamaño 0 para evitar errores de división por cero (Ic28dd).
Versión 1.1.0-rc01
9 de noviembre de 2022
Lanzamiento de androidx.wear.compose:compose-foundation:1.1.0-rc01
, androidx.wear.compose:compose-material:1.1.0-rc01
y androidx.wear.compose:compose-navigation:1.1.0-rc01
. La versión 1.1.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Agregamos reglas de perfil de Baseline para
Placeholders
,ScrollAway
,RadioButton
,Switch
,Checkbox
,OutlinedButton
,OutlinedCompactButton
,OutlinedChip
yOutlinedCompactChip
. (I8249c) - Corregimos un error en
Modifier.scrollAway
para que, si el elementoitemIndex
especificado no es válido (por ejemplo, si el índice de elementos está fuera de rango), se muestreTimeText
de todos modos. (I2137a) - Actualizamos la animación de
SwipeToDismissBox
para que coincida con la implementación de la plataforma. Después de la animación de apretar inicial, la pantalla ahora se desliza hacia la derecha una vez que se activa el descarte. (I41d34) - Como optimización, actualizamos
Modifier.scrollAway
para que solo lea elscrollState
dentro del bloque de medición para evitar la recomposición del modificador después de cada nueva medición. (I4c6f1) - Agregamos documentación y una muestra a los marcadores de posición para mostrar el orden correcto para
Modifier.placeholder
yModifier.placeholderShimmer
cuando se aplican al mismo elemento componible. (Ie96f4, b/256583229) - Cambiamos el ancho de borde predeterminado de
OutlinedCompactChip/OutlinedChip
de 2.dp a 1.dp para que coincida con las especificaciones de UX finales. (Ib3d8e) - Se corrigió un error en
rememberPickerState
por el que no se guardaban las entradas actualizadas, de modo que los elementos componibles no se actualizaban después de los cambios en las entradas. (I49ff6, b/255323197) - Hicimos algunas actualizaciones de IU a los marcadores de posición: 1) cambiamos el gradiente de brillo a 1.5 veces el tamaño de la pantalla, 2) agregamos una aceleración (bézier cúbico) de la progresión del brillo y 3) aceleramos la animación de eliminación (250 ms). (Id29c1)
- Corregimos un error de IU en el efecto wipeOff de marcadores de posición en el que los fondos Chip y Card se eliminaban un poco antes debido a que no se tenía en cuenta la posición del componente en la pantalla. (I2c7cb)
- Se actualizó el dibujo de fondo del marcador de posición para combinar colores en lugar de superponerlos cuando sea posible a fin de reducir el riesgo de que la combinación alfa de las diferentes capas recortadas permitiera que los colores subyacentes se filtren en los bordes del marcador de posición de fondo. (I2ea26)
- Corregimos el cálculo de
ScalingLazyListState.centerItemIndex/centerItemOffset
para que, si dos elementos se ubican a ambos lados de la línea central del viewport, el que se encuentre más cercano se considerecenterItem
. (I30709, b/254257769) - Corregimos un error en
ScalingLazyListState.layoutInfo.visibleItemsInfo
que 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 deScalingLazyColumn
esté completa y que los elementos sean visibles. (I3a3b8)
Versión 1.1.0-beta01
24 de octubre de 2022
Se lanzaron androidx.wear.compose:compose-foundation:1.1.0-beta01
, androidx.wear.compose:compose-material:1.1.0-beta01
y androidx.wear.compose:compose-navigation:1.1.0-beta01
. La versión 1.1.0-beta01 contiene estas confirmaciones.
Qué incluye Compose para Wear OS 1.1
La versión 1.1.0-beta01 de Compose para Wear OS indicó que esta versión de la biblioteca está completa y la API está bloqueada.
- Wear Compose 1.1 incluye las siguientes funciones nuevas:
- Selector: Se implementaron mejoras de accesibilidad en el selector para poder navegar por las pantallas de selección múltiple con lectores de pantalla y acceder a la descripción del contenido.
- El parámetro
contentDescription
del selector ahora se usa solo para la opción del selector elegido y toma una string anulable (en la confirmación anterior, era necesario pasar una asignación de la opción a la descripción del contenido, pero solo se usó la opción seleccionada) - Los elementos del selector ahora están alineados con el centro, lo que corrige un error que se produce cuando configurar
gradientRatio
en cero tiene el efecto secundario de cambiar la alineación Chip/ToggleChip
: Actualizamos los gradientes predeterminados paraChip/ToggleChip
para que se alineen con las especificaciones de UX más recientes. Se actualizó la métricaChipDefaults.gradientBackgroundChipColors
de modo que comience desde el 50% de la principal en lugar del 32.5%.Chip/ToggleChip
: Se agregaron sobrecargas para modificar formas de chipsChip/Button/ToggleButton
: Se agregó un nuevo estilo de contorno para chips y botones, y nuevos elementosOutlinedChip
yOutlinedButton
componibles que brindan un elementoChip/Button
transparente con un borde delgado.- Tarjeta: Se actualizaron los gradientes predeterminados para tarjetas para alinearlos con la última especificación de UX. Se actualizó
CardDefaults.cardBackgroundPainter
de modo que comience desde el 30% de la principal y finalice al 20% de laonSurfaceVariant
(antes comenzaba en el 20% y llegaba al 10% de laonSurfaceVariant
).ToggleChip.toggleChipColors
cambia de un gradiente lineal de superficie del 75% al principal del 32.5% al de superficie del 0% al principal del 50%. Button/ToggleButton
: Se agregaron propiedades para modificar las formas de los botones- Tema: Actualizamos varios colores predeterminados en
MaterialTheme
para mejorar la accesibilidad, ya que los colores originales no tenían suficiente contraste, lo que generaba dificultades para que los usuarios pudieran diferenciar los fondos de chips, tarjetas o botones del color de fondo del tema. InlineSlider/Stepper
: Se agregaron funciones de botón de modo queTalkback
pueda reconocerlos como botones.- Estructura: Ahora,
PositionIndicator
se posiciona y cambia de tamaño para que solo ocupe el espacio necesario. Esto es útil, por ejemplo, si se le agrega información semántica, ya que TalkBack ahora podrá mostrar los límites correctos dePositionIndicator
en la pantalla. CurvedText/TimeText
: Se agregóModifier.scrollAway
, que desplaza de forma vertical un elemento fuera de la vista, según el estado de desplazamiento (con sobrecargas para trabajar conColumn
,LazyColumn
yScalingLazyColumn
). Por lo general,ScrollAway
se usa a fin de desplazar un elementoTimeText
fuera de la vista cuando el usuario comienza a desplazar una lista de elementos hacia arribaCurvedText/TimeText
: Se agregó compatibilidad confontFamily
,fontStyle
yfontSynthesis
enCurvedTextStyle
, que se puede usar encurvedText
ybasicCurvedText
CurvedText/TimeText
: Se agregófontWeight
al constructor y al método de copia enCurvedTextStyle
ToggleControls
: Se agregaron los controles de activaciónCheckbox
,Switch
yRadioButton
animados para usar conToggleChip
ySplitToggleChip
; estos se pueden usar en lugar de los íconos estáticos que proporcionaToggleChipDefaults
(switchIcon
,checkboxIcon
yradioIcon
)- Marcador de posición: Se agregó compatibilidad con marcadores de posición experimentales. Esto tiene tres efectos visuales diferentes diseñados para funcionar en conjunto:
- Primero, un efecto marcador de posición de pincel de fondo que se usa en contenedores como Chip and Cards para dibujar sobre el fondo normal cuando se espera a que cargue el contenido.
- En segundo lugar, un modificador (
Modifier.placeholder()
) para dibujar un widget de marcador de posición con forma de estadio sobre el contenido que se está cargando. - Tercero, un efecto de gradiente o brillo (
Modifier.placeholderShimmer()
) del modificador que se dibuja sobre los demás efectos para indicar a los usuarios que estamos esperando que se carguen los datos.- Todos estos efectos están diseñados para estar coordinados, relucientes y limpiarse de forma organizada.
- Se actualizaron las dependencias principales de Compose de 1.2 a 1.3.
Cambios en la API
- Los parámetros de fuente (
fontFamily
,fontWeight
,fontStyle
yfontSynthesis
) ahora se pueden especificar directamente como parámetros decurvedText
(Idc422).
Correcciones de errores
curveText
ybasicCurvedText
ahora funcionarán correctamente con TalkBack (con un nodo de compose-ui del tamaño adecuado (pero vacío) asociado a ellos, que usa el texto como descripción de contenido) (I7af7c, b/210721259).- Se corrigió un error de
Picker
que se producía cuandoPickerState.repeatedItems = false
agregaba una configuración explícita de parámetros de autoCentering en elScalingLazyColumn
interno de los selectores a fin de garantizar que sea posible desplazar la opción cero al centro de la vista (I8a4d7).
Versión 1.1.0-alpha07
5 de octubre de 2022
Lanzamiento de androidx.wear.compose:compose-foundation:1.1.0-alpha07
, androidx.wear.compose:compose-material:1.1.0-alpha07
y androidx.wear.compose:compose-navigation:1.1.0-alpha07
. La versión 1.1.0-alpha07 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con marcadores de posición experimentales. Esto tiene tres efectos visuales diferentes diseñados para funcionar en conjunto. Primero, un efecto marcador de posición de pincel de fondo que se usa en contenedores como Chip and Cards para dibujar sobre el fondo normal cuando se espera a que cargue el contenido. En segundo lugar, un modificador (
Modifier.placeholder()
) para dibujar un widget de marcador de posición con forma de estadio sobre el contenido que se está cargando. Tercero, un efecto de gradiente o brillo (Modifier.placeholderShimmer()
) del modificador que se dibuja sobre los demás efectos para indicar a los usuarios que estamos esperando que se carguen los datos. Todos estos efectos están diseñados para estar coordinados, relucientes y limpiarse de forma organizada. (I3c339)
Cambios en la API
- Se agregó compatibilidad con
fontWeight
,fontFamily
,fontStyle
yfontSynthesis
enCurvedTextStyle
, que se puede usar encurvedText
ybasicCurvedText
. Esos parámetros se pueden usar para especificar la fuente y el estilo que se usarán en el texto curvo (Iaa1a8), (I72759). - Se actualizó el parámetro de desplazamiento de
Modifier.scrollAway
a Dp para mantener la coherencia conModifier.offset
(anteriormente, estaba en píxeles). Además, se refactorizó como unLayoutModifier
para mayor eficiencia (I9f94b). - Como parte de la nueva API de controles de activación, cambiamos el nombre de
RadioButton’s circleColor
aringColor
(I28fa9). - Se agregaron los controles de activación animados
Checkbox
,Switch
yRadioButton
para usar conToggleChip
ySplitToggleChip
. Estos se pueden usar en lugar de los íconos estáticos que proporcionaToggleChipDefaults
(switchIcon
,checkboxIcon
yradioIcon
) (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
,LazyColumn
yScalingLazyColumn
). Por lo general,ScrollAway
se usa para desplazar un elementoTimeText
fuera de la vista cuando el usuario comienza a desplazar una lista de elementos hacia arriba (I61766).
Correcciones de errores
- Ahora,
PositionIndicator
se posiciona y cambia de tamaño para que solo ocupe el espacio necesario. Esto es útil, por ejemplo, si se le agrega información semántica, ya que TalkBack ahora podrá mostrar los límites correctos dePositionIndicator
en la pantalla. (Ie6106, b/244409133).
Versión 1.1.0-alpha05
7 de septiembre de 2022
Lanzamiento de androidx.wear.compose:compose-foundation:1.1.0-alpha05
, androidx.wear.compose:compose-material:1.1.0-alpha05
y androidx.wear.compose:compose-navigation:1.1.0-alpha05
. La versión 1.1.0-alpha05 contiene estas confirmaciones.
Correcciones de errores
- Las funciones de botones se agregaron a
InlineSlider
yStepper
para que TalkBack pueda reconocerlas como botones (Icb46c, b/244260275). - Corregimos el orden Z de los indicadores de posición y página en Scaffold. Los indicadores ahora estarán encima de la viñeta y, por lo tanto, no estarán ocultos por la viñeta si están presentes (Ib988f, b/244207528).
Versión 1.1.0-alpha04
24 de agosto de 2022
Se lanzaron androidx.wear.compose:compose-foundation:1.1.0-alpha04
, androidx.wear.compose:compose-material:1.1.0-alpha04
y androidx.wear.compose:compose-navigation:1.1.0-alpha04
. La versión 1.1.0-alpha04 contiene estas confirmaciones.
Cambios en la API
- Actualizamos varios colores predeterminados en MaterialTheme a fin de mejorar la accesibilidad, ya que los colores originales no tenían suficiente contraste, lo que generaba dificultades para que los usuarios pudieran diferenciar los fondos de chips, tarjetas o botones del color de fondo del tema. Los colores actualizados son surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8) y onError(0xFF202124->0xFF000000). Aunque los cambios en los colores son relativamente sutiles, pueden afectar las pruebas de captura de pantalla existentes (81ab09).
Correcciones de errores
- Se corrigió un error lógico en
ScalingLazyColumn
que podía provocar que las listas con un número pequeño (por lo general, exactamente 2) de elementos no se completaran y, como resultado, fueran transparentes (504347).
Versión 1.1.0-alpha03
10 de agosto de 2022
Se lanzaron androidx.wear.compose:compose-foundation:1.1.0-alpha03
, androidx.wear.compose:compose-material:1.1.0-alpha03
y androidx.wear.compose:compose-navigation:1.1.0-alpha03
. La versión 1.1.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se agregó un nuevo estilo de contorno para
Chips
yButtons
, y nuevos elementos componibles (OutlinedChip
yOutlinedButton
) que brindan un elementoChip/Button
transparente con un borde delgado (Id5972).
Cambios en la API
- Se agregaron sobrecargas para modificar las formas de los botones (Icccde).
Correcciones de errores
- Corregimos el tamaño del área de control de activación de
ToggleChip
, ya que no coincidía con sus especificaciones de UX. Estas requieren un espaciador de 4 dp entre la etiqueta y un área de ícono de control de activación de 24 x 24 dp, lo que da un ancho total de 28 dp. Sin embargo, la implementación brinda incorrectamente un área de control de activación de 36 x 24 dp, lo que resulta en 8 dp de área de etiqueta de texto utilizable. NOTA: Esta corrección de errores proporciona espacio adicional para la etiqueta de texto y, como resultado, puede afectar (de manera positiva) el diseño de texto para el exceso de texto. Si tienes capturas de pantalla de prueba que 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
contentDescription
del selector ahora se usa solo para la opción del selector elegido y toma una string anulable (antes era necesario pasar una asignación de la opción a la descripción del contenido, pero solo se usó la opción seleccionada) (Ife6a7). - Se implementaron mejoras de accesibilidad en el selector para poder navegar por las pantallas de selección múltiple con lectores de pantalla y acceder a la descripción del contenido (I64edb).
Correcciones de errores
- Se actualizaron las reglas de perfiles de referencia empaquetadas con la biblioteca de Wear Compose (I9c694).
- Se corrigió la dirección de la gradiente de los chips en modo de derecha a izquierda. Estaba en la parte superior izquierda y, luego, en la parte inferior derecha, ahora está en la parte superior derecha > inferior (Ic2e77).
- Actualizamos los gradientes predeterminados para
Chip/ToggleChip/Card
a fin de que coincidan con las especificaciones de UX más recientes. Se actualizó la métricaChipDefaults.gradientBackgroundChipColors
para que comience desde el 50% de la principal en lugar del 32.5%. Se actualizóCardDefaults.cardBackgroundPainter
para que comience del 30% al final y finalice en el 20% delonSurfaceVariant
(antes era del 20% al 10% delonSurfaceVariant
).ToggleChip.toggleChipColors
cambia de un gradiente lineal de una superficie del 75% al principal del 32.5% al principal del 0% al 50% principal (I43bbd). - Agregamos un color de fondo (
MaterialTheme.color.surface
) detrás 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
gradientRatio
en cero tiene el efecto secundario de cambiar la alineación (I712b8).
Versión 1.0
Versión 1.0.2
7 de septiembre de 2022
Lanzamiento de androidx.wear.compose:compose-foundation:1.0.2
, androidx.wear.compose:compose-material:1.0.2
y androidx.wear.compose:compose-navigation:1.0.2
. La versión 1.0.2 contiene estas confirmaciones.
Correcciones de errores
- Corregimos el orden Z de los indicadores de posición y página en Scaffold. Los indicadores ahora estarán encima de la viñeta y, por lo tanto, no estarán ocultos por la viñeta si están presentes (Ib988f, b/244207528).
Versión 1.0.1
24 de agosto de 2022
Se lanzaron androidx.wear.compose:compose-foundation:1.0.1
, androidx.wear.compose:compose-material:1.0.1
y androidx.wear.compose:compose-navigation:1.0.1
. La versión 1.0.1 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un error lógico en
ScalingLazyColumn
que podía provocar que las listas con un número pequeño (por lo general, exactamente 2) de elementos no se completaran y, como resultado, fueran transparentes (076c61).
Versión 1.0.0
27 de julio de 2022
Se lanzaron androidx.wear.compose:compose-foundation:1.0.0
, androidx.wear.compose:compose-material:1.0.0
y androidx.wear.compose:compose-navigation:1.0.0
. La versión 1.0.0 contiene estas confirmaciones.
Funciones principales de la versión 1.0.0
- Esta es la primera versión estable de Compose para Wear OS (más información).
- Compose para Wear OS se basa en las bibliotecas principales de Compose que proporcionan componentes adicionales específicos para wearables y, cuando corresponde, implementaciones alternativas de componentes principales de Compose diseñados para dispositivos wearable.
- Para ver una lista de los componentes clave en Wear Compose, consulta las notas de la versión (Compose para Wear OS Beta01).
Correcciones de errores
- Animamos la visibilidad de la viñeta cuando se muestra u oculta Dialog para que sea coherente con la animación de escalamiento existente (Ida33e).
- Corregimos un error por el que se podía producir una división por cero con algún comportamiento de deslizamiento durante el desplazamiento (I86cb6).
- Corregimos un error en
ChipDefaults.childChipColor()
para garantizar que el color de fondo inhabilitado sea completamente transparente (I2b3c3, b/238057342).
Versión 1.0.0-rc02
22 de junio de 2022
Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-rc02
, androidx.wear.compose:compose-material:1.0.0-rc02
y androidx.wear.compose:compose-navigation:1.0.0-rc02
. La versión 1.0.0-rc02 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió la dirección del gradiente de las tarjetas en modo de derecha a izquierda (RTL). Estaba en la parte superior izquierda y, luego, en la parte inferior derecha, y ahora está en la parte superior derecha > inferior izquierda (Ic2e77).
- Actualizamos los gradientes predeterminados para
Chip/ToggleChip/Card
a fin de que se alineen con las especificaciones de UX más recientes. Se actualizó la métricaChipDefaults.gradientBackgroundChipColors
para que comience desde el 50% de la principal en lugar del 32.5%. Se actualizóCardDefaults.cardBackgroundPainter
para que comience del 30% al final y finalice al 20% deonSurfaceVariant
(anteriormente era del 20% al 10% onSurfaceVariant).ToggleChip.toggleChipColors
cambia de un gradiente lineal de una superficie del 75% al principal del 32.5% al principal del 0% al 50% principal (I43bbd). - Agregamos un color de fondo (
MaterialTheme.color.surface
) detrás 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 elementoScalinglazyColumn
tiene una combinación de componentesListHeader()
yChip()
, ya que el ancho tiende a aumentar/reducir a medida que se desplazan los elementosListHeader
dentro o fuera de la vista (I37144, b/235074035). - Se corrigió un error en
ScalingLazyColumn
que podía provocar que los elementos de la lista no se dibujaran correctamente hasta que se los desplazara si el elemento 0 de la lista era lo suficientemente grande (incluido el padding) (Ic6159, b/234328517). - Se realizó un pequeño ajuste en la aceleración de
ScalingLazyColumn
, ya que los elementos llegan al borde de la pantalla para coincidir con las actualizaciones de especificaciones de UX. Valores 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 elementoscalingParams
deScalingLazyColumn
(Ie375c). - Se agregó padding al elemento
CompactChip
a fin de garantizar que su tamaño de objetivo táctil sea de al menos 48 dp de alto para cumplir con los lineamientos de accesibilidad de Material. Es posible que se vean afectados los diseños que tengas 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
ScalingLazyColumn
funcionara en el modo@Preview
de Compose (I3b3b6, b/232947354).
Cambios en la API
- Cambiamos el valor predeterminado de la propiedad
ScalingLazyColumn.horizontalAlignment
de inicio aCenterHorizontally
a fin de garantizar que, cuando los elementos de la lista no ocupen todo el ancho de la columna, queden alineados para maximizar la visibilidad. Para volver al comportamiento anterior, 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
TimeText
para que se aproxime más a las especificaciones de UX (Ib7ea1).
Versión 1.0.0-beta02
18 de mayo de 2022
Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-beta02
, androidx.wear.compose:compose-material:1.0.0-beta02
y androidx.wear.compose:compose-navigation:1.0.0-beta02
. La versión 1.0.0-beta02 contiene estas confirmaciones.
Nuevas funciones
- Ahora, el selector siempre responde a los eventos de desplazamiento, incluso en el modo de solo lectura. Este cambio evita que los usuarios deban primero presionar para elegir un selector, antes de que puedan desplazarse. En el modo de solo lectura, las opciones que no estén seleccionadas actualmente se ocultan mediante una corrección de compatibilidad en
gradientColor
(I72925). - Se cambió el comportamiento de la UX de
Chip/ToggleChip/CompactChip/SplitToggleChip
para evitar que realicenfillMaxWidth
de 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
CurvedTextStyle
que toma unTextStyle
ahora 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.edgeSwipeToDismiss
y se desliza el dedo hacia la izquierda desde el borde, ya no se activa la opción de deslizar para descartar si la dirección de desplazamiento cambia a la derecha. Antes, era posible deslizar para descartar cuando se deslizaba hacia la izquierda y, luego, hacia la derecha (I916ea). HorizontalPageIndicator
ahora muestra hasta 6 páginas en la pantalla. Si hay más de 6 páginas en total, se muestra un indicador de tamaño mediano a la izquierda o a la derecha, con una transición fluida entre las páginas (I2ac29).- Se mejoró el comportamiento de ajuste predeterminado en
ScalingLazyColumn
yPicker
(I49539). - Se realizaron mejoras en el deslizamiento desde el borde. Cuando se usa
Modifier.edgeSwipeToDismiss
, la opción de deslizar para descartar solo se activa cuando el primer toque es en el borde seguido de un desplazamiento a la derecha. Antes, era posible activar la opción deslizar para descartar cuando se deslizaba el dedo desde cualquier parte de la pantalla si el desplazamiento alcanzaba el inicio (I8ca2a).
Versión 1.0.0-beta01
11 de mayo de 2022
Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-beta01
, androidx.wear.compose:compose-material:1.0.0-beta01
y androidx.wear.compose:compose-navigation:1.0.0-beta01
. La versión 1.0.0-beta01 contiene estas confirmaciones.
Qué incluye Compose para Wear OS 1.0
El 1.0.0-beta01
de Compose para Wear OS marca un logro importante, ya que la biblioteca cuenta con todas las funciones y la API bloqueada.
Los componentes de Compose Material para Wear en la versión 1.0 incluyen lo siguiente:
- Material Theme: Se usa como reemplazo de
MaterialTheme
de Compose para dispositivos móviles, proporciona los colores, las formas y la tipografía para compilar componentes en wearables que implementan los lineamientos de UX de Material Design para Wear listos para usar. Button
,CompactButton
yToggleButton
: Button ofrece una sola ranura para introducir un ícono, una imagen o un texto breve (3 caracteres como máximo). Tiene forma circular con tamaños recomendados para los botones grandes, pequeños o predeterminados.CompactButton
ofrece una única ranura para introducir cualquier contenido (ícono, imagen o texto) y tiene forma circular con un fondo muy pequeño.CompactButton
tiene un relleno transparente opcional alrededor del fondo que aumenta el área en la que se puede hacer clic.ToggleButton
es un botón que ofrece una sola ranura para introducir cualquier contenido (texto corto, ícono o imagen) y que tiene estados de activo y desactivado (marcado o desmarcado) con colores e íconos diferentes a fin de indicar si está marcado o no.- Cards: Se usan para mostrar información sobre aplicaciones, como notificaciones. Diseño flexible para diferentes casos de uso con
AppCard
yTitleCard
que ofrecen diferentes diseños y compatibilidad con imágenes como contenido de tarjeta o fondos. - Chips: Son componentes con forma de estadio similares a los botones, pero con un área más grande y varias ranuras para introducir etiquetas, íconos y etiquetas secundarias. Tienen diferentes tamaños y admite imágenes como fondos.
- ToggleChips y SplitToggleChips: Es un Chip con un estado de marcado o desmarcado y una ranura adicional de
ToggleControl
para mostrar un ícono, como un interruptor o un botón de selección, a fin de enseñar el estado de marcado del componente. Además,SplitToggleChip
tiene dos áreas que se pueden presionar, una en la que se puede hacer clic y una que se puede activar y desactivar. - CircularProgressIndicator: Es un indicador de progreso de Material para Wear con dos variaciones. El primero expresa la proporción de finalización de una tarea en curso y admite un intervalo en el trazado circular entre los ángulos de inicio y fin. El segundo indica un progreso indeterminado para un tiempo de espera sin especificar.
- curvedText: Forma parte del DSL para describir
CurvedLayouts
, junto concurvedRow
ycurvedColumn
, a fin de distribuir componentes alrededor de dispositivos circulares. Consulta Wear Component Foundation más adelante para obtener más detalles sobreCurvedLayout
yCurvedModifier
(cumple una función similar a los modificadores del mundo sin curvas y permite la configuración de varios aspectos de diseño, relleno, gradientes, etc.). - Dialog, Alert y Confirmation: Dialog muestra un diálogo de pantalla completa, en capas sobre cualquier otro contenido, y admite la opción deslizar para descartar. Requiere una sola ranura que se espera que sea el contenido definido del diálogo de Material para Wear, como Alert o Confirmation. Alert es el contenido definido del diálogo con ranuras para un ícono, un título y un mensaje. Tiene sobrecargas para dos botones negativos y positivos que se muestran lado a lado o una ranura para uno o más chips apilados verticalmente. Confirmation es el contenido de un diálogo definido que muestra un mensaje durante un tiempo determinado. Tiene una ranura para un ícono o una imagen (que podría ser animado).
- HorizontalPageIndicator: Muestra la posición horizontal de la página de un modo adecuado para el factor de forma para wearables. Está diseñado para ocupar la pantalla completa y mostrar un indicador curvo en dispositivos redondos. Se puede utilizar con el visualizador de página de acompañamiento.
- Icon: Es una implementación de Wear de Icon que toma el color y la versión alfa del tema de Material para Wear. Para ver los íconos en los que se puede hacer clic, consulta Button o Chip.
- Picker: Muestra una lista de elementos para seleccionar en la que se puede hacer desplazamientos. De forma predeterminada, los elementos se repetirán de manera "infinita" en ambas direcciones. Se puede mostrar en modo de solo lectura para ocultar las opciones no seleccionadas.
- PositionIndicator: Muestra la posición de desplazamiento o cualquier otra indicación posicional de manera apropiada para el factor de forma para wearables. Está diseñado para ocupar la pantalla completa y mostrar un indicador curvo en dispositivos redondos.
- Scaffold: Implementa la estructura de diseño visual básica de Material Design para Wear. Este componente proporciona una API a fin de reunir varios componentes de Material para Wear (como
TimeText
,PositionIndicator
yVignette
) que construyen la pantalla, lo que garantiza una estrategia de diseño correcta para ellos y recopila datos necesarios, de modo que estos componentes funcionen juntos de forma correcta. - ScalingLazyColumn: Es un componente de lista de escala de desplazamiento u ojo de pez que forma una parte clave del lenguaje de Material Design para Wear. Proporciona efectos de escalamiento y transparencia a los elementos del contenido.
ScalingLazyColumn
está diseñado para poder controlar, potencialmente, grandes cantidades de elementos de contenido, que solo se materializan y componen cuando es necesario. - Slider: Permite que los usuarios seleccionen un rango de valores. El rango de selecciones se muestra como una barra, que se puede mostrar, de forma opcional, con separadores.
- Stepper: Es un componente de pantalla completa que les permite a los usuarios seleccionar elementos de un rango de valores mediante botones para aumentar y disminuir en la parte inferior y superior de la pantalla, con una ranura en el medio para Text o Chip.
- SwipeToDismissBox: Controla el gesto de deslizar para descartar. Requiere una sola ranura para el contenido en segundo plano (solo se muestra durante el gesto de deslizar) y para el contenido en primer plano. De manera opcional, se puede combinar con la biblioteca de navegación de androidx mediante
SwipeDismissableNavHost
(consulta la biblioteca de navegación de Wear Compose que se encuentra más adelante). - Text: Es una implementación de Wear del componente Text de Compose Material, que toma los colores y la versión alfa del tema de Material para Wear.
- TimeText: Es un componente que muestra Time y el estado de la aplicación en la parte superior de la pantalla. Se ajusta a la forma de la pantalla mediante el uso de texto curvo en pantallas redondas.
Vignette: Es un tratamiento de pantalla para usar en Scaffold que desenfoca la parte superior y la parte inferior de la pantalla cuando se utiliza contenido en el que se puede hacer desplazamientos.
Los siguientes componentes también se incluyen en Wear Compose Foundation:
CurvedLayout:
CurvedLayout
de Wear Foundation es un elemento de diseño que admite composición y que coloca a sus elementos secundarios en un arco y los rota según sea necesario. Es similar a un diseño de Row curvado en un segmento de un anillo. Ten en cuenta que el contenido de unCurvedLayout
no es un elemento lambda que admite composición, sino un DSL (lenguaje específico del dominio). Todos los elementos del DSL de CurvedLayout admiten un parámetro modificador opcional, que se creó a partir deCurvedModifier
.basicCurvedText: Es un elemento en el DSL de
CurvedLayout
;basicCurvedText
les permite a los desarrolladores escribir con facilidad texto curvo siguiendo la curvatura de un círculo (por lo general, en el borde de una pantalla circular).basicCurvedText
solo se puede crear enCurvedLayout
para 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
. SicurvedComposable
tiene varios elementos adentro, se dibujarán uno encima de otro (como un Box). Para colocar varios elementos que admiten composición en una curva, une cada uno concurvedComposable
.curvedRow y curvedColumn: Similares a Row y Column,
curvedRow
ycurvedColumn
se pueden anidar dentro deCurvedLayout
para 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
,CompactButton
yToggleButton
(I57cab). - Agrega el parámetro habilitado a
AppCard
yTitleCard
. 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
AppCard
yTitleCard
(I85391, b/228869805).
Versión 1.0.0-alpha21
20 de abril de 2022
Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha21
, androidx.wear.compose:compose-material:1.0.0-alpha21
y androidx.wear.compose:compose-navigation:1.0.0-alpha21
. La versión 1.0.0-alpha21 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron nuevos modificadores de curvas para especificar el fondo de un elemento curvo:
CurvedModifier.background
,.radialGradientBackground
y.angularGradientBackground
(I8f392). - Permitir que se especifique el modo de superposición de texto curvo (clip, puntos suspensivos o visible) (I8e7aa)
- Se agregó el modificador
CurvedModifier.weight
, similar al de Compose. Esto se puede usar en elementos secundarios de curvedRow y CurvedLayout (para el ancho) y elementos secundarios de curvedColumn (para la altura) (I8abbd). - Se agregaron los modificadores
CurvedModifier.size
,.angularSize
y.radialSize
para especificar el tamaño de un elemento curvo (I623c7).
Cambios en la API
- Se reorganizaron los parámetros para garantizar que el fondo sea anterior al color de manera coherente en la API de Wear Compose (I43208).
- Se quitaron los parámetros
insideOut
y en sentido de las manecillas del reloj, y se reemplazaron por constantes más expresivas en las clases nuevas. La dirección del diseño curvo ahora puede admitirLayoutDirection
y se hereda cuando no se especifica (If0e6a). - Reemplazamos
autoCenter: Boolean
porautoCenter: AutoCentringParams
a fin de corregir un problema de API conScalingLazyColumn
(Ia9c90). - Cambiamos el nombre de
iconTintColor
ytoggleControlTintColor
aiconColor
ytoggleControlColor
en la API (Chip/ToggleChip/Dialog/Slider/Stepper/...) ya que el color se aplica en la ranura del ícono /toggleControl (Ied238). - Se volvió a escribir la enumeración
PageIndicatorStyle
en la clase de valor (I2dc72). - Agregamos
RowScope/ColumnScope/BoxScope
a algunas de las ranuras de nuestros elementos que admiten composición para indicarles a los desarrolladores cuáles son los supuestos de diseños. Esto permitirá que los desarrolladores usen modificadores adicionales en cierto contenido de las ranuras y evitará la necesidad de proporcionar elementos de diseño adicionales. Además, realizamos algunas actualizaciones menores en los colores de AppCard/TitleCard para quetimeColor
yappColor
cambien acontentColor
de forma predeterminada, todas estas propiedades se pueden anular de forma individual si es necesario (I26b59). - Se hizo privado el objeto
SwipeToDismissBoxState.Companion
(I39e84). - Corrige el orden de los parámetros para
InlineSlider
yStepper
. Se realizó un cambio sencillo para seguir los lineamientos de la API (I11fec). - Se quitó el objeto Saver de
SwipeToDismissBoxState
, ya que no se usaba (Ifb54e). - Se actualizó
CompactChip
para que esté intercalado con la última especificación de UX. El relleno se redujo a horizontal = 12 dp y vertical = 0 dp. Se cambió la fuente de la etiqueta de button a caption1. El tamaño recomendado para los íconos es de 20 x 20 cuando están presentes el ícono y la etiqueta, y de 24 x 24 para un chip compacto que solo contiene un ícono. En el caso de uso del ícono, también nos aseguramos de que esté centrado (Iea2be). - Agregamos varios campos nuevos a
ScalingLazyListLayoutInfo
para permitir que los desarrolladores conozcan la cantidad decontentPadding
yautoCenteringPadding
que se aplicaron. Esto puede ser útil para los desarrolladores cuando calculan deslizamientos y desplazamientos (I7577b). - Implementamos transiciones de entrada y salida para Dialog. Se agregó un parámetro
showDialog
, y Dialog ahora controla su propia visibilidad (esto permite que ejecute las animaciones de introducción y cierre cuando se muestra u oculta Dialog). Ten en cuenta que la animación de cierre no se realiza cuando el usuario abandona el diálogo mediante el deslizamiento para descartar. También agregamos un valor predeterminado para el estado en la sobrecarga deSwipeToDismissBox
que se agregó recientemente (I682a0). - Para mejorar la compatibilidad con i18n y a11y, cambiamos
ToggleChip
ySplitToggleChip
a fin de que ya no tengan un valor predeterminado para la ranuratoggleControl
. También se cambióToggleChipDefaults
para que los siguientes métodos ahora muestren ImageVector en lugar de Icon (ten en cuenta que, como ya no muestran @Composables, cambiaron para comenzar con minúsculas),SwitchIcon()->switchIcon()
,CheckboxIcon->checkboxIcon()
yRadioIcon()->radioIcon()
: esto permite que los desarrolladores creen sus propios elementos componiblesIcon()
con un conjunto decontentDescription
adecuado y los alienta a hacerlo (I5bb5b). - Se agregó un parámetro
SwipeDismissableNavHostState
aSwipeDismissableNavHost
. Esto admite el uso del deslizamiento desde el borde en pantallas utilizadas como destinos de navegación, ya queSwipeToDismissBoxState
se puede elevar y usar para inicializarSwipeDismissableNavHostState
yModifier.edgeSwipeToDismiss
en pantallas que requieren el deslizamiento en el borde (I819f5, b/228336555).
Correcciones de errores
- Asegúrate de que los diseños curvos se actualicen cuando sea necesario (Ie8bfa, b/229079150).
- Corrección de errores en https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
- Se quitaron las anotaciones experimentales innecesarias (I88d7e).
Versión 1.0.0-alpha20
6 de abril de 2022
Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha20
, androidx.wear.compose:compose-material:1.0.0-alpha20
y androidx.wear.compose:compose-navigation:1.0.0-alpha20
. La versión 1.0.0-alpha20 contiene estas confirmaciones.
Nuevas funciones
- Se agregó el modificador
edgeSwipeToDismiss
paraSwipeToDismiss
. Permite queswipeToDismiss
esté activo solo en el borde izquierdo del viewport. Se usa cuando el centro de la pantalla debe controlar la paginación horizontal, como el desplazamiento en 2D de un mapa o el deslizamiento horizontal entre páginas. (I3fcec, b/200699800)
Cambios en la API
- Implementación básica 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
EdgeSwipe
y los valores predeterminados para una mejor comprensión. (I6d00d) - Se agregó la ranura de
PageIndicator
a Scaffold. Si agregamosPageIndicator
directamente a Scaffold, podemos garantizar que se mostrará correctamente en dispositivos circulares. (Ia6042) - Se quitaron los íconos predeterminados de
InlineSlider
y de los parámetros de Stepper. Esto ayudará a los desarrolladores a estar más atentos a los requisitos de localización y accesibilidad. Los usos de los íconos predeterminados se mostraron en demostraciones y muestras. (I7e6fd) - Se reemplazaron los nombres de parámetros Trailing y Leading por Start y End en TimeText. (Iaac32)
- Agregamos una sobrecarga de
SwipeToDismissBox
con un parámetroonDismissed
para admitir el uso común de la activación de un evento de navegación cuando se completa el gesto de deslizar. (I50353, b/226565726) - Se quitaron las anotaciones de
ExperimentalWearMaterialApi
del uso deTimeText
. (Ide520) - Marcamos el permiso de
ScalingLazyList/Column
y las interfaces de información como selladas, ya que no están diseñadas para que los desarrolladores externos las implementen. Esto nos permitirá agregar miembros nuevos en el futuro sin cambios binarios rotundos. (I7d99f) - Agregamos una propiedad
flingBehaviour
nueva al selector y un métodoPickerDefaults.flingBehaviour()
para habilitar la configuración del comportamiento de deslizar, como agregar compatibilidad con RSB.PickerState
ahora 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
CurvedRow
porCurvedLayout
y se rediseñó para que sea un permiso con un DSL. Con este DSL, se pueden especificar diseños curvos más complejos mediante una serie decurvedRow
ycurvedColumn
anidados (que son los equivalentes curvos del diseño de Row y Column). Dentro de estos elementos de diseño, se pueden usar tres elementos:curvedComposable
(para agregar cualquier @Composable),basicCurvedText
(texto curvo de base) 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.Default
ySwipeDismissTarget.Dismissal
aSwipeToDismissValue.Dismissed
. También trasladamosSwipeToDismissBoxDefaults.BackgroundKey
ySwipeToDismissBoxDefaults.ContentKey
aSwipeToDismissKeys.Background
ySwipeToDismissKeys.Content
respectivamente. (I47a36) - Se agregó un modo de solo lectura al selector para pantallas con varios selectores, donde solo se puede editar un selector a la vez. Cuando el selector es de solo lectura, muestra la opción seleccionada actualmente y una etiqueta si se proporcionó. (I879de)
- Se refactorizó
SwipeToDismissBoxState
para restringir el permiso deExperimentalWearMaterialApi
aModifier.swipeable
ySwipeableState
, que ahora se usan internamente.SwipeToDismissBoxState
ahora tiene miembros decurrentValue
,targetValue
,isAnimationRunning
ysnapTo
para admitir casos de uso comunes. Avísanos si necesitas que más propiedades estén disponibles. También se corrigió el comportamiento deSwipeableState
en el caso en que la compensación de desplazamiento esté dentro de un error de redondeo de un anclaje. (I58302)
Correcciones de errores
- Se simplificó y corrigió el código para detectar si el contenido de una
ScalingLazyColumn
se puede desplazar (se usa para decidir si se muestra una barra de desplazamiento). (I7bce0) - Se corrigió un error en el indicador de posición cuando se usaba con más de un estado y cuando se alternaba entre ellos. (I320b5)
- Actualizamos la tipografía y las fuentes predeterminadas del tema de Compose para Wear OS a fin de que coincidan con nuestra guía más reciente de UX. Display1 (40.sp) y display2 (34.sp) ahora son más pequeños que sus valores anteriores, y se realizaron otras actualizaciones menores en la altura de la línea y el interlineado. (Ie3077)
- Agregamos resistencia a
SwipeToDismissBox
para que el movimiento solo se produzca cuando se desliza el dedo para descartar, y no en la dirección opuesta. (Ifdfb9) - Cambiamos algunos de los valores de parámetros predeterminados para las funciones
CircularProgressIndicator
a fin de que se ajusten a la orientación de UX de Material Design de Wear. En la versión de Spinner/Indeterminant, se actualizaron el tamaño (40->24.dp), indicadorColor (primary->onBackground), la transparencia de trackColor (30%->10%) y el ancho de trazo (4->3dp). Para la versión de Progress/Determinate, se actualizó la transparencia de trackColor (30%->10%). (I659cc) - Actualizamos los parámetros de escalamiento predeterminados de
ScalingLazyColumn
conforme a las especificaciones más recientes de UX de Material Design de Wear. Visualmente, esto hace que los elementos de lista se escalen más cerca del centro de la lista, pero se escalen menos en el borde de la lista que antes. (Ica8f3) - Se realizaron algunos ajustes a
ScalingLazyColumnDefaults.snapFlingBehavior
para mejorar el final de la animación (If3260).
Versión 1.0.0-alpha18
9 de marzo de 2022
Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha18
, androidx.wear.compose:compose-material:1.0.0-alpha18
y androidx.wear.compose:compose-navigation:1.0.0-alpha18
. La versión 1.0.0-alpha18 contiene estas confirmaciones.
Cambios en la API
- Se implementaron varias mejoras en PositionIndicador: se cambió el nombre de ShowResult a PositionIndicatorVisibility. Se implementaron algunas mejoras de rendimiento para evitar repeticiones de cálculos cuando no sea necesario (Iaed9d).
- Se actualizó la coloración recomendada para
SplitToggleChip
. Los elementos SplitToggleChip ahora tienen un fondo de color sólido cuando se marcan o desmarcan, y el color del elemento ControlControl es el principal indicador de si se marcó o desmarcó el compontente. Se agregó un 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ó
PickerState
para 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
PositionIndicator
cuando es una barra de desplazamiento y no se puede desplazar (Id0a7f). - Para mantener la coherencia con Scaffold, nuestro componente de diálogo de pantalla completa ahora muestra
PositionIndicator
yVignette
. También usamosScalingLazyColumn
en 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
ToggleChip
ySplitToggleChip
de toggleIcon a toggleControl para mejorar la alineación con Material Design a fin de ayudar a diseñadores y desarrolladores a navegar por la API (If5921, b/220129803). - Agregamos una nueva caption3 de entrada a del tema de Material para Wear Typology. Caption3 es una fuente pequeña que se usa para escribir textos largos, como los legales (I74b13, b/220128356).
Correcciones de errores
- Se detiene la animación de ajuste cuando estamos allí (Idb69d).
- Cambios en la animación en PositionIndicator (I94cb9).
- En función de los comentarios sobre la IU/UX, cambiamos autoCentering de
ScalingLazyColumn
a fin de proporcionar solo el espacio suficiente para garantizar que los elementos con el índiceScalingLazyListState.initialCenterItemIndex
o superior puedan desplazarse por completo hasta el centro del viewport. Esto permite que los desarrolladores coloquen uno o dos elementos en torno al elemento inicialmente en el centro, que no son desplazables hacia el medio. Eso implica que el elementoScalingLazyColumn
de autoCentering no podrá desplazarse sobreinitialCenterItemIndex/initialCenterItemScrollOffset
(I22ee2). - Agregamos una demostración para un selector de fecha y corregimos un error en
PickerState
en el que no se aplicaba initialSelectedOption hasta que se mostrara el selector (Id0d7e). - Para reducir el recorte de elementos
ScalingLazyColumn
más amplios en pantallas circulares, aumentamos el relleno del contenido horizontal predeterminado de 8 a 10 dp (I0d609). - Asegúrate de que se muestre
PositionIndicator
durante el desplazamiento (Ied9a2).
Versión 1.0.0-alpha17
23 de febrero de 2022
Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha17
, androidx.wear.compose:compose-material:1.0.0-alpha17
y androidx.wear.compose:compose-navigation:1.0.0-alpha17
. La versión 1.0.0-alpha17 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con ajuste que se puede usar con
ScalingLazyColumn
. 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
TimeText
en dispositivos cuadrados (Iea76e). ScalingLazyListLayoutInfo
ahora tienereverseLayout
,viewportSize
y propiedades de orientación que coinciden con las deLazyListLayoutInfo
(I4f258, b/217917020).ScalingLazyColumn
ahora tiene una propiedaduserScrollEnabled
que 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
ScalingLazyColumn
para que ya no ocupe todo el espacio en su elemento superior. En su lugar, tomará su tamaño del contenido. De esa forma, será coherente con el comportamiento deLazyColumn
. Si deseas restablecer el comportamiento anterior, pasaModifier.fillMaxWidth()/width()/widthIn()
aScalingLazyColumn
(I51bf8). - Mejoramos el mensaje de excepción en
SwipeDismissableNavHost.kt
que se activaba si la pila de actividades de navegación estaba vacía (I1b1dc).
Versión 1.0.0-alpha16
9 de febrero de 2022
Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha16
, androidx.wear.compose:compose-material:1.0.0-alpha16
y androidx.wear.compose:compose-navigation:1.0.0-alpha16
. La versión 1.0.0-alpha16 contiene estas confirmaciones.
Nuevas funciones
- Se agregó
CircularProgressIndicator
. Los indicadores de progreso muestran la duración de un proceso o un tiempo de espera no especificado. Se admite un espacio (corte) para TimeText u otros componentes si se usa en pantalla completa (Iab8da).
Cambios en la API
- Los selectores ahora tienen un parámetro
flingBehavior
. El valor predeterminado hace que se ajusten a la opción más cercana cuando se desplazan o deslizan (I09000). - Se agregó una API de número entero para InlineSlider y Stepper (I1b5d6).
Correcciones de errores
- Se cambió el valor defaultCenterItemIndex predeterminado de
ScalingLazyListState
de 0 a >1. Eso significa que, a menos que se anule en la construcción del estado 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
extraPadding
predeterminada deScalingLazyColumn
que se proporcionó a fin de garantizar que haya muchos elementos de lista para dibujar (incluso cuando reducimos el tamaño de algunos de ellos) del 10% al 5%. Esto evitará componer elementos de lista adicionales que podrían no aparecer en el viewport. Si se usan scaleParams no estándar (escalamiento más extremo, por ejemplo), el desarrollador puede ajustar el relleno adicional medianteviewportVerticalOffsetResolver
(I76be4). - Se solucionó un problema relacionado con TimeText en varias líneas de un dispositivo cuadrado (Ibd3fb).
- Modificamos
ScalingLazyColumn
para que ya no ocupe todo el espacio en su elemento superior. En su lugar, tomará su tamaño del contenido. De esa forma, será coherente con el comportamiento 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
autoCentering
aScalingLazyColumn
. Si estableces la política como verdadera (el valor predeterminado), se garantiza que todos los elementos, incluido el primero y el último, se puedan desplazar para que sean visibles en el centro de las listas de viewport. Ten en cuenta que, si usas el enfoque automático, te recomendamos que establezcas el relleno de contenido vertical en 0 dp. Si se proporcionan el enfoque automático y el relleno de contenido vertical, ambos tendrán espacio adicional disponible antes y después del último elemento de la lista, lo que les permitirá desplazarse aún más. (I2a282, b/214922490) - Se agregó un componente
Dialog
que permite que cualquier elemento que admita composición active un diálogo de pantalla completa que se ubique por encima de otro contenido. Cuando se muestra el diálogo, se puede deslizar para descartarlo y se mostrará el contenido del elemento superior aparece en segundo plano durante el gesto de deslizar el dedo. Se espera que el contenido del diálogo seaAlert
oConfirmation
(se cambió el nombre de los componentes anterioresAlertDialog
yConfirmationDialog
).Alert
,Confirmation
yDialog
se 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ó
onSurfaceVariant2
de 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
ScalingLazyListState
para permitir que los desarrolladores puedan configurar el elemento inicial de una lista y su desplazamiento, además de controlar el desplazamiento de otros elementos específicos.Como parte de este cambio, también modificamos ScalingLazyList para que se oriente alrededor del centro del viewport de ScalingLazyList en lugar de hacerlo desde su inicio.
Se agregó una nueva propiedad
anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
aScalingLazyList
para controlar si el centro (ScalingLazyListAnchorType.ItemCenter
) oEdge
(ScalingLazyListAnchorType.ItemStart
) debe alinearse con la línea central de viewport.Como resultado, se cambió
ScalingLazyListItemInfo.offset
yScalingLazyListItemInfo.adjustedOffset
. Ahora reflejarán el desplazamiento del elemento con respecto alanchorType
y a la posición del elemento de la lista. Por ejemplo, para un objetoScalingLazyColumn
conanchorType
deItemCenter
y 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
,centerItemIndex
ycenterItemOffset
. (I61b61)Se agregó un controlador del botón Atrás a
SwipeDismissableNavHost
para que, cuando se presione, se navegue al nivel anterior en la jerarquía de navegación. (I5b086, b/210205624)
Versión 1.0.0-alpha13
15 de diciembre de 2021
Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha13
, androidx.wear.compose:compose-material:1.0.0-alpha13
y androidx.wear.compose:compose-navigation:1.0.0-alpha13
. La versión 1.0.0-alpha13 contiene estas confirmaciones.
Cambios en la API
- Hicimos
RangeIcons
interno (una referencia interna paraInlineSlider
yStepper
). (I927ec).
Correcciones de errores
Se corrigió un problema en el que
SwipeDismissableNavHost
agregaba un destino a la jerarquía de Compose antes de alcanzar el estado de ciclo de vidaCREATED
, lo que generaba unIllegalStateException
. Esta corrección era un requisito previo para actualizar la dependencia denavigation-compose
a2.4.0-beta02
y versiones posteriores. (I40a2b, b/207328687)Se agregó una clase de elementos de diseño para obtener recursos de elementos de diseño dentro de la biblioteca de Wear Compose para que ya no se necesite ese reflejo. Se corrigió un error en el que se quitaban los elementos de diseño de la biblioteca
minifyEnabled=true
oshrinkResources=true
. (IB2a98).Se agregaron pruebas para
Stepper
en Wear Compose. (I2d03a)Se agregaron muestras para
SwipeDismissableNavHost
en la navegación de Wear Compose. (I85f06)
Versión 1.0.0-alpha12
1 de diciembre de 2021
Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha12
, androidx.wear.compose:compose-material:1.0.0-alpha12
y androidx.wear.compose:compose-navigation:1.0.0-alpha12
. La versión 1.0.0-alpha12 contiene estas confirmaciones.
Nuevas funciones
Agregamos un componente Stepper que permite a los usuarios realizar una selección en función de un rango de valores. Stepper es un control de pantalla completa con botones para aumentar y disminuir en la parte superior e inferior, y un slot en el medio (se espera que tome un chip o texto). Los íconos de botón se pueden personalizar si es necesario. (I625fe)
Se agregaron 2 nuevos elementos componibles para mostrar diálogos: AlertDialog espera una respuesta del usuario y muestra un título, un ícono, un mensaje y a) dos botones para opciones positivas o negativas simples, o b) chips apilados verticalmente o chips para activar o desactivar para opciones más flexibles, ConfirmaDialog muestra una confirmación de recepción con un tiempo de espera. Este diálogo simple tiene ranuras para un título y un ícono (animado). (Ic2cf8)
Cambios en la API
- Agrega unidades (milisegundos) a los valores de duración sugeridos del diálogo. (I09b48)
Versión 1.0.0-alpha11
17 de noviembre de 2021
Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha11
, androidx.wear.compose:compose-material:1.0.0-alpha11
y androidx.wear.compose:compose-navigation:1.0.0-alpha11
. La versión 1.0.0-alpha11 contiene estas confirmaciones.
Nuevas funciones
- Agregamos un componente de selección que le permite al usuario seleccionar un elemento de una lista de desplazamiento. De forma predeterminada, la lista de elementos seleccionables se repite de forma "infinita" en ambas direcciones, para dar la impresión de un cilindro giratorio visto de lado. Se agregarán dos funciones en versiones posteriores: Ajustar a un valor después de deslizar el dedo en la pantalla y agregar una función a PickerState para establecer o desplazarse hasta el valor actual (I6461b).
Cambios en la API
- Se agregó un elemento ScalingLazyItemScope y algunos modificadores nuevos fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight para permitir que se ajuste el tamaño de los elementos de la lista según el tamaño del contenedor superior. Los elementos se pueden configurar para llenar la totalidad o una fracción del tamaño del elemento superior. Esto expone la funcionalidad ya disponible en LazyRow/Column (I4612f).
- Se agregó compatibilidad a ScalingLazyColumn para permitir que los elementos tengan una clave. También se agregaron métodos de conveniencia para agregar elementos de arrays y listas (Ic1f89).
Correcciones de errores
- Se agregaron ejemplos adicionales para TimeText (I8cb64).
Versión 1.0.0-alpha10
3 de noviembre de 2021
Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha10
, androidx.wear.compose:compose-material:1.0.0-alpha10
y androidx.wear.compose:compose-navigation:1.0.0-alpha10
. La versión 1.0.0-alpha10 contiene estas confirmaciones.
Nuevas funciones
Se agregó un InlineSlider para Wear Compose. InlineSlider permite que los usuarios seleccionen un rango de valores. El rango de selecciones se muestra como una barra entre los valores mínimos y máximos del rango, desde el que los usuarios pueden seleccionar un solo valor. (If0148)
Consulta el nuevo Compose para el Codelab de WearOS.
Cambios en la API
- Macrobenchmark ahora tiene un
minSdkVersion
de23
(If2655)
Correcciones de errores
- Se actualizó el control de transición en SwipeDismissableNavHost en un SideEffect (I04994, b/202863359)
- Se actualizó el control de transición en SwipeDismissableNavHost (I1cbe0, b/202863359)
Versión 1.0.0-alpha09
27 de octubre de 2021
Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha09
, androidx.wear.compose:compose-material:1.0.0-alpha09
y androidx.wear.compose:compose-navigation:1.0.0-alpha09
. La versión 1.0.0-alpha09 contiene estas confirmaciones.
Nuevas funciones
- Lanzamos la Vista previa para desarrolladores de Compose en Wear OS. Consulta nuestra entrada de blog, en la que se revisan los elementos principales que admiten composición y se incluyen vínculos a más recursos a fin de comenzar a usarlos.
Cambios en la API
- Agregamos compatibilidad, de modo que los desarrolladores puedan personalizar todos los colores con el tema de color de Material Design para Wear. (I4759b, b/199754668)
Correcciones de errores
- Se agregaron muestras de SwipeToDismissBox que conservan el estado (Ibaffe)
- Se agregaron vínculos a las guías de developer.android.com desde KDocs para CurvedText, TimeText y SwipeToDismissBox. (I399d4)
- Ahora, se arroja SwipeDismissableNavHost si no hay un destino actual (indica que NavGraph no se compiló con la función de utilidad wear.compose.navigation.composable) (I91403)
- Se agregaron documentación adicional y ejemplos para usar la fuente de tiempo en TimeText (I4f6f0)
Versión 1.0.0-alpha08
13 de octubre de 2021
Se lanzaron androidx.wear.compose:compose-foundation:1.0.0-alpha08
, androidx.wear.compose:compose-material:1.0.0-alpha08
y androidx.wear.compose:compose-navigation:1.0.0-alpha08
. La versión 1.0.0-alpha08 contiene estas confirmaciones.
Cambios en la API
- Modificamos el nombre de las propiedades
body
de AppCard y TitleCard 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 debodyColor
porcontentColor
para mantener la coherencia con los nombres de ranuras nuevos (I57e78).
Correcciones de errores
- Se agregaron vínculos a las guías de developer.android.com desde KDocs para componentes de botones, tarjetas, chips, temas, indicadores de posición y columnas de escalado diferido (I22428).
- Se corrigió el problema por el que WearOS SwipeToDismissBox no controlaba los deslizamientos. (I9387e).
- Se agregaron muestras para Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip y SplitToggleChip (Iddc15).
- Se agregaron pruebas de rendimiento de microcomparativas para Card, Chip, ToggleChip, TimeText y ScalingLazyColumn (If2fe9).
Versión 1.0.0-alpha07
29 de septiembre de 2021
Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha07
, androidx.wear.compose:compose-material:1.0.0-alpha07
y androidx.wear.compose:compose-navigation:1.0.0-alpha07
. La versión 1.0.0-alpha07 contiene estas confirmaciones.
Nuevas funciones
- Se agregó un componente de CurvedText en Material, que permite a los desarrolladores escribir con facilidad texto curvo siguiendo la curvatura de un círculo (generalmente en el borde de una pantalla circular) (I19593).
Cambios en la API
- Se agregaron pruebas para TimeText (Idfead).
- Se transformó ArcPaddingValues en una interfaz (Iecd4c).
- Se agregó una animación a SwipeToDismissBox (I9ad1b).
- Se agregó el parámetro hasBackground a la API de SwipeToDismissBox para que se pueda inhabilitar el gesto de deslizamiento cuando no haya contenido en segundo plano para mostrar (I313d8).
- Ahora,
rememberNavController()
toma un conjunto opcional de instancias deNavigator
que se agregarán alNavController
que se muestre para mejorar la compatibilidad con los elementos Navigator opcionales, como los de Material de Navigation acompañante (I4619e). - Haz una referencia a NamedNavArgument de navigation-common y quita la copia de Wear.compose.navigation (I43af6).
Correcciones de errores
- Se corrigió la fragilidad de prueba de CurvedRow en dispositivos más pequeños (If7941).
- Se corrigió el posible parpadeo en CurvedRow cuando se actualizaba el contenido y se garantiza que se vuelva a medir la fila curva (Ie4e06).
- Se actualizó ChipDefaults.gradientBackgroundChipColors() según los cambios en las especificaciones de UX. El gradiente ahora comienza con MaterialTheme.colors.primary en alfa al 32.5% y termina con MaterialTheme.colors.surface en alfa al 0% sobre un fondo de MaterialTheme.colors.surface en alfa al 75% (Id1548).
- Actualizamos los colores de ToggleChips cuando están en el estado seleccionado para que coincidan con las pautas de UX más recientes de Material Design de Wear. Cuando se seleccionan, los ToggleChips ahora tienen un fondo con gradiente que va desde MaterialTheme.color.surface en alfa al 0%, arriba a la izquierda, hasta MaterialTheme.color.primary en alfa al 32%, abajo a la derecha, sobre un fondo de MaterialTheme.color.surface en alfa al 75%. Esto genera una diferencia más sutil entre los elementos marcados y desmarcados correspondientes al ToggleChip (Idd40b).
Versión 1.0.0-alpha06
15 de septiembre de 2021
Lanzamiento de androidx.wear.compose:compose-foundation:1.0.0-alpha06
, androidx.wear.compose:compose-material:1.0.0-alpha06
y androidx.wear.compose:compose-navigation:1.0.0-alpha06
. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
- Se agregó Scaffold (un objeto que admite composición de nivel superior de la aplicación y que proporciona una estructura para controlar los PositionIndicators, como Scroll o Volume), un área en la parte superior de la pantalla para mostrar la hora y el estado de la aplicación, y que además admite un objeto Vignette para desenfocar los bordes superior e inferior de la pantalla para el contenido sobre el que es posible desplazarse. El área principal de Scaffold es donde se coloca el contenido de la aplicación (I5e0bf).
- Se agregó la implementación de TimeText para Wear Compose (I5654c).
Biblioteca de navegación de Wear Compose
Agregamos la primera versión de la biblioteca de navegación de Wear Compose, que proporciona integración entre las bibliotecas de navegación de Wear Compose y Androidx. Proporciona un medio simple para navegar entre las funciones @Composable como destinos de tu aplicación.
En esta versión inicial, se proporciona lo siguiente:
- Un elemento componible
SwipeDismissableNavHost
que aloja un gráfico de navegación y proporciona navegación hacia atrás mediante gestos de deslizamiento - La extensión
NavGraphBuilder.composable
para ayudar a construir gráficos de navegación rememberSwipeDismissableNavController()
para permitir la elevación del estado
- 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ó
SwipeDismissableNavHost
para admitirrememberSaveable
estableciendo la identidad clave para el contenido y el fondo (I746fd). - Se agregó un adaptador PositionIndicador que puede controlar LazyListState (I21b88).
- Se actualizó SwipeToDismissBox para admitir rememberSaveable (Ie728b).
- Se agregó compatibilidad con reverseLayout a ScalingLazyColumn. Esto permite revertir la dirección del desplazamiento y el diseño (I9e2fc).
performGesture
yGestureScope
dejar de estar disponibles y se reemplazaron conperformTouchInput
yTouchInjectionScope
(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
@ExperimentalWearMaterialApi
a 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.