Wear Compose
Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
20 de abril de 2022 | - | - | - | 1.0.0-alpha21 |
Cómo declarar dependencias
Para agregar una dependencia en Wear, debes agregar el repositorio Maven de Google a tu proyecto. Consulta el repositorio Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle
de tu app o módulo:
Groovy
dependencies { implementation "androidx.wear.compose:compose-foundation:1.0.0-alpha21" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.0.0-alpha21" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.0.0-alpha21" // 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.0.0-alpha21") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.0.0-alpha21") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.0.0-alpha21") // 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 en esta biblioteca antes de crear uno nuevo. Para agregar tu voto a un error existente, haz clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Versión 1.0
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.