wear protolayout
| Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
|---|---|---|---|---|
| 22 de outubro de 2025 | 1.3.0 | - | - | 1.4.0-alpha02 |
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.3.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0") }
Para 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.4
Versão 1.4.0-alpha02
22 de outubro de 2025
Lançamento de androidx.wear.protolayout:protolayout-*:1.4.0-alpha02. A versão 1.4.0-alpha02 contém estes commits.
Novos recursos
- Adição de uma nova origem de evento da plataforma (
isInAmbientMode) que descreve se o dispositivo está no modo ambiente ou não (Ief832).
Mudanças na API
- O
PendingIntentclickableagora aceita uma ação de substituição (LoadAction/LaunchAction) para ser usada quando oPendingIntentnão é compatível com o renderizadorProtoLayout. A ação de substituição será escolhida e colocada automaticamente no layout quando a versão do renderizador for anterior à que oferece suporte aPendingIntent. (I6eee2, b/450259727) - O campo
protoLayoutScopeemMaterialScopeagora éNonNullpara facilitar o uso quandoMaterialScopeé criado viamaterialScopeWithResources. Além disso, há uma funçãohasProtoLayoutScopepara verificar a presença dele. (I1858f, b/450067019)
Versão 1.4.0-alpha01
24 de setembro de 2025
Lançamento de androidx.wear.protolayout:protolayout-*:1.4.0-alpha01. A versão 1.4.0-alpha01 contém estes commits.
Novos recursos
- Adição de um método auxiliar para
LayoutModifierque faz um elemento aparecer gradualmente à medida que o bloco fica visível. (I38531, b/390345969). - Adicionamos
materialScopeWithResourcespara oferecer suporte ao conceito deMaterialScopedo M3, que também cuida do registro automático de recursos. Nele, adicionamos novos métodos auxiliares para imagens (backgroundImageavatarImagee ícone) que eliminam a necessidade de registrar recursos manualmente emonTileResourceRequestquando usados. (I525bd, b/428692714) ProtoLayoutAuxiliares do Kotlin paraImageeImageResourcespara uso comProtoLayoutScopee registro automático de recursos. (Iada82, b/430584304).- Adicionado getter para quantas propriedades Lottie são permitidas na personalização de uma animação Lottie. (I73733, b/436532706).
- Adição de API em
AndroidLottieResourceByResIdpara permitir a personalização da animação Lottie por propriedades e adição de API para criar uma propriedade para o slot de temas com o ID do slot na cor especificada. (I301b3, b/423581481). - Adição de APIs de provedor para aceitar
PendingIntentcomo ação de clique (I01978, b/433802488). - Adicione uma nova API em
Image.Builder-setImageResourcepara definir o objeto de recurso diretamente na imagem emonTileRequest, sem precisar registrá-lo no mapeamento emonTileResourcesRequest. (Ifa69a, b/428693523) - Adição do conceito
ProtoLayoutScopepara preparar um melhor gerenciamento de recursos no Tiles. (I132ce, b/428692423). - O
ProtoLayoutMaterial3MaterialScopeagora expõe o campoContextcomo público para uso em métodos dentro do escopo, sem a necessidade de transmiti-lo. (I0e5cc, b/414559956) - Tornar públicas as APIs semânticas de cabeçalho (I75299, b/413653475).
- Exponha constantes
ARC_DIRECTION_*como públicas para uso emArc/ArcLine/ArcText/DashedArcLine. (I83959, b/427556439)
Mudanças na API
- Descontinuamos os métodos
Image.Builder()eImage.Builder.setResourceIdem favor da nova API de registro automático de recursos, disponível nas APIsImage.Builder(ProtoLayoutScope)eImage.Builder.setImageResource, que eliminam a necessidade de substituironTileResourcesRequest. (I7bfe6, b/432758526) - Mova as APIs para criar
ProtoLayoutScopede restritas para públicas. No entanto, eles não devem ser usados, já que o sistema já processa essas chamadas. (I1d8e8, b/432758251)
Correções de bugs
- Adição de uma implementação para oferecer suporte a
PendingIntentemProtoTiles(I38167, b/430610429). - Adicione o método
invalidateLayout. (Ief898). - Mudança da minSdk padrão da API 21 para a API 23 (Ibdfca, b/380448311, b/435705964, b/435705223).
ImageResourceagora tem métodoshashCodeeequals. (I650ee, b/428692423, b/428693523).- Adição da nova mensagem proto
PendingIntentActione do builder de wrapper dela (Ie2aca, b/427643502). - Reduza a frequência com que a instância
ZoneIdé criada. (I284d3). - Aplique a descrição de conteúdo padrão ao slot único
textButton. (I0dc8a, b/415001534). - Correção de cálculos para ajustar o número máximo de linhas no lado do renderizador. (I933bc, b/414353620).
Versão 1.3
Versão 1.3.0
4 de junho de 2025
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0. A versão 1.3.0 contém estes commits.
Mudanças importantes desde a versão 1.2.0
- O design do Material 3 chega ao relógio, com componentes e layouts otimizados para a tela redonda e que se ajustam adequadamente de telas pequenas a grandes.
- Isso inclui a biblioteca
protolayout-material3somente em Kotlin com mais APIs semelhantes ao Compose para os seguintes componentes e recursos: - Tema de cores dinâmicas do sistema e mostrador do relógio com o tema mais recente do Material3 para cores, formas e tipografia
MaterialScopepara cuidar de todos os padrões opinativos e facilitar a personalizaçãoiconEdgeButton,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- Todos os componentes funcionam em todos os níveis de SDK e na versão do
ProtoLayoutRenderer, fornecendo substituições adequadas quando aplicável.
- Isso inclui a biblioteca
- APIs mais compatíveis com Kotlin e semelhantes ao Compose para elementos básicos do ProtoLayout
LayoutModifiercom a capacidade de adicionar a maioria dos modificadores como funções encadeadas (padding,contentDescription, incluindoclearSemantics,background,clip,opacityetc.), conversível para o objetoModifiersatualLayoutColorseLayoutStringcomo tipos com suporte mais fácil para usar campos e restrições dinâmicostextefontStyle- Melhor suporte a mapas para
StateBuilder, incluindoDynamicDataMape métodos de fábrica, comointAppDataKey, para facilitar a criação de objetosAppDataKey.
- As animações Lottie oferecem suporte à inclusão de opções para definir diferentes acionadores de quando a animação deve começar, por exemplo, quando o layout é carregado ou quando fica visível.
- Suporte aprimorado a gradientes:
- API de gradiente linear como parte do
Brushque pode ser usada em modificadoresBackgroundpara elementos comoBox,Spaceretc. … - Permitir valores de cor dinâmicos em
ColorStopusados para gradiente linear e de varredura - O gradiente de varredura em objetos de arco agora oferece suporte a cores dinâmicas e ângulos inicial e final
- Vinculação de dados da plataforma em
protolayout-expressionpara receber informações sempre que a visibilidade do layout for alterada. Por exemplo, isso pode ser usado para ocultar determinadas partes do layout enquanto o bloco é deslizado para - A biblioteca de testes
protolayout-testingfoi adicionada para facilitar a cobertura de testes de unidade para qualquer elemento ProtoLayout. - Novo elemento
DashedArcLinecom um conjunto de recursos aprimorado para que a linha possa ter traços, em vez doArcLineatual - Suporte a
ArcSpacerpara definir o comprimento na dimensão DP em vez de graus - Adição do eixo de arredondamento
FontSettingaplicável a algumas fontes
Versão 1.3.0-rc01
20 de maio de 2025
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-rc01 sem mudanças desde a versão anterior. A versão 1.3.0-rc01 contém estes commits.
Versão 1.3.0-beta02
7 de maio de 2025
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-beta02. A versão 1.3.0-beta02 contém estes commits.
Correções de bugs
- Fizemos uma melhoria importante nos valores de design de tipografia aplicados na API 36 e em versões mais recentes. Isso porque, a partir da API 36, todos os blocos vão usar a fonte do sistema, o que melhora a consistência no carrossel de blocos. (If316f).
- Os criadores de
Text,Spacer,ArcLineeDashedArcLinenão vão gerar exceção selayoutConstraintspara valores dinâmicos não estiver definido. Renderizadores mais antigos ainda exigem que olayoutConstraintsseja definido e ignoram qualquer valor dinâmico que não tenha essa definição. (Ic52e8) - Adicione o modificador de semântica de cabeçalho para indicar que um elemento de layout é um cabeçalho de uma seção de conteúdo para fins de acessibilidade e marque o texto no slot de título de
primaryLayoutcomo cabeçalho de acessibilidade por padrão. (Iae1fb). - Polimento final da UX do
primaryLayout, em que o espaço entre o slot de título e o slot principal é reduzido para 4 dp em vez de 6 dp em telas menores. (I0e056). - Aplique a descrição de conteúdo padrão a
textEdgeButton. (Ifaf8b). - Pequena atualização no padding interno do
avatarButton. (I0910b)
Versão 1.3.0-beta01
9 de abril de 2025
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-beta01. A versão 1.3.0-beta01 contém estes commits.
Novos recursos
A versão 1.3.0-beta01 do Wear ProtoLayout indica que esta versão da biblioteca está com todos os recursos e a API está bloqueada (exceto onde marcado como experimental). O Wear ProtoLayout 1.3 inclui as seguintes novas funcionalidades e APIs:
- O design do Material 3 chega ao relógio, com componentes e layouts otimizados para a tela redonda e que se ajustam adequadamente de telas pequenas a grandes.
- Isso inclui a biblioteca
protolayout-material3somente em Kotlin com mais APIs semelhantes ao Compose para os seguintes componentes e recursos: - Tema de cores dinâmicas do sistema e mostrador do relógio com o tema mais recente do Material3 para cores, formas e tipografia
MaterialScopepara cuidar de todos os padrões opinativos e facilitar a personalizaçãoiconEdgeButton,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- Todos os componentes funcionam em qualquer nível de SDK e versão do renderizador ProtoLayout, fornecendo substituições sensatas quando aplicável.
- Isso inclui a biblioteca
- APIs mais compatíveis com Kotlin e semelhantes ao Compose para elementos básicos do ProtoLayout
LayoutModifiercom a capacidade de adicionar a maioria dos modificadores como funções encadeadas (padding,contentDescription, incluindoclearSemantics,background,clip,opacityetc.), conversível para o objetoModifiersatualLayoutColorseLayoutStringcomo tipos com suporte mais fácil para usar campos e restrições dinâmicostextefontStyle- Melhor suporte a mapas para
StateBuilder, incluindoDynamicDataMape métodos de fábrica, comointAppDataKey, para facilitar a criação de objetosAppDataKey.
- As animações Lottie oferecem suporte à inclusão de opções para definir diferentes acionadores de quando a animação deve começar, por exemplo, quando o layout é carregado ou quando fica visível.
- Suporte aprimorado a gradientes:
- API de gradiente linear como parte do
Brushque pode ser usada em modificadoresBackgroundpara elementos comoBox,Spaceretc. … - Permitir valores de cor dinâmicos em
ColorStopusados para gradiente linear e de varredura - O gradiente de varredura em objetos de arco agora oferece suporte a cores dinâmicas e ângulos inicial e final
- Vinculação de dados da plataforma em
protolayout-expressionpara receber informações sempre que a visibilidade do layout for alterada. Por exemplo, isso pode ser usado para ocultar determinadas partes do layout enquanto o bloco é deslizado para - A biblioteca de testes
protolayout-testingfoi adicionada para facilitar a cobertura de testes de unidade para qualquer elemento ProtoLayout. - Novo elemento
DashedArcLinecom um conjunto de recursos aprimorado para que a linha possa ter traços, em vez doArcLineatual - Suporte a
ArcSpacerpara definir o comprimento na dimensão DP em vez de graus - Adição do eixo de arredondamento
FontSettingaplicável a algumas fontes
Versão 1.3.0-alpha10
12 de março de 2025
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha10. A versão 1.3.0-alpha10 contém estes commits.
Novos recursos
- Adicione um auxiliar para Brush no modificador de segundo plano do Kotlin. (I995de).
- O campo de contexto obrigatório do Android foi disponibilizado publicamente em
MaterialScopepara facilitar o uso em funções de desenvolvedores que estão criando componentes para blocos do Material3. (I7df73).
Mudanças na API
- Renomeie a API
platformVisibilityStatuscomoPlatformEventSources.isLayoutVisiblee adicione uma nova API experimentalPlatformEventSources.isLayoutUpdatePending. (Ie1e04).
Correções de bugs
- Agora, as margens de
primaryLayoutsão arredondadas corretamente, o que pode afetar alguns layouts, com até 2 dp a menos de espaço para o slot principal. (I8f5d3). - Esclarecimento sobre o tema de cores dinâmicas padrão nos componentes
ProtoLayoutdo Material3. (Iff5f3). - As tipografias
Typography.NUMERAL_*não são mais tabulares/monoespaçadas por padrão. Se o texto estiver animado, é altamente recomendável adicionar a configuraçãoFontSetting.tabularNum(). Em todos os outros casos, essa opção monoespaçada não é necessária, e haverá mais caracteres disponíveis se você não a usar. (Id3cd9). - Esclarecimento sobre o tema de cores dinâmicas padrão nos componentes
ProtoLayoutdo Material3. (I9d831)
Versão 1.3.0-alpha09
26 de fevereiro de 2025
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha09. A versão 1.3.0-alpha09 contém estes commits.
Novos recursos
- Adição de modificadores experimentais para
enterTransitioneexitTransition(I4a4d6). - Adicionamos vinculação de plataforma extra para receber o status de visibilidade do layout completo sempre que ele for alterado. (I250c3).
- Permite injetar o estado do app de teste e dados da plataforma em
LayoutElementAssertionsProviderpara avaliar valores dinâmicos. (Ib5fcb). - Adicionar filtros de canto à biblioteca de testes do protolayout (Ie2361)
- Agora,
ButtonColors,CardColorseProgressIndicatorColorsoferecem suporte ao método de cópia, com substituição opcional de alguns parâmetros. (Ie2054).
Mudanças na API
- Adicionar suporte à vinculação de dados dinâmicos à biblioteca de testes (Ib98de)
- Correção do
imageButtonquando usado com a funçãobackgroundImageremovendo a sobreposição. Além disso, permita que a funçãobackgroundImageespecifique nulo para a cor de sobreposição, o que significa que a sobreposição não será aplicada. (Ibec3c).
Correções de bugs
- O método
hasValueOfTypepadrão foi alterado para gerarUnsupportedOperationExceptionem vez deIllegalArgumentException. (Ia36c3). - Os valores de token de cor padrão foram atualizados para refletir a especificação mais recente. (I75d44)
- Correções para o problema de aliasing visível nas linhas de arco no renderizador de blocos do AndroidX. (I88190)
Versão 1.3.0-alpha08
12 de fevereiro de 2025
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha08. A versão 1.3.0-alpha08 contém estes commits.
Novos recursos
- Adicione o parâmetro de lista
FontSettingpara texto do Material3. (Ic102d). - Adição da classe
DynamicDataMap, que agora é compatível comStateBuilderpara uma API Kotlin mais segura para estados de apps (I012ba) - Adição de métodos de fábrica, como
intAppDataKey, para facilitar a criação de objetosAppDataKey(Icea2a). - Agora,
DynamicDataValuetem um métodohasValueOfType(Class<?>)além dos métodoshasInt/hasColor/... (I4f7a6). - Adicionamos
errorDimao ProtoLayoutColorSchemedo Material3 para erros de alta prioridade ou ações de emergência, como alertas de segurança. (Ia17bb) - Adicionamos uma proteção contra falhas ao acessar a configuração global "Reduzir movimento", que era acionada em algumas plataformas em que essa configuração não era fornecida. (I01e2c)
Mudanças na API
addKeyToValueMappingfoi renomeado comoaddToStateMap, e os métodosDynamicDataMap.putforam removidos por serem redundantes. (Ibe9dd)- A tipografia do Material 3 agora oferece suporte ao eixo variável de arredondamento para fontes do sistema que oferecem suporte a esse eixo. O ProtoLayout
FontSettingoferece suporte ao eixo de arredondamento para fontes que o aceitam. (I33eb5). - O
multilineAlignmentfoi renomeado como alinhamento no método de texto do Material3. (I2b66b). - Atualize o indicador de progresso circular para o tipo "Box" e especifique o
mainContentemconstructGraphiccomo tipo "Box" (I5a3dc). - Melhor suporte para usar o indicador de progresso circular no gráfico (I039db)
Correções de bugs
- Permita valores dinâmicos em
ColorStope também para ângulos de início/fim emSweepGradient. (I0146d). - Correções nos Documentos. (I4a63a).
- Atualizamos os componentes do Material 3 (
graphicCardeavatarButton) para oferecer um substituto quando a dimensão de expansãoweightnão é compatível (por exemplo, abaixo da API 33). Atualizamos o componente de texto para usarTEXT_OVERFLOW_ELLIPSIZE_ENDquandoTEXT_OVERFLOW_ELLIPSIZEnão é compatível com o renderizador. (I19e2c). - Atualização da documentação para
PrimaryLayoutMargins. (Ibaf7b).
Versão 1.3.0-alpha07
29 de janeiro de 2025
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha07. A versão 1.3.0-alpha07 contém estes commits.
Novos recursos
- Adicionamos uma opção de API para definir diferentes acionadores para animações Lottie. Além disso, adicionamos uma API para acionadores disparados quando o layout está visível (I8272d).
- Adição dos modificadores
border,visibilityeopacity. (I6d3dd). - Adição de um botão de avatar ao componente ProtoLayout Material3. (Idb5ae).
- Agora é possível personalizar as margens (laterais e, em alguns casos, inferiores) no Material3
primaryLayout. (Ib22f6). - Adicione a variante segmentada do indicador de progresso circular. (I6a648).
- Adição do componente de botão compacto ao ProtoLayout Material3. (Ia3c5c).
- Adição de componentes de botão em forma de pílula e botão de imagem ao ProtoLayout Material3. (Ifb88a).
Mudanças na API
LayoutModfier.foldInagora é chamado defoldRightpara refletir melhor o comportamento esperado (Idf242).- O gatilho
VisibleOnceagora é experimental. (Ib2d26). - Remoção de
withOpacityda API pública porque há uma alternativa de biblioteca gráfica. (I030c2). - Os métodos de nível superior em
LayoutString.kteLayoutColor.ktforam renomeados para ter nomes compatíveis com Java. (I7aff0). - Remoção de tipografias não ProtoLayout no Material3. (Idd9ae).
- Adicione o sufixo "Color" aos campos nas classes
*Colorsno Material3. (I2d114)
Correções de bugs
- Adicione a implementação de substituição
EdgeButtonpara renderizadores mais antigos sem suporte a cantos assimétricos. (I63364). - Adicione uma implementação substituta do indicador de progresso circular com um renderizador mais antigo. (I0f134).
Versão 1.3.0-alpha06
15 de janeiro de 2025
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha06. A versão 1.3.0-alpha06 contém estes commits.
Novos recursos
LayoutColorpara oferecer suporte a tipos de cores estáticas e dinâmicas (I4c89b).- Adição do componente
ProtoLayout Material3textButton. (Id680d). - Adição do componente
iconButtonProtoLayout Material3. (Ica3f0). - Adição do componente de contêiner de botão do ProtoLayout Material3. (I17a38).
- Adicionado suporte para modificadores semânticos encadeáveis ao protolayout-material3 (I4af62).
- Adição do
CircularProgressIndicatorde segmento único do ProtoLayout Material3 (I2c8a2) - Adição dos modificadores
paddingemetadata(I8720a) - Adição dos modificadores
background,clipeclickable(I35478) - Adicione
LinearGradientao pincel e permita que ele seja usado no modificador de segundo plano. (Ic4dea). - Adicione o tamanho pequeno para appCard e
titleCard. (I91f98). - Adição do componente
graphicDataCarddo ProtoLayout Material3. (I92be7). - Adição de componentes
iconDataCardetextDataCarddo ProtoLayout Material3. (I4e1e4). - Adição do componente
appCarddo ProtoLayout Material3. (Id4c57). - Abstraia
EdgeButtonColorsparaButtonColors. (I83624). - Adição do componente
titleCarddo ProtoLayout Material3. (I2dc72).
Mudanças na API
- A API ProtoLayout Material3 agora aceita
LayoutStringpara oferecer suporte a textos estáticos e dinâmicos. (I9c24a).
Correções de bugs
- Adição da implementação do renderizador para inflar
DashedArcLine(I0c700). - Mudança no renderizador para permitir que
ArcSpaceruse o comprimento dp. (I1437b)
Versão 1.3.0-alpha05
11 de dezembro de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha05. A versão 1.3.0-alpha05 contém estes commits.
Novos recursos
- Adição de
LayoutStringpara oferecer suporte a campos de string de layout vinculáveis. (Ida650). - Adição do componente de contêiner de card
ProtoLayout Material3. (Ic985a).
Correções de bugs
- Agora, essa biblioteca usa anotações de nulidade do JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar o seguinte argumento do compilador para garantir o uso correto:
-Xjspecify-annotations=strict(esse é o padrão a partir da versão 2.1.0 do compilador Kotlin). (Id1f9b, b/326456246)
Versão 1.3.0-alpha04
13 de novembro de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha04. A versão 1.3.0-alpha04 contém estes commits.
Novos recursos
- Atualizamos a forma do Material3 para ser uma classe com campos que contêm o valor real de Corner, assim como no Wear Compose. (Ied8cd).
- Cores do Material3 atualizadas para incluir o conceito
ColorScheme, assim como no Wear Compose. (If645e). - Adicione vários correspondentes usados com frequência à biblioteca de testes. (Ie5cec)
Versão 1.3.0-alpha03
30 de outubro de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha03. A versão 1.3.0-alpha03 contém estes commits.
Novos recursos
- Adição de
LayoutElementAssertionsProvider,LayoutElementAssertioneLayoutElementMatcherà biblioteca de testes (Id1110).
Versão 1.3.0-alpha02
16 de outubro de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha02. A versão 1.3.0-alpha02 contém estes commits.
Novos recursos
- Versão inicial da biblioteca Material 3. Inclui componentes
text,edgeButton,buttonGroupeprimaryLayout.
Correções de segurança
- A partir desta mudança, o androidx é compilado com o protobuf 4.28.2 para resolver a CVE-2024-7254. Faça upgrade da dependência na versão 1.3.0-alpha01 de
androidx.wear.protolayout:protolayout-protoeandroidx.wear.protolayout:protolayout-external-protobufpara a 1.3.0-alpha02 e resolva o risco de vulnerabilidade.
Contribuição externa
Versão 1.3.0-alpha01
2 de outubro de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.3.0-alpha01. A versão 1.3.0-alpha01 contém estes commits.
Correções de bugs
- Esclarecemos que a disponibilidade dos nomes da família de fontes Roboto e Roboto Flex depende do dispositivo. (I193be).
- Ativada a família de fontes Roboto Flex no renderizador de blocos do AndroidX. (I08e94)
Versão 1.2
Versão 1.2.1
16 de outubro de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.2.1. A versão 1.2.1 contém estes commits.
Correções de segurança
- A partir desta mudança, o androidx é compilado com o protobuf 4.28.2 para resolver a CVE-2024-7254. Faça upgrade da dependência na versão 1.2.0 de
androidx.wear.protolayout:protolayout-protoeandroidx.wear.protolayout:protolayout-external-protobufpara 1.2.1 e resolva o risco de vulnerabilidade.
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 estes commits.
Mudanças importantes desde a 1.1.0
- O
FontStylefoi atualizado para ter suporte adicional a fontes para os eixos variáveis e uma API de seleção de fontes melhor para oferecer suporte às próximas fontes Flex. - Mais suporte para modificadores:
- Modificador de transformação que oferece tradução, rotação e escalonamento com ou sem animações.
- Especificando valores diferentes (horizontal e vertical) para cada raio de canto.
- Melhoria na acessibilidade de todos os destinos de toque ao estender a área de toque de qualquer elemento que use o modificador "Clicável" para ser pelo menos
48dppor48dp. - Melhoramos
PrimaryLayouteEdgeContentLayoutadicionandosetResponsiveContentInsetEnabledpara oferecer melhor suporte ao comportamento responsivo desses layouts em diferentes tamanhos de tela e melhorar a consistência dos blocos. - Melhoria no dimensionamento/não dimensionamento do texto do Material Design para o dimensionamento de fonte não linear do Android 14.
- Melhoria do suporte à direção do layout RTL em todos os elementos de arco.
Outras mudanças
- Para um conjunto mais completo das mudanças introduzidas na versão 1.1.0, consulte as notas da versão 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 estes commits.
Correções de bugs
- Corrigimos o Material Chip padrão para que ele possa ser usado como um ícone somente se nenhum dos rótulos principal ou secundário for transmitido. (Iceef9).
- A documentação dos layouts do Material foi atualizada para incluir recursos visuais da página relevante, facilitando 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 estes commits.
Novos recursos
A versão 1.2.0-beta01 do Wear ProtoLayout indica que esta versão da biblioteca está com todos os recursos e a API está bloqueada (exceto onde marcado como experimental). O Wear ProtoLayout 1.2 inclui as seguintes novas funcionalidades e APIs:
FontStylefoi atualizado para ter suporte adicional a fontes da seguinte forma:- Definir configurações de variação de fonte diferentes, como
FontSetting.weighteFontSetting.width - Definir a mesma largura para todos os caracteres numéricos: algarismos tabulares (configuração do recurso de fonte
FontSetting.tnum) - APIs de seleção de fontes aprimoradas para oferecer suporte às próximas fontes flexíveis, especificando os nomes de família de fontes preferidos a serem usados.
- Definir configurações de variação de fonte diferentes, como
- O modificador
Cornerfoi estendido para permitir a especificação de cadaCornerRadiuscom valores horizontais e verticais separados, permitindo a criação de elementos com cantos assimétricos. - Adição de um novo modificador
Transformationque oferece translação, rotação e dimensionamento deLayoutElement. Essas transformações podem ser animadas usando valores dinâmicos. - Adicionamos
setArcDirectioncom as opçõesClockwise,CounterClockwiseeNormala todos os elementos de arco (Arc,ArcLineeArcText) para melhorar o suporte em diferentes direções de layout (como LTR e RTL). - Melhoria na acessibilidade de todas as áreas de toque ao estender a área de toque de qualquer elemento que use o modificador
Clickablepara pelo menos48dppor48dp. - Melhoramos
PrimaryLayouteEdgeContentLayoutadicionandosetResponsiveContentInsetEnabledpara oferecer melhor suporte ao comportamento responsivo desses layouts em diferentes tamanhos de tela e melhorar a consistência dos blocos. Adicionamos um aviso do linter para sugerir o uso dessas APIs com uma correção rápida. - Melhoria no dimensionamento/não dimensionamento do Material
Textpara o dimensionamento de fonte não linear do Android 14.
Mudanças na API
- O nome da família de fontes padrão (
DEFAULT_SYSTEM_FONT) é removido porque está implícito ao não usar a APIpreferredFontFamilies. (I39dab). - O parâmetro transmitido para
FontSetting.widthprecisa 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 estes commits.
Novos recursos
- Adicione o método
hasTextaoMaterial.CompactChippara verificar se o conteúdo do texto foi definido. (I6e8fc)
Mudanças na API
- As constantes
FontFamilyforam movidas paraFontStyleem vez da classe Builder. (I06ced) - Atualize as APIs
FontSetting.weighteFontSetting.widthpara incluir anotações de intervalo e mude o parâmetro de peso para int. (Ia726c)
Correções de bugs
- Textos não escalonáveis na biblioteca Material agora funcionam corretamente com o dimensionamento de fonte 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 estes commits.
Mudanças na API
- Adicionada API de cantos assimétricos para especificar separadamente o raio de cada canto com dois valores. (Icbd69).
- A API
FontSettingfoi estendida para incluir: - Adição da API de família de fontes a
FontStylepara permitir especificar uma lista ordenada de quais famílias de fontes devem ser usadas. (Iba9f5). - Constantes renomeadas para altura do espaço entre o conteúdo e o rótulo secundário em
LayoutDefaultsdo Material, que inicialmente eram prefixadas com "Conteúdo da borda" para serem mais genéricas, já que podem ser aplicadas aPrimaryLayouteEdgeContentLayout. (I4dc32).
Correções de bugs
- Renomeamos a nomenclatura dos eixos de fontes variáveis de
axisNameparaaxisTag. (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 estes commits.
Novos recursos
- Adição da API para definir valores de peso personalizados para
FontStyle. (I7390a)
Correções de bugs
- Corrigir a falha em
getTouchDelegateInfodevido a um mapa de destino vazio. (I2accf).
Versão 1.2.0-alpha02
1º de maio de 2024
Lançamento de androidx.wear.protolayout:protolayout-*:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estes commits.
Mudanças na API
- Adicionamos suporte para desativar o feedback de ondulação em elementos clicáveis individuais. (If1ede)
- A API de transformação foi removida do
ArcModifiersporque não é compatível com esse recurso (Ic0827) - O
ArcDirectionPropBuilder agora espera um valor no construtor. (I76ada) - O método
PlatformDataValues.Builder.putAllpermite mesclar umPlatformDataValueem outro. (I50ba3). Text#setIsScalablefoi renomeado comoText#setScalable. (If920e).- O texto do Material pode definir se deve usar 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). - Correção de
CompactChippara funcionar corretamente apenas com ícones e atualização da API para permitir essa opção. (I6589e).
Correções de bugs
- Foi corrigido um problema de possível duplicação de dados da plataforma durante a inicialização. (Iba0fd).
- Introduza um novo getter em
DynamicDataNodepara recuperar o custo do nó. O custo é usado ao adquirir a cota de nós dinâmicos. No momento, os nós com valores fixos têm um custo de 0, e todos os outros têm 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 semsetResponsiveContentInsetEnablede oferecemos uma correção rápida. (I12025). - Há um limite para o 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 estes commits.
Novos recursos
- Agora, os elementos
ProtoLayout Arctêm a opção de adicionarArcDirection(Clockwise,CounterclockwiseouNormal). Adicionar esse comportamento aArc,ArcLineouArcTextvai corrigir o comportamento deles em layouts da direita para a esquerda. (I90699). - O
EdgeContentLayoutfoi atualizado com um novo settersetResponsiveContentInsetEnabledpara melhor alinhamento com as diretrizes de UX e consistência nos blocos, com o rótulo principal no lugar fixo na parte de cima e encarte responsivo para rótulos. (I60175). - Adicionamos
PrimaryLayout.setResponsiveContentInsetEnabled, que adiciona um encarte responsivo ao rótulo principal, ao rótulo secundário e ao ícone na parte de baixo desse layout para evitar que o conteúdo saia da borda da tela. (I0c457). - Adiciona um método para remover as margens externas de
CircularProgressIndicatorpara que ele possa ser usado como um componente menor. (I55c06).
Mudanças na API
- O renderizador de blocos agora exclui o padding de fontes em todos os elementos de texto por padrão, sem uma opção para incluí-lo. (I3e300).
Correções de bugs
- Corrigimos o problema de alinhamento de texto quando reticências, espaçamento entre letras e alinhamento centralizado são usados no texto. (I716c7)
- Adição de uma solução alternativa para um problema de desenho de arco do skia. (I08f09).
- Correção da direção de desenho
ArcLinepara layouts RTL. (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
- Suporte a gradiente e melhor representação de comprimentos maiores que 360 graus em
ArcLine. - A formatação de data e hora é compatível com diferentes fusos horários para tipos de dados dinâmicos.
- Melhores opções de ajuste automático e elipse de texto para lidar com textos truncados.
- O espaçador aceita dimensões expandidas com peso opcional.
- Anotação de requisito de versão do esquema para todas as APIs
ProtoLayout. - Aumentamos a área de destino para qualquer elemento
Clickablepara 48 dp x 48 dp, atendendo aos requisitos de acessibilidade. - O padding de fonte fica desativado por padrão e é o único comportamento em todos os elementos de texto e componentes do Material que contêm texto.
Outras mudanças
- Para um conjunto mais completo das mudanças introduzidas na versão 1.1.0, consulte as notas da versão 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
PlatformTimeUpdateNotifierImplmarca imediatamente após a ativação da atualização. (I77145)- O
CircularProgressIndicatorfoi corrigido para layouts RTL. A partir de agora, ele vai girar no sentido horário em todos os casos. (I95ee3). - Adição de uma solução alternativa para um problema de desenho de arco do 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 esta versão da biblioteca está com todos os recursos e a API está bloqueada (exceto onde marcado como experimental). O Wear ProtoLayout 1.1 inclui as seguintes novas funcionalidades e APIs:
- O
ArcLineagora oferece suporte a gradiente ao adicionarBrushcomSweepGradiente ter uma sombra na tampa para representar melhor comprimentos maiores que 360 graus ao adicionarShadownoStrokeCapatual. DynamicInstanttem suporte para formatação de data e hora com fuso horário.DynamicInstanteDynamicDurationpodem ser usados como tipos de dados de estado ou plataforma.- Recurso de dimensionamento automático para tamanho do texto que permite definir vários tamanhos para
FontStyle.setSizes. O tamanho do texto será dimensionado automaticamente com base no espaço disponível dentro do elemento pai. Além disso, melhoramos as opções de elipse para texto que transborda adicionandoTEXT_OVERFLOW_ELLIPSIZEe descontinuandoTEXT_OVERFLOW_ELLIPSIZE_END. - O
Spaceragora oferece suporte a dimensões expandidas com peso opcional. Para criarExpandedDimensionProp, adicionamos um método auxiliarDimensionBuilders.weight. - Suporte para ocultar e mostrar dinamicamente elementos de layout com
Modifier.visible. Isso inclui ter valores dinâmicos emBoolProp. - Todas as APIs
ProtoLayoutagora têm uma anotação de requisito de versão do esquema, e a versão pode ser verificada antes de chamar uma API mais recente. - Todos os elementos que têm
Clickableagora têm a área de destino estendida para pelo menos 48x48 no renderizador para oferecer melhor suporte aos requisitos de acessibilidade. - Seguindo outros componentes do Material e iniciativas do Compose, desativamos o padding de fontes por padrão em todos os elementos
Text. Além disso,AndroidTextStylee os setters relacionados foram removidos da API pública. com as seguintes correções de bugs: - Adicionamos um setter para posicionar o conteúdo da borda em
EdgeContentLayoutpara que ele possa ser posicionado antes de outros conteúdos. - Gerar uma exceção consistente ao encontrar um valor de enum não reconhecido.
- Invalida o resultado de uma expressão quando ela gera um valor numérico inválido (NaN ou infinito) ou gera um
ArithmeticException.
Mudanças na API
- Atualizações na API
SweepGradientpara permitir a aceitação de cores ouColorStopsno construtor. (I6676f).
Correções de bugs
- Adição de uma API restrita e suporte a renderizador para definir uma direção em que os elementos de arco são desenhados. (Idef5a)
RoundModetem como padrãoFlooremFloatToInt32Nodequando não especificado. O nó ainda vai gerar uma exceção se oRoundModefornecido 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
VersionInfonã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_ENDfoi descontinuada. Use a nova APITEXT_OVERFLOW_ELLIPSIZEcom um comportamento muito semelhante. (I822d8). - Seguindo outros componentes do Material e iniciativas do Compose, desativamos o padding de fontes por padrão em todos os elementos de texto. Além disso,
AndroidTextStylee os setters relacionados foram removidos da API pública. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3). Modifier.hiddenfoi substituído porModifier.visible(I56902).FontStyle#setSizesagora aceita int em vez de argumentosSpProp. (I02b37).
Correções de bugs
- Gerar uma exceção ao encontrar um valor de enumeração indefinido ou não reconhecido. (I9d2cf).
- Refatore
DynamicTypeBindingRequest. (I27b57). - Invalida o resultado de uma expressão quando ela gera um valor numérico inválido (NaN ou infinito) ou gera 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
- Adição de suporte experimental para ocultar/mostrar elementos de layout de forma dinâmica (I64a78).
- Adição de suporte a valores dinâmicos em
BoolProp(I2fe96) - Adição de uma anotação de requisito de versão do esquema às APIs
ProtoLayout(I0f03c). - Extensão da API com a nova opção em
TextOverflowpara usar reticências no texto em um contêiner pai fixo, mesmo quando o número máximo de linhas não é atingido (mas não há espaço suficiente para o texto). (I110a9). - Adição do método auxiliar
DimensionBuilders.weightpara criarExpandedDimensionPropcom peso. (I4f72b). DynamicInstanteDynamicDurationpodem ser usados como tipos de dados de estado ou plataforma. (I6819f).
Mudanças na API
- Atualização da API para ocultar
DynamicZonedDateTimee mover todas as operações paraDyanamicInstant(I34b94). - O Spacer agora oferece suporte à dimensão Expanded 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
- Adição de um campo
ArcLineStrokeCapShadowà API. (I830ec). - Extensão da API para especificar a largura ou altura do Spacer para expansão. (I757ca).
- Adicionamos uma API experimental para dimensionar automaticamente o tamanho do texto com base no espaço disponível no elemento pai. (Ibbe63).
- Suporte ao tamanho mínimo clicável (I178e3).
- Adição de compatibilidade com renderizador para
StrokeCapShadow. (I48b17). - Adição de suporte ao renderizador para gradiente de varredura 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
- Adicionamos uma opção de pincel a
Arcline, com suporte paraSweepGradient. (Ie7ce3). - Adicionamos suporte para formatação de data e hora com fuso horário. (Ibfae0).
- Adição de protos e wrappers Java necessários para formatação de data e hora com fuso horário. (I97126).
- Adição de getters para ler o valor armazenado em um
DynamicDataValue. (Ie6cea). - Adicionamos um setter para posicionar o conteúdo da borda em
EdgeContentLayoutpara que ele possa ser posicionado antes de outros conteúdos. (Ie8e8a).
Correções de bugs
- Corrigimos um problema em que uma expressão com várias inscrições de fonte de dados de tempo não era atualizada imediatamente. (I8e1a8)
- Correção de um bug para centralizar o elemento raiz durante as atualizações de diff. (Ie48f7).
- Valores de restrição de layout não definidos (ou vazios) não serão mais ignorados. (Ibc785).
- Redução do atraso entre a visibilidade de um layout e a inicialização dos nós do pipeline. (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 apresenta APIs para criar layouts e expressões que podem ser usadas 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 de dados de blocos) e 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 de blocos para
ProtoLayout, siga as instruções aqui.
Mudanças na API
- Removemos os métodos
setLayoutConstraintForDynamicAnchorAngleegetLayoutConstraintForDynamicAnchorAngledo elemento Arc. Esses métodos foram adicionados por engano e não tiveram efeito no layout fornecido. (If7d01). - Limitamos a profundidade máxima que um layout de
ProtoLayoutpode ter a 30LayoutElementsaninhados. (I8a74b).
Correções de bugs
- Adicionamos uma verificação para gerar uma exceção se
DynamicColortiver 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
- Permite definir o relógio para testes de vinculação de tempo. (I05622).
Mudanças na API
PlatformDataReceiver.onData()eStateBuilders.Builder.addKeyToValueMappingagora aceitam o mapeamento com segurança de tipos deDynamicDataKeyparaDynamicDataValueem vez de tipos genéricos não seguros. Isso significa queDynamicDataValueagora é digitado com oDynamicType. As constantesHEART_RATE_ACCURACY_Xforam movidas para a raiz dePlatformHealthSources, para corresponder ao posicionamento de outras constantes do Android. As constantes intHEART_RATE_ACCURACY_Xagora são usadas diretamente emDynamicHeartRateAccuracy.constant()eDynamicHeartRateAccuracy.dynamicDataValueOf()em vez de constantes de valor. (I82ff5).- A classe
PlatformHealthSources.Constantsfoi instanciada por engano. Isso já foi corrigido. (Icb849). PlatformTimeUpdateNotifier#setReceiveragora recebeRunnableem vez da funçãoSuppliereExecutorpara notificar. (I9d938)- Mudamos o tipo de parâmetro em
PlatformTimeUpdateNotifier#setReceiverdeCallableparaSupplier. (I664bf). CompactChipeTitleChipagora permitem adicionar um ícone. (I5a01e).
Correções de bugs
- Atualização das mensagens de propriedade com campos dinâmicos para usar "oneof" (I81739)
- Reutilize a implementação de setters para sobrecargas que têm setters (Ied70c).
- Registro adequado de impressões digitais em setters com 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 uma
PlatformDataKeypara a precisão da frequência cardíaca. (I7f9b8)
Mudanças na API
- Renomeie
StateBuilders#getIdToValueMappingparagetKeyToValueMappinge mude o tipo de retorno paraMap<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae). - Transformar
StateStoreem uma classe final (I408ca). - A interface
TimeGatewayfoi substituída porPlatformTimeUpdateNotifierna bibliotecaprotolayout-expression-pipeline, que fornece a frequência desejada para atualizar dados de tempo. (I60869). register/unregisterForDataemPlatformDataProviderfoi renomeado comoset/clearReceiver(I14b02).- Em Material Text,
getExcludeFontPaddingfoi renomeado comohasExcludeFontPadding. (Iea01d) - O setter para alinhar perfeitamente o rótulo foi adicionado a todos os componentes de chip. Todos os ícones agora têm um destino mínimo de toque aplicado. (I8ae92).
LayoutDefaults#BUTTON_MAX_NUMBERfoi renomeado comoMAX_BUTTONS(I84788).DAILY_DISTANCEfoi renomeado comoDAILY_DISTANCE_M. (I4f758).
Correções de bugs
- Atualização da documentação de tipos de propriedades para esclarecer por que o valor estático é aplicado. Especifique o valor padrão usado se o valor estático não for fornecido. (I155aa).
- Os namespaces
PlatformDataKeyprecisam seguir a nomenclatura de estilo 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
AppDataKeypara acessar o estado enviado por push do app,PlatformDataKeypara acessar dados da plataforma e suporte a namespaces emStateStore. (I7985e). - Compatibilidade com operações
EqualeNotEqualparaDynamicBool. (I6a0c1).
Mudanças na API
- A classe
FontStylesagora é final (Iaa2ea). - O uso de
LayoutElementBuilders#FontStylesfoi descontinuado Useandroidx.wear.protolayout.Typographyou crie seu próprioFontStyle. (Ic929b). - Oculte a interface aninhada
Action#Builderda interfaceAction. As implementações do Builder já são fornecidas pelas classesLoadActioneLaunchAction. (I1d70c) - Permitir o uso de
DynamicFloatcomFloatProp. Observe queFloatPropnão exige restrições de layout porque não é usado como uma propriedade de mudança de layout. (I286ac) - As ações
LoalActioneSetStateActionforam removidas porque ainda não eram compatíveis. (I5d6a6) - Foi adicionada compatibilidade com o formato ARGB_8888 para recursos de imagem inline. (I8a07c).
StateEntryValuefoi renomeado comoDynamicDataValue, e as APIs de estado foram atualizadas para usarDynamicDataKey(If1c01).- Estamos limitando o número de entradas permitidas no
StateStorepara 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 haja mais deMAX_STATE_ENTRY_COUNTentradas no mapa. Caso contrário, ele vai receber umIllegalStateExceptionao criar ou atualizar oStateStore. (Ibadb3). - Ocultar as classes
OnLoadTriggereOnConditionMetTriggere renomearsetTriggercomosetConditionparaOnConditionMetTrigger. (Ibf629) - Por motivos de desempenho e compatibilidade, os renderizadores
ProtoLayoutnão são compatíveis com o conjunto completo de recursos nos recursosAnimatedVectorDrawable. Vamos marcar essas APIs como experimentais até que possamos definir o conjunto compatível. (Ic6daf) - Adicionamos tipos dinâmicos para distância, calorias e andares diários. As chaves para fontes de integridade da plataforma agora estão em
PlatformHealthSources.Keys(Ib7637) - O método
Easing.cubicBeziersubstitui oCubicBezierEasing.Builder. Com isso, a classeEasingFunctioné removida, e as constantes de suavização dessa classe agora podem ser acessadas diretamente da interfaceEasing. Além disso,setInfiniteRepeatablefoi substituído porINFINITE_REPEATABLE_WITH_RESTARTeINFINITE_REPEATABLE_WITH_REVERSE(Ib41e7). - Implemente
PlatformDataProviderpara fornecer frequência cardíaca e passos diários. A interfaceSensorGatewayfoi removida da API pública. (I55b84). - Adicione
PlatformDataProvidere atualizeStateStorepara registrar emPlatformDataProviderquando a chave compatível do provedor for exigida pelo nó do pipeline de expressão. (Ib616a). - O
SensorGatewaynão é maisCloseableporque não mantém mais nenhum estado. (I6b4f7) - Permitir o uso do
FloatPropcom oDynamicFloatpara acompanhar o progresso noCircularProgressIndicator. Isso é compatível com renderizadores que oferecem suporte à versão 1.2. Renderizadores antigos vão usar ostaticValuese ele for fornecido. Caso contrário, vão usar 0 (I0d91b). - As constantes
MultiButtonLayoutforam refatoradas na classeLayoutDefaults.MultiButtonLayoutDefaults, que agora contém aquelas para tamanhos de botões, dependendo do número de botões no layout. (I13973) - Suporte ao uso de
StringPropcomDynamicStringno texto do Material. Isso é compatível com renderizadores que oferecem suporte à versão 1.2. Renderizadores antigos vão usar o valor estático fornecido. Atualize o tipo de retornoText#getTextdeStringparaStringProp. (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 exige uma extensão de renderizador capaz de entender o elemento de layout. (I6581d).
- Adição de compatibilidade com
StrokeCapparaArcLine. (I94951) - Adição de suporte à operação instantânea condicional. (I489a7).
- Adição de suporte à operação de duração condicional. (Iab469).
- Adição de suporte para criar duração em segundos. (Ib5fa1)
Mudanças na API
- Os métodos
enable/disablePlatformSourceforam removidos deDynamicTypeEvaluator. O autor da chamada é responsável pelas atualizações. (I78c6d). - Permitir o limite do tamanho de tipos de dados vinculados. (Ie2966)
- Adição de suporte para descrição de conteúdo dinâmico em
protolayout-material. (I62c8e) - Use long e
@IntRangepara 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
AndroidTextStylefoi adicionado(a) aLayoutElementBuilders. (I8d967)- Adicionamos suporte para definir o padding de fontes excluídas no texto do Material
ProtoLayout. (I17f5d). - O ARGB_8888 agora é compatível com imagens inline. (I18c1e)
- O
DynamicColoragora é compatível com a operaçãoonCondition. (I10927)
Mudanças na API
- Suporte à duração personalizada para animação inversa (I3251f)
- Adicionamos o modificador
SemanticDescription. Além disso,ContentDescriptionnão pode ser vinculado. (I3f1d). - O método
DynamicBool.isFalse()foi substituído porDynamicBool.negate(), e oDynamicBool.isTrue()foi removido. Além disso, valores NaNDynamicFloate a redução de umDynamicInt32para umDynamicFloatagora emitem um resultado dinâmico inválido. (I6ac1e). - Os formatadores de números inteiros e de ponto flutuante agora usam o padrão Builder. (Ieb213).
Correções de bugs
- O valor estático de substituição foi removido dos campos animáveis. (Ifcb01)
- O
DynamicTypeValueReceiver#onPreUpdatefoi 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
apiem vez deimplementationquando 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
- Adição de suporte a valores dinâmicos para
StringProp(I04342). - Marcar elementos de layout vinculáveis (Ia110b)
Mudanças na API
sensorGateway#registerSensorGatewayConsumerusa o tipo de dados como parâmetro em vez do método em "Consumer". (Icf314).ObservableStateStorefoi renomeado comoStateStore(Ieb0e2).- Adição de
DynamicTypeEvaluator.Builderem vez de argumentos de construtor para permitir mais argumentos opcionais, incluindoObservableStateStore, que agora tem como padrão uma loja vazia. (I6f832). - Refatoração da ordem dos parâmetros em
DynamicTypeEvaluator. (Ic1ba4).
Correções de bugs
- Propagação correta de indicadores de fontes de sensores 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 a frequência cardíaca e as etapas diárias em expressões dinâmicas (Ifd711).
- Adicionamos suporte a atraso para frente e para trás em animações. (Ic25f7).
- Adicionamos suporte a
DynamicColorpara borda e segundo plano - Adicionamos suporte a valores dinâmicos aos tipos em
DimensionBuilder. - O layout e os componentes de
tiles-materialestão sendo movidos paraprotolayout-material
Mudanças na API
LoadActionListenerfoi adicionado(a) aProtoLayoutViewInstance. (If7806)
Correções de bugs
FloatNodesTestfoi adicionado (Id7281).- Correção de uma falha no renderizador quando não é possível carregar um 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 animação experimental de "atualização de conteúdo" ao objeto
Modifiers. Essa animação é acionada sempre que o elemento (com esse modificador) ou um dos filhos dele muda durante uma atualização de layout. (bd03e5d)
Mudanças na API
- Adicionamos
forwardRepeatDelayMillisereverseRepeatDelayMillisaRepeatable. Também renomeamosdelayMillisemAnimationSpecparastartDelayMillis(Ifb266). - Os métodos
DynamicTypeEvaluator.bindagora aceitam um Executor. (I346ab). - Adicionamos o método
startEvaluationaoBoundDynamicTypepara acionar a avaliação depois que o tipo dinâmico é vinculado. (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
- O
ObservableStateStoreagora informa os listeners quando uma chave também é removida. - Adicionamos a versão do esquema do renderizador e a escala de fonte a
DeviceParameters, que pode ser usada para criar layouts condicionalmente em resposta a diferentes versões e configurações de fonte. - Adicionamos suporte para animação de valores
DynamicInt32(I05485). - Adicionamos gatilhos
OnLoadeOnConditionalMet. Eles podem ser usados para iniciar animações que oferecem suporte a um gatilho. - Adicionamos peso de layout para dimensões expandidas e tamanho mínimo para dimensões agrupadas.
- Adicionamos tipos dinâmicos de duração e instantâneos. Eles podem ser usados para representar um instante ou uma duração em uma expressão dinâmica.
- Adicionamos suporte para
AnimatedVectorDrawableeSeekableAnimatedVectorDrawablecomo 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
- Renomeação de
set/getSpecparaset/getAnimationSpecna 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
DynamicTypeEvaluatorda 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:tilesestão sendo movidos paraandroidx.wear.protolayout:protolayout. O uso deandroidx.wear.tiles:tilesvai 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.