wear protolayout

  
Esta biblioteca permite definir um conjunto de layouts de interface e expressões que não são da interface para renderização/avaliação em plataformas remotas.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
7 de fevereiro de 2024 1.1.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.1.0"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.1.0"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.1.0"
}

Kotlin

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.1.0")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.1.0")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.1.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.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

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 redimensionamento e reticências de texto para lidar com texto truncado.
  • O espaçador é compatível com 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 estendida para qualquer elemento Clickable para 48 dp x 48 dp, para atender aos requisitos de acessibilidade.
  • O padding da fonte fica desativado por padrão e é o único comportamento em todos os elementos Text e componentes do Material Design que contêm texto.

Outras mudanças

  • Para ver um conjunto mais completo das alterações 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

  • PlatformTimeUpdateNotifierImpl é ativado imediatamente após a ativação da atualização. (I77145).
  • Correção de CircularProgressIndicator para layouts RTL De agora em diante, o sentido será horário em todos os casos. (I95ee3).
  • Foi adicionada uma solução alternativa para um problema de desenho do arco de esqui. (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 ProtoLayout do Wear indica que essa versão da biblioteca tem os recursos completos e a API está bloqueada (exceto quando marcada como experimental). O Wear ProtoLayout 1.1 inclui as seguintes novas funcionalidades e APIs:

  • ArcLine agora oferece suporte a gradiente, adicionando Brush com SweepGradient e tendo uma sombra na borda para representar melhor o comprimento maior que 360 graus, adicionando Shadow ao StrokeCap existente
  • DynamicInstant oferece suporte à formatação de data-hora zonada. DynamicInstant e DynamicDuration podem ser usados como tipos de dados de estado ou plataforma.
  • Recurso de dimensionamento automático para texto que permite definir vários tamanhos como FontStyle.setSizes. Assim, 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 texto que ultrapassa o limite com a adição de TEXT_OVERFLOW_ELLIPSIZE e descontinuamos TEXT_OVERFLOW_ELLIPSIZE_END
  • Agora, Spacer é compatível com dimensões expandidas com peso opcional. Para criar ExpandedDimensionProp, adicionamos um método auxiliar DimensionBuilders.weight.
  • Suporte à ocultação e exibição dinâmica de elementos de layout com Modifier.visible. Isso inclui valores dinâmicos em BoolProp.
  • Todas as APIs ProtoLayout agora têm anotação de 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 compatibilidade com os requisitos de acessibilidade
  • Seguindo outros componentes do Material e iniciativas do Compose, agora desativamos o padding da fonte por padrão em todos os elementos Text. Além disso, AndroidTextStyle e setters relacionados foram removidos da API pública com correções de bugs abaixo:
  • Adição de um setter para posicionar o conteúdo da borda em EdgeContentLayout para que ele possa ser posicionado antes de outro conteúdo
  • Gerando uma exceção de maneira consistente ao encontrar um valor de enumeração não reconhecido.
  • Invalidar o resultado de uma expressão quando ela gerar um valor numérico inválido (NaN ou infinito) ou gerar uma ArithmeticException.

Mudanças na API

  • Atualizações na API SweepGradient para permitir a aceitação de cores ou ColorStops no construtor (I6676f).

Correções de bugs

  • Foi adicionada uma API restrita e suporte ao renderizador para definir a direção em que os elementos do arco são desenhados (Idef5a).
  • Quando não for especificado, RoundMode será definido como Floor em FloatToInt32Node. O nó ainda gerará uma exceção se o RoundMode 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 interface Comparable. (I8d13c).
  • O renderizador agora oferece suporte à opção TEXT_OVERFLOW_ELLIPSIZE (I7f085).

Mudanças na API

  • A opção de texto flutuante TEXT_OVERFLOW_ELLIPSIZE_END foi descontinuada. Use a nova API TEXT_OVERFLOW_ELLIPSIZE com um comportamento muito semelhante. (I822d8).
  • Seguindo outros componentes do Material 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 por Modifier.visible (I56902).
  • FontStyle#setSizes agora aceita int em vez de argumentos SpProp (I02b37).

Correções de bugs

  • Gera uma exceção ao encontrar um valor de tipo enumerado não definido ou não reconhecido. (I9d2cf).
  • Refatore DynamicTypeBindingRequest. (I27b57).
  • Invalidar o resultado de uma expressão quando ela gerar um valor numérico inválido (NaN ou infinito) ou gerar uma 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/exibição dinâmica de elementos de layout (I64a78).
  • Adição de suporte a valor dinâmico para BoolProp (I2fe96).
  • A anotação de requisito da versão do esquema foi adicionada às APIs ProtoLayout (I0f03c).
  • Ampliação da API com a nova opção em TextOverflow para reticências do texto em um contêiner pai fixo, mesmo quando o máximo de linhas não for atingido, mas não houver espaço suficiente para o texto. (I110a9).
  • Adição do método auxiliar DimensionBuilders.weight para criar ExpandedDimensionProp com peso (I4f72b).
  • DynamicInstant e DynamicDuration 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 para DyanamicInstant (I34b94).
  • O espaçador agora oferece suporte à dimensão expandida para largura/altura. (Ie7c94).
  • Compatibilidade com a extensão de área de destino de cliques 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 ArcLine StrokeCap Shadow à API (I830ec).
  • Extensão da API para especificar a largura ou altura do espaçador para expandir. (I757ca).
  • Adicionamos uma API experimental para dimensionar automaticamente o tamanho do texto com base no espaço que ele tem dentro 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 Sweep Gradient 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

  • Foi adicionada uma opção de pincel para Arcline, com suporte para SweepGradient (Ie7ce3).
  • Inclusão de compatibilidade com formatação de data-hora em zonas. (Ibfae0).
  • Foram adicionados protos e java Wrappers necessários para a formatação de data-hora com zonas. (I97126).
  • Adição de getters para ler o valor armazenado em um DynamicDataValue (Ie6cea).
  • Adição de 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 em que uma expressão com vários registros de fonte de dados de horários não era atualizada imediatamente. (I8e1a8).
  • Correção de um bug no elemento raiz central durante as 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 do pipeline serem 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 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 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.

Mudanças na API

  • Removemos os métodos setLayoutConstraintForDynamicAnchorAngle e getLayoutConstraintForDynamicAnchorAngle do elemento do arco. Esses métodos foram adicionados por engano e não tiveram nenhum efeito no layout fornecido. (If7d01).
  • Limitamos a profundidade máxima que um layout de ProtoLayout pode ter a 30 LayoutElements aninhadas. (I8a74b).

Correções de bugs

  • Adicionamos uma verificação para gerar se DynamicColor tiver sido definido para um SpanText (I0e5bc).
  • Foi esclarecido que a unidade de 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() e StateBuilders.Builder.addKeyToValueMapping agora aceitam mapeamento com segurança de tipo de DynamicDataKey para DynamicDataValue, em vez de genéricos não seguros Isso significa que DynamicDataValue agora é digitado com o DynamicType. Constantes HEART_RATE_ACCURACY_X foram movidas para a raiz de PlatformHealthSources, para corresponder ao posicionamento de outras constantes do Android. As constantes de int HEART_RATE_ACCURACY_X agora são usadas diretamente em DynamicHeartRateAccuracy.constant() e DynamicHeartRateAccuracy.dynamicDataValueOf() em vez da constante de valor (I82ff5).
  • A classe PlatformHealthSources.Constants foi instanciada por engano. Isso já foi corrigido. (Icb849).
  • PlatformTimeUpdateNotifier#setReceiver agora recebe Runnable em vez da função Supplier e Executor para notificação. (I9d938).
  • Mudamos o tipo de parâmetro no PlatformTimeUpdateNotifier#setReceiver de Callable para Supplier. (I664bf).
  • CompactChip e TitleChip agora oferecem suporte à adição de um ícone. (I5a01e).

Correções de bugs

  • As mensagens de propriedade com campos dinâmicos foram atualizadas para usar oneof (I81739).
  • A implementação de setters foi reutilizada para sobrecargas que têm setters (Ied70c).
  • Gravação correta 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 um PlatformDataKey para precisão da frequência cardíaca. (I7f9b8).

Mudanças na API

  • Renomeie StateBuilders#getIdToValueMapping como getKeyToValueMapping e mude o tipo de retorno para Map<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae).
  • StateStore agora é uma classe final (I408ca).
  • A interface TimeGateway foi substituída por PlatformTimeUpdateNotifier na biblioteca protolayout-expression-pipeline, que fornece a frequência desejada para atualizar os dados de tempo (I60869).
  • register/unregisterForData em PlatformDataProvider foi renomeado como set/clearReceiver (I14b02).
  • No Material Text, getExcludeFontPadding foi renomeado como hasExcludeFontPadding. (Iea01d).
  • Adição do setter para o alinhamento perfeito do rótulo a todos os componentes do ícone Todos os ícones agora têm um valor mínimo de toque aplicado. (I8ae92).
  • LayoutDefaults#BUTTON_MAX_NUMBER foi renomeado como MAX_BUTTONS (I84788).
  • DAILY_DISTANCE foi renomeado como DAILY_DISTANCE_M. (I4f758).

Correções de bugs

  • Atualizamos os documentos de 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 no 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 AppDataKey para acessar o estado enviado por push do app, adição de PlatformDataKey para acessar dados da plataforma e adição de suporte a namespace em StateStore (I7985e).
  • Suporte às operações Equal e NotEqual para DynamicBool. (I6a0c1).

Mudanças na API

  • A classe FontStyles agora é final (Iaa2ea).
  • O uso de LayoutElementBuilders#FontStyles foi descontinuado Use androidx.wear.protolayout.Typography ou crie seu próprio FontStyle. (Ic929b).
  • Ocultar interface aninhada Action#Builder da interface Action. As implementações do Builder já são fornecidas pelas classes LoadAction e LaunchAction. (I1d70c).
  • Permita o uso de DynamicFloat com FloatProp. Observe que FloatProp não exige restrições de layout, já que não é usado como uma proposta de mudança de layout (I286ac).
  • As ações LoalAction e SetStateAction foram removidas porque ainda não tinham suporte para elas. (I5d6a6).
  • Foi adicionado suporte ao formato ARGB_8888 para recursos de imagem inline. (I8a07c).
  • StateEntryValue foi renomeado como DynamicDataValue, e as APIs de estado foram atualizadas para usar DynamicDataKey (If1c01).
  • Estamos limitando o número de entradas permitidas no StateStore para garantir que o uso da memória e o tempo de atualização de estado sejam bem contidos e controlados para cada instância do StateStore. Como resultado, o desenvolvedor precisa garantir que não tenha mais de MAX_STATE_ENTRY_COUNT entradas no mapa. Caso contrário, ele vai receber um IllegalStateException ao criar ou atualizar o StateStore. (Ibadb3).
  • Oculte as classes OnLoadTrigger e OnConditionMetTrigger e renomeie setTrigger como setCondition para OnConditionMetTrigger. (Ibf629).
  • Por motivos de desempenho e compatibilidade, os renderizadores ProtoLayout não oferecem suporte ao conjunto completo de recursos em recursos AnimatedVectorDrawable. Marcaremos essas APIs como experimentais até que possamos definir o conjunto com suporte (Ic6daf).
  • Foram adicionados tipos dinâmicos para 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 o CubicBezierEasing.Builder. Com isso, a classe EasingFunction é removida e as constantes de easing dessa classe podem ser acessadas diretamente pela interface Easing. Além disso, setInfiniteRepeatable foi substituído por INFINITE_REPEATABLE_WITH_RESTART e INFINITE_REPEATABLE_WITH_REVERSE (Ib41e7).
  • Implemente PlatformDataProvider para informar a frequência cardíaca e os passos diários. A interface SensorGateway foi removida da API pública (I55b84).
  • Adicione PlatformDataProvider e atualize StateStore para registrar no PlatformDataProvider quando a chave com suporte do provedor for exigida pelo nó do pipeline de expressão (Ib616a).
  • SensorGateway não é mais Closeable porque não mantém mais nenhum estado (I6b4f7).
  • Permita o uso de FloatProp com DynamicFloat para o progresso em CircularProgressIndicator. Isso pode ser usado em renderizadores compatíveis com a versão 1.2. Os renderizadores antigos vão substituir o staticValue, se fornecido, caso contrário, para 0 (I0d91b).
  • As constantes MultiButtonLayout foram refatoradas na classe LayoutDefaults.MultiButtonLayoutDefaults, que agora contém aquelas para tamanhos de botão, dependendo de vários botões no layout (I13973).
  • Foi adicionado suporte ao uso de StringProp com DynamicString no Material Text Isso pode ser usado em renderizadores compatíveis com a versão 1.2. Os renderizadores antigos vão substituir o valor estático fornecido. O tipo de retorno de Text#getText foi atualizado de String para StringProp. (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 experimental de layout de extensão. Ele 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 ao StrokeCap para ArcLine (I94951).
  • Foi adicionado suporte à operação Instant Condicional. (I489a7).
  • Foi adicionado suporte à operação de duração condicional. (Iab469).
  • Foi adicionado suporte à criação de duração a partir de segundos. (Ib5fa1).

Mudanças na API

  • Os métodos enable/disablePlatformSource foram removidos de DynamicTypeEvaluator. O autor da chamada deve ser responsável pelas atualizações. (I78c6d).
  • Permitir limitar o tamanho dos tipos de dados vinculados. (Ie2966).
  • Foi adicionado suporte à descrição de conteúdo dinâmico em 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) a LayoutElementBuilders. (I8d967).
  • Adicionamos suporte à configuração de exclusão do padding da fonte no Material Text ProtoLayout (I17f5d).
  • ARGB_8888 agora é compatível com imagens inline. (I18c1e).
  • DynamicColor agora oferece suporte à operação onCondition. (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 por DynamicBool.negate(), e o DynamicBool.isTrue() foi removido. Além disso, os valores DynamicFloat de NaN e a restrição de um DynamicInt32 a um DynamicFloat agora emitem um resultado dinâmico inválido (I6ac1e).
  • Os formatadores int e float 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 de strings em expressões dinâmicas agora está limitado. (I4c93).
  • As dependências do Gradle agora são definidas corretamente como api em vez de implementation 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

  • Adição de suporte a valor dinâmico para StringProp (I04342).
  • Marcação de elementos de layout vinculáveis (Ia110b).

Mudanças na API

  • O sensorGateway#registerSensorGatewayConsumer usa o tipo de dados como um parâmetro em vez de um método no consumidor. (Icf314).
  • ObservableStateStore foi renomeado como StateStore (Ieb0e2).
  • DynamicTypeEvaluator.Builder foi adicionado em vez de argumentos do construtor para permitir mais argumentos opcionais, incluindo ObservableStateStore, que agora tem um armazenamento vazio por padrão (I6f832).
  • Ordem refatorada dos parâmetros em DynamicTypeEvaluator. (Ic1ba4).

Correções de bugs

  • Propagação correta de sinais das fontes de sensores da plataforma para os 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 os passos diários em expressões dinâmicas (Ifd711).
  • Adicionamos suporte a atrasos de reverso e avanço nas animações. (Ic25f7).
  • Adicionamos suporte a DynamicColor em "Borda e segundo plano"
  • Adicionamos suporte a valor dinâmico para tipos em DimensionBuilder
  • O layout e os componentes de tiles-material estão sendo movidos para protolayout-material

Mudanças na API

  • LoadActionListener foi adicionado(a) a ProtoLayoutViewInstance. (If7806).

Correções de bugs

  • Adição de FloatNodesTest (Id7281).
  • Foi corrigida a falha do renderizador quando não era 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 animação experimental de "atualização de conteúdo" ao objeto Modifiers. Essa animação será acionada sempre que o elemento (com esse modificador) ou um dos filhos mudar durante uma atualização de layout. (bd03e5d).

Mudanças na API

  • Adicionamos forwardRepeatDelayMillis e reverseRepeatDelayMillis a Repeatable Também renomeamos delayMillis em AnimationSpec como startDelayMillis (Ifb266).
  • Os métodos DynamicTypeEvaluator.bind agora aceitam um Executor. (I346ab).
  • Adicionamos o método startEvaluation ao BoundDynamicType para acionar a avaliação depois que o tipo dinâmico for 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 ObservableStateStore agora informa aos listeners quando uma chave também é removida
  • Adicionamos a versão do esquema do renderizador e a escala da fonte a DeviceParameters, que pode ser usada para criar layouts condicionalmente em resposta a diferentes versões e configurações de fonte.
  • Adicionamos suporte à animação de valores DynamicInt32 (I05485).
  • Adicionamos os acionadores OnLoad e OnConditionalMet. Eles podem ser usados para iniciar animações compatíveis com um gatilho.
  • Adicionamos peso do layout para as dimensões expandidas e o tamanho mínimo para as dimensões unidas.
  • Adicionamos tipos de duração e dinâmicos instantâneos. Eles podem ser usados para representar um tempo instantâneo ou uma duração em uma expressão dinâmica.
  • Adicionamos suporte a AnimatedVectorDrawable e SeekableAnimatedVectorDrawable 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 como set/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() e fromByteArray() 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 para androidx.wear.protolayout:protolayout. O uso de androidx.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.