wear protolayout
Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
6 de marzo de 2024 | 1.1.0 | - | - | 1.2.0-alpha01 |
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-alpha01" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0-alpha01" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0-alpha01" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha01") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha01") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha01") }
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-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 los diseños RTL. (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 se tiene la etiqueta principal en el lugar fijo en la parte superior y la inserción responsiva para las etiquetas (I60175). - Agregamos
PrimaryLayout.setResponsiveContentInsetEnabled
, que agrega la inserción responsiva a la etiqueta principal, la etiqueta secundaria y el chip inferior de este diseño para evitar que el contenido se 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 procesador de tarjetas ahora excluye el padding de la fuente en todos los elementos de texto de forma predeterminada, sin la opción de incluirlo. (I3e300).
Correcciones de errores
- Se solucionó el problema de alineación de texto que ocurría cuando se usaban la elipse, el espacio entre las letras y la alineación central en el texto. (I716c7).
- Se agregó una solución alternativa para un problema de dibujo con un arco skia. (I08f09).
- Se corrigió la dirección del dibujo de
ArcLine
para 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 de tamaño y elipsización de texto para controlar texto truncado.
- El separador admite dimensiones expandidas con un peso opcional.
- Anotación de 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 Text y los 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 una marca inmediatamente después de habilitar la actualización. (I77145).- Se corrigió
CircularProgressIndicator
para diseños RTL. A partir de ahora, será en el sentido de las manecillas del reloj en todos los casos. (I95ee3). - Se agregó una solución alternativa para un problema de dibujo con un arco 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 incluye todas las funciones y que la API está bloqueada (excepto cuando se marca como experimental). Wear ProtoLayout 1.1 incluye las siguientes APIs y funciones nuevas:
ArcLine
ahora admite el gradiente agregandoBrush
conSweepGradient
y teniendo una sombra en la tapa para representar mejor una longitud superior a 360 grados agregandoShadow
en elStrokeCap
existente.DynamicInstant
admite 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 de tamaño para el tamaño del texto permite establecer varios tamaños en
FontStyle.setSizes
, donde el tamaño del texto se ajustará automáticamente según el espacio que tenga dentro del elemento superior. Además, agregamosTEXT_OVERFLOW_ELLIPSIZE
y dimos de bajaTEXT_OVERFLOW_ELLIPSIZE_END
para mejorar las opciones de elipsis para el texto que se desborda. Spacer
ahora 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
ProtoLayout
ahora 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 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. - Luego de otras iniciativas de Compose y de otros componentes de Material, ahora desactivamos el padding de fuentes de forma predeterminada en todos los elementos
Text
. Además,AndroidTextStyle
y los métodos set relacionados se quitaron de la API pública con las siguientes correcciones de errores: - Se agregó un método set para posicionar el contenido del borde en
EdgeContentLayout
de modo que se pueda posicionar antes que otro contenido. - Se arroja una excepción de forma constante cuando se encuentra un valor de enumeración no reconocido
- Invalida el resultado de una expresión cuando produce un valor numérico no válido (NaN o infinito) o arroja una
ArithmeticException
.
Cambios en la API
- Se actualizaron la API de
SweepGradient
para permitir la aceptación de colores oColorStops
en el constructor (I6676f).
Correcciones de errores
- Se agregó una API restringida y compatibilidad con renderizadores para establecer una dirección en la que se dibujan los elementos de arco (Idef5a).
RoundMode
se establece de forma predeterminada comoFloor
enFloatToInt32Node
cuando no se especifica. El nodo seguirá arrojando 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 de menú ampliado de texto
TEXT_OVERFLOW_ELLIPSIZE_END
dejó de estar disponible. Usa la nueva API deTEXT_OVERFLOW_ELLIPSIZE
con un comportamiento muy similar. (I822d8). - Después de otras iniciativas de Compose y de otros componentes de Material, ahora desactivamos el padding de fuentes 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 arroja 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 una
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 de forma dinámica elementos de diseño (I64a78).
- Se agregó compatibilidad con valores dinámicos a
BoolProp
(I2fe96). - Se agregó la anotación de requisitos de la versión del esquema a las APIs de
ProtoLayout
(I0f03c). - Extensión de la API con la opción nueva en
TextOverflow
para elipsar Texto en un contenedor superior fijo, incluso cuando no se alcanza la cantidad máxima de líneas (pero no hay suficiente espacio para 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 espaciador ahora admite la dimensión expandida para el ancho/alto. (Ie7c94).
- Se agregó compatibilidad con la extensión del área de orientación de clics en Renderer (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ó a la API un campo
ArcLine
StrokeCap
Shadow
. (I830ec). - Se extendió la API para poder especificar el ancho o la altura del espaciador para expandir. (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
, compatible conSweepGradient
(Ie7ce3). - Se agregó compatibilidad con el formato por zonas de fecha y hora. (Ibfae0).
- Se agregaron protos y Wrappers de Java obligatorios para el formato de fecha y hora por zonas (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 del borde en
EdgeContentLayout
de modo que se pueda posicionar antes que otro contenido. (Ie8e8a).
Correcciones de errores
- Se corrigió un problema que se producía cuando una expresión con varios registros de fuente de datos no se actualizaba de inmediato. (I8e1a8).
- Se corrigió un error en el centro del elemento raíz durante las actualizaciones de diferencias. (Ie48f7).
- Ya no se ignorarán los valores de restricciones de diseño que no se establezcan (o estén vacíos). (Ibc785).
- Se redujo el retraso entre el momento en que se hace visible un diseño y la inicialización de los nodos de su 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 la vinculación de datos de plataforma (para actualizaciones más rápidas de datos de tarjetas) y 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 un diseño de
ProtoLayout
a 30LayoutElements
anidados. (I8a74b).
Correcciones de errores
- Se agregó una verificación para arrojar si se configuró
DynamicColor
para unSpanText
(I0e5bc). - Se aclaró que la unidad de fuente de datos
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
- Permite la configuración del 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. Ya se solucionó este problema. (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 agregar un ícono. (I5a01e).
Correcciones de errores
- Se actualizaron los mensajes de Prop con campos dinámicos para usar uno de ellos (I81739).
- Se reutilizó la implementación de métodos set para sobrecargas que tengan métodos set (Ied70c).
- Se registraron correctamente las huellas digitales en los métodos set que tengan 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
para la 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 convirtió a
StateStore
en una 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
porhasExcludeFontPadding
(Iea01d). - Se agregó un método set para alinear perfectamente la etiqueta a todos los componentes del chip. Ahora todos los chips tienen aplicado un objetivo mínimo táctil. (I8ae92).
- Se cambió el nombre de
LayoutDefaults#BUTTON_MAX_NUMBER
porMAX_BUTTONS
(I84788). - El nombre de
DAILY_DISTANCE
cambió porDAILY_DISTANCE_M
. (I4f758).
Correcciones de errores
- Se actualizaron los documentos de tipos de propuestas 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
PlatformDataKey
deben 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ó
AppDataKey
para acceder al estado enviado de la app, se agregóPlatformDataKey
para acceder a los datos de la plataforma y se agregó 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 propiaFontStyle
. (Ic929b).- Se ocultó 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 de cambio de diseño (I286ac). - Se quitaron las acciones
LoalAction
ySetStateAction
, ya que aún no eran compatibles. (I5d6a6). - Se agregó compatibilidad con el formato ARGB_8888 para recursos de imagen intercaladas. (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
StateStore
a fin de 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
ProtoLayout
no 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 de distancia diaria, calorías diarias y precios mínimos diarios. Las claves de las fuentes de estado de la plataforma ahora están en
PlatformHealthSources.Keys
(Ib7637). - El método
Easing.cubicBezier
reemplaza aCubicBezierEasing.Builder
. De esta manera, se quita la claseEasingFunction
, y ahora se puede acceder directamente a las constantes de aceleración de esa clase desde la interfazEasing
. Además,setInfiniteRepeatable
se reemplazó 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 registrarte enPlatformDataProvider
cuando el nodo de la canalización de expresión requiera la clave compatible del proveedor. (Ib616a). SensorGateway
ya no esCloseable
porque ya no mantiene ningún estado. (I6b4f7).- Permite el uso de
FloatProp
conDynamicFloat
para el progreso enCircularProgressIndicator
. Esto es compatible con procesadores que admiten la versión 1.2. Los procesadores anteriores recurrirán astaticValue
si se proporciona, de lo contrario, a 0 (I0d91b). - Se refactorizaron las constantes
MultiButtonLayout
en una claseLayoutDefaults.MultiButtonLayoutDefaults
, que ahora contiene esas constantes para los tamaños de botones según una cantidad de botones en el diseño. (I13973). - Se agregó compatibilidad con
StringProp
conDynamicString
en el texto de Material. Esto es compatible con 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 de procesador capaz de comprender el elemento de diseño. (I6581d).
- Se agregó compatibilidad con
StrokeCap
paraArcLine
. (I94951). - Se agregó compatibilidad con la operación Instant condicional. (I489a7).
- Se agregó compatibilidad para la operación de duración condicional. (Iab469).
- Se agregó compatibilidad para crear duración a partir de segundos. (Ib5fa1).
Cambios en la API
- Se quitaron métodos
enable/disablePlatformSource
deDynamicTypeEvaluator
. 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 los elementos largo 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 configurar la exclusión del relleno de la fuente en el texto de Material
ProtoLayout
(I17f5d). - Ahora, ARGB_8888 es compatible con imágenes intercaladas. (I18c1e).
DynamicColor
ahora admite la operaciónonCondition
. (I10927).
Cambios en la API
- Se agregó compatibilidad con la duración personalizada para la animación inversa (I3251f).
- Agregamos el modificador
SemanticDescription
. Además,ContentDescription
no es vinculante. (I3f1d). - Se reemplazó el método
DynamicBool.isFalse()
porDynamicBool.negate()
y se quitó elDynamicBool.isTrue()
. Además, los valoresDynamicFloat
de NaN y limitar unDynamicInt32
a unDynamicFloat
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 pueden animarse. (Ifcb01).
- Se quitó
DynamicTypeValueReceiver#onPreUpdate
. (I2dc35). - Ahora se limita la longitud de las strings 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). - Se marcaron 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).- Se cambió el nombre de
ObservableStateStore
porStateStore
(Ieb0e2). - Se agregó
DynamicTypeEvaluator.Builder
en lugar de argumentos de constructor para permitir más argumentos opcionales, incluidoObservableStateStore
, que ahora se encuentra 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 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
- 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 inverso y hacia adelante en las animaciones. (Ic25f7).
- Se agregó compatibilidad con
DynamicColor
a los bordes y el fondo. - Se agregó compatibilidad con valores dinámicos a los tipos en
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 que se producía 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 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 cambien durante una actualización de diseño. (bd03e5d).
Cambios en la API
- Agregamos
forwardRepeatDelayMillis
yreverseRepeatDelayMillis
aRepeatable
. También se cambió el nombre dedelayMillis
enAnimationSpec
porstartDelayMillis
(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 volverá a usar 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 informa a los objetos de escucha cuando también se quita una clave.- Agregamos la versión de esquema del procesador y la escala de fuentes a
DeviceParameters
(que se pueden usar para crear diseños de manera condicional en respuesta a diferentes versiones y parámetros de configuración de fuente). - Se agregó compatibilidad para animar valores
DynamicInt32
(I05485). - Se agregaron los activadores
OnLoad
yOnConditionalMet
. Se pueden usar para iniciar animaciones que admitan un activador. - Agregamos el peso de diseño para las dimensiones expandidas y el tamaño mínimo para las dimensiones unidas.
- Agregamos los tipos dinámicos instantáneos y de duración. Estos 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 del sensor requieren el nivel de API 29 o superior (I8099e).
- Agregamos dos métodos auxiliares
launchAction
(para iniciar objetos Activity).
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
Lanzamiento de 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.