wear protolayout
Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
7 de agosto de 2024 | 1.2.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.2.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.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.2
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
- Se actualizó
FontStyle
para tener compatibilidad de fuentes adicional para los ejes variables y una mejor API de selección de fuentes para admitir las próximas fuentes Flex. - Los modificadores adicionales admiten las siguientes funciones:
- Modificador de transformación que ofrece traslación, rotación y escalamiento con o sin animaciones.
- Especificar diferentes valores (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 en el que se puede hacer clic para que sea, al menos,
48dp
en48dp
. - Se agregaron
setResponsiveContentInsetEnabled
para mejorarPrimaryLayout
yEdgeContentLayout
para 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 ajuste de escala/no escalado 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 derecha a izquierda en todos los elementos del 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
- Corregimos el chip de Material estándar para que se pueda usar como ícono solo si no se pasa ninguna de la etiqueta principal o secundaria. (Iceef9).
- Se actualizó la documentación de los diseños de Material para incluir imágenes de la página relevante para una comprensión más fácil 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 que la API está bloqueada (excepto cuando se marca como experimental). Wear ProtoLayout 1.2 incluye las siguientes APIs y funcionalidades nuevas:
- Se actualizó
FontStyle
para que sea compatible con fuentes adicionales de la siguiente manera:- Establecer diferentes parámetros de configuración de variación de fuente, como
FontSetting.weight
yFontSetting.width
- Establecer el mismo ancho para todos los caracteres numéricos: numerales tabulares (parámetro de configuración de atributos de fuente
FontSetting.tnum
) - Se mejoraron las APIs de selección de fuentes para admitir las próximas fuentes flexibles mediante la especificación de los nombres de familia de fuentes preferidos que se usarán.
- Establecer diferentes parámetros de configuración de variación de fuente, como
- Se extendió el modificador
Corner
para admitir la especificación de cadaCornerRadius
con valores horizontales y verticales independientes para permitir la compilación de elementos con esquinas asimétricas. - Se agregó un nuevo modificador
Transformation
que ofrece traslación, rotación y escalamiento deLayoutElement
. Estas transformaciones se pueden animar con valores dinámicos. - Se agregó
setArcDirection
con las opcionesClockwise
,CounterClockwise
yNormal
a todos los elementos de arco (Arc
,ArcLine
yArcText
) para mejorar la 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
Clickable
para que sea al menos48dp
por48dp
. - Se agregaron
setResponsiveContentInsetEnabled
para mejorarPrimaryLayout
yEdgeContentLayout
para 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 linter para sugerir el uso de estas APIs con una solución rápida. - Se mejoró el ajuste de escala/no escalado del
Text
de Material para el escalamiento de fuente no lineal de Android 14.
Cambios en la API
- Se quitó el nombre de la familia de fuentes predeterminada (
DEFAULT_SYSTEM_FONT
), ya que está implícito cuando no se usa la API depreferredFontFamilies
. (I39dab). - El parámetro que se pasa a
FontSetting.width
debe 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
hasText
aMaterial.CompactChip
para verificar si se configuró el contenido de texto. (I6e8fc).
Cambios en la API
- Se movieron la const de
FontFamily
para que estén enFontStyle
en lugar de su clase Builder. (I06ced). - Se actualizaron las APIs de
FontSetting.weight
yFontSetting.width
para incluir anotaciones de rango y cambiar el parámetro del peso para que sea 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
FontSetting
para que incluya lo siguiente: - Se agregó la API de familia de fuentes a
FontStyle
para permitir especificar una lista de orden de las familias de fuentes que se deben usar. (Iba9f5). - Se cambiaron los nombres de constantes para la altura de espacio entre el contenido y la etiqueta secundaria en
LayoutDefaults
de Material que inicialmente tenían el prefijo "Contenido perimetral" para que fueran más genéricas, ya que se pueden aplicar aPrimaryLayout
yEdgeContentLayout
. (I4dc32).
Correcciones de errores
- Se cambió el nombre de los ejes de fuente variables de
axisName
aaxisTag
. (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 configurar valores de peso personalizados para
FontStyle
. (I7390a).
Correcciones de errores
- Se corrigió el error en
getTouchDelegateInfo
debido a que un mapa de destino está 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 la respuesta de ondas 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
ArcDirectionProp
ahora espera un valor en el constructor. (I76ada). - El método
PlatformDataValues.Builder.putAll
permitirá combinar unPlatformDataValue
con otro. (I50ba3). - El nombre de
Text#setIsScalable
cambió porText#setScalable
. (If920e). - Material Text puede establecer si se usa un tamaño escalable (crece 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ó
CompactChip
para que funcione correctamente solo con el ícono y se actualice la API para permitir esta opción. (I6589e).
Correcciones de errores
- Se solucionó un problema de posibles datos duplicados de la plataforma durante la inicialización. (Iba0fd).
- Introduce un método get nuevo en
DynamicDataNode
para recuperar el costo del nodo. El costo se usa para adquirir la cuota de nodos dinámicos. Actualmente, los nodos con valores fijos tendrán un costo de 0, mientras que los demás tendrán un costo de 1. (Ia33e1). - Quita la lógica de recuento de
NO_OP_QUOTA_MANAGER
. (Ib50b8). - Agregamos una regla de lint para informar una advertencia cuando se usa
PrimaryLayout
sinsetResponsiveContentInsetEnabled
y proporcionar una solución rápida. (I12025). - Existe un límite para una 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 Arc
ahora tienen la opción de agregarleArcDirection
(Clockwise
,Counterclockwise
oNormal
). Si agregas este comportamiento aArc
,ArcLine
oArcText
, se corregirá su comportamiento en diseños de derecha a izquierda. (I90699). - Se actualizó
EdgeContentLayout
con un nuevo método set desetResponsiveContentInsetEnabled
para lograr una mejor alineación con los lineamientos de UX y coherencia en las tarjetas, ya que tiene la etiqueta principal en un lugar fijo en la parte superior y la inserción responsiva para las etiquetas. (I60175). - Agregamos
PrimaryLayout.setResponsiveContentInsetEnabled
, que agrega una inserción responsiva a la etiqueta principal, la etiqueta secundaria y el chip inferior en este diseño, para evitar que el contenido se salga del borde de la pantalla. (I0c457). - Agrega 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 procesador de tarjetas ahora excluye el relleno de la fuente en todos los elementos de texto de forma predeterminada, sin la opción de incluirla. (I3e300).
Correcciones de errores
- Se solucionó el problema de alineación de texto que se producía cuando se usaban la elipsis, el espaciado entre letras y la 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
ArcLine
para diseños RTL. (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 de más de 360 grados en
ArcLine
- El formato de fecha y hora admite diferentes zonas horarias para los tipos de datos dinámicos.
- Mejores opciones de elipsis y ajuste automático de tamaño del texto para controlar el texto truncado.
- El separador admite dimensiones expandidas con peso opcional.
- Anotación de los requisitos de la versión del esquema para todas las APIs de
ProtoLayout
- Se extendió el área de destino a cualquier elemento
Clickable
a 48 dp x 48 dp, para cumplir con 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
PlatformTimeUpdateNotifierImpl
marca inmediatamente después de habilitar la actualización. (I77145).- Se corrigió
CircularProgressIndicator
para diseños de derecha a izquierda. A partir de ahora, irá 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 que la API está bloqueada (excepto cuando se marca como experimental). Wear ProtoLayout 1.1 incluye las siguientes APIs y funcionalidades nuevas:
ArcLine
ahora admite el gradiente agregandoBrush
conSweepGradient
y teniendo una sombra en el extremo para representar mejor una longitud superior a 360 grados agregandoShadow
en el objetoStrokeCap
existente.DynamicInstant
es compatible con el formato de fecha y hora por zonas.DynamicInstant
yDynamicDuration
se pueden usar como tipos de datos de estado o plataforma.- La función de ajuste automático del tamaño del texto permite establecer varios tamaños en
FontStyle.setSizes
, donde el tamaño del texto se ajustará automáticamente en función del espacio que tenga dentro del elemento superior. Además, mejoramos las opciones de elipsis para el texto que se desborda agregandoTEXT_OVERFLOW_ELLIPSIZE
y dando de bajaTEXT_OVERFLOW_ELLIPSIZE_END
. Spacer
ahora admite tener dimensiones expandidas con peso opcional. Para la compilaciónExpandedDimensionProp
, agregamos un método de ayudaDimensionBuilders.weight
.- Se agregó 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
ProtoLayout
ahora tienen una anotación de requisitos de versión del esquema, y la versión se puede verificar antes de llamar a una API más nueva. - Cada elemento que tiene
Clickable
ahora tiene su área de destino extendida a, al menos, 48 × 48 en el procesador para admitir mejor los requisitos de accesibilidad. - Siguiendo con otros componentes de Material y las iniciativas de Compose, ahora desactivamos el padding de la fuente de forma predeterminada en todos los elementos
Text
. Además, se quitaronAndroidTextStyle
y los métodos set relacionados de la API pública. con las siguientes correcciones de errores: - Se agregó un método set para posicionar el contenido perimetral en
EdgeContentLayout
de modo que pueda posicionarse antes que otro contenido. - Se arroja una excepción de manera coherente cuando se encuentra un valor enum no reconocido.
- Invalida el resultado de una expresión cuando produce un valor numérico no válido (NaN o infinito) o arroja un
ArithmeticException
.
Cambios en la API
- Se actualizó la API de
SweepGradient
para permitir que se acepten colores oColorStops
en el constructor. (I6676f).
Correcciones de errores
- Se agregó una API restringida y compatibilidad con el renderizador para configurar la dirección en la que se dibujan los elementos de arco. (Idef5a).
- El valor predeterminado de
RoundMode
esFloor
enFloatToInt32Node
cuando no se especifica. El nodo arrojará una excepción si no se reconoce elRoundMode
proporcionado. (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
VersionInfo
no implementa la interfazComparable
. (I8d13c). - El procesador ahora admite la opción
TEXT_OVERFLOW_ELLIPSIZE
. (I7f085).
Cambios en la API
- La opción
TEXT_OVERFLOW_ELLIPSIZE_END
de desbordamiento de texto dejó de estar disponible. Usa la nueva API deTEXT_OVERFLOW_ELLIPSIZE
con un comportamiento muy similar. (I822d8). - Siguiendo con otros componentes de Material y las iniciativas de Compose, ahora desactivamos el padding de la fuente de forma predeterminada en todos los elementos Text. Además, se quitaron
AndroidTextStyle
y los métodos set relacionados de la API pública. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae y Ida9d3). - Se reemplazó
Modifier.hidden
porModifier.visible
. (I56902) FontStyle#setSizes
ahora acepta argumentos int en lugar deSpProp
(I02b37).
Correcciones de errores
- Se muestra una excepción cuando se encuentra un valor de enumeración No definido o No reconocido. (I9d2cf).
- Refactoriza
DynamicTypeBindingRequest
. (I27b57). - Invalida el resultado de una expresión cuando produce 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/mostrar elementos de diseño de forma dinámica. (I64a78)
- Se agregó compatibilidad con valores dinámicos a
BoolProp
(I2fe96). - Se agregó la anotación de requisitos de versión del esquema a las APIs de
ProtoLayout
(I0f03c). - Se extiende la API con la nueva opción en
TextOverflow
para reducir 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.weight
para compilarExpandedDimensionProp
con peso. (I4f72b). DynamicInstant
yDynamicDuration
se pueden usar como tipos de datos de estado o plataforma. (I6819f).
Cambios en la API
- Se actualizó la API para ocultar
DynamicZonedDateTime
y mover todas sus operaciones aDyanamicInstant
(I34b94). - El separador ahora admite la dimensión expandida para ancho y alto. (Ie7c94).
- Se agregó compatibilidad con la extensión del área de destino de clics en el procesador. (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
ArcLine
StrokeCap
Shadow
a la API. (I830ec). - Extensión de la API para poder especificar el ancho o la altura del espaciador a fin de expandirlo (I757ca).
- Agregamos una API experimental para ajustar automáticamente el tamaño del texto según el espacio que tiene dentro del elemento superior. (Ibbe63).
- Se agregó compatibilidad con el tamaño mínimo en el que se puede hacer clic. (I178e3)
- Se agregó compatibilidad con el procesador para
StrokeCap
Shadow
. (I48b17). - Se agregó compatibilidad con el procesador 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
, que es compatible conSweepGradient
. (Ie7ce3). - Se agregó compatibilidad con el formato de fecha y hora por zonas. (Ibfae0).
- Se agregaron protos y java Wrappers necesarios para el formato por zonas de fecha y hora. (I97126).
- Se agregaron métodos get para volver a leer el valor almacenado en un
DynamicDataValue
. (Ie6cea). - Se agregó un método set para posicionar el contenido perimetral en
EdgeContentLayout
de modo que pueda posicionarse antes que otro contenido. (Ie8e8a).
Correcciones de errores
- Se solucionó un problema que se producía cuando una expresión con varios registros de fuentes de datos de tiempo 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 reduce el retraso entre el momento en que un diseño se hace visible y la inicialización de 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 superficies de Wear OS. Por ejemplo, la biblioteca de tarjetas usa estas APIs para admitir la vinculación de datos de la plataforma (para actualizaciones más rápidas de los datos de tarjetas) y las animaciones.
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 Tiles a
ProtoLayout
, sigue las instrucciones que se indican aquí.
Cambios en la API
- Se quitaron los métodos
setLayoutConstraintForDynamicAnchorAngle
ygetLayoutConstraintForDynamicAnchorAngle
del 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 una
ProtoLayout
a 30 elementosLayoutElements
anidados. (I8a74b).
Correcciones de errores
- Agregamos una verificación a fin de arrojar si se configuró
DynamicColor
para unaSpanText
. (I0e5bc). - Se aclara que la unidad de fuente de datos de
DAILY_CALORIES
es 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
- Se permite configurar el reloj para las pruebas de vinculación de tiempo. (I05622).
Cambios en la API
PlatformDataReceiver.onData()
yStateBuilders.Builder.addKeyToValueMapping
ahora aceptan la asignación de tipo seguro deDynamicDataKey
aDynamicDataValue
en lugar de genéricos no seguros. Eso significa queDynamicDataValue
ahora se escribe con suDynamicType
. Se movieron las constantesHEART_RATE_ACCURACY_X
a la raíz dePlatformHealthSources
para que coincidan con el posicionamiento de otras constantes de Android. Las constantes intHEART_RATE_ACCURACY_X
ahora se usan directamente enDynamicHeartRateAccuracy.constant()
yDynamicHeartRateAccuracy.dynamicDataValueOf()
en lugar de la constante de valor. (I82ff5).- Se pudo crear una instancia de la clase
PlatformHealthSources.Constants
por error. Este problema ya se solucionó. (Icb849). PlatformTimeUpdateNotifier#setReceiver
ahora recibeRunnable
en lugar de la funciónSupplier
yExecutor
para notificar. (I9d938).- Cambiamos el tipo de parámetro en
PlatformTimeUpdateNotifier#setReceiver
deCallable
aSupplier
. (I664bf). CompactChip
yTitleChip
ahora permiten agregarle un ícono. (I5a01e).
Correcciones de errores
- Se actualizaron los mensajes de Prop con campos dinámicos para usar uno de ellos en su lugar. (I81739)
- Se volvió a usar la implementación de métodos set para las sobrecargas que tienen métodos set. (Ied70c)
- Se registraron correctamente las huellas digitales en los métodos set 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
PlatformDataKey
de precisión de la frecuencia cardíaca. (I7f9b8).
Cambios en la API
- Cambia el nombre de
StateBuilders#getIdToValueMapping
agetKeyToValueMapping
y el tipo de datos que se muestra aMap<<AppDataKey<?>,DynamicDataValue>
. (Iaa7ae). - Se hizo que
StateStore
sea la clase final. (I408ca) - Se reemplazó la interfaz
TimeGateway
porPlatformTimeUpdateNotifier
en la bibliotecaprotolayout-expression-pipeline
, que proporciona la frecuencia deseada para actualizar los datos de hora. (I60869). - Se cambió el nombre de
register
/unregisterForData
enPlatformDataProvider
aset
/clearReceiver
(I14b02). - En Material Text, se cambió el nombre de
getExcludeFontPadding
ahasExcludeFontPadding
. (Iea01d). - Se agregó un método set para la alineación perfecta de la etiqueta a todos los componentes del chip. Todos los chips ahora tienen aplicado un objetivo mínimo que se puede presionar. (I8ae92).
- El nombre de
LayoutDefaults#BUTTON_MAX_NUMBER
cambió porMAX_BUTTONS
. (I84788). - El nombre de
DAILY_DISTANCE
cambió porDAILY_DISTANCE_M
. (I4f758).
Correcciones de errores
- Se actualizaron los documentos de los tipos de propuestas para aclarar por qué se aplica el valor estático. Especifica el valor predeterminado que se usó si no se proporcionó un valor estático. (I155aa).
- Los espacios de nombres
PlatformDataKey
deben seguir el nombre 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
- Agrega
AppDataKey
para acceder al estado enviado de la app. AgregaPlatformDataKey
para acceder a los datos de la plataforma. Agrega compatibilidad con espacios de nombres enStateStore
. (I7985e). - Se admiten las operaciones
Equal
yNotEqual
paraDynamicBool
. (I6a0c1).
Cambios en la API
- La clase
FontStyles
ahora es definitiva. (Iaa2ea) LayoutElementBuilders#FontStyles
quedó obsoleto. Usaandroidx.wear.protolayout.Typography
o crea tu propioFontStyle
. (Ic929b).- Oculta la interfaz anidada
Action#Builder
de la interfazAction
. Las clasesLoadAction
yLaunchAction
ya proporcionan implementaciones de Builder. (I1d70c). - Permite el uso de
DynamicFloat
conFloatProp
. Ten en cuenta queFloatProp
no requiere restricciones de diseño, ya que no se usa como prop que cambia el diseño. (I286ac). - Se quitaron las acciones
LoalAction
ySetStateAction
porque todavía no se admitían. (I5d6a6). - Se agregó compatibilidad con el formato ARGB_8888 para recursos de imagen intercalados. (I8a07c).
- Se cambió el nombre de
StateEntryValue
aDynamicDataValue
y se actualizaron las APIs de estado para usarDynamicDataKey
(If1c01). - Limitamos la cantidad de entradas permitidas en la
StateStore
para garantizar que el uso de memoria y la hora 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_COUNT
entradas en el mapa. De lo contrario, obtendrá unIllegalStateException
cuando cree o actualice elStateStore
. (Ibadb3). - Oculta las clases
OnLoadTrigger
yOnConditionMetTrigger
, y cambia el nombre desetTrigger
asetCondition
paraOnConditionMetTrigger
. (Ibf629). - Por motivos de rendimiento y compatibilidad, los procesadores de
ProtoLayout
no admitirán el conjunto completo de funciones en los recursos deAnimatedVectorDrawable
. Marcaremos esas APIs como experimentales hasta que podamos definir el conjunto admitido. (Ic6daf). - Se agregaron tipos dinámicos para distancia diaria, calorías diarias y pisos diarios. Las claves para las fuentes de estado de la plataforma ahora están en
PlatformHealthSources.Keys
(Ib7637). - El método
Easing.cubicBezier
reemplaza aCubicBezierEasing.Builder
. Con eso, se quita la claseEasingFunction
y se puede acceder directamente a las constantes de aceleración de esa clase desde la interfazEasing
. Además, se reemplazósetInfiniteRepeatable
porINFINITE_REPEATABLE_WITH_RESTART
yINFINITE_REPEATABLE_WITH_REVERSE
. (Ib41e7) - Implementa
PlatformDataProvider
para proporcionar la frecuencia cardíaca y los pasos diarios. Se quitó la interfazSensorGateway
de la API pública. (I55b84). - Agrega
PlatformDataProvider
y actualizaStateStore
para registrarse enPlatformDataProvider
cuando el nodo de la canalización de expresiones requiera la clave compatible del proveedor. (Ib616a). SensorGateway
ya no esCloseable
, ya que no mantiene ningún estado. (I6b4f7).- Permite el uso de
FloatProp
conDynamicFloat
para el progreso enCircularProgressIndicator
. Esto es compatible con los procesadores que admiten la versión 1.2. Los procesadores anteriores recurrirán astaticValue
si se proporcionan; de lo contrario, a 0 (I0d91b). - Las constantes
MultiButtonLayout
se refactorizaron en la claseLayoutDefaults.MultiButtonLayoutDefaults
, que ahora contiene las para los tamaños de botones según varios botones en el diseño. (I13973). - Se agregó compatibilidad con
StringProp
conDynamicString
en Material Text. Esto es compatible con los procesadores que admiten la versión 1.2. Los procesadores anteriores recurrirán al valor estático proporcionado. Se actualizó el tipo de datos que se muestra deText#getText
deString
aStringProp
. (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
- Agregamos un elemento de diseño de extensión experimental. Ten en cuenta que esto no se puede usar de forma predeterminada y requiere una extensión del renderizador que pueda comprender el elemento de diseño. (I6581d).
- Se agregó compatibilidad con
StrokeCap
paraArcLine
. (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 duraciones en segundos. (Ib5fa1).
Cambios en la API
- Se quitaron métodos
enable/disablePlatformSource
deDynamicTypeEvaluator
. El llamador debe ser responsable de las actualizaciones. (I78c6d). - Permite la limitación del 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
@IntRange
para 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
AndroidTextStyle
aLayoutElementBuilders
. (I8d967). - Se agregó compatibilidad para la configuración de excluir el padding de la fuente en el texto de Material
ProtoLayout
. (I17f5d). - Ahora se admite ARGB_8888 para imágenes intercaladas. (I18c1e).
DynamicColor
ahora admite la operaciónonCondition
. (I10927).
Cambios en la API
- Se agregó compatibilidad con duración personalizada para la animación inversa. (I3251f)
- Agregamos el modificador
SemanticDescription
. Además,ContentDescription
no se puede vincular. (I3f1d). - El método
DynamicBool.isFalse()
ahora se reemplaza porDynamicBool.negate()
y se quitaDynamicBool.isTrue()
. Además, los valoresDynamicFloat
NaN y la reducción deDynamicInt32
aDynamicFloat
ahora emiten un resultado dinámico no válido. (I6ac1e). - Los formateadores int y float ahora usan el patrón Builder. (Ieb213).
Correcciones de errores
- Se quitó el valor estático de resguardo de los campos que se pueden animar. (Ifcb01).
- Se quitó
DynamicTypeValueReceiver#onPreUpdate
. (I2dc35). - Ahora se limita la longitud de las cadenas en expresiones dinámicas. (I4c93).
- Las dependencias de Gradle ahora están configuradas correctamente en
api
en lugar deimplementation
cuando sea 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 vinculantes. (Ia110b)
Cambios en la API
sensorGateway#registerSensorGatewayConsumer
toma el tipo de datos como parámetro en lugar del método en Consumer. (Icf314).- El nombre de
ObservableStateStore
cambió porStateStore
. (Ieb0e2). - Se agregó
DynamicTypeEvaluator.Builder
en lugar de argumentos del constructor para permitir más argumentos opcionales, incluidoObservableStateStore
, que ahora muestra un almacén vacío de forma predeterminada. (I6f832). - Se refactorizó el orden de los parámetros en
DynamicTypeEvaluator
. (Ic1ba4).
Correcciones de errores
- Se propagan correctamente las señales de las fuentes de los sensores de la plataforma a los nodos descendentes. (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
- Se agregó una API experimental para usar la frecuencia cardíaca y los pasos diarios en expresiones dinámicas (Ifd711).
- Se agregó compatibilidad con el retraso hacia adelante y hacia atrás para las animaciones. (Ic25f7).
- Agregamos compatibilidad con
DynamicColor
a borde y fondo - Agregamos compatibilidad con valores dinámicos a los tipos de
DimensionBuilder
- El diseño y los componentes de
tiles-material
se trasladarán aprotolayout-material
Cambios en la API
- Se ha agregado a
LoadActionListener
aProtoLayoutViewInstance
. (If7806).
Correcciones de errores
- Se agregó
FloatNodesTest
(Id7281). - Se corrigió la falla del procesador 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
- Agregamos una "actualización de contenido" experimental animación 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
- Agregamos
forwardRepeatDelayMillis
yreverseRepeatDelayMillis
aRepeatable
. También se cambió el nombre dedelayMillis
enAnimationSpec
astartDelayMillis
. (Ifb266) - Los métodos
DynamicTypeEvaluator.bind
ahora aceptan un ejecutor. (I346ab). - Agregamos el método
startEvaluation
aBoundDynamicType
para activar la evaluación después de vincular el tipo dinámico. (I19908).
Correcciones de errores
- El objeto Animator se reutilizará para las 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
ObservableStateStore
ahora 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 fuentes a
DeviceParameters
(que se puede usar para crear diseños condicionalmente en respuesta a diferentes versiones y configuraciones de fuentes). - Se agregó compatibilidad con la animación de valores de
DynamicInt32
(I05485). - Agregamos los activadores
OnLoad
yOnConditionalMet
. Se pueden usar para iniciar animaciones que admitan un activador. - Agregamos un peso del diseño para las dimensiones expandidas y un tamaño mínimo para las dimensiones unidas.
- Agregamos los tipos dinámicos instantáneos y la duración. Se pueden usar para representar un instante o una duración en una expresión dinámica.
- Se agregó compatibilidad con
AnimatedVectorDrawable
ySeekableAnimatedVectorDrawable
como recursos de diseño.
Cambios en la API
- Los datos de sensores requieren el nivel de API 29 o superior. (I8099e).
- Agregamos dos métodos auxiliares
launchAction
(para iniciar actividades).
Correcciones de errores
- Se cambió el nombre de
set/getSpec
aset/getAnimationSpec
en 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
DynamicTypeEvaluator
de 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:tiles
se trasladarán aandroidx.wear.protolayout:protolayout
. Los que se encuentran enandroidx.wear.tiles:tiles
dejará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.