wear protolayout
| Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
|---|---|---|---|---|
| 4 de junio de 2025 | 1.3.0 | - | - | - |
Cómo declarar dependencias
Para agregar una dependencia en wear-protolayout, debes agregar el repositorio de Maven de Google a tu proyecto. Lee 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 { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0") }
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.
Versión 1.3
Versión 1.3.0
4 de junio de 2025
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0. La versión 1.3.0 contiene estas confirmaciones.
Cambios importantes desde 1.2.0
- El diseño de Material 3 llega al reloj, con componentes y diseños optimizados para la pantalla redonda y que se escalan de forma adecuada desde tamaños de pantalla pequeños hasta grandes.
- Esto incluye la biblioteca
protolayout-material3solo para Kotlin con más APIs similares a Compose para los siguientes componentes y funciones: - Tema de color dinámico proveniente del sistema y la cara de reloj con el tema Material3 más reciente para colores, formas y tipografía
MaterialScopepara encargarse de todos los parámetros predeterminados y personalizarlos con mayor facilidadiconEdgeButton,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- Todos los componentes funcionan en cualquier nivel de SDK y en cualquier versión del renderizador
ProtoLayout, lo que proporciona resguardos adecuados cuando corresponda.
- Esto incluye la biblioteca
- APIs más compatibles con Kotlin y similares a Compose para elementos básicos de ProtoLayout
LayoutModifiercon la capacidad de agregar la mayoría de los modificadores como funciones encadenadas (padding,contentDescription(incluidaclearSemantics),background,clip,opacity, etc.), convertibles al objetoModifiersexistenteLayoutColorsyLayoutStringcomo tipos con compatibilidad más sencilla para usar campos y restricciones dinámicostextyfontStyle- Se agregó una mejor compatibilidad con mapas para
StateBuilder, incluidosDynamicDataMapy métodos de fábrica, comointAppDataKey, para facilitar la creación de objetosAppDataKey.
- Las animaciones de Lottie admiten la opción de establecer diferentes activadores para que se inicie la animación, por ejemplo, cuando se carga el diseño o cuando este se vuelve visible.
- Compatibilidad mejorada con gradientes:
- API de gradiente lineal como parte de
Brushque se puede usar en modificadoresBackgroundpara elementos comoBox,Spacer, etc. … - Se permiten valores de color dinámicos en
ColorStopque se usan para el gradiente lineal y de barrido. - El gradiente de barrido existente en los objetos de arco ahora admite colores dinámicos y ángulos inicial y final.
- Vinculación de datos de la plataforma en
protolayout-expressionpara recibir información cada vez que se cambia la visibilidad del diseño, que, por ejemplo, se puede usar para ocultar ciertas partes del diseño mientras se desliza la tarjeta hacia - Se agregó la biblioteca de pruebas
protolayout-testingpara admitir una cobertura de prueba de unidades más fácil para cualquier elemento de ProtoLayout. - Nuevo elemento
DashedArcLinecon un conjunto mejorado de funciones para que la línea pueda tener guiones, a diferencia delArcLineexistente ArcSpaceradmite la configuración de su longitud en la dimensión de DP en lugar de grados.- Se agregó el eje
FontSettingde redondez aplicable a algunas fuentes.
Versión 1.3.0-rc01
20 de mayo de 2025
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-rc01 sin cambios desde la versión anterior. La versión 1.3.0-rc01 contiene estas confirmaciones.
Versión 1.3.0-beta02
7 de mayo de 2025
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-beta02. La versión 1.3.0-beta02 contiene estas confirmaciones.
Correcciones de errores
- Realizamos una mejora importante en los valores de diseño de tipografía que se aplican en la API 36 y versiones posteriores. Esto se debe a que, a partir de la API 36, todas las tarjetas estarán en la fuente del sistema, por lo que este cambio introduce una mayor coherencia en el carrusel de tarjetas. (If316f).
- Los compiladores
Text,Spacer,ArcLineyDashedArcLineno arrojarán si no se configuralayoutConstraintspara valores dinámicos. Ten en cuenta que los renderizadores más antiguos aún requieren que se configurelayoutConstraintsy que ignorarán cualquier valor dinámico que no lo tenga configurado. (Ic52e8). - Se agregó el modificador de semántica de encabezado para indicar que un elemento de diseño se dirige a una sección de contenido con fines de accesibilidad y marcar el texto en la ranura del título de
primaryLayoutpara que sea el encabezado de accesibilidad de forma predeterminada. (Iae1fb). - Se mejoró la UX final de
primaryLayout, en la que el espacio entre el espacio del título y el espacio principal se redujo a 4 dp en lugar de 6 dp en pantallas más pequeñas. (I0e056). - Aplica la descripción de contenido predeterminada a
textEdgeButton. (Ifaf8b). - Actualización menor del padding interno de
avatarButton. (I0910b).
Versión 1.3.0-beta01
9 de abril de 2025
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-beta01. La versión 1.3.0-beta01 contiene estas confirmaciones.
Nuevas funciones
La versión 1.3.0-beta01 de Wear ProtoLayout indica que esta versión de la biblioteca está completa y la API está bloqueada (excepto donde se marca como experimental). Wear ProtoLayout 1.3 incluye las siguientes APIs y funciones nuevas:
- El diseño de Material 3 llega al reloj, con componentes y diseños optimizados para la pantalla redonda y que se escalan de forma adecuada desde tamaños de pantalla pequeños hasta grandes.
- Esto incluye la biblioteca
protolayout-material3solo para Kotlin con más APIs similares a Compose para los siguientes componentes y funciones: - Tema de color dinámico proveniente del sistema y la cara de reloj con el tema Material3 más reciente para colores, formas y tipografía
MaterialScopepara encargarse de todos los parámetros predeterminados y personalizarlos con mayor facilidadiconEdgeButton,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- Todos los componentes funcionan en cualquier nivel de SDK y versión de ProtoLayout Renderer, y proporcionan resguardos adecuados cuando corresponde.
- Esto incluye la biblioteca
- APIs más compatibles con Kotlin y similares a Compose para elementos básicos de ProtoLayout
LayoutModifiercon la capacidad de agregar la mayoría de los modificadores como funciones encadenadas (padding,contentDescription(incluidaclearSemantics),background,clip,opacity, etc.), convertibles al objetoModifiersexistenteLayoutColorsyLayoutStringcomo tipos con compatibilidad más sencilla para usar campos y restricciones dinámicostextyfontStyle- Se agregó una mejor compatibilidad con mapas para
StateBuilder, incluidosDynamicDataMapy métodos de fábrica, comointAppDataKey, para facilitar la creación de objetosAppDataKey.
- Las animaciones de Lottie admiten la opción de establecer diferentes activadores para que se inicie la animación, por ejemplo, cuando se carga el diseño o cuando este se vuelve visible.
- Compatibilidad mejorada con gradientes:
- API de gradiente lineal como parte de
Brushque se puede usar en modificadoresBackgroundpara elementos comoBox,Spacer, etc. … - Se permiten valores de color dinámicos en
ColorStopque se usan para el gradiente lineal y de barrido. - El gradiente de barrido existente en los objetos de arco ahora admite colores dinámicos y ángulos inicial y final.
- Vinculación de datos de la plataforma en
protolayout-expressionpara recibir información cada vez que se cambia la visibilidad del diseño, que, por ejemplo, se puede usar para ocultar ciertas partes del diseño mientras se desliza la tarjeta hacia - Se agregó la biblioteca de pruebas
protolayout-testingpara admitir una cobertura de prueba de unidades más fácil para cualquier elemento de ProtoLayout. - Nuevo elemento
DashedArcLinecon un conjunto mejorado de funciones para que la línea pueda tener guiones, a diferencia delArcLineexistente ArcSpaceradmite la configuración de su longitud en la dimensión de DP en lugar de grados.- Se agregó el eje
FontSettingde redondez aplicable a algunas fuentes.
Versión 1.3.0-alpha10
12 de marzo de 2025
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha10. La versión 1.3.0-alpha10 contiene estas confirmaciones.
Nuevas funciones
- Se agregó un asistente para Brush en el modificador de fondo de Kotlin. (I995de).
- El campo obligatorio de contexto de Android se hizo público en
MaterialScopepara permitir un uso más sencillo en las funciones de los desarrolladores que crean componentes para tarjetas de Material3. (I7df73).
Cambios en la API
- Se cambió el nombre de la API
platformVisibilityStatusaPlatformEventSources.isLayoutVisibley se agregó una nueva API experimentalPlatformEventSources.isLayoutUpdatePending. (Ie1e04).
Correcciones de errores
- Los márgenes de
primaryLayoutahora se redondean correctamente hacia arriba, lo que puede tener un efecto en algunos diseños hasta de 2 dp menos de espacio para el espacio principal. (I8f5d3) - Aclaración del tema de color dinámico predeterminado en los componentes de Material3 de
ProtoLayout. (Iff5f3). - Las tipografías de
Typography.NUMERAL_*ya no son tabulares ni de un solo espacio de forma predeterminada. Si el texto se anima, se recomienda agregarle la configuraciónFontSetting.tabularNum(). En todos los demás casos, no se necesita esta opción de monoespacio y, si no la usas, habrá más caracteres disponibles. (Id3cd9). - Aclaración del tema de color dinámico predeterminado en los componentes de Material3 de
ProtoLayout. (I9d831)
Versión 1.3.0-alpha09
26 de febrero de 2025
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha09. La versión 1.3.0-alpha09 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron modificadores experimentales para
enterTransitionyexitTransition(I4a4d6). - Agregamos una vinculación de plataforma adicional para recibir el estado de visibilidad del diseño completo cada vez que cambie. (I250c3).
- Permite insertar datos de estado de la app y de la plataforma de prueba en
LayoutElementAssertionsProviderpara evaluar los valores dinámicos. (Ib5fcb). - Se agregaron filtros de esquina a la biblioteca de pruebas de protolayout (Ie2361).
ButtonColors,CardColorsyProgressIndicatorColorsahora admiten el método de copia, con anulación opcional de algunos parámetros. (Ie2054).
Cambios en la API
- Se agregó compatibilidad con la vinculación de datos dinámica a la biblioteca de pruebas (Ib98de).
- Se corrigió
imageButtoncuando se usa con la funciónbackgroundImagequitando la superposición. Además, permite que la funciónbackgroundImageespecifique un valor nulo para el color de la superposición, lo que significa que no se aplicará la superposición. (Ibec3c).
Correcciones de errores
- Se cambió el método
hasValueOfTypepredeterminado para arrojarUnsupportedOperationExceptionen lugar deIllegalArgumentException. (Ia36c3) - Los valores predeterminados de los tokens de color se actualizan para reflejar la especificación más reciente (I75d44).
- Se corrigió el problema de alias visible en las líneas de arco en el renderizador de tarjetas de AndroidX. (I88190)
Versión 1.3.0-alpha08
12 de febrero de 2025
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha08. La versión 1.3.0-alpha08 contiene estas confirmaciones.
Nuevas funciones
- Se agregó el parámetro de lista
FontSettingpara el texto de Material3. (Ic102d). - Se agregó la clase
DynamicDataMap, queStateBuilderahora admite para obtener una mejor API de Kotlin segura para tipos de estados de apps (I012ba). - Se agregaron métodos de fábrica, como
intAppDataKey, para facilitar la creación de objetosAppDataKey(Icea2a). DynamicDataValueahora tiene un métodohasValueOfType(Class<?>)además de los métodoshasInt/hasColor/…. (I4f7a6).- Agregamos
errorDima Material3 ProtoLayoutColorSchemepara errores de alta prioridad o acciones de emergencia, como alertas de seguridad. (Ia17bb). - Agregamos una protección contra fallas cuando se accede al parámetro de configuración global reducemotion, que se activaba en algunas plataformas en las que no se proporcionaba ese parámetro. (I01e2c).
Cambios en la API
- Se cambió el nombre de
addKeyToValueMappingaaddToStateMapy se quitaron los métodosDynamicDataMap.put, ya que eran redundantes. (Ibe9dd) - La tipografía de Material3 ahora admite el eje de redondez variable para las fuentes del sistema que admiten este eje. ProtoLayout
FontSettingadmite el eje de redondez para las fuentes que admiten este eje. (I33eb5). - Se cambió el nombre de
multilineAlignmenta alineación en el método de texto de Material3. (I2b66b) - Se actualizó el indicador de progreso circular para que sea del tipo de cuadro. También se especificó que
mainContentenconstructGraphicsea del tipo de cuadro (I5a3dc). - Mayor compatibilidad con el uso del indicador de progreso circular en el gráfico (I039db)
Correcciones de errores
- Permite valores dinámicos en
ColorStopy también para los ángulos de inicio y fin enSweepGradient. (I0146d). - Se corrigieron errores en Documentos. (I4a63a)
- Se actualizaron los componentes de Material 3 (
graphicCardyavatarButton) para proporcionar un resguardo cuando no se admite la dimensión de expansiónweight(p.ej., por debajo del nivel de API 33). Se actualizó el componente de texto para que recurra aTEXT_OVERFLOW_ELLIPSIZE_ENDcuando el renderizador no admitaTEXT_OVERFLOW_ELLIPSIZE. (I19e2c). - Actualización de Documentos para
PrimaryLayoutMargins. (Ibaf7b).
Versión 1.3.0-alpha07
29 de enero de 2025
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha07. La versión 1.3.0-alpha07 contiene estas confirmaciones.
Nuevas funciones
- Se agregó la opción de API para establecer diferentes activadores para animaciones de Lottie. Además, se agregó la API para los activadores que se activan cuando el diseño es visible (I8272d).
- Se agregaron los modificadores
border,visibilityyopacity. (I6d3dd). - Se agregó el botón de avatar al componente ProtoLayout Material3. (Idb5ae).
- Ahora permitimos que se personalicen los márgenes (laterales y, en algunos casos, inferiores) en
primaryLayoutde Material3. (Ib22f6). - Se agregó la variante segmentada del indicador de progreso circular. (I6a648).
- Se agregó el componente de botón compacto a ProtoLayout Material3. (Ia3c5c).
- Se agregaron componentes de botones de imagen y de forma de píldora a ProtoLayout Material3. (Ifb88a).
Cambios en la API
LayoutModfier.foldInahora se llamafoldRightpara reflejar mejor su comportamiento esperado (Idf242).- El activador
VisibleOnceahora es experimental. (Ib2d26) - Se quitó
withOpacityde la API pública, ya que hay una alternativa de biblioteca de gráficos. (I030c2). - Se cambiaron los nombres de los métodos de nivel superior en
LayoutString.ktyLayoutColor.ktpara que tengan nombres compatibles con Java. (I7aff0). - Se quitaron las tipografías que no son de ProtoLayout en Material3. (Idd9ae).
- Se agregó el sufijo Color a los campos de las clases
*Colorsen Material3. (I2d114).
Correcciones de errores
- Se agregó la implementación de resguardo
EdgeButtonpara el renderizador más antiguo sin compatibilidad con esquinas asimétricas. (I63364). - Se agregó la implementación de resguardo del indicador de progreso circular con un renderizador más antiguo. (I0f134).
Versión 1.3.0-alpha06
15 de enero de 2025
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha06. La versión 1.3.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
LayoutColorpara admitir tipos de colores estáticos y dinámicos (I4c89b).- Se agregó el componente textButton de
ProtoLayout Material3. (Id680d). - Se agregó el componente
iconButtonProtoLayout Material3. (Ica3f0). - Se agregó el componente de contenedor de botones de Material3 de ProtoLayout. (I17a38).
- Se agregó compatibilidad con modificadores semánticos encadenables a protolayout-material3 (I4af62).
- Se agregó
CircularProgressIndicatorde segmento único de ProtoLayout Material3 (I2c8a2). - Se agregaron modificadores
paddingymetadata(I8720a). - Se agregaron los modificadores
background,clipyclickable(I35478). - Agrega
LinearGradienta Brush y permite que se use en el modificador de fondo. (Ic4dea). - Se agregó un tamaño pequeño para appCard y
titleCard. (I91f98). - Se agregó el componente
graphicDataCardde ProtoLayout Material3. (I92be7). - Se agregaron componentes
iconDataCardytextDataCardde ProtoLayout Material3. (I4e1e4). - Se agregó el componente
appCardde ProtoLayout Material3. (Id4c57). - Abstrae
EdgeButtonColorsaButtonColors. (I83624) - Se agregó el componente
titleCardde ProtoLayout Material3. (I2dc72).
Cambios en la API
- La API de ProtoLayout Material3 ahora acepta
LayoutStringpara admitir textos estáticos y dinámicos. (I9c24a).
Correcciones de errores
- Se agregó la implementación del renderizador para aumentar
DashedArcLine(I0c700). - Se cambió el renderizador para permitir que
ArcSpacertome la longitud de dp. (I1437b)
Versión 1.3.0-alpha05
11 de diciembre de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha05. La versión 1.3.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
- Se agregó
LayoutStringpara admitir campos de cadenas de diseño vinculables. (Ida650). - Se agregó el componente del contenedor de tarjetas
ProtoLayout Material3. (Ic985a).
Correcciones de errores
- Esta biblioteca ahora usa anotaciones de nulidad de JSpecify, que son de tipo de uso. Los desarrolladores de Kotlin deben usar el siguiente argumento del compilador para aplicar el uso correcto:
-Xjspecify-annotations=strict(este es el valor predeterminado a partir de la versión 2.1.0 del compilador de Kotlin). (Id1f9b, b/326456246).
Versión 1.3.0-alpha04
13 de noviembre de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha04. La versión 1.3.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Se actualizó la forma de Material3 para que sea una clase con campos que contengan el valor real de Corner, al igual que en Wear Compose. (Ied8cd)
- Se actualizaron los colores de Material3 para incluir el concepto de
ColorScheme, al igual que en Wear Compose. (If645e). - Se agregaron varios comparadores de uso general a la biblioteca de pruebas. (Ie5cec).
Versión 1.3.0-alpha03
30 de octubre de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha03. La versión 1.3.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron
LayoutElementAssertionsProvider,LayoutElementAssertionyLayoutElementMatchera la biblioteca de pruebas (Id1110).
Versión 1.3.0-alpha02
16 de octubre de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha02. La versión 1.3.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Versión inicial de la biblioteca de Material 3. Incluye los componentes
text,edgeButton,buttonGroupyprimaryLayout.
Correcciones de seguridad
- A partir de este cambio, androidx compila con protobuf 4.28.2 para abordar el CVE-2024-7254. Actualiza la dependencia de la versión 1.3.0-alpha01 de
androidx.wear.protolayout:protolayout-protoyandroidx.wear.protolayout:protolayout-external-protobufa la 1.3.0-alpha02 para abordar el riesgo de vulnerabilidad.
Contribución externa
Versión 1.3.0-alpha01
2 de octubre de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha01. La versión 1.3.0-alpha01 contiene estas confirmaciones.
Correcciones de errores
- Se aclaró que la disponibilidad de los nombres de las familias de fuentes Roboto y Roboto Flex depende del dispositivo. (I193be).
- Se habilitó la familia de fuentes Roboto Flex en el renderizador de tarjetas de AndroidX. (I08e94).
Versión 1.2
Versión 1.2.1
16 de octubre de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.2.1. La versión 1.2.1 contiene estas confirmaciones.
Correcciones de seguridad
- A partir de este cambio, androidx compila con protobuf 4.28.2 para abordar el CVE-2024-7254. Actualiza la dependencia de la versión 1.2.0 de
androidx.wear.protolayout:protolayout-protoyandroidx.wear.protolayout:protolayout-external-protobufa la 1.2.1 para abordar el riesgo de vulnerabilidad.
Versión 1.2.0
7 de agosto de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.2.0. La versión 1.2.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.1.0
FontStylese actualizó para admitir fuentes adicionales para los ejes variables y una mejor API de selección de fuentes para admitir las próximas fuentes Flex.- Compatibilidad con modificadores adicionales:
- Es un modificador de transformación que ofrece traslación, rotación y escalamiento con o sin animaciones.
- Especifica valores diferentes (horizontales y verticales) para cada radio de esquina.
- Se mejoró la accesibilidad de todos los objetivos táctiles extendiendo el área táctil de cualquier elemento que use el modificador Clickable a un mínimo de
48dppor48dp. - Se mejoraron
PrimaryLayoutyEdgeContentLayoutagregandosetResponsiveContentInsetEnabledpara admitir mejor el comportamiento responsivo de estos diseños en diferentes tamaños de pantalla y mejorar la coherencia de las tarjetas. - Se mejoró el escalamiento o la falta de escalamiento del texto de Material para el escalamiento de fuente no lineal de Android 14.
- Se mejoró la compatibilidad con la dirección de diseño de RTL en todos los elementos de arco.
Cambios adicionales
- Para obtener un conjunto más completo de los cambios introducidos en la versión 1.1.0, consulta las notas de la versión beta01.
Versión 1.2.0-rc01
24 de julio de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.2.0-rc01. La versión 1.2.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Corrigimos el chip de material estándar para que se pueda usar como ícono solo si no se pasa ninguna de las etiquetas principales o secundarias. (Iceef9)
- Se actualizó la documentación de los diseños de Material para incluir imágenes de la página relevante y facilitar la comprensión de los diseños. (I0256a)
Versión 1.2.0-beta01
10 de julio de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.2.0-beta01. La versión 1.2.0-beta01 contiene estas confirmaciones.
Nuevas funciones
La versión 1.2.0-beta01 de Wear ProtoLayout indica que esta versión de la biblioteca está completa y la API está bloqueada (excepto donde se marca como experimental). Wear ProtoLayout 1.2 incluye las siguientes APIs y funciones nuevas:
FontStylese actualizó para admitir fuentes adicionales de la siguiente manera:- Configura diferentes parámetros de variación de fuente, como
FontSetting.weightyFontSetting.width. - Establecer el mismo ancho para todos los caracteres numéricos: números tabulares (configuración de la función de fuente
FontSetting.tnum) - Se mejoraron las APIs de selección de fuentes para admitir las próximas fuentes flex especificando los nombres de las familias de fuentes preferidas que se usarán.
- Configura diferentes parámetros de variación de fuente, como
- Se extendió el modificador
Cornerpara admitir la especificación de cadaCornerRadiuscon valores horizontales y verticales separados para permitir la creación de elementos con esquinas asimétricas. - Se agregó un nuevo modificador
Transformationque ofrece traslación, rotación y escalamiento deLayoutElement. Estas transformaciones se pueden animar con valores dinámicos. - Se agregó
setArcDirectioncon las opcionesClockwise,CounterClockwiseyNormala todos los elementos de arco (Arc,ArcLineyArcText) para brindar una mejor compatibilidad en diferentes direcciones de diseño (como LTR y RTL). - Se mejoró la accesibilidad de todos los objetivos táctiles extendiendo el área táctil de cualquier elemento que use el modificador
Clickablepara que sea de al menos48dppor48dp. - Se mejoraron
PrimaryLayoutyEdgeContentLayoutagregandosetResponsiveContentInsetEnabledpara admitir mejor el comportamiento responsivo de estos diseños en diferentes tamaños de pantalla y mejorar la coherencia de las tarjetas. Se agregó una advertencia de lint para sugerir el uso de estas APIs con una solución rápida. - Se mejoró el escalamiento o no de
Textde Material para el escalamiento de fuente no lineal de Android 14.
Cambios en la API
- Se quita el nombre de la familia de fuentes predeterminada (
DEFAULT_SYSTEM_FONT), ya que se infiere por no usar la API depreferredFontFamilies. (I39dab). - El parámetro que se pasa a
FontSetting.widthdebe ser positivo. (I1266f).
Versión 1.2.0-alpha05
26 de junio de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.2.0-alpha05. La versión 1.2.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
- Agrega el método
hasTextaMaterial.CompactChippara verificar si se configuró el contenido de texto. (I6e8fc).
Cambios en la API
- Los const de
FontFamilyse mueven para estar enFontStyleen lugar de su clase de Builder. (I06ced). - Se actualizó la API de
FontSetting.weightyFontSetting.widthpara incluir anotaciones de rango y cambiar el parámetro de peso a int (Ia726c).
Correcciones de errores
- Los textos no escalables de la biblioteca de Material ahora funcionan correctamente con el escalamiento de fuente no lineal de Android 14. (I6601e).
Versión 1.2.0-alpha04
29 de mayo de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.2.0-alpha04. La versión 1.2.0-alpha04 contiene estas confirmaciones.
Cambios en la API
- Se agregó la API de esquinas asimétricas para poder especificar por separado el radio de cada esquina con 2 valores. (Icbd69).
- Se extendió la API de
FontSettingpara incluir lo siguiente: - Se agregó la API de la familia de fuentes a
FontStylepara permitir especificar una lista de orden de las familias de fuentes que se deben usar. (Iba9f5). - Se cambiaron los nombres de las constantes para la altura del espacio entre el contenido y la etiqueta secundaria en
LayoutDefaultsde Material, que inicialmente tenían el prefijo "Edge content" para ser más genéricos, ya que se pueden aplicar aPrimaryLayoutyEdgeContentLayout. (I4dc32)
Correcciones de errores
- Se cambió el nombre de los ejes de fuente variable de
axisNameaaxisTag. (I02ba3).
Versión 1.2.0-alpha03
14 de mayo de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.2.0-alpha03. La versión 1.2.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se agregó una API para establecer valores de peso personalizados para
FontStyle. (I7390a)
Correcciones de errores
- Se corrigió la falla en
getTouchDelegateInfodebido a un mapa de destino vacío. (I2accf)
Versión 1.2.0-alpha02
1 de mayo de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.2.0-alpha02. La versión 1.2.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se agregó compatibilidad para inhabilitar los comentarios de onda en elementos individuales en los que se puede hacer clic. (If1ede).
- Se quitó la API de transformación de
ArcModifiers, ya que no admite esa función (Ic0827). - El compilador de
ArcDirectionPropahora espera un valor en el constructor. (I76ada). - El método
PlatformDataValues.Builder.putAllpermitirá combinar unPlatformDataValueen otro. (I50ba3). - El nombre de
Text#setIsScalablecambió porText#setScalable. (If920e). - Material Text puede establecer si se usa un tamaño escalable (aumenta cuando se cambia el tamaño de la fuente del usuario) o no. (Ibc849).
- Se agregó la opción para establecer la descripción del contenido en
TitleChip. (I5d21f). - Se corrigió
CompactChippara que funcione correctamente solo con el ícono y se actualizó la API para permitir esta opción. (I6589e).
Correcciones de errores
- Se corrigió un problema de posibles datos de plataforma duplicados durante la inicialización. (Iba0fd).
- Se agregó un nuevo método get a
DynamicDataNodepara recuperar el costo del nodo. El costo se usa cuando se adquiere la cuota de nodos dinámicos. Actualmente, los nodos con valores fijos tendrán un costo de 0, y todos los demás tendrán un costo de 1. (Ia33e1). - Se quitó la lógica de recuento de
NO_OP_QUOTA_MANAGER. (Ib50b8) - Agregamos una regla de lint para informar una advertencia cuando se usa
PrimaryLayoutsinsetResponsiveContentInsetEnabledy proporcionar una solución rápida. (I12025). - Existe un límite para la cantidad de nodos de expresión dinámica. (Iffae8).
Versión 1.2.0-alpha01
6 de marzo de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Los elementos
ProtoLayout Arcahora tienen la opción de agregarArcDirection(Clockwise,CounterclockwiseoNormal). Si agregas este comportamiento aArc,ArcLineoArcText, se corregirá su comportamiento en los diseños de RTL. (I90699). - Se actualizó
EdgeContentLayoutcon un nuevo setsetResponsiveContentInsetEnabledpara lograr una mejor alineación con los lineamientos de UX y coherencia en las tarjetas, ya que tiene la etiqueta principal en el lugar fijo en la parte superior y un inserto responsivo para las etiquetas. (I60175) - Agregamos
PrimaryLayout.setResponsiveContentInsetEnabled, que agrega un elemento insertado responsivo a la etiqueta principal, la etiqueta secundaria y el chip inferior en este diseño para evitar que el contenido salga del borde de la pantalla. (I0c457). - Se agregó un método para quitar los márgenes externos de
CircularProgressIndicator, de modo que se pueda usar como un componente más pequeño. (I55c06).
Cambios en la API
- El renderizador de tarjetas ahora excluye el padding de la fuente en todos los elementos de texto de forma predeterminada, sin una opción para incluirlo. (I3e300).
Correcciones de errores
- Se corrigió el problema de alineación de texto cuando se usaban elipses, espaciado entre letras y alineación central en el texto. (I716c7).
- Se agregó una solución alternativa para un problema de dibujo de arco de Skia. (I08f09).
- Se corrigió la dirección de dibujo de
ArcLinepara los diseños de derecha a izquierda. (I6c141).
Versión 1.1
Versión 1.1.0
7 de febrero de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.1.0. La versión 1.1.0 contiene estas confirmaciones.
Cambios importantes desde 1.0.0
- Compatibilidad con gradientes y mejor representación de longitudes superiores a 360 grados en
ArcLine. - El formato de fecha y hora admite diferentes zonas horarias para los tipos de datos dinámicos.
- Mejores opciones de ajuste automático del texto y elipses para controlar el texto truncado
- El espaciador admite dimensiones expandidas con un peso opcional.
- Se agregó una anotación de requisitos de versión de esquema a todas las APIs de
ProtoLayout. - Se amplió el área objetivo de cualquier elemento
Clickablea 48 dp x 48 dp para satisfacer los requisitos de accesibilidad. - El padding de la fuente está desactivado de forma predeterminada y es el único comportamiento en todos los elementos de texto y componentes de Material que contienen texto.
Cambios adicionales
- Para obtener un conjunto más completo de los cambios introducidos en la versión 1.1.0, consulta las notas de la versión beta01.
Versión 1.1.0-rc01
24 de enero de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.
Correcciones de errores
PlatformTimeUpdateNotifierImplmarca inmediatamente después de habilitar la actualización. (I77145)- Se corrigió
CircularProgressIndicatorpara los diseños de derecha a izquierda. A partir de ahora, se hará en el sentido de las manecillas del reloj en todos los casos. (I95ee3). - Se agregó una solución alternativa para un problema de dibujo de arco de Skia. (I08f09).
Versión 1.1.0-beta01
10 de enero de 2024
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.
Nuevas funciones
La versión 1.1.0-beta01 de Wear ProtoLayout indica que esta versión de la biblioteca está completa y la API está bloqueada (excepto donde se marca como experimental). Wear ProtoLayout 1.1 incluye las siguientes APIs y funciones nuevas:
ArcLineahora admite gradientes agregandoBrushconSweepGradienty teniendo una sombra en la tapa para representar mejor la longitud superior a 360 grados agregandoShadowen elStrokeCapexistente.DynamicInstantadmite el formato de fecha y hora con zona.DynamicInstantyDynamicDurationse pueden usar como tipos de datos de estado o de plataforma.- Función de tamaño automático para el tamaño de texto que permite establecer varios tamaños en
FontStyle.setSizes, en los que el tamaño de texto se escalará automáticamente en función del espacio que tenga dentro del elemento superior. Además, mejoramos las opciones de puntos suspensivos para el texto que se desborda agregandoTEXT_OVERFLOW_ELLIPSIZEy dando de bajaTEXT_OVERFLOW_ELLIPSIZE_END. Spacerahora admite dimensiones expandidas con peso opcional. Para compilarExpandedDimensionProp, agregamos un método de ayudaDimensionBuilders.weight.- Compatibilidad para ocultar y mostrar elementos de diseño de forma dinámica con
Modifier.visible. Esto incluye tener valores dinámicos enBoolProp. - Todas las APIs de
ProtoLayoutahora tienen una anotación de requisitos de versión de esquema, y se puede verificar la versión antes de llamar a una API más reciente. - Cada elemento que tiene
Clickableahora tiene su área objetivo extendida a, al menos, 48 × 48 en el renderizador para admitir mejor los requisitos de accesibilidad. - Siguiendo otras iniciativas de componentes de Material y Compose, ahora desactivamos el padding de fuente de forma predeterminada en todos los elementos
Text. Además, se quitaronAndroidTextStyley los seters relacionados de la API pública con las siguientes correcciones de errores: - Se agregó un set para posicionar el contenido perimetral en
EdgeContentLayoutpara que se pueda colocar antes de otro contenido. - Genera una excepción de forma coherente cuando se encuentra un valor de enumeración no reconocido.
- Invalida el resultado de una expresión cuando genera un valor numérico no válido (NaN o infinito) o arroja un
ArithmeticException.
Cambios en la API
- Se realizaron actualizaciones en la API de
SweepGradientpara permitir aceptar colores oColorStopsen el constructor. (I6676f).
Correcciones de errores
- Se agregó una API restringida y compatibilidad con el renderizador para establecer una dirección en la que se dibujan los elementos de arco. (Idef5a).
RoundModese establece de forma predeterminada enFloorenFloatToInt32Nodecuando no se especifica. El nodo seguirá arrojando una excepción si no se reconoce elRoundModeproporcionado. (I1b2d8).
Versión 1.1.0-alpha04
13 de diciembre de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.1.0-alpha04. La versión 1.1.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- La clase
VersionInfono implementa la interfazComparable. (I8d13c). - El renderizador ahora admite la opción
TEXT_OVERFLOW_ELLIPSIZE. (I7f085).
Cambios en la API
- La opción de desbordamiento de texto
TEXT_OVERFLOW_ELLIPSIZE_ENDdejó de estar disponible. Usa la nueva APITEXT_OVERFLOW_ELLIPSIZEcon un comportamiento muy similar. (I822d8). - Siguiendo otras iniciativas de componentes de Material y Compose, ahora desactivamos el padding de fuente de forma predeterminada en todos los elementos de texto. Además, se quitaron
AndroidTextStyley los establecedores relacionados de la API pública. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3). Modifier.hiddense reemplaza porModifier.visible(I56902).FontStyle#setSizesahora acepta int en lugar de argumentosSpProp. (I02b37).
Correcciones de errores
- Genera una excepción cuando se encuentra un valor de enumeración no reconocido o no definido. (I9d2cf)
- Refactoriza
DynamicTypeBindingRequest. (I27b57). - Invalida el resultado de una expresión cuando genera un valor numérico no válido (NaN o infinito) o arroja un
ArithmeticException. (I681ae).
Versión 1.1.0-alpha03
29 de noviembre de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.1.0-alpha03. La versión 1.1.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad experimental para ocultar o mostrar elementos de diseño de forma dinámica (I64a78).
- Se agregó compatibilidad con valores dinámicos a
BoolProp(I2fe96). - Se agregó una anotación de requisito de versión de esquema a las APIs de
ProtoLayout(I0f03c). - Se extendió la API con la nueva opción en
TextOverflowpara elipse el texto en un contenedor superior fijo, incluso cuando no se alcanza la cantidad máxima de líneas (pero no hay suficiente espacio para el texto). (I110a9) - Se agregó el método auxiliar
DimensionBuilders.weightpara compilarExpandedDimensionPropcon peso. (I4f72b). DynamicInstantyDynamicDurationse pueden usar como tipos de datos de estado o de plataforma. (I6819f).
Cambios en la API
- Se actualizó la API para ocultar
DynamicZonedDateTimey mover todas sus operaciones aDyanamicInstant(I34b94). - El espacio ahora admite la dimensión expandida para el ancho o la altura. (Ie7c94).
- Se agregó compatibilidad con la extensión del área de destino de clic en el renderizador (I39c79).
Versión 1.1.0-alpha02
15 de noviembre de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.1.0-alpha02. La versión 1.1.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Se agregó un campo
ShadowStrokeCapArcLinea la API. (I830ec). - Se extendió la API para poder especificar el ancho o la altura del espaciador para expandirlo. (I757ca).
- Agregamos una API experimental para escalar automáticamente el tamaño del texto según el espacio que tiene dentro del elemento superior. (Ibbe63).
- Se admite el tamaño mínimo en el que se puede hacer clic (I178e3).
- Se agregó compatibilidad con el renderizador para
StrokeCapShadow. (I48b17). - Se agregó compatibilidad del renderizador para el gradiente de barrido en
ArcLine. (I4d5bb).
Versión 1.1.0-alpha01
18 de octubre de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó una opción de pincel a
Arcline, con compatibilidad paraSweepGradient. (Ie7ce3). - Se agregó compatibilidad con el formato de fecha y hora por zona. (Ibfae0).
- Se agregaron protos y wrappers de Java necesarios para el formato de fecha y hora por zona. (I97126).
- Se agregaron métodos get para volver a leer el valor almacenado en un
DynamicDataValue. (Ie6cea). - Se agregó un set para posicionar el contenido perimetral en
EdgeContentLayoutpara que se pueda colocar antes de otro contenido. (Ie8e8a).
Correcciones de errores
- Se corrigió un problema por el que una expresión con varios registros de fuentes de datos de hora no se actualizaba de inmediato. (I8e1a8).
- Se corrigió un error para centrar el elemento raíz durante las actualizaciones de diferencias. (Ie48f7).
- Ya no se ignorarán los valores de restricción de diseño no establecidos (o vacíos). (Ibc785)
- Se redujo la demora entre el momento en que un diseño se vuelve visible y el momento en que se inicializan sus nodos de canalización. (I38d4e)
Versión 1.0
Versión 1.0.0
9 de agosto de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0. La versión 1.0.0 contiene estas confirmaciones.
Funciones principales de la versión 1.0.0
La biblioteca de ProtoLayout presenta APIs para crear diseños y expresiones que se pueden usar en diferentes plataformas de Wear OS. Por ejemplo, la biblioteca de tarjetas usa estas APIs para admitir animaciones y vinculaciones de datos de plataforma (para actualizaciones de datos de tarjetas más rápidas).
Versión 1.0.0-rc01
26 de julio de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.
- Para migrar de tarjetas a
ProtoLayout, sigue las instrucciones que se indican aquí.
Cambios en la API
- Quitamos los métodos
setLayoutConstraintForDynamicAnchorAngleygetLayoutConstraintForDynamicAnchorAngledel elemento Arc. Estos métodos se agregaron por error y no tuvieron ningún efecto en el diseño proporcionado. (If7d01). - Limitamos la profundidad máxima que puede tener el diseño de un
ProtoLayouta 30LayoutElementsanidados. (I8a74b)
Correcciones de errores
- Se agregó una verificación para arrojar si se configuró
DynamicColorpara unSpanText. (I0e5bc). - Se aclara que la unidad de la fuente de datos
DAILY_CALORIESes kcal. (Iaa785).
Versión 1.0.0-beta01
21 de junio de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0-beta01. La Versión 1.0.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- Permite configurar el reloj para las pruebas de vinculación de tiempo. (I05622).
Cambios en la API
PlatformDataReceiver.onData()yStateBuilders.Builder.addKeyToValueMappingahora aceptan la asignación segura de tipos deDynamicDataKeyaDynamicDataValueen lugar de genéricos no seguros. Eso significa queDynamicDataValueahora se escribe con suDynamicType. Las constantesHEART_RATE_ACCURACY_Xse movieron a la raíz dePlatformHealthSourcespara que coincidan con el posicionamiento de otras constantes de Android. Las constantes intHEART_RATE_ACCURACY_Xahora se usan directamente enDynamicHeartRateAccuracy.constant()yDynamicHeartRateAccuracy.dynamicDataValueOf()en lugar de la constante de valor. (I82ff5).- La clase
PlatformHealthSources.Constantsse pudo crear por error. Ya se solucionó. (Icb849). PlatformTimeUpdateNotifier#setReceiverahora recibeRunnableen lugar de la funciónSupplieryExecutorpara notificar. (I9d938).- Cambiamos el tipo de parámetro en
PlatformTimeUpdateNotifier#setReceiverdeCallableaSupplier. (I664bf). CompactChipyTitleChipahora admiten agregar un ícono. (I5a01e).
Correcciones de errores
- Se actualizaron los mensajes de Prop con campos dinámicos para usar oneof en su lugar (I81739).
- Se volvió a usar la implementación de set para las sobrecargas que tienen set (Ied70c).
- Se registran correctamente las huellas dactilares en los set de configuración que tienen sobrecargas (I86ed2).
Versión 1.0.0-alpha11
7 de junio de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha11. La versión 1.0.0-alpha11 contiene estas confirmaciones.
Nuevas funciones
- Se agregó un
PlatformDataKeypara la precisión de la frecuencia cardíaca. (I7f9b8).
Cambios en la API
- Se cambió el nombre de
StateBuilders#getIdToValueMappingagetKeyToValueMappingy el tipo de datos que se muestra aMap<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae). - Se hizo que
StateStoresea una clase final (I408ca). - La interfaz
TimeGatewayse reemplazó porPlatformTimeUpdateNotifieren la bibliotecaprotolayout-expression-pipeline, que proporciona la frecuencia deseada para actualizar los datos de tiempo. (I60869) - Se cambió el nombre de
register/unregisterForDataenPlatformDataProvideraset/clearReceiver(I14b02). - En Material Text, se cambió el nombre de
getExcludeFontPaddingahasExcludeFontPadding. (Iea01d). - Se agregó un set para alinear perfectamente la etiqueta a todos los componentes del chip. Ahora, todos los chips tienen aplicado el objetivo mínimo de elementos en los que se puede hacer clic. (I8ae92).
- El nombre de
LayoutDefaults#BUTTON_MAX_NUMBERcambió porMAX_BUTTONS. (I84788). - El nombre de
DAILY_DISTANCEcambió porDAILY_DISTANCE_M. (I4f758).
Correcciones de errores
- Se actualizaron los documentos de tipos de propiedades para aclarar por qué se aplica el valor estático. Especifica el valor predeterminado que se usa si no se proporcionó un valor estático. (I155aa).
- Los espacios de nombres de
PlatformDataKeydeben seguir los nombres de estilo Java. (I47bda).
Versión 1.0.0-alpha10
24 de mayo de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.
Nuevas funciones
- Se agregó
AppDataKeypara acceder al estado enviado de la app. Se agregóPlatformDataKeypara acceder a los datos de la plataforma. Se agregó compatibilidad con espacios de nombres enStateStore. (I7985e) - Se admiten las operaciones
EqualyNotEqualparaDynamicBool. (I6a0c1).
Cambios en la API
- La clase
FontStylesahora es definitiva (Iaa2ea). LayoutElementBuilders#FontStylesquedó obsoleto. Usaandroidx.wear.protolayout.Typographyo crea tu propioFontStyle. (Ic929b).- Se ocultó la interfaz anidada
Action#Builderde la interfazAction. Las clasesLoadActionyLaunchActionya proporcionan implementaciones de Builder. (I1d70c). - Permite usar
DynamicFloatconFloatProp. Ten en cuenta queFloatPropno requiere restricciones de diseño, ya que no se usa como elemento de cambio de diseño. (I286ac) - Se quitaron las acciones
LoalActionySetStateAction, ya que aún no se admitían. (I5d6a6) - Se agregó compatibilidad con el formato ARGB_8888 para los recursos de imagen intercalados. (I8a07c).
- Se cambió el nombre de
StateEntryValueporDynamicDataValuey se actualizaron las APIs de estado para usarDynamicDataKey(If1c01). - Limitamos la cantidad de entradas permitidas en
StateStorepara garantizar que el uso de la memoria y el tiempo de actualización de estado estén bien contenidos y controlados para cada instancia deStateStore. Como resultado, el desarrollador debe asegurarse de no tener más deMAX_STATE_ENTRY_COUNTentradas en el mapa; de lo contrario, recibirá unIllegalStateExceptioncuando cree o actualice elStateStore. (Ibadb3). - Se ocultaron las clases
OnLoadTriggeryOnConditionMetTrigger, y se cambió el nombre desetTriggerasetConditionparaOnConditionMetTrigger. (Ibf629). - Por motivos de rendimiento y compatibilidad, los renderizadores de
ProtoLayoutno admitirán el conjunto completo de funciones en los recursosAnimatedVectorDrawable. Marcaremos esas APIs como experimentales hasta que podamos definir el conjunto compatible. (Ic6daf). - Se agregaron tipos dinámicos para la distancia diaria, las calorías diarias y las plantas diarias. Las claves de las fuentes de estado de la plataforma ahora se encuentran en
PlatformHealthSources.Keys(Ib7637). - El método
Easing.cubicBezierreemplaza aCubicBezierEasing.Builder. Con eso, se quita la claseEasingFunctiony ahora se puede acceder directamente a las constantes de suavización de esa clase desde la interfazEasing. Además,setInfiniteRepeatablese reemplaza porINFINITE_REPEATABLE_WITH_RESTARTyINFINITE_REPEATABLE_WITH_REVERSE(Ib41e7). - Implementa
PlatformDataProviderpara proporcionar la frecuencia cardíaca y los pasos diarios. Se quitó la interfazSensorGatewayde la API pública. (I55b84). - Agrega
PlatformDataProvidery actualizaStateStorepara registrarte enPlatformDataProvidercuando el nodo de la canalización de expresión requiera la clave compatible del proveedor. (Ib616a). SensorGatewayya no esCloseable, ya que ya no mantiene ningún estado. (I6b4f7).- Permite el uso de
FloatPropconDynamicFloatpara el progreso enCircularProgressIndicator. Esto es compatible con los renderizadores que admiten la versión 1.2. Los renderizadores anteriores recurrirán astaticValuesi se proporciona, de lo contrario, a 0 (I0d91b). - Las constantes
MultiButtonLayoutse refactorizaron en la claseLayoutDefaults.MultiButtonLayoutDefaults, que ahora contiene las de los tamaños de los botones según la cantidad de botones en el diseño. (I13973). - Se agregó compatibilidad con el uso de
StringPropconDynamicStringen Material Text. Esto es compatible con los renderizadores que admiten la versión 1.2. Los renderizadores anteriores usarán el valor estático proporcionado. Se actualizó el tipo de datos que se muestra deText#getTextdeStringaStringProp. (I7275b).
Versión 1.0.0-alpha09
10 de mayo de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha09. La versión 1.0.0-alpha09 contiene estas confirmaciones.
Nuevas funciones
- Se agregó un elemento de diseño de extensión experimental. Ten en cuenta que no se puede usar de forma predeterminada y requiere una extensión del renderizador capaz de comprender el elemento de diseño. (I6581d)
- Se agregó compatibilidad con
StrokeCapparaArcLine. (I94951). - Se agregó compatibilidad con la operación instantánea condicional. (I489a7).
- Se agregó compatibilidad con la operación de duración condicional. (Iab469).
- Se agregó compatibilidad para crear una duración a partir de segundos. (Ib5fa1).
Cambios en la API
- Se quitaron los métodos
enable/disablePlatformSourcedeDynamicTypeEvaluator. El llamador debe ser responsable de las actualizaciones. (I78c6d) - Permite limitar el tamaño de los tipos de datos vinculados. (Ie2966).
- Se agregó compatibilidad con la descripción de contenido dinámico en
protolayout-material. (I62c8e). - Usa long y
@IntRangepara la duración y el retraso en AnimationParameters. (I388b6).
Versión 1.0.0-alpha08
19 de abril de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.
Nuevas funciones
- Se ha agregado a
AndroidTextStyleaLayoutElementBuilders. (I8d967). - Se agregó compatibilidad para configurar el padding de fuente excluido en el texto de Material
ProtoLayout. (I17f5d). - Ahora se admite ARGB_8888 para las imágenes intercaladas. (I18c1e).
DynamicColorahora admite la operaciónonCondition. (I10927).
Cambios en la API
- Se admite la duración personalizada para la animación inversa (I3251f).
- Agregamos el modificador
SemanticDescription. Además,ContentDescriptionno se puede vincular. (I3f1d). - El método
DynamicBool.isFalse()ahora se reemplaza porDynamicBool.negate()y se quitaDynamicBool.isTrue(). Además, los valores NaNDynamicFloaty la reducción de unDynamicInt32a unDynamicFloatahora emiten un resultado dinámico no válido. (I6ac1e). - Los formateadores de int y float ahora usan el patrón de compilador. (Ieb213).
Correcciones de errores
- Se quitó el valor estático de resguardo de los campos animables. (Ifcb01).
- Se quitó
DynamicTypeValueReceiver#onPreUpdate. (I2dc35). - La longitud de las cadenas en las expresiones dinámicas ahora tiene un límite. (I4c93).
- Las dependencias de Gradle ahora se configuran correctamente en
apien lugar deimplementationcuando es necesario. (I40503)
Versión 1.0.0-alpha07
5 de abril de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con valores dinámicos a
StringProp(I04342). - Marca los elementos de diseño vinculables (Ia110b)
Cambios en la API
sensorGateway#registerSensorGatewayConsumertoma el tipo de datos como parámetro en lugar de método en Consumer. (Icf314).- El nombre de
ObservableStateStorecambió porStateStore. (Ieb0e2). - Se agregó
DynamicTypeEvaluator.Builderen lugar de argumentos de constructor para permitir más argumentos opcionales, incluidoObservableStateStore, que ahora se establece de forma predeterminada en una tienda vacía. (I6f832). - Se refactorizó el orden de los parámetros en
DynamicTypeEvaluator. (Ic1ba4).
Correcciones de errores
- Se propagan correctamente los indicadores de las fuentes de sensores de la plataforma a los nodos downstream (I5a922).
Versión 1.0.0-alpha06
22 de marzo de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
- Agregamos una API experimental para usar la frecuencia cardíaca y los pasos diarios en expresiones dinámicas (Ifd711).
- Se agregó compatibilidad con la demora de ida y vuelta para las animaciones. (Ic25f7).
- Agregamos compatibilidad con
DynamicColora Border y Background. - Se agregó compatibilidad con valores dinámicos a los tipos en
DimensionBuilder. - El diseño y los componentes de
tiles-materialse trasladarán aprotolayout-material.
Cambios en la API
- Se ha agregado a
LoadActionListeneraProtoLayoutViewInstance. (If7806).
Correcciones de errores
- Se agregó
FloatNodesTest(Id7281). - Se corrigió la falla del renderizador cuando no se podía cargar el mapa de bits estructurado.
Versión 1.0.0-alpha05
8 de marzo de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
- Se agregó una animación experimental de "actualización de contenido" al objeto
Modifiers. Esta animación se activará cada vez que el elemento (con este modificador) o uno de sus elementos secundarios cambie durante una actualización de diseño. (bd03e5d).
Cambios en la API
- Se agregaron
forwardRepeatDelayMillisyreverseRepeatDelayMillisaRepeatable. También cambiamos el nombre dedelayMillisenAnimationSpecastartDelayMillis(Ifb266). - Los métodos
DynamicTypeEvaluator.bindahora aceptan un ejecutor. (I346ab). - Se agregó el método
startEvaluationaBoundDynamicTypepara activar la evaluación después de que se vincula el tipo dinámico. (I19908).
Correcciones de errores
- El objeto Animator se reutilizará para animaciones posteriores de un solo elemento. (Ia3be9).
Versión 1.0.0-alpha04
22 de febrero de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
ObservableStateStoreahora también informa a los objetos de escucha cuando se quita una clave.- Agregamos la versión del esquema del renderizador y la escala de fuente a
DeviceParameters(que se puede usar para crear diseños de forma condicional en respuesta a diferentes versiones y parámetros de configuración de fuente). - Se agregó compatibilidad con la animación de valores
DynamicInt32(I05485). - Se agregaron los activadores
OnLoadyOnConditionalMet. Se pueden usar para iniciar animaciones que admiten un activador. - Agregamos el peso del diseño para las dimensiones expandidas y el tamaño mínimo para las dimensiones ajustadas.
- Agregamos los tipos dinámicos instantáneos y de duración. Se pueden usar para representar un instante o una duración en una expresión dinámica.
- Se agregó compatibilidad con
AnimatedVectorDrawableySeekableAnimatedVectorDrawablecomo recursos de diseño.
Cambios en la API
- Los datos de sensores requieren el nivel de API 29 o versiones posteriores. (I8099e)
- Se agregaron dos métodos auxiliares
launchAction(para iniciar actividades).
Correcciones de errores
- Se cambió el nombre de
set/getSpecaset/getAnimationSpecen la animación de tarjetas (I3d74b).
Versión 1.0.0-alpha03
8 de febrero de 2023
Lanzamiento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron
toByteArray()yfromByteArray()a los tipos dinámicos en la biblioteca protolayout-express. - Se agregó
toString()a los tipos dinámicos en la biblioteca protolayout-expression. - Se agregó compatibilidad con la evaluación de los tipos dinámicos. La clase
DynamicTypeEvaluatorde la biblioteca protolayout-expression-pipeline puede usarse para evaluar (y recibir valores actualizados) para un tipo dinámico que se creó anteriormente (DynamicString,DynamicFloat, …) - Cuando no se puedan reproducir las animaciones (ya sea porque están inhabilitadas por el evaluador o porque la cantidad de animaciones en ejecución alcanzó el límite establecido), se usarán los valores estáticos establecidos en el nodo que se puede animar para reemplazar la animación.
Versión 1.0.0-alpha02
25 de enero de 2023
Lanzamiento de androidx.wear.protolayout:protolayout:1.0.0-alpha02, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 y androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Los compiladores de diseño de
androidx.wear.tiles:tilesse trasladarán aandroidx.wear.protolayout:protolayout. Los que se encuentran enandroidx.wear.tiles:tilesdejarán de estar disponibles en una de las próximas versiones alfa.
Versión 1.0.0-alpha01
11 de enero de 2023
Se lanzaron androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 y androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- En esta versión, se presenta una nueva biblioteca llamada "ProtoLayout Expression" que se utiliza para crear expresiones a partir de variables dinámicas.