wear protolayout
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
7 de agosto de 2024 | 1.2.0 | - | - | - |
Declarar dependências
Para adicionar uma dependência à biblioteca wear-protolayout, adicione o repositório Maven do Google ao seu projeto. Consulte a seção Repositório Maven do Google para mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle
do
seu app ou 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 mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.2
Versão 1.2.0
7 de agosto de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.2.0
. A versão 1.2.0 contém estas confirmações.
Mudanças importantes desde a 1.1.0
- O
FontStyle
foi atualizado para oferecer suporte extra a fontes para os eixos variáveis e uma API de seleção de fonte melhor para oferecer suporte às próximas fontes Flex. - Suporte a mais modificadores:
- Modificador de transformação que oferece translação, rotação e escalonamento, com ou sem animações.
- Especificar valores diferentes (horizontal e vertical) para cada raio dos cantos.
- Melhoramos a acessibilidade de todas as áreas de toque estendendo a área tocável de qualquer elemento que usa o modificador clicável para que pelo menos
48dp
até48dp
. PrimaryLayout
eEdgeContentLayout
foram aprimorados com a adição desetResponsiveContentInsetEnabled
para oferecer melhor suporte ao comportamento responsivo desses layouts em diferentes tamanhos de tela e melhorar a consistência dos blocos- Melhorias no dimensionamento/sem dimensionamento do Material Text para o dimensionamento de fontes não linear do Android 14.
- Melhoria na compatibilidade com a direção de layout RTL em todos os elementos de arco
Outras mudanças
- Para acessar um conjunto mais completo das mudanças introduzidas na versão 1.1.0, consulte as notas da versão do beta01.
Versão 1.2.0-rc01
24 de julho de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.2.0-rc01
. A versão 1.2.0-rc01 contém estas confirmações.
Correções de bugs
- Corrigimos o ícone do Material Design padrão para que ele só possa ser usado como ícone se nenhum dos rótulos principal ou secundário for transmitido. (Iceef9).
- A documentação dos layouts do Material Design foi atualizada para incluir recursos visuais da página relevante para facilitar a compreensão dos layouts. (I0256a).
Versão 1.2.0-beta01
10 de julho de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.2.0-beta01
. A versão 1.2.0-beta01 contém estas confirmações.
Novos recursos
A versão 1.2.0-beta01 do Wear ProtoLayout indica que essa versão da biblioteca tem todos os recursos e que a API está bloqueada (exceto quando marcada como experimental). O Wear ProtoLayout 1.2 inclui estas novas funcionalidades e APIs:
FontStyle
foi atualizado para oferecer suporte a mais fontes, como o seguinte:- Definir uma configuração diferente de variação de fonte, por exemplo,
FontSetting.weight
eFontSetting.width
- Definição da mesma largura para todos os caracteres numéricos, números tabulares (configuração de recurso de fonte
FontSetting.tnum
) - As APIs de seleção de fonte foram aprimoradas para oferecer suporte às próximas fontes flexíveis, especificando os nomes das famílias de fontes preferidos a serem usados.
- Definir uma configuração diferente de variação de fonte, por exemplo,
- Modificador
Corner
estendido para oferecer suporte à especificação de cadaCornerRadius
com valores horizontais e verticais separados, a fim de permitir a criação de elementos com cantos assimétricos. - Foi adicionado um novo modificador
Transformation
que oferece translação, rotação e escalonamento deLayoutElement
. Essas transformações podem ser animadas usando valores dinâmicos. - Adição de
setArcDirection
com as opçõesClockwise
,CounterClockwise
eNormal
a todos os elementos de arco (Arc
,ArcLine
eArcText
) para oferecer melhor suporte a diferentes direções de layout (como LTR e RTL). - Melhoramos a acessibilidade de todas as áreas de toque estendendo a área tocável de qualquer elemento que usa o modificador
Clickable
para que ela seja pelo menos48dp
até48dp
. PrimaryLayout
eEdgeContentLayout
foram aprimorados com a adição desetResponsiveContentInsetEnabled
para oferecer melhor suporte ao comportamento responsivo desses layouts em diferentes tamanhos de tela e melhorar a consistência dos blocos Adicionamos um aviso de linter para sugerir o uso dessas APIs com uma correção rápida.- Melhoria no dimensionamento/sem dimensionamento da
Text
do Material Design para o dimensionamento de fontes não linear do Android 14.
Mudanças na API
- O nome da família de fontes padrão (
DEFAULT_SYSTEM_FONT
) foi removido porque fica implícito porque a APIpreferredFontFamilies
não é usada. (I39dab). - O parâmetro transmitido ao
FontSetting.width
precisa ser positivo. (I1266f).
Versão 1.2.0-alpha05
26 de junho de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.2.0-alpha05
. A versão 1.2.0-alpha05 contém estas confirmações.
Novos recursos
- Adicione o método
hasText
aMaterial.CompactChip
para verificar se o conteúdo de texto foi definido. (I6e8fc).
Mudanças na API
FontFamily
constantes são movidas para ficar emFontStyle
, em vez de sua classe Builder. (I06ced).- As APIs
FontSetting.weight
eFontSetting.width
foram atualizadas para incluir anotações de intervalo e mudar o parâmetro de peso para int. (Ia726c).
Correções de bugs
- Textos não escalonáveis na biblioteca do Material agora funcionam corretamente com o dimensionamento de fontes não linear do Android 14. (I6601e).
Versão 1.2.0-alpha04
29 de maio de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.2.0-alpha04
. A versão 1.2.0-alpha04 contém estas confirmações.
Mudanças na API
- A API de cantos assimétricos foi adicionada para poder especificar separadamente o raio de cada canto com dois valores. (Icbd69).
- A API
FontSetting
foi estendida para incluir: - A API de família de fontes foi adicionada a
FontStyle
para permitir a especificação de uma lista de ordem de quais famílias de fontes precisam ser usadas. (Iba9f5). - As constantes para altura do espaço entre o conteúdo e o rótulo secundário no
LayoutDefaults
do Material Design foram renomeadas para serem mais genéricas, já que podem ser aplicadas aPrimaryLayout
eEdgeContentLayout
. (I4dc32).
Correções de bugs
- A nomenclatura dos eixos de fonte variáveis foi renomeada de
axisName
paraaxisTag
. (I02ba3).
Versão 1.2.0-alpha03
14 de maio de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.2.0-alpha03
. A versão 1.2.0-alpha03 contém estas confirmações.
Novos recursos
- Adição da API para definir valores de peso personalizados para
FontStyle
. (I7390a).
Correções de bugs
- Corrija a falha em
getTouchDelegateInfo
devido a um mapa de destino vazio. (I2accf).
Versão 1.2.0-alpha02
1o de maio de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
. A versão 1.2.0-alpha02 contém estas confirmações.
Mudanças na API
- Adicionamos suporte à desativação do feedback de ondulação em elementos clicáveis individuais. (If1ede).
- A API para transformação foi removida de
ArcModifiers
porque não oferece suporte a esse recurso (Ic0827). - O builder
ArcDirectionProp
agora espera um valor no construtor. (I76ada). - O método
PlatformDataValues.Builder.putAll
permite a mesclagem de umaPlatformDataValue
com outra. (I50ba3). Text#setIsScalable
foi renomeado comoText#setScalable
. (If920e).- O Material Text pode definir se é necessário usar o tamanho escalonável (aumenta quando o tamanho da fonte do usuário é alterado) ou não. (Ibc849).
- Adicionamos a opção de definir a descrição do conteúdo como
TitleChip
. (I5d21f). CompactChip
foi corrigido para funcionar corretamente apenas com ícones e atualizar a API para permitir essa opção. (I6589e).
Correções de bugs
- Correção de um problema de possíveis dados de plataforma duplicados durante a inicialização. (Iba0fd).
- Introdução de um novo getter ao
DynamicDataNode
para extrair o custo do nó. O custo é usado ao adquirir a cota de nó dinâmico. No momento, os nós com valores fixos terão um custo de 0, e todos os outros nós terão um custo de 1. (Ia33e1). - Remova a lógica de contagem do
NO_OP_QUOTA_MANAGER
. (Ib50b8). - Adicionamos uma regra de lint para informar um aviso quando
PrimaryLayout
é usado semsetResponsiveContentInsetEnabled
e fornecer uma correção rápida. (I12025). - Há um limite para um número de nós de expressão dinâmica. (Iffae8).
Versão 1.2.0-alpha01
6 de março de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.2.0-alpha01
. A versão 1.2.0-alpha01 contém estas confirmações.
Novos recursos
- Os elementos
ProtoLayout Arc
agora têm a opção de adicionarArcDirection
(Clockwise
,Counterclockwise
ouNormal
) a ele. Adicionar esse comportamento aArc
,ArcLine
ouArcText
vai corrigir o comportamento em layouts RTL. (I90699). EdgeContentLayout
foi atualizado com um novo setter desetResponsiveContentInsetEnabled
para conseguir um melhor alinhamento com as diretrizes de UX, consistência em blocos com o rótulo principal no lugar fixo na parte superior e o encarte responsivo para rótulos. (I60175).- Adicionamos
PrimaryLayout.setResponsiveContentInsetEnabled
, que adiciona um encarte responsivo ao marcador principal, secundário e ao ícone inferior nesse layout para evitar que o conteúdo saia da borda da tela. (I0c457). - Adição de um método para remover margens externas de
CircularProgressIndicator
para que ele possa ser usado como um componente menor (I55c06).
Mudanças na API
- O renderizador de blocos agora exclui o padding de fonte em todos os elementos de texto por padrão, sem a opção de incluí-lo. (I3e300).
Correções de bugs
- Corrigimos o problema de alinhamento do texto quando os tamanhos de reticências, o espaçamento entre letras e o alinhamento central eram usados no texto. (I716c7).
- Foi adicionada uma solução alternativa para um problema de desenho de arco skia. (I08f09).
- A direção de desenho de
ArcLine
para layouts RTL foi corrigida (I6c141).
Versão 1.1
Versão 1.1.0
7 de fevereiro de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.1.0
. A versão 1.1.0 contém estas confirmações.
Mudanças importantes desde a versão 1.0.0
- Compatibilidade com gradiente e melhor representação de comprimentos maiores que 360 graus em
ArcLine
. - A formatação de data e hora oferece suporte a diferentes fusos horários para tipos de dados dinâmicos.
- Melhores opções de dimensionamento automático e reticências de texto para lidar com texto truncado.
- O espaçador oferece suporte a dimensões expandidas com peso opcional.
- Anotação de requisito da versão do esquema para todas as APIs
ProtoLayout
. - A área de destino foi ampliada para qualquer elemento
Clickable
em 48 dp x 48 dp, para atender aos requisitos de acessibilidade. - O padding da fonte é desativado por padrão e é o único comportamento em todos os elementos de texto e componentes do Material Design que contêm texto.
Outras mudanças
- Para acessar um conjunto mais completo das mudanças introduzidas na versão 1.1.0, consulte as notas da versão do beta01.
Versão 1.1.0-rc01
24 de janeiro de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.1.0-rc01
. A versão 1.1.0-rc01 contém estas confirmações.
Correções de bugs
PlatformTimeUpdateNotifierImpl
é iniciado imediatamente após a ativação da atualização. (I77145).- Correção de
CircularProgressIndicator
para layouts RTL A partir de agora, será no sentido horário em todos os casos. (I95ee3). - Foi adicionada uma solução alternativa para um problema de desenho de arco skia. (I08f09).
Versão 1.1.0-beta01
10 de janeiro de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.1.0-beta01
. A versão 1.1.0-beta01 contém estas confirmações.
Novos recursos
A versão 1.1.0-beta01 do Wear ProtoLayout indica que essa versão da biblioteca tem todos os recursos e que a API está bloqueada (exceto quando marcada como experimental). O Wear ProtoLayout 1.1 inclui estas novas funcionalidades e APIs:
- O
ArcLine
agora oferece suporte ao gradiente adicionandoBrush
comSweepGradient
e com uma sombra na extremidade para representar melhor um comprimento maior que 360 graus, adicionandoShadow
aoStrokeCap
existente. DynamicInstant
oferece suporte à formatação de data-hora zonal.DynamicInstant
eDynamicDuration
podem ser usados como tipos de dados de estado ou plataforma.- Recurso de dimensionamento automático para tamanho de texto que permite definir vários tamanhos como
FontStyle.setSizes
, em que o tamanho do texto será dimensionado automaticamente com base no espaço dentro do pai. Além disso, melhoramos as opções de reticências para textos que estouram adicionandoTEXT_OVERFLOW_ELLIPSIZE
e descontinuandoTEXT_OVERFLOW_ELLIPSIZE_END
Spacer
agora é compatível com dimensões expandidas com peso opcional. Adicionamos um método auxiliarDimensionBuilders.weight
para criarExpandedDimensionProp
.- Suporte a ocultar e exibir dinamicamente elementos de layout com
Modifier.visible
. Isso inclui ter valores dinâmicos emBoolProp
. - Agora todas as APIs
ProtoLayout
têm a anotação do requisito de versão do esquema, e a versão pode ser verificada antes de chamar uma API mais recente. - Cada elemento que tem
Clickable
agora tem a área de destino estendida para pelo menos 48 x 48 no renderizador para oferecer melhor suporte aos requisitos de acessibilidade. - Seguindo outros componentes do Material Design e iniciativas do Compose, agora desativamos o padding de fonte por padrão em todos os elementos
Text
. Além disso,AndroidTextStyle
e setters relacionados foram removidos da API pública. com as seguintes correções de bugs: - Foi adicionado um setter para posicionar o conteúdo da borda em
EdgeContentLayout
para que ele possa ser posicionado antes de outro conteúdo. - Geração consistente de uma exceção ao encontrar um valor de tipo enumerado não reconhecido.
- Invalidar o resultado de uma expressão quando ela produzir um valor numérico inválido (NaN ou infinito) ou gerar um
ArithmeticException
.
Mudanças na API
- Atualizamos a API
SweepGradient
para permitir a aceitação de cores ouColorStops
no construtor. (I6676f).
Correções de bugs
- Adição de uma API restrita e suporte ao renderizador para definir a direção em que os elementos do arco são desenhados (Idef5a).
- O padrão de
RoundMode
éFloor
emFloatToInt32Node
quando não especificado. O nó ainda vai gerar uma exceção se oRoundMode
fornecido não for reconhecido. (I1b2d8).
Versão 1.1.0-alpha04
13 de dezembro de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.1.0-alpha04
. A versão 1.1.0-alpha04 contém estas confirmações.
Novos recursos
- A classe
VersionInfo
não implementa a interfaceComparable
. (I8d13c). - O renderizador agora oferece suporte à opção
TEXT_OVERFLOW_ELLIPSIZE
. (I7f085).
Mudanças na API
- A opção de estouro de texto
TEXT_OVERFLOW_ELLIPSIZE_END
foi descontinuada. Use a nova APITEXT_OVERFLOW_ELLIPSIZE
com um comportamento muito semelhante. (I822d8). - Seguindo outros componentes do Material Design e iniciativas do Compose, agora desativamos o padding de fonte por padrão em todos os elementos de texto. Além disso,
AndroidTextStyle
e setters relacionados foram removidos da API pública. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3). Modifier.hidden
foi substituído porModifier.visible
(I56902).FontStyle#setSizes
agora aceita argumentos int em vez deSpProp
. (I02b37).
Correções de bugs
- Uma exceção é gerada ao encontrar um valor de tipo enumerado não definido ou não reconhecido. (I9d2cf).
- Refatorar
DynamicTypeBindingRequest
. (I27b57). - Invalidar o resultado de uma expressão quando ela produzir um valor numérico inválido (NaN ou infinito) ou gerar um
ArithmeticException
. (I681ae).
Versão 1.1.0-alpha03
29 de novembro de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.1.0-alpha03
. A versão 1.1.0-alpha03 contém estas confirmações.
Novos recursos
- Foi adicionado suporte experimental à ocultação dinâmica de elementos de layout (I64a78).
- Foi adicionado suporte a valor dinâmico para
BoolProp
(I2fe96). - A anotação de requisito da versão do esquema foi adicionada às APIs
ProtoLayout
(I0f03c). - Estender a API com a nova opção em
TextOverflow
para aplicar reticências ao texto em um contêiner pai fixo mesmo quando o número máximo de linhas não for atingido, mas não houver espaço suficiente para o texto. (I110a9). - Foi adicionado um método auxiliar
DimensionBuilders.weight
para criarExpandedDimensionProp
com peso. (I4f72b). DynamicInstant
eDynamicDuration
podem ser usados como tipos de dados de estado ou plataforma. (I6819f).
Mudanças na API
- A API foi atualizada para ocultar
DynamicZonedDateTime
e mover todas as operações paraDyanamicInstant
(I34b94). - O espaçador agora oferece suporte à dimensão expandida para largura/altura. (Ie7c94).
- Suporte à extensão da área de destino do clique no renderizador (I39c79).
Versão 1.1.0-alpha02
15 de novembro de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
. A versão 1.1.0-alpha02 contém estas confirmações.
Novos recursos
- Adicionamos um campo
ArcLine
StrokeCap
Shadow
à API. (I830ec). - Estender a API para poder especificar a largura ou a altura do espaçador para expandir. (I757ca).
- Adicionamos uma API experimental para dimensionar automaticamente o tamanho do texto com base no espaço do elemento pai. (Ibbe63).
- Suporte ao tamanho mínimo clicável (I178e3).
- Foi adicionado suporte ao renderizador para
StrokeCap
Shadow
. (I48b17). - Foi adicionado suporte ao renderizador para "Varredura Gradiente" em
ArcLine
. (I4d5bb).
Versão 1.1.0-alpha01
18 de outubro de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
. A versão 1.1.0-alpha01 contém estas confirmações.
Novos recursos
- Uma opção de pincel foi adicionada a
Arcline
, com suporte aSweepGradient
. (Ie7ce3). - Inclusão de suporte à formatação de data e hora em zonas. (Ibfae0).
- Foram adicionados protos e java Wrappers necessários para a formatação de data e hora zonada. (I97126).
- Getters foram adicionados para ler o valor armazenado em um
DynamicDataValue
. (Ie6cea). - Foi adicionado um setter para posicionar o conteúdo da borda em
EdgeContentLayout
para que ele possa ser posicionado antes de outro conteúdo. (Ie8e8a).
Correções de bugs
- Correção de um problema quando uma expressão com vários registros de fonte de dados de tempo não estava sendo atualizada imediatamente. (I8e1a8).
- Correção de um bug para centralizar o elemento raiz durante atualizações de diferenças. (Ie48f7).
- Valores de restrição de layout não definidos (ou vazios) não serão mais ignorados. (Ibc785).
- Atraso reduzido entre um layout se tornar visível e os nós de pipeline sendo inicializados. (I38d4e).
Versão 1.0
Versão 1.0.0
9 de agosto de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0
. A versão 1.0.0 contém estas confirmações.
Principais recursos da versão 1.0.0
A biblioteca ProtoLayout introduz APIs para criar layouts e expressões que podem ser usados em diferentes plataformas do Wear OS. Por exemplo, a biblioteca Tiles usa essas APIs para oferecer suporte à vinculação de dados da plataforma (para atualizações mais rápidas dos dados do bloco) e a animações.
Versão 1.0.0-rc01
26 de julho de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0-rc01
. A versão 1.1.0-rc01 contém estas confirmações.
- Para migrar do Tiles para o
ProtoLayout
, siga estas instruções.
Mudanças na API
- Removemos os métodos
setLayoutConstraintForDynamicAnchorAngle
egetLayoutConstraintForDynamicAnchorAngle
do elemento Arc Esses métodos foram adicionados por engano e não afetaram o layout fornecido. (If7d01). - Limitamos a profundidade máxima que o layout de uma
ProtoLayout
pode ter a 30LayoutElements
aninhadas. (I8a74b).
Correções de bugs
- Adicionamos uma verificação para ser lançada se
DynamicColor
tiver sido definido para umSpanText
. (I0e5bc). - Esclarecemos que a unidade da fonte de dados
DAILY_CALORIES
é kcal. (Iaa785).
Versão 1.0.0-beta01
21 de junho de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0-beta01
. A versão 1.0.0-beta01 contém estas confirmações.
Novos recursos
- Permitir a configuração do relógio para testes de vinculação de tempo. (I05622).
Mudanças na API
PlatformDataReceiver.onData()
eStateBuilders.Builder.addKeyToValueMapping
agora aceitam mapeamento com segurança de tipo deDynamicDataKey
paraDynamicDataValue
em vez de genéricos não seguros. Isso significa que oDynamicDataValue
agora é digitado com o próprioDynamicType
. As constantesHEART_RATE_ACCURACY_X
foram movidas para a raiz dePlatformHealthSources
para corresponder a outros posicionamentos das constantes do Android. As constantes de intHEART_RATE_ACCURACY_X
agora são usadas diretamente emDynamicHeartRateAccuracy.constant()
eDynamicHeartRateAccuracy.dynamicDataValueOf()
, em vez da constante de valor. (I82ff5).- A classe
PlatformHealthSources.Constants
foi instanciada por engano. Isso já foi corrigido. (Icb849). PlatformTimeUpdateNotifier#setReceiver
agora recebeRunnable
em vez da funçãoSupplier
eExecutor
para ser notificado. (I9d938).- Mudamos o tipo de parâmetro no
PlatformTimeUpdateNotifier#setReceiver
deCallable
paraSupplier
. (I664bf). CompactChip
eTitleChip
agora oferecem suporte à adição de um ícone. (I5a01e).
Correções de bugs
- As mensagens de propriedade foram atualizadas com campos dinâmicos para usar oneof (I81739).
- Reutilização da implementação de setters para sobrecargas que têm setters (Ied70c).
- Registre as impressões digitais corretamente em setters que têm sobrecargas (I86ed2).
Versão 1.0.0-alpha11
7 de junho de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha11
. A versão 1.0.0-alpha11 contém estas confirmações.
Novos recursos
- Adicionamos um
PlatformDataKey
para precisão da frequência cardíaca. (I7f9b8).
Mudanças na API
- Renomeie
StateBuilders#getIdToValueMapping
comogetKeyToValueMapping
e mude o tipo de retorno paraMap<<AppDataKey<?>,DynamicDataValue>
. (Iaa7ae). - Transforme
StateStore
em uma classe final (I408ca). - A interface
TimeGateway
foi substituída porPlatformTimeUpdateNotifier
na bibliotecaprotolayout-expression-pipeline
, que fornece a frequência desejada para atualizar dados de horário. (I60869). register
/unregisterForData
emPlatformDataProvider
foi renomeado comoset
/clearReceiver
(I14b02).- No Material Text,
getExcludeFontPadding
foi renomeado comohasExcludeFontPadding
(Iea01d). - O setter para alinhar perfeitamente o rótulo foi adicionado a todos os componentes do ícone. Agora todos os ícones têm a meta de toque mínima aplicada. (I8ae92).
LayoutDefaults#BUTTON_MAX_NUMBER
foi renomeado comoMAX_BUTTONS
(I84788).DAILY_DISTANCE
foi renomeado comoDAILY_DISTANCE_M
. (I4f758).
Correções de bugs
- Atualizamos os documentos dos tipos de propriedade para esclarecer por que o valor estático é aplicado. Especifique o valor padrão usado se o valor estático não tiver sido fornecido. (I155aa).
- Os namespaces
PlatformDataKey
precisam seguir a nomenclatura de estilo do Java. (I47bda).
Versão 1.0.0-alpha10
24 de maio de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
. A versão 1.0.0-alpha10 contém estas confirmações.
Novos recursos
- Adição de
AppDataKey
para acessar o estado enviado pelo app. Adição dePlatformDataKey
para acessar dados da plataforma. Foi adicionado suporte a namespace emStateStore
. (I7985e). - Suporte às operações
Equal
eNotEqual
paraDynamicBool
. (I6a0c1).
Mudanças na API
- A classe
FontStyles
agora é final (Iaa2ea). - O uso de
LayoutElementBuilders#FontStyles
foi descontinuado Useandroidx.wear.protolayout.Typography
ou crie seu próprioFontStyle
. (Ic929b). - Ocultar a interface aninhada
Action#Builder
da interfaceAction
As implementações do Builder já são fornecidas pelas classesLoadAction
eLaunchAction
. (I1d70c). - Permitir o uso de
DynamicFloat
comFloatProp
. Observe queFloatProp
não exige restrições de layout, porque não é usado como uma propriedade de mudança de layout. (I286ac). - As ações
LoalAction
eSetStateAction
foram removidas porque ainda não eram compatíveis. (I5d6a6). - Foi adicionado suporte ao formato ARGB_8888 para recursos de imagem inline. (I8a07c).
- Renomeie
StateEntryValue
comoDynamicDataValue
e atualize as APIs de estado para usarDynamicDataKey
(If1c01). - Estamos limitando o número de entradas permitidas na
StateStore
para garantir que o uso da memória e o tempo de atualização do estado sejam bem contidos e controlados para cada instância doStateStore
. Como resultado, o desenvolvedor precisa garantir que não tenha mais deMAX_STATE_ENTRY_COUNT
entradas no mapa. Caso contrário, ele vai receber umaIllegalStateException
ao criar ou atualizar aStateStore
. (Ibadb3). - Oculte as classes
OnLoadTrigger
eOnConditionMetTrigger
e renomeiesetTrigger
comosetCondition
paraOnConditionMetTrigger
. (Ibf629). - Por motivos de desempenho e compatibilidade, os renderizadores
ProtoLayout
não oferecem suporte ao conjunto completo de recursos nos recursosAnimatedVectorDrawable
. Essas APIs vão ser marcadas como experimentais até que seja possível definir o conjunto compatível. (Ic6daf). - Foram adicionados tipos dinâmicos para a distância diária, calorias diárias e andares diários. As chaves para fontes de integridade da plataforma agora estão em
PlatformHealthSources.Keys
(Ib7637). - O método
Easing.cubicBezier
substitui oCubicBezierEasing.Builder
. Com isso, a classeEasingFunction
foi removida, e as constantes de easing dessa classe agora podem ser acessadas diretamente pela interfaceEasing
. Além disso,setInfiniteRepeatable
foi substituído porINFINITE_REPEATABLE_WITH_RESTART
eINFINITE_REPEATABLE_WITH_REVERSE
(Ib41e7). - Implemente
PlatformDataProvider
para fornecer frequência cardíaca e passos diários. A interfaceSensorGateway
foi removida da API pública. (I55b84). - Adicione
PlatformDataProvider
e atualizeStateStore
para se registrar emPlatformDataProvider
quando a chave com suporte do provedor for exigida pelo nó do pipeline de expressão. (Ib616a). SensorGateway
não é maisCloseable
, porque não mantém mais nenhum estado. (I6b4f7).- Permitir o uso de
FloatProp
comDynamicFloat
para progresso emCircularProgressIndicator
. Isso é suportado para renderizadores compatíveis com a versão 1.2. Os renderizadores antigos vão substituir ostaticValue
, se fornecido. Caso contrário, o valor será 0 (I0d91b). - As constantes
MultiButtonLayout
foram refatoradas para a classeLayoutDefaults.MultiButtonLayoutDefaults
, que agora contém as para tamanhos de botão, dependendo de vários botões no layout. (I13973). - Foi adicionado suporte ao uso de
StringProp
comDynamicString
no Material Text. Isso é suportado para renderizadores compatíveis com a versão 1.2. Os renderizadores antigos serão substituídos pelo valor estático fornecido. Atualize o tipo de retornoText#getText
deString
paraStringProp
. (I7275b).
Versão 1.0.0-alpha09
10 de maio de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
. A versão 1.0.0-alpha09 contém estas confirmações.
Novos recursos
- Adicionamos um elemento de layout de extensão experimental. Isso não pode ser usado por padrão e requer uma extensão de renderizador capaz de entender o elemento de layout. (I6581d).
- Foi adicionado suporte a
StrokeCap
paraArcLine
. (I94951). - Inclusão de compatibilidade com a operação instantânea condicional. (I489a7).
- Inclusão de compatibilidade com a operação de duração condicional. (Iab469).
- Foi adicionado suporte para criação de duração a partir de segundos. (Ib5fa1).
Mudanças na API
- Os métodos
enable/disablePlatformSource
foram removidos deDynamicTypeEvaluator
. O autor da chamada precisa ser responsável pelas atualizações. (I78c6d). - Permitir o limite do tamanho dos tipos de dados vinculados. (Ie2966).
- Foi adicionado suporte à descrição de conteúdo dinâmico no
protolayout-material
. (I62c8e). - Use long e
@IntRange
para duração e atraso em AnimationParameters. (I388b6).
Versão 1.0.0-alpha08
19 de abril de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha08
. A versão 1.0.0-alpha08 contém estas confirmações.
Novos recursos
AndroidTextStyle
foi adicionado(a) aLayoutElementBuilders
. (I8d967).- Adicionamos suporte à configuração de exclusão de padding de fonte no Material Text
ProtoLayout
(I17f5d). - ARGB_8888 agora é compatível com imagens inline. (I18c1e).
DynamicColor
agora é compatível com a operaçãoonCondition
. (I10927).
Mudanças na API
- Suporte à duração personalizada para animação reversa (I3251f).
- Adicionamos o modificador
SemanticDescription
. Além disso,ContentDescription
não é vinculável. (I3f1d). - O método
DynamicBool.isFalse()
foi substituído porDynamicBool.negate()
e oDynamicBool.isTrue()
foi removido. Além disso, os valores NaNDynamicFloat
e a restrição de umDynamicInt32
a umDynamicFloat
agora emitem um resultado dinâmico inválido. (I6ac1e). - Formatadores inteiros e flutuantes agora usam o padrão Builder. (Ieb213).
Correções de bugs
- O valor estático substituto foi removido dos campos animados. (Ifcb01).
- O
DynamicTypeValueReceiver#onPreUpdate
foi removido. (I2dc35). - O tamanho das strings em expressões dinâmicas agora é limitado. (I4c93).
- As dependências do Gradle agora estão definidas corretamente como
api
em vez deimplementation
, quando necessário. (I40503).
Versão 1.0.0-alpha07
5 de abril de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
. A versão 1.0.0-alpha07 contém estas confirmações.
Novos recursos
- Foi adicionado suporte a valor dinâmico para
StringProp
(I04342). - Marcamos elementos de layout vinculáveis (Ia110b).
Mudanças na API
sensorGateway#registerSensorGatewayConsumer
usa o tipo de dados como um parâmetro em vez de um método no Consumer. (Icf314).ObservableStateStore
foi renomeado comoStateStore
(Ieb0e2).- Foram adicionados
DynamicTypeEvaluator.Builder
em vez de argumentos de construtor para permitir mais argumentos opcionais, incluindoObservableStateStore
, que agora tem um armazenamento vazio por padrão. (I6f832). - Ordem refatorada de parâmetros em
DynamicTypeEvaluator
. (Ic1ba4).
Correções de bugs
- Propagação correta de sinais das fontes do sensor da plataforma para nós downstream (I5a922).
Versão 1.0.0-alpha06
22 de março de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha06
. A versão 1.0.0-alpha06 contém estas confirmações.
Novos recursos
- Adicionamos uma API experimental para usar frequência cardíaca e passos diários em expressões dinâmicas (Ifd711).
- Adicionamos suporte a atrasos de reversão e encaminhamento para animações. (Ic25f7).
- Adicionamos suporte ao
DynamicColor
para borda e plano de fundo - Adicionamos suporte a valor dinâmico aos tipos em
DimensionBuilder
- O layout e os componentes de
tiles-material
estão sendo movidos paraprotolayout-material
Mudanças na API
LoadActionListener
foi adicionado(a) aProtoLayoutViewInstance
. (If7806).
Correções de bugs
- Adição de
FloatNodesTest
(Id7281). - Correção da falha do renderizador quando não é possível carregar o bitmap estruturado.
Versão 1.0.0-alpha05
8 de março de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha05
. A versão 1.0.0-alpha05 contém estas confirmações.
Novos recursos
- Adicionamos uma "atualização de conteúdo" experimental animação para o objeto
Modifiers
. Essa animação será acionada sempre que o elemento (com esse modificador) ou um dos filhos dele mudar durante uma atualização de layout. (bd03e5d).
Mudanças na API
- Adicionamos
forwardRepeatDelayMillis
ereverseRepeatDelayMillis
aRepeatable
. Também renomeamosdelayMillis
emAnimationSpec
parastartDelayMillis
(Ifb266). - Os métodos
DynamicTypeEvaluator.bind
agora aceitam um Executor. (I346ab). - Adicionamos o método
startEvaluation
aoBoundDynamicType
para acionar a avaliação após a vinculação do tipo dinâmico. (I19908).
Correções de bugs
- O objeto Animator será reutilizado para animações subsequentes de um único elemento. (Ia3be9).
Versão 1.0.0-alpha04
22 de fevereiro de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha04
. A versão 1.0.0-alpha04 contém estas confirmações.
Novos recursos
ObservableStateStore
agora também informa os listeners quando uma chave é removida.- Adicionamos a versão do esquema do renderizador e a escala de fonte a
DeviceParameters
, que podem ser usadas para criar layouts condicionalmente em resposta a diferentes versões e configurações de fonte. - Adicionamos suporte à animação de valores de
DynamicInt32
(I05485). - Adicionamos os acionadores
OnLoad
eOnConditionalMet
. Elas podem ser usadas para iniciar animações compatíveis com gatilhos. - Adicionamos peso do layout para dimensões expandidas e tamanho mínimo para dimensões unidas.
- Adicionamos duração e tipos dinâmicos instantâneos. Eles podem ser usados para representar um instante ou uma duração de tempo em uma expressão dinâmica.
- Adicionamos suporte a
AnimatedVectorDrawable
eSeekableAnimatedVectorDrawable
como recursos de layout.
Mudanças na API
- Os dados do sensor exigem a API 29 ou mais recente. (I8099e).
- Adicionamos dois métodos auxiliares
launchAction
(para iniciar atividades).
Correções de bugs
set/getSpec
foi renomeado comoset/getAnimationSpec
na animação de blocos (I3d74b).
Versão 1.0.0-alpha03
8 de fevereiro de 2023
Lançamento de androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
. A versão 1.0.0-alpha03 contém estas confirmações.
Novos recursos
- Adicionamos
toByteArray()
efromByteArray()
aos tipos dinâmicos na biblioteca protolayout-express. - Adicionamos
toString()
aos tipos dinâmicos na biblioteca protolayout-expression. - Adicionamos suporte a avaliações para tipos dinâmicos. A classe
DynamicTypeEvaluator
da biblioteca protolayout-expression-pipeline pode ser usada para avaliar e receber valores atualizados para um tipo dinâmico criado anteriormente (DynamicString
,DynamicFloat
, …) - Quando não é possível reproduzir as animações, seja porque foram desativadas pelo avaliador ou porque o número de animações em execução atingiu o limite definido, os valores estáticos definidos no nó animado são usados para substituir a animação.
Versão 1.0.0-alpha02
25 de janeiro de 2023
Lançamento de androidx.wear.protolayout:protolayout:1.0.0-alpha02
, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02
e androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02
. A versão 1.0.0-alpha02 contém estas confirmações.
Novos recursos
- Os builders de layout de
androidx.wear.tiles:tiles
estão sendo movidos paraandroidx.wear.protolayout:protolayout
. O uso deandroidx.wear.tiles:tiles
vai ser descontinuado em uma das próximas versões Alfa.
Versão 1.0.0-alpha01
11 de janeiro de 2023
Lançamento de androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
e androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
. A versão 1.0.0-alpha01 contém estas confirmações.
Novos recursos
- Esta versão apresenta uma nova biblioteca ProtoLayout Expression para criar expressões usando variáveis dinâmicas.