Wear Compose

  
Crie aplicativos do Jetpack Compose que funcionem com dispositivos, tamanhos, formas e gestos de navegação específicos para dispositivos wearable.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
11 de dezembro de 2024 1.4.0 - - 1.5.0-alpha07

Declarar dependências

Para adicionar uma dependência ao Wear, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Groovy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.4.0"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.4.0"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.4.0"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.4.0")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.4.0")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.4.0")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

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.

Wear Compose Material3 versão 1.0

Versão 1.0.0-alpha30

11 de dezembro de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha30. A versão 1.0.0-alpha30 contém estas confirmações.

Mudanças na API

  • O modificador scrollTransform para TransformingLazyColumn foi refatorizado, o que acionou uma mudança na API. (I0c6dc).
  • Atualizamos IconToggleButtonShapes e TextToggleButtonShapes para ter dois parâmetros de forma diferentes, uncheckedPressed e checkedPressed (I85dbd).
  • As opções de mês/dia inválidas agora aparecem no DatePicker, com um novo invalidPickerContentColor, ao usar minDate ou maxDate. (If4541).
  • Atualizamos a API Stepper para fornecer slots increaseIcon e decreaseIcon. O conteúdo deles pode ser criado normalmente no elemento combinável do ícone. (Id35da).
  • Atualizamos dynamicColorScheme removendo o parâmetro opcional defaultColorScheme e retornando ColorScheme anulável. Isso significa que o autor da chamada precisa processar explicitamente o caso de substituição quando um esquema de cores dinâmico não é fornecido. (I6d62e).
  • Atualizamos os tamanhos dos ícones em ButtonDefaults para uso com CompactButton. Um CompactButton que contenha apenas um ícone deve usar ButtonDefaults.SmallIconSize = 24.dp, enquanto um CompactButton que contenha ícone e texto deve usar ButtonDefaults.ExtraSmallIconSize = 20.dp. Recomendamos que CompactButton envolva o conteúdo (em vez de preencher a largura máxima), e os exemplos foram atualizados para mostrar isso. (I0582c).
  • Adicionamos EdgeButtonDefaults com tamanhos de ícone recomendados para os 4 EdgeButtonSizes diferentes. Além disso, atualizamos o layout EdgeButton para que ele tenha um padding inferior um pouco maior do que o superior, o que melhora a aparência do conteúdo de ícone e texto. (Id772a).
  • Adicionamos movimento a LinearProgressIndicator e LinearProgressIndicatorContent, que oferece o conteúdo visual sem animações. (Idee99).
  • Adicionamos um novo elemento combinável CircularProgressIndicatorContent para mostrar o conteúdo visual de CircularProgressIndicator sem animações. (Ie33d4).
  • TransformingLazyColumn agora fornece a composição local LocalTransformingLazyColumnItemScope, que Cards, Buttons e ListHeaders usam para se transformar automaticamente quando colocados dentro de um TransformingLazyColumn. Os autores de chamadas podem desativar a transformação automática usando o novo wrapper TransformExclusion. (I1652f).
  • Atualizamos o tipo de ButtonDefaults.shape para RoundedCornerShape (Iccdf2).

Correções de bugs

  • Correção de um bug para respeitar o Alfa atual em segundo plano para TimeText (I1eb60).
  • Definimos TextMotion como Animated por padrão na nossa tipografia para evitar a instabilidade do texto devido à fixação de glifos de letras nos limites de pixels durante as operações de escalonamento. (I626fa).
  • Atualizamos a aparência do ScrollIndicator aumentando a largura e o tamanho do espaço para melhorar a visibilidade. (Ied7cb).
  • Corrigimos um bug no Modifier.scrollTransform ao adicionar/remover/mover itens. (I6830f).
  • Corrigimos um problema de animação do botão redondo para toques curtos. Antes, a duração mínima da animação nem sempre era observada. (I757a7).
  • Atualizamos o ângulo de varredura de LevelIndicator para 20% (ou seja, 72 graus). (Idde5c).
  • Corrigimos o posicionamento de ScrollIndicator quando ScalingLazyColumn foi usado com AutoCenteringParams. (I387dd).
  • Atualizamos as cores e a tipografia de ListHeader e ListSubHeader. Além disso, as cores dos controles de alternância em CheckboxButton e SwitchButton. (I39817).
  • Corrigimos o posicionamento de ScrollIndicator em LazyColumn e ScalingLazyColumn com ContentPadding (I2bc51).
  • Corrigimos um bug na animação de progresso da OpenOnPhoneDialog usando o novo CircularProgressIndicatorContent. (I3e443).
  • Atualizamos o HorizontalPagerScaffold e o VerticalPagerScaffold para desativar animações quando a redução de movimento estiver ativada (Iaaf68).
  • Implementamos uma animação separada para indicadores de progresso circular quando o progresso atinge mais de 100%. (I47135).
  • Correção de um bug em que o EdgeButton podia ser desenhado com uma forma incorreta em componentes de pager (I91db9).

Versão 1.0.0-alpha29

13 de novembro de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha29. A versão 1.0.0-alpha29 contém estas confirmações.

Mudanças na API

  • Atualizamos TimeText para fornecer conteúdo padrão que mostra a hora. (Id23b3).
  • Simplificamos o ScrollInfoProvider para PagerState removendo o parâmetro orientation, que não é mais necessário. O novo comportamento é que a TimeText permaneça no lugar para paginação horizontal e vertical. (I71767).
  • O LocalHapticFeedback agora oferece uma implementação padrão de HapticFeedback quando a API Vibrator indica que há suporte para háptica. Os seguintes valores foram adicionados a HapticFeedbackType: Confirm, ContextClick, GestureEnd, GestureThresholdActivate, Reject, SegmentFrequentTick, SegmentTick, ToggleOn, ToggleOff, VirtualKey. Os componentes de clique longo do Wear Compose, como Button, IconButton, TextButton e Card, agora executam a resposta tátil LONG_PRESS quando um manipulador de clique longo é fornecido. (I5083d).

Correções de bugs

  • Atualizamos a animação para confirmações. (I04bff).
  • Atualizamos a dependência mínima da API para 1.7.4 nas bibliotecas do Compose. (I88b46).
  • Um novo movimento foi adicionado à caixa de diálogo OpenOnPhone. (I1e10a).
  • Corrigimos um bug no LevelIndicator para que ele seja mostrado corretamente com o nível zero. (Ie95a4).
  • Atualizamos as animações HorizontalPageIndicator e VerticalPageIndicator. (I5c8f3).
  • Adicionamos uma animação de redução a ponto ao ArcProgressIndicator indeterminado. (I9fd51).

Versão 1.0.0-alpha28

30 de outubro de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha28. A versão 1.0.0-alpha28 contém estas confirmações.

Mudanças na API

  • Adicionamos uma variação de arco no indicador de progresso circular indeterminado (I2efc1).
  • Os elementos combináveis AlertDialogContent e Dialog que compõem a API AlertDialog foram disponibilizados publicamente para que seja possível adicionar personalização, se necessário, como personalizar a animação AlertDialog mantendo o layout de conteúdo recomendado. Além disso, adicionamos os parâmetros Modifier e Color aos membros EdgeButton, ConfirmButton e DismissButton de AlertDialogDefaults. (I4eb71).
  • Atualizamos a API Placeholder da seguinte forma: renomeamos PlaceholderState.startPlaceholderAnimation para PlaceholderState.animatePlaceholder, PlaceholderState.isShowContent para PlaceholderState.isHidden e PlaceholderDefaults.shape para PlaceholderDefaults.Shape; renomeamos o parâmetro painter em painterWithPlaceholderOverlayBackgroundBrush para originalPainter; mudamos a visibilidade de PlaceholderState.placeholderProgression de "público" para "interno" e renomeamos para placeholderShimmerProgression; adicionamos constantes de duração da animação do marcador de posição a PlaceholderDefaults. (Ie5a59).
  • Atualizamos a API EdgeButton da seguinte maneira: renomeamos o parâmetro em ScreenScaffold de bottomButton para edgeButton e transformamos EdgeButtonSize em uma classe de valor. (Ieef15).
  • Mudamos a visibilidade de copy() para "pública" nas classes de cores do Material3 para Wear (I0287f).

Correções de bugs

  • Adicionada a duração mínima da animação para IconToggleButton e TextToggleButton ao clicar (Ieb333).
  • Adicionada duração mínima na animação de forma IconButton e TextButton (Iebcee).
  • Correção do estado da opção de repetição de DatePicker. (I3587c).
  • Adição de movimento para caixas de diálogo de alerta e confirmação. (I173b1).

Versão 1.0.0-alpha27

16 de outubro de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha27. A versão 1.0.0-alpha27 contém estas confirmações.

Mudanças na API

  • Atualizamos o ScreenScaffold e o ScrollIndicator após a renomeação da Fundação Wear Compose LazyColumn para TransformingLazyColumn. (I0608b).
  • O parâmetro preferredHeight de EdgeButton foi renomeado para buttonSize, e o valor dele só pode ser escolhido entre quatro constantes na classe de valor EdgeButtonSize recém-introduzida. (Icdd70).
  • Mudamos o nome de ListSubheader para ListSubHeader e adicionamos valores padrão acessíveis publicamente para ListHeader e ListSubHeader. (I96730).
  • Adicionamos novos componentes HorizontalPagerScaffold e VerticalPagerScaffold para o Wear, que oferecem novas animações e coordenação entre o texto de tempo e os componentes do indicador de página. (Iff7d0).
  • Adicionamos suporte a seletor giratório a HorizontalPagerScaffold e VerticalPagerScaffold, permitindo que os usuários naveguem por pagers usando dispositivos de entrada por seletor giratório. (I9770d).
  • Fizemos mudanças na API MotionScheme para simplificar o uso e melhorar a consistência. As funções de recordação inline foram removidas e os MotionSchemes integrados foram movidos para um objeto complementar MotionScheme dedicado. standardMotionScheme e expressiveMotionScheme foram renomeados como padrão e expressivo. (I5fd45).
  • Adicionamos suporte a um esquema de cores dinâmico com base nas cores do sistema. (I073e9).
  • Atualizamos o Stepper para as especificações de UX mais recentes. (I622bb).

Correções de bugs

  • Atualizamos a tipografia e o padding dos componentes do card. (I3ae48).
  • Mudamos o padding em AlertDialog entre os botões "Confirmar/Rejeitar" e o restante do conteúdo de 8 dp para 12 dp de acordo com as especificações da UX (Ie55f0).
  • Atualizamos a opacidade de cores do componente Controle deslizante. (Idb383).

Versão 1.0.0-alpha26

2 de outubro de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha26. A versão 1.0.0-alpha26 contém estas confirmações.

Mudanças na API

  • Atualizamos a API e a aparência de HorizontalPageIndicator e adicionamos VerticalPageIndicator para uso com VerticalPager (Ic9309).
  • AlertDialog agora oferece suporte à capacidade de omitir o botão inferior padrão da variação da pilha de botões para layouts personalizados em que o EdgeButton não é necessário. (I34fa9).
  • Adicionamos um componente SwipeToReveal para o Material 3 do Wear (Ic38b2).
  • Adicionamos suporte ao deslizamento bidirecional em SwipeToReveal para casos raros em que a tela atual não oferece suporte ao gesto de deslizar para fechar. O padrão ainda é deslizar para revelar apenas em deslizamentos da direita para a esquerda, e é altamente recomendável respeitar o comportamento padrão para evitar conflitos com o gesto de deslizar para dispensar. (Ifac04).
  • Renomeamos o parâmetro buttonHeight de EdgeButton como preferredHeight. (I4fab3).
  • A versão do Kotlin foi atualizada para 1.9 (I1a14c).
  • Renomeamos OpenOnPhoneDialogDefaults.Icon para OpenOnPhoneDialogDefaults.OpenOnPhoneIcon para evitar conflitos com Icon(I0f391).
  • Adicionamos suporte para ScrollIndicator em LazyColumn. (Ia546a).
  • Atualizamos os valores padrão de TextToggleButton e IconToggleButton. (I7aaa9).
  • Simplificamos as APIs Picker e PickerGroup. (Id0653).
  • Adicionamos CardDefaults.Shape e CardDefaults.Height, que, sendo tokens, eram privados para os desenvolvedores que usavam a biblioteca. (I1594a, b/347649765).
  • Renomeamos o parâmetro de progresso do indicador de progresso circular segmentado binário para segmentValue. (Ib72d9).
  • Atualizamos as cores e o layout do controle deslizante. (Ic3eec).

Correções de bugs

  • Atualizamos a animação do ícone openOnPhone (I66f85).
  • Agora usamos os ícones do Google Symbols em Slider, TimePicker e DatePicker. (I46c7c).
  • Atualizamos os paddings em Confirmation e OpenOnPhoneDialog. (Iaa82e).

Versão 1.0.0-alpha25

18 de setembro de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha25. A versão 1.0.0-alpha25 contém estas confirmações.

Mudanças na API

  • Adicionamos um indicador de progresso circular indeterminado. (I427a7).
  • Adicionamos suporte para o transbordamento de progresso (>100% de progresso) para CircularProgressIndicator e SegmentedCircularProgressIndicator. Quando o progresso exceder 1,0, isso será indicado pela nova cor overflowTrack. (Iaaa3d).
  • O IconToggleButton e o TextToggleButton redondos agora oferecem suporte a uma nova variação de animação de forma, em que formas diferentes representam estados de verificação, desmarcação e pressionamento. A variação de forma animada anterior para o estado pressionado continua sendo aceita. (I29f03).
  • Removemos o suporte para o uso de EdgeButton com Column devido à necessidade de especificar a altura de EdgeButton explicitamente em ScreenScaffold. (Ie353d).
  • Adicionamos suporte ao LazyColumn do Compose para Wear com nosso ScreenScaffold e adicionamos uma implementação de ScrollInfoProvider para LazyColumnState (Ib8d29).
  • Combinamos LocalTextMaxLines, LocalTextAlign e LocalTextOverflow em uma única composição local LocalTextConfiguration para oferecer uma solução mais escalonável. (I5edbc).
  • Adicionamos arc-large como uma escala de tipo adicional, reservada para strings de texto de cabeçalho curtas na parte superior ou inferior da tela, como nas sobreposições de confirmação. (I60e3e).
  • Adicionamos padrões ao botão para tamanhos de ícone grandes e extragrandes recomendados e padding de conteúdo. (I84675).

Correções de bugs

  • Atualizamos as cores de IconButton e TextButton. (I48324).
  • Mudamos as sobrecargas de botão básicas para que fiquem alinhadas verticalmente ao centro para consistência com outras sobrecargas. Para restaurar o comportamento anterior, use Modifier.align no RowScope. (I66e57).

Versão 1.0.0-alpha24

4 de setembro de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha24. A versão 1.0.0-alpha24 contém estas confirmações.

Mudanças na API

  • Adicionamos um esquema de movimento ao tema Material3. Isso será usado pelos componentes da biblioteca para aplicar especificações de animação, como molas para movimentos expressivos. (I54ff3).
  • Adicionamos os componentes AppScaffold e ScreenScaffold à biblioteca Material3, que incluem funcionalidades para coordenar camadas e transições de TimeText e ScrollIndicator. O AppScaffold fornece um nível superior de componentes de esqueleto que ficam acima de todas as telas. Assim, adicionar TimeText ao AppScaffold permite que ele permaneça no lugar enquanto você desliza entre as telas. As telas podem substituir ou ocultar o texto de tempo. O ScreenScaffold fornece um slot para o ScrollIndicator e anima automaticamente o indicador de rolagem durante a rolagem, incluindo o tempo limite para ocultar o indicador de rolagem após a inatividade. (I047d6).
  • Adicionamos ScrollIndicator com o novo design do Material3. Ele tem um tamanho de miniatura fixo com base no conteúdo inicial da lista para evitar variações de tamanho quando o conteúdo preguiçoso é carregado na lista. (Ic228d).
  • Mudamos a API ScrollAway para que ScreenStage seja uma classe de valor em vez de uma classe de tipo enumerado, permitindo que outros estágios sejam adicionados conforme necessário. (I48c93).
  • Adicionamos EdgeButton, um botão distinto específico do Wear com uma forma que segue a curvatura da parte de baixo da tela (I16369).
  • Adicionamos um novo slot à ScreenScaffold para um botão de baixo (como EdgeButton), que será mostrado e redimensionado dependendo do conteúdo rolável (I032eb).
  • Adicionamos Modifier.scrollTransform e Modifier.targetMorphingHeight para adicionar efeitos de movimento do Material3 a itens em LazyColumn. (Ie229a).
  • Adicionamos SegmentedCircularProgressIndicator como uma variação de CircularProgressIndicator. A variação segmentada mostra um único valor de progresso em todos os segmentos ou mostra cada segmento como ativado/desativado. (I6e059)
  • Adicionamos LinearProgressIndicator como uma alternativa ao CircularProgressIndicator. (I89182).
  • Adicionamos AlertDialog, que oferece layouts para apresentar solicitações importantes ao usuário. As variações incluem um par de botões de confirmação/exclusão ou um único botão inferior (normalmente um EdgeButton) abaixo de uma pilha de opções. Ambas as variações têm slots para ícone, título e texto adicional para fornecer mais detalhes. (Ieb873).
  • Adicionamos OpenOnPhoneDialog, que precisa ser usado para indicar uma ação que vai continuar no smartphone do usuário. OpenOnPhoneDialog é dispensada após um tempo limite especificado. (I978fd).
  • Adicionamos Confirmation, um componente de caixa de diálogo com slots para um ícone e texto curvo ou linear. Variações específicas são fornecidas para mensagens de sucesso/falha. As confirmações são dispensadas automaticamente após um tempo limite. (Ib43e8).
  • Adicionamos um plano de fundo ao TimeText para evitar problemas em que o conteúdo e o TimeText se sobrepõem e obscurecem o tempo. (Ia11fd).
  • Adicionamos LevelIndicator, que mostra o valor de uma configuração, como o volume, e pode ser usado com o componente Stepper para criar uma tela de volume. LevelIndicator é semelhante a ScrollIndicator, mas aparece no lado oposto da tela e tem uma largura de traço mais larga e uma cor de indicador diferente por padrão. (I8a4ac).
  • Adicionamos TimePicker, com layouts para o horário de 24 horas (com ou sem segundos) ou de 12 horas com seleção de manhã/tarde. (Ia5124).
  • Adicionamos DatePicker, com configuração para ordenação de colunas (por exemplo, dia-mês-ano, mês-dia-ano ou ano-mês-dia) e datas mínimas/máximas opcionais. (Ibf13b).
  • Adicionamos um parâmetro de peso à função text de TimeText. Nos casos em que o TimeText é composto por mais de um elemento de texto, isso permite controlar como o espaço é distribuído. (I36700).
  • Adicionamos RadioButton e SplitRadioButton. Esses componentes simplificam a API anterior combinando o (Split)SelectableButton e o controle de rádio filho (If7ae8).
  • Adicionamos CheckboxButton e SplitCheckboxButton. Esses componentes simplificam a API anterior ao combinar o ToggleButton (Split) e o controle de caixa de seleção filho (Ia8f70).
  • Adicionamos SwitchButton e SplitSwitchButton. Esses componentes simplificam a API anterior combinando (Split)ToggleButton e o controle de alternância filho (I0d349).
  • Atualizamos a documentação de AnimatedText para explicar o comportamento de excesso de velocidade. (Iff30a).
  • Adicionamos ButtonGroup para combinar dois ou três botões, de modo que pressioná-los produza uma animação coordenada. (Ie27db).
  • Adicionamos uma animação de forma opcional para IconButton e TextButton quando pressionados. (Iffca5).
  • Adicionamos uma variação de cor, FilledVariant, para Button, IconButton, TextButton, CompactButton e EdgeButton (I65fc3).
  • Adicionamos o parâmetro forcedSize a ImageWithScrimPainter, de modo que os planos de fundo de imagens de botões agora mantenham o tamanho do componente por padrão. A configuração do forcedSize = null adota o Painter.instrinsicSize. (Ic57af).
  • Adicionamos o clique longo aos botões (Ib613d).
  • O suporte a cliques longos também foi adicionado a IconButton e TextButton. (I38891).
  • Adicionamos suporte a cliques longos aos cards. (I305d5).
  • Adicionamos LocalTextMaxLines, LocalTextAlign e LocalTextOverflow como CompositionLocals e os usamos como parâmetros padrão em Text. Os locais de composição agora podem ser usados por componentes como CheckboxButton, SwitchButton e RadioButton para implementar orientações de UX, mas os parâmetros podem ser substituídos pelos desenvolvedores, se necessário. (Iab841).
  • Adicionamos Placeholder para ajudar a mascarar o conteúdo de componentes, como botões e cards, até que os dados sejam carregados. (I1a532).
  • Adicionamos IconToggleButtonColors e TextToggleButtonColors para substituir o ToggleButtonColors, que foi removido. (Ie0bf1).

Correções de bugs

  • Atualizamos Button, FilledTonalButton, OutlinedButton, ChildButton e CompactButton para usar o novo CompositionLocals LocalTextMaxLines, LocalTextAlign e LocalTextOverflow para implementar orientações de UX. Esses parâmetros podem ser substituídos diretamente pelos desenvolvedores no texto, se necessário (Ie51f7).
  • Mudamos a largura de traço padrão do LevelIndicator para 6dp para diferenciá-lo do ScrollIndicator, que tem uma largura de traço de 4dp. (If6f63).
  • Um problema em TimeText foi corrigido para que ângulos de varredura maiores sejam aceitos. (Ie489f).
  • Correção de um problema durante a recomposição de EdgeButton (I4cdca).
  • Correção de layouts de botões de alternância divididos quando o padding de conteúdo personalizado é fornecido. (Ia33d3).
  • Os valores pequenos de progresso foram arredondados para pelo menos a largura da linha do indicador de progresso. (I3bd84).

Versão 1.0.0-alpha23

14 de maio de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha23. A versão 1.0.0-alpha23 contém estas confirmações.

Mudanças na API

  • Atualizamos as APIs ToggleButton e RadioButton para que as cores desativadas possam ser configuradas. (If13a7).
  • Adicionamos um novo CircularProgressIndicator para o Material3. (Ib3bd7).

Correções de bugs

  • Correção de um bug em que os botões selecionáveis anunciavam o toque duplo para alternar quando já estavam selecionados. (I7ed88).

Versão 1.0.0-alpha22

1º de maio de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha22. A versão 1.0.0-alpha22 contém estas confirmações.

Mudanças na API

  • Atualizamos o Material3 ColorScheme. (I7b2b8).
  • Atualizamos o botão de alternância do Material3 e fizemos algumas mudanças de cor. Agora, o ícone de marcação corresponde ao usado na caixa de seleção. (Icac7b).

Correções de bugs

  • Atualizamos todas as demonstrações de integração para usar o novo modificador rotaryScrollable. (I25090).

Versão 1.0.0-alpha21

17 de abril de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha21. A versão 1.0.0-alpha21 contém estas confirmações.

  • Essa versão foi acionada devido a um problema técnico na versão anterior que resultou em jars de origem ausentes. Não há novas confirmações nesta versão.

Versão 1.0.0-alpha20

3 de abril de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha20. A versão 1.0.0-alpha20 contém estas confirmações.

Correções de bugs

  • Ajustamos as alfas do estado pressionado e focado da Ripple para contraste. (I59f0a).
  • Adicionamos espaço entre os rótulos primário e secundário em Button, ToggleButton e RadioButton, seguindo as mudanças mais recentes nos estilos de tipografia e nas alturas das linhas. (I2c0ba).

Versão 1.0.0-alpha19

6 de março de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha19. A versão 1.0.0-alpha19 contém estas confirmações.

Mudanças na API

  • Adicionamos TimeText à biblioteca Wear Compose Material3. Esse componente mostra o horário atual (e outros status) na parte de cima da tela. A nova API Material3 concisa evita a duplicação entre conteúdo linear e curvo. (I4d7c3).
  • Renomeamos os nomes dos parâmetros de onSelected para onSelect em RadioButton. (I1a971).
  • Tokenize RadioButton e SplitRadioButton e refatorize os métodos existentes para reduzir a quantidade de pesquisa CompositionLocal adicionando instâncias em cache de cores e tornando os métodos de RadioButtonColors e SplitRadioButtonColors internos. (I02b33).

Versão 1.0.0-alpha18

21 de fevereiro de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha18. A versão 1.0.0-alpha18 contém estas confirmações.

Mudanças na API

  • Refatoramos o padrão padrão de CardColors, ToggleButtonColors e SplitToggleButtonColors criando instâncias em cache internamente e reduzindo o uso de CompositionLocal. (If3fec).

Versão 1.0.0-alpha17

7 de fevereiro de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha17. A versão 1.0.0-alpha17 contém estas confirmações.

Mudanças na API

  • Atualizamos a API Button para usar buttonColors por padrão e removemos a duplicação filledButtonColors. (I4fe3b).
  • Refatoramos os padrões padrão para ButtonColors, IconButtonColors e TextButtonColors criando uma instância em cache internamente e reduzindo o uso de CompositionLocal. (I5f51c).
  • Removemos a sobrecarga de rememberUpdatedState em classes de cores específicas do componente e marcamos os métodos de acesso dentro de classes de cores como internos. (If6571).

Correções de bugs

  • Atualizamos Modifier.minimumInteractiveComponentSize para usar Modifier.node. (Iba6b7).

Versão 1.0.0-alpha16

24 de janeiro de 2024

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha16. A versão 1.0.0-alpha16 contém estas confirmações.

Novos recursos

  • Adicionamos CompactButton, que pode usar as mesmas cores preenchidas, preenchidas tonal e contornadas que o botão.(I05df0)

Mudanças na API

  • Adicionamos RadioButton/SplitRadioButton como contêineres para controles de seleção, como o controle de rádio. Isso é diferente do ToggleButton atual, porque o RadioButton é selecionável (e opera em um grupo de seleção), enquanto o ToggleButton é alternável (e é independente). (I61275).
  • Removemos LocalContentAlpha da biblioteca Material3 do Wear Compose para manter a consistência com a biblioteca Material3 do Compose. (I49a0a).
  • Os componentes do Material para Wear e do Material 3 para Wear que expõem um MutableInteractionSource na API foram atualizados para expor um MutableInteractionSource anulável que é padrão null. Não há mudanças semânticas aqui: transmitir "null" significa que você não quer elevar o MutableInteractionSource, e ele será criado dentro do componente, se necessário. A mudança para "null" permite que alguns componentes nunca aloquem um MutableInteractionSource e permite que outros componentes criem uma instância de forma lenta apenas quando necessário, o que melhora o desempenho nesses componentes. Se você não estiver usando o MutableInteractionSource que transmite para esses componentes, recomendamos transmitir "null". Também é recomendável fazer mudanças semelhantes nos seus componentes. (Ib90fc, b/298048146).
  • Adição de uma nova API de ondulação nas bibliotecas wear:compose-material e wear:compose-material3, que substitui a rememberRipple descontinuada Também adiciona um CompositionLocal temporário, LocalUseFallbackRippleImplementation, para reverter os componentes do Material Design para usar as APIs rememberRipple/RippleTheme descontinuadas. Esse recurso será removido na próxima versão estável e tem como objetivo auxiliar temporariamente a migração de casos em que você fornece um RippleTheme personalizado. Acesse developer.android.com para conferir informações sobre a migração e mais detalhes sobre essa mudança. (af92b21).
  • Fizemos pequenas melhorias na API HorizontalPageIndicator e na documentação dela. (I60efc).
  • Atualizamos o ColorScheme para ser imutável, tornando as atualizações de cores individuais menos eficientes, mas tornando o uso mais comum de cores mais eficiente. O motivo dessa mudança é que a maioria dos apps não tem a atualização de cores individuais como um caso de uso principal. Isso ainda é possível, mas vai ser recomposto mais do que antes. Por sua vez, reduzimos significativamente a quantidade de assinaturas de estado em todo o código do Material Design e vamos afetar o custo de inicialização e execução de casos de uso mais padrão. (Ibc2d6).
  • Atualizamos as APIs ToggleButton e SplitToggleButton para permitir a personalização de cores desativadas. Além disso, os tokens do Material Design agora são usados para valores de cor e tipografia. (If087c).
  • As cores de plano de fundo da imagem do botão foram atualizadas para usar tokens do Material Design. (Iba215).
  • Mudamos os componentes Checkbox, Switch e RadioButton para serem apenas de exibição, removendo o processamento de cliques. Esses componentes devem ser usados em (Split)ToggleButton, que processa o clique. Por isso, eles agora são indicados de forma mais clara como somente de exibição (e não são destinados ao uso independente no Wear). (I2322e).

Correções de bugs

  • Adicionamos tokens para valores de movimento de durações e suavização no Wear Compose Material 3. (I437cd).
  • Corrigimos um bug nos elementos ToggleButton, SplitToggleButton, Checkbox, Switch e RadioButton para que os avisos de acessibilidade não sejam repetidos. Antes, os papéis semânticos eram duplicados. (Ica281).
  • Removemos a camada materialcore para CompactButton para melhorar o desempenho. (7902858).

Versão 1.0.0-alpha15

15 de novembro de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha15. A versão 1.0.0-alpha15 contém estas confirmações.

Mudanças na API

  • Renomeamos o nível de base SwipeToDismissBox como BasicSwipeToDismissBox. Isso torna a distinção mais clara entre o componente de nível de base e o SwipeToDismissBox do nível do Material3. O segundo extrai cores do MaterialTheme para serem usadas em telas de carregamento e delega a implementação restante ao BasicSwipeToDismissBox. (Ibecfc).

Correções de bugs

  • Removemos a camada material-core do botão Material3 para melhorar o desempenho. (I55555).

Versão 1.0.0-alpha14

18 de outubro de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha14. A versão 1.0.0-alpha14 contém estas confirmações.

Mudanças na API

  • Removemos o parâmetro indicatorStyle do HorizontalPageIndicator do Material3. Em vez disso, ele vai seguir a forma da tela do dispositivo (linear ou redonda). (I83728).
  • Separamos as cores de SplitToggleButton das cores de ToggleButton, adicionando uma nova classe SplitToggleButtonColors. (I78bee).

Versão 1.0.0-alpha13

4 de outubro de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha13. A versão 1.0.0-alpha13 contém estas confirmações.

Mudanças na API

  • Adicionamos um campo de legenda opcional a TitleCard. (Ifc45a).
  • Adicionamos tokens de cor do Material Design para TextButton. (I769dc).

Versão 1.0.0-alpha12

20 de setembro de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estas confirmações.

Mudanças na API

  • Atualizamos IconButton para usar tokens do Material Design. (I3f137).
  • Atualizamos IconToggleButton para usar tokens do Material Design. (I7d263).
  • Os construtores de CheckboxColors, RadioButtonColors e SwitchColors foram divulgados. (I82b73).

Versão 1.0.0-alpha11

6 de setembro de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.

Correções de bugs

  • Atualizamos a tipografia dos cards do Material3 para TitleMedium. (I597bd).
  • Atualizamos a tipografia e o alinhamento do Material3 ListHeader e ListSubheader. (Ib5ceb).

Versão 1.0.0-alpha10

23 de agosto de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.

Novos recursos

  • Adição de HorizontalPageIndicator na biblioteca Material3 do Wear. (Ifee99).

Mudanças na API

  • O código dos botões foi atualizado para usar os tokens de design do Material3. (I92fe4).
  • As APIs Stepper e Slider do Wear Material 3 foram declaradas como experimentais, porque os detalhes da interface do usuário ainda estão sendo finalizados. (I84d54).
  • Removemos os tamanhos ExtraSmall do TextButton e do TextToggleButton redondos, porque eles se aplicam apenas ao IconButton. (Ibc7d5).

Correções de bugs

  • Atualizamos as orientações sobre tipografia para TextToggleButton para usar LabelLarge para LargeButtonSize (Ib10fa).
  • Atualizamos as orientações sobre tipografia para TextButton para usar LabelLarge para LargeButtonSize (I8f3a7).
  • Definimos a área de toque mínima do card como 48 dp para acessibilidade. (Ieb9b1).
  • Adição de uma demonstração de card de app com imagem e remoção da demonstração de card de app com plano de fundo (Id735f).
  • Correção de um bug em botões redondos em que os modificadores não eram encadeados corretamente (I5e162).

Versão 1.0.0-alpha09

9 de agosto de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estas confirmações.

Novos recursos

  • O ToggleButton foi adicionado ao Material3 (I6bed6).

Mudanças na API

  • Ativamos a anotação FloatRange como restrições de API , que foram mencionadas anteriormente nos comentários. (Icb401).
  • Atualizamos a tipografia do Material3 para Wear para obedecer às diretrizes mais recentes do Material3. (I1bad6).

Correções de bugs

  • Atualizamos as cores de Button, IconButton e TextButton de acordo com o design do Material3. (Ib2495).
  • Corrigimos a visibilidade da marcação de caixa de seleção em estados desativados. (Ib25bf).

Versão 1.0.0-alpha08

26 de julho de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estas confirmações.

Novos recursos

  • Adicionamos os seguintes controles de seleção para o Material3: Switch, Checkbox e RadioButton. (Ib918c).
  • Adicionamos IconToggleButton e TextToggleButton ao Material3, um botão de alternância circular com um único slot para ícone e texto, respectivamente. Para tamanhos diferentes de ToggleButton, recomendamos usar Modifier.touchTargetAwareSize com os tamanhos fornecidos nos botões de alternância. (I9f015).
  • Adicionamos ListHeader e ListSubheader aos nossos componentes do Material3. (Ibaefe).
  • Adicionamos o SwipeToDismissBox do Material3, que chama o novo SwipeToDismissBox do Foundation e fornece valores de cor padrão do tema. (I275fb).
  • Adicionamos o InlineSlider do Material3 ao Wear Compose. Ele permite que os usuários escolham um valor em um intervalo. O intervalo é mostrado como uma barra entre os valores mínimo e máximo, em que os usuários podem selecionar um único valor InlineSlider é ideal para ajustar configurações como volume ou brilho. (I7085f).

Mudanças na API

  • Atualizamos as formas no tema do Wear Material 3 para usar RoundedCornerShape em vez de Shape. (Idb133).
  • As constantes de altura para o botão foram tornadas públicas (Idbfde).
  • Os arquivos da API foram atualizados para anotar a supressão de compatibilidade (I8e87a, b/287516207).
  • Atualizamos o InlineSliderColors no Wear Compose Material 3 para ter um construtor público e propriedades públicas. (I6b632).
  • Atualizamos todas as classes de cores no Wear Compose Material 3 para ter construtores e propriedades públicos. (I17702).
  • Tornamos públicas as constantes de padding horizontal e vertical do botão. (Ieeaf7).

Correções de bugs

  • O botão agora ajusta a altura para acomodar conteúdo que cresceu devido a fontes grandes para acessibilidade, quando necessário (Iaf302).
  • Atualizamos várias demonstrações de botões para resolver problemas de acessibilidade. (I61ce9).
  • Stepper e InlineSlider agora oferecem suporte a cliques repetidos em um toque longo para que você possa aumentar/diminuir rapidamente o valor de Stepper e InlineSlider pressionando os botões + ou - (I27359).

Versão 1.0.0-alpha07

21 de junho de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.

Novos recursos

  • Adicionamos o componente Stepper à biblioteca Compose for Wear OS Material 3. Isso é semelhante à versão anterior do Material Design, mas omite a semântica de intervalo por padrão, seguindo o feedback dos desenvolvedores. Fornecemos Modifier.rangeSemantics os casos em que a semântica de intervalo é necessária. (Ic39fd).
  • Adicionamos curvedText à biblioteca Compose for Wear OS Material 3. (Ia8ae3).

Correções de bugs

  • Atualizamos wear.compose.foundation para ser uma dependência de API de wear.compose.material3 (I72004, b/285404743).

Versão 1.0.0-alpha06

7 de junho de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Correções de bugs

  • Atualizamos o TextButton para usar a função de extensão toDisabledColor para corrigir valores alfa desativados. (I814c8).

Versão 1.0.0-alpha05

24 de maio de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Novos recursos

  • Adicionamos TextButton ao Material3, um botão circular com um único slot para texto. Para diferentes tamanhos de TextButton, recomendamos usar Modifier.touchTargetAwareSize e ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize e LargeButtonSizeIcon fornecidos em TextButtonDefaults. O TextButton padrão não tem borda e um plano de fundo transparente para ações de baixa ênfase. Para ações que exigem alta ênfase, use filledTextButtonColors. Para uma ênfase média, use TextButton com contorno e defina a borda como ButtonDefaults.outlinedButtonBorder. Para um meio-termo entre o contorno e o preenchimento, use filledTonalTextButtonColors. (I667e4).
  • Adicionamos Card, OutlinedCard, AppCard e TitleCard à biblioteca Wear Compose Material3. AppCard e TitleCard também podem ter a aparência de contorno usando CardDefaults.outlinedCardColors e CardDefaults.outlinedCardBorder(I80e72).

Mudanças na API

  • Movemos o parâmetro de rótulo do botão para o final para oferecer suporte à sintaxe de lambda final e removemos o parâmetro de função, que pode ser substituído usando Modifier.semantics. Os construtores ButtonColors agora são públicos. (Ie1b6d).

Versão 1.0.0-alpha04

10 de maio de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Novos recursos

  • Adicionamos IconButton ao Material3, um botão circular com um único slot para ícone/imagem. Há quatro variações: IconButton, FilledIconButton, FilledTonalIconButton e OutlinedIconButton. Para diferentes tamanhos de IconButton, recomendamos usar Modifier.touchTargetAwareSize e ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize e LargeButtonSizeIcon fornecidos em IconButtonDefaults. Também fornecemos IconButtonDefaults.iconSizeFor para determinar o tamanho de ícone recomendado para um determinado tamanho de botão. (I721d4).

Versão 1.0.0-alpha03

19 de abril de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Mudanças na API

  • Adicionamos o componente Botão do Material 3, que é o botão em forma de estádio e antes se chamava "Chip" na biblioteca Material Compose para Wear. Ele foi renomeado para "Botão" para manter a consistência com a biblioteca Material Compose 3. O botão padrão tem um plano de fundo preenchido e há variações de botão para FilledTonal (plano de fundo desativado), com contorno (transparente com uma borda fina) e filho (plano de fundo transparente e sem borda, usado para ações complementares com a menor quantidade de destaque). Botões redondos para conteúdo de texto e ícone simples serão lançados em uma versão futura.(Ia6942).

Versão 1.0.0-alpha02

5 de abril de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Correções de bugs

  • Adicionamos um DefaultTextStyle ao Wear Compose Material 3, que define o PlatformTextStyle.includeFontPadding como verdadeiro (a configuração atual). Isso vai permitir que sincronizemos o desligamento do padding de fonte por padrão com as bibliotecas do Compose no futuro (consulte Corrigir o padding de fonte no Compose para segundo plano). (I7e461).

Versão 1.0.0-alpha01

22 de março de 2023

Lançamento de androidx.wear.compose:compose-material3:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

  • O Material 3 é a próxima evolução do Material Design e inclui temas atualizados e componentes redesenhados. O Material 3 no Wear Compose foi projetado para ser coeso com a biblioteca Material 3 Compose no Android. Esta primeira versão alfa contém implementações práticas e funcionais do seguinte:

    • Tema do Material Design: configura o esquema de cores, a tipografia e as formas de forma consistente nos componentes da biblioteca. O tema Material3 tem cores revisadas que oferecem suporte a contraste acessível. (I84005).
    • Texto/ícone: elementos básicos para apps do Wear Compose (I8e06a).
  • Vamos continuar desenvolvendo o Material Design para Wear (androidx.wear.compose:compose-material) e o Material Design 3 para Wear (androidx.wear.compose:compose-material3) em paralelo. As versões futuras do material3 vão ampliar o conjunto de widgets para incluir outros componentes conhecidos do Compose para Wear OS, como botões, seletores e controles deslizantes.

  • As bibliotecas Wear Material e Wear Material 3 são mutuamente exclusivas e não podem ser misturadas no mesmo app, principalmente porque fazem referência a temas diferentes, o que levaria a inconsistências inesperadas.

Wear Compose versão 1.5

Versão 1.5.0-alpha07

11 de dezembro de 2024

Lançamento de androidx.wear.compose:compose-*:1.5.0-alpha07. A versão 1.5.0-alpha07 contém estas confirmações.

Mudanças na API

  • Agora, TransformingLazyColumnState oferece uma maneira de observar o progresso de rolagem atual com base nos índices de itens de âncora. (I72b01).
  • Adicionamos animações a TransformingLazyColumn ao adicionar, remover e mover itens, se eles tiverem o novo Modifier.animateItem. (Iecb9c).
  • TransformingLazyColumn agora expõe valores para beforeContentPadding e afterContentPadding. (Iccd5f).
  • O TransformingLazyColumn agora fornece a composição LocalTransformingLazyColumnItemScope local que os componentes (como Cards e Buttons no Material3) podem usar para se transformar automaticamente quando colocados dentro de um TransformingLazyColumn. Os autores de chamadas podem desativar a transformação automática usando o novo wrapper TransformExclusion. (I1652f).

Correções de bugs

  • Atualizamos as velocidades mínimas e máximas de fling para dispositivos com a versão U ou mais recente. (I33559).
  • Correção de uma falha que ocorria quando um item na TransformingLazyColumn não continha elementos combináveis (Idb99d).
  • Adicionamos suporte a ScrollFeedbackProvider para hápticas rotativas no Android Vanilla Ice Cream. (Ibc553).
  • Aumentamos a inclinação de toque ao usar SwipeToReveal para reduzir as chances de acionar acidentalmente um deslizar ao rolar verticalmente. (Ic0672).
  • Atualizamos SwipeDismissableNavHost para usar PredictiveBackHandler quando disponível com a API 35 ou mais recente. Nesse caso, novas animações serão aplicadas. (I08c11).

Versão 1.5.0-alpha06

13 de novembro de 2024

Lançamento de androidx.wear.compose:compose-*:1.5.0-alpha06. A versão 1.5.0-alpha06 contém estas confirmações.

Mudanças na API

  • Simplificamos o ScrollInfoProvider para PagerState removendo o parâmetro orientation, que não é mais necessário. O novo comportamento é que a TimeText permaneça no lugar para paginação horizontal e vertical. (I71767).
  • TransformingLazyColumn foi introduzido em versões anteriores. Agora estamos removendo os aliases LazyColumn do Wear (que eram encaminhados para TransformingLazyColumn) em favor do novo nome TransformingLazyColumn. Também removemos a propriedade height de TransformingLazyColumnVisibleItemInfo. Use measuredHeight. (I0ea1e).
  • Mudamos a especificação do snapAnimationSpec PagerDefaults.snapFlingBehavior de Tween para Spring (I10d02, b/349781047, b/303807950).
  • O CompositionLocal LocalReduceMotion foi promovido para a versão estável (Ia6f32).

Correções de bugs

  • Atualizamos Modifier.rotaryScrollable para usar focusTargetWithSemantics e oferecer melhor suporte à semântica em rotary. (Ief0a0).
  • Atualizamos a dependência mínima da API para 1.7.4 nas bibliotecas do Compose. (I88b46).
  • Desativamos a transformação de largura em TransformingLazyColumn como uma solução alternativa para um bug de recorte. (I3dfb8).
  • Correção de um bug que fazia com que os itens desaparecessem após o excesso de rolagem com TransformingLazyColumn (Id7668).
  • Adicionamos LazyLayoutSemantics para TransformingLazyColumn. (Ia8f56).

Versão 1.5.0-alpha05

30 de outubro de 2024

Lançamento de androidx.wear.compose:compose-*:1.5.0-alpha05. A versão 1.5.0-alpha05 contém estas confirmações.

Mudanças na API

  • Adicionamos suporte a animateScrollTo em TransformingLazyColumnState para que a rolagem para um item possa ser animada. (I4097d).
  • Adicionamos requestScrollTo a TransformingLazyColumnState para adiar a rolagem para a próxima medição. (I20a5e).
  • Adicionamos suporte para contentPadding em TransformingLazyColumn. (I3a69c).

Correções de bugs

  • Correção de um bug na renderização da TransformingLazyColumn quando a altura do conteúdo é menor que a altura da tela. (I6c3e1).
  • O ScrollInfoProvder para TransformingLazyColumn agora rastreia corretamente o primeiro item. (I1e4a3).
  • A TransformingLazyColumnState agora salva o estado (anchorItemIndex e anchorItemScrollOffset). (I3d265).

Versão 1.5.0-alpha04

16 de outubro de 2024

Lançamento de androidx.wear.compose:compose-*:1.5.0-alpha04. A versão 1.5.0-alpha04 contém estas confirmações.

Mudanças na API

  • Renomeamos a Wear Compose Foundation LazyColumn para TransformingLazyColumn, para que a distinção entre ela e a Compose Foundation LazyColumn fique mais clara. (I0608b).
  • Adição de suporte a seletor giratório para paginadores horizontais/verticais, permitindo que os usuários naveguem pelos paginadores usando dispositivos de entrada por seletor giratório. (I9770d).
  • Atualizamos o novo PagerDefaults para deixar claro que o pager vai se encaixar na página por padrão. (Iff7d0).
  • TransformingLazyColumnItemScrollProgress agora é uma classe de valor que melhora a performance. (Ic399e).
  • O TransformingLazyColumn agora oferece suporte a controles rotativos. (I05206).
  • A TransformingLazyColumnState agora oferece suporte a scrollToItem. (I507b3).
  • @ExperimentalWearFoundationApi foi removido da API SwipeToReveal (I34a66).

Versão 1.5.0-alpha03

2 de outubro de 2024

Lançamento de androidx.wear.compose:compose-*:1.5.0-alpha03. A versão 1.5.0-alpha03 contém estas confirmações.

Mudanças na API

  • Adicionamos suporte ao deslizamento bidirecional em SwipeToReveal para casos raros em que a tela atual não oferece suporte ao gesto de deslizar para fechar. . O padrão ainda é deslizar para revelar apenas em deslizamentos da direita para a esquerda, e é altamente recomendável respeitar o comportamento padrão para evitar conflitos com o gesto de deslizar para dispensar. (Ifac04).
  • Atualizamos LazyColumnState para substituir canScrollForward e canScrollBackward. Agora, a rolagem é interrompida quando o primeiro ou o último item está exatamente no centro da tela. (Ia77d7).
  • Adicionamos novos componentes HorizontalPager e VerticalPager que resolvem problemas comuns, como o tratamento de foco e a interação com o sistema de deslizar para descartar que pode ocorrer no Wear. (I2902b).
  • Adicionamos suporte a LazyColumn para expor o key e o contentType do cliente por layoutItems. (I1bd9c).

Correções de bugs

  • Atualizamos as animações de texto curvado para que sejam mais suaves, usando flags de pintura. (I73a15).
  • Atualizamos a documentação da caixa de diálogo do Material Design para refletir que onDismissRequest não é chamado depois que a flag de exibição é definida como falsa. (Ifd8d6).
  • Correção de um bug com a animação de vinheta na caixa de diálogo do Material Design (I126bf).

Versão 1.5.0-alpha02

18 de setembro de 2024

Lançamento de androidx.wear.compose:compose-*:1.5.0-alpha02. A versão 1.5.0-alpha02 contém estas confirmações.

Mudanças na API

  • Adicionamos suporte ao LazyColumn do Compose para Wear com nosso ScreenScaffold e adicionamos uma implementação de ScrollInfoProvider para LazyColumnState (Ib8d29).
  • Adicionamos viewportSize a LazyColumnLayoutInfo. (I4187f).

Correções de bugs

  • Corrigimos um bug para que a rolagem circular seja desativada no ScalingLazyColumn quando a flag userScrollEnabled estiver definida como false (I490ab, b/360295825).
  • Fizemos uma correção de bug para resolver o padding vertical inesperado em texto curvado. A altura do texto curvado agora corresponde mais ao espaço real usado pelo texto. Isso provavelmente vai quebrar os testes de captura de tela que envolvem texto curvado (Iaa6ef).
  • Revertimos uma correção de bug para Dialog em que a callback onDismissRequest era chamada quando showDialog era definido como falso. Isso porque, em alguns casos, onDismissRequest era chamado várias vezes. (I64656).

Versão 1.5.0-alpha01

4 de setembro de 2024

Lançamento de androidx.wear.compose:compose-*:1.5.0-alpha01. A versão 1.5.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adicionamos um novo LazyColumn à biblioteca Wear Compose Foundation com as APIs LazyColumnState e LazyColumnScope associadas. Isso serve como base para criar efeitos de escalonamento e transformação personalizáveis com o Wear Compose. (Ib3b22).
  • Adicionamos uma versão indexada de itemsIndexed em LazyColumnScope como parte da nova API LazyColumn. (Ib4a57).
  • Adicionamos modificadores LazyColumn para oferecer suporte a comportamentos de escalonamento e transformação. (Ie229a).
  • A versão HierarchicalFocusCoordinator foi promovida a estável. (I31035).
  • Adicionamos suporte ao espaçamento entre letras para texto curvado. (I3c740).
  • Adicionamos um parâmetro rotationLocked a CurvedLayout.curvedComposable para impedir que os componentes sejam girados. (I66898).
  • A API LocalUseFallbackRippleImplementation temporária do Wear Material e do Wear Material3 foi removida (I62282).
  • A WearDevices.SQUARE foi removida da visualização múltipla @WearPreviewDevices (I11c02).

Correções de bugs

  • Agora, SwipeToReveal posiciona os itens revelados na parte visível da tela. Isso ajuda quando SwipeToReveal é usado em uma lista, para que os itens sempre possam ser interativos e nunca saiam da tela. (I38929).
  • Agora, SwipeToReveal redefine o lastActionType como "None" quando animatedTo é concluído. (I59b03).
  • Melhoramos a documentação do novo parâmetro rotationLocked em curvedComposable. (Ifbd57).
  • Correção de uma falha ao transmitir NaN para performFling de ScalingLazyColumnSnapFlingBehavior (Ic13da).
  • Correção de um bug no modificador de tamanho de layout curvado (I0fedf).
  • Adicionamos suporte para o espaçamento entre letras especificado em "sp". (I9f6e3).
  • Correção de um bug na caixa de diálogo Material2 em que o callback onDismissRequest não era chamado quando a caixa de diálogo ficava invisível (I64656).
  • O LayoutCoordinates.introducesFrameOfReference foi renomeado como LayoutCoordinates.introducesMotionFrameOfReference para refletir melhor a finalidade dele. A função relacionada foi renomeada para calcular coordenadas com base nessa flag. (I3a330).

Versão 1.4

Versão 1.4.0

4 de setembro de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0. A versão 1.4.0 contém estas confirmações.

Mudanças importantes desde a versão 1.3.0

  • ScalingLazyColumn e Picker agora oferecem suporte à entrada por seletor giratório por padrão. Recomendamos remover o tratamento explícito do seletor giratório e adiar o comportamento padrão do sistema. Se necessário, use o parâmetro rotaryScrollableBehavior para configurar o comportamento de rolagem ou de ajuste. Para o comportamento de ajuste, é recomendável fornecer o comportamento de ajuste e os recursos de rolagem por toque usando o parâmetro flingBehavior.
  • Modifier.rotaryScrollable é um novo modificador que conecta eventos rotativos a contêineres roláveis, permitindo que os usuários rolem usando uma coroa ou uma borda giratória no dispositivo Wear OS.
  • SwipeDismissableNavHost agora oferece uma animação de entrada para transições no app.
  • PositionIndicator agora é mostrado por padrão quando uma tela é mostrada pela primeira vez.

Outras mudanças

  • Para conferir um conjunto mais completo das mudanças introduzidas na versão 1.3.0, consulte as notas da versão beta01.

Versão 1.4.0-rc01

21 de agosto de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-rc01. A versão 1.4.0-rc01 contém estas confirmações.

  • Atualizamos as dependências do Compose para 1.7.0-rc01 e fixamos a navegação do Wear Compose em androidx.lifecycle 2.8.3.

Versão 1.4.0-beta03

12 de junho de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-beta03. A versão 1.4.0-beta03 contém estas confirmações.

Correções de bugs

  • Atualizamos Modifier.rotaryScrollable para substituir o uso de "focusable" por "focusTarget", o que melhora o desempenho. (Id294b).
  • Correção de um problema em que o ProgressIndicator repetia o anúncio em TalkBack. (I94563).
  • Atualizamos os perfis de referência da biblioteca Wear Compose. (I3cbc3).

Versão 1.4.0-beta02

29 de maio de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-beta02. A versão 1.4.0-beta02 contém estas confirmações.

Correções de bugs

  • Aumentamos a largura do limite transmitido aos leitores de tela do texto curvado para resolver problemas de truncamento (Id865f).
  • Restrição do limite do HorizontalPageIndicator transmitido aos leitores de tela. Antes, o indicador ocupava a tela inteira (Id8d7a).

Versão 1.4.0-beta01

14 de maio de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-beta01. A versão 1.4.0-beta01 contém estas confirmações.

A versão 1.4-beta01 do Compose para Wear OS indica que esta versão da biblioteca está com todos os recursos e a API está bloqueada (exceto quando marcada como experimental). O Wear Compose 1.4 inclui as seguintes novas funcionalidades:

  • Adicionamos Modifier.rotaryScrollable, um novo modificador que conecta eventos rotativos a contêineres roláveis, permitindo que os usuários rolem por uma coroa ou uma borda giratória no dispositivo Wear OS. Além disso, ScalingLazyColumn e Picker agora oferecem suporte a entradas por seletor giratório por padrão. Use o parâmetro rotaryScrollableBehavior para configurar o comportamento de rolagem ou ajuste. Para o comportamento de ajuste, é recomendável fornecer o ajuste pelo parâmetro flingBehavior também para a rolagem por toque.
  • SwipeDismissableNavHost agora oferece uma animação de entrada para transições no app.
  • Agora, PositionIndicator é mostrado por padrão quando uma tela é mostrada pela primeira vez.
  • SelectableChip e SplitSelectableChip foram adicionados como uma variação de ToggleChip. Use-os com RadioButton para fornecer semântica selecionável em vez de semântica alternável para acessibilidade
  • Agora, ListHeader oferece suporte a ajustes de altura quando o conteúdo precisa de altura extra para acomodar tamanhos de fonte grandes.

Correções de bugs

  • Corrigimos um bug em que os ícones selecionáveis anunciavam o toque duplo para alternar quando já estavam selecionados. (I7ed88).

Versão 1.4.0-alpha08

1º de maio de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-alpha08. A versão 1.4.0-alpha08 contém estas confirmações.

Mudanças na API

  • Fizemos as seguintes mudanças na nova API de controle rotativo: renomeamos Modifier.rotary para Modifier.rotaryScrollable; renomeamos a interface RotaryBehavior para RotaryScrollableBehavior e a função handleScrollEvent para performScroll; renomeamos RotaryScrollableAdapter para RotaryScrollableLayoutInfoProvider e removemos a propriedade scrollableState. (I0c8a6).
  • Fizemos outras mudanças na API de rotary: renomeamos RotaryScrollableLayoutInfoProvider para RotarySnapLayoutInfoProvider, porque esse provedor só é necessário para rotary com encaixe. Além disso, mudamos o tipo do parâmetro snapOffset em RotaryScrollableDefaults.snapBehavior snapOffset de Int para Dp. (Iddebe).
  • Renomeamos o parâmetro clickInteractionSource em SplitSelectableChip como containerInteractionSource (Ia8f84).
  • Atualizamos os nomes dos parâmetros de callback de clique para SplitSelectableChip: de onClick para onSelectionClick e de onBodyClick para onContainerClick. (I32237).

Correções de bugs

  • Atualizamos o preenchimento horizontal de PositionIndicator para 2 dp (antes era 5 dp) para corrigir um bug em que a PositionIndicator (barra de rolagem) se sobrepõe ao conteúdo rolável. Essa mudança vai afetar as capturas de tela que incluem PositionIndicator devido à mudança do padding. (I57472).
  • Melhoramos a documentação da nova API Rotary, descrevendo as diferenças entre dispositivos rotativos de baixa e alta resolução. (I63abe).
  • Resolvemos uma exceção fora de intervalo em SwipeDismissableNavHost que podia ser acionada quando os valores Alfa interpolados eram menores que zero. (Ib75a1, b/335782510).

Versão 1.4.0-alpha07

17 de abril de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-alpha07. A versão 1.4.0-alpha07 contém estas confirmações.

Mudanças na API

  • Adicionamos Modifier.rotary, um novo modificador que conecta eventos rotativos a contêineres roláveis, permitindo que os usuários rolem usando uma coroa ou uma borda giratória no dispositivo Wear OS. Além disso, ScalingLazyColumn e Picker agora oferecem suporte à entrada por seletor por padrão, com novas sobrecargas que incluem o parâmetro rotaryBehavior para especificar a configuração de rolagem ou ajuste. Se o parâmetro rotaryBehavior estiver definido como "snap", é recomendável fornecer o snap também pelo parâmetro flingBehavior para rolagem por toque. (I2ef6f).
  • As origens NestedScroll Drag e Fling estão sendo substituídas por UserInput e SideEffect para acomodar a definição estendida dessas origens, que agora incluem animações (Side Effect) e roda do mouse e teclado (UserInput). (I40579).
  • Adicionamos SelectableChip e SplitSelectableChip para distinguir melhor os controles de alternância, como Switch/Checkbox, e os selecionáveis, como RadioButton. Isso substitui as sobrecargas adicionadas anteriormente de ToggleChip/SplitToggleChip pelos parâmetros selectionControl. (Ia0217).
  • O modificador de visibilidade de IndeterminateStrokeWidth em ProgressIndicatorDefaults foi atualizado para "público". (I5b5a4).

Versão 1.4.0-alpha06

3 de abril de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-alpha06. A versão 1.4.0-alpha06 contém estas confirmações.

Correções de bugs

  • Adicionamos um rascunho interno de suporte a rotary como parte do esforço maior de migrar o comportamento do Rotary para o AndroidX do Horologist. (I617d1).
  • Adicionamos um rascunho interno de suporte a haptics como parte do esforço maior de migrar o comportamento do Rotary para o AndroidX do Horologist. (I5568a).

Versão 1.4.0-alpha05

20 de março de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-alpha05. A versão 1.4.0-alpha05 contém estas confirmações.

Mudanças na API

  • As propriedades initialCenterItemIndex e initialCenterItemScrollOffset de ScalingLazyListState foram tornadas públicas. (I0c616).
  • O FullScreenStrokeWidth de ProgressIndicatorDefaults foi disponibilizado publicamente. (Ibea23).

Correções de bugs

  • Melhoramos o desempenho de PositionIndicator diminuindo o número de chamadas para layoutInfo de ScalingLazyColumn. (Idc83d).

Versão 1.4.0-alpha04

6 de março de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-alpha04. A versão 1.4.0-alpha04 contém estas confirmações.

Mudanças na API

  • Adicionamos uma nova sobrecarga para ToggleChip e SplitToggleChip que usa um parâmetro selectionControl em vez de toggleControl. Isso deve ser usado com o controle RadioButton para fornecer semântica selecionável em vez de semântica com alternância para acessibilidade (I1d6d9).
  • Os nomes dos parâmetros da nova sobrecarga selectionControl foram atualizados de onSelected para onSelect em ToggleChip e SplitToggleChip (I1a971).

Versão 1.4.0-alpha03

21 de fevereiro de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-alpha03. A versão 1.4.0-alpha03 contém estas confirmações.

Mudanças na API

  • O wrapper Modifier.inspectable foi descontinuado. Essa API vai criar mais invalidações do modificador do que o necessário. Por isso, o uso dela não é recomendado. Recomendamos que os desenvolvedores implementem o método inspectableProperties() em ModifierNodeElement se quiserem expor propriedades de modificador para ferramentas. (Ib3236).

Correções de bugs

  • Corrigimos um bug na documentação de anotações WearPreview*. (Id526d).

Versão 1.4.0-alpha02

7 de fevereiro de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-alpha02. A versão 1.4.0-alpha02 contém estas confirmações.

Correções de bugs

  • Corrigimos um bug na função de deslizar para revelar, em que era possível interagir com (e cancelar) uma ação confirmada em um item ao começar a deslizar outro item.(Ide059)
  • Atualizamos o ListHeader para oferecer suporte a ajustes de altura quando o conteúdo precisa de altura extra para acomodar tamanhos de fonte grandes. (I7290c, b/251166127).

Versão 1.4.0-alpha01

24 de janeiro de 2024

Lançamento de androidx.wear.compose:compose-*:1.4.0-alpha01. A versão 1.4.0-alpha01 contém estas confirmações.

Novos recursos

  • Adicionamos a animação de entrada a SwipeDismissableNavHost para transições no app (cfeb79a).
  • PositionIndicator agora é mostrado por padrão quando uma tela é mostrada pela primeira vez. Essa mudança foi introduzida para ajudar a atender às diretrizes de qualidade do Wear. Isso significa que os testes de captura de tela precisam ser atualizados nas telas que incluem PositionIndicator, já que o PositionIndicator não era exibido antes. (419cef7).

Mudanças na API

  • Adicionamos uma nova API de ondulação nas bibliotecas wear:compose-material e wear:compose-material3, que substitui a rememberRipple descontinuada. Também adiciona um CompositionLocal temporário, LocalUseFallbackRippleImplementation, para reverter os componentes do Material Design para usar as APIs rememberRipple/RippleTheme descontinuadas. Esse recurso será removido na próxima versão estável e tem como objetivo auxiliar temporariamente a migração de casos em que você fornece um RippleTheme personalizado. Acesse developer.android.com para conferir informações sobre a migração e mais detalhes sobre essa mudança. (af92b21).
  • Atualizamos o ColorScheme para ser imutável, tornando as atualizações de cores individuais menos eficientes, mas tornando o uso mais comum de cores mais eficiente. O motivo dessa mudança é que a maioria dos apps não tem a atualização de cores individuais como um caso de uso principal. Isso ainda é possível, mas vai ser recomposto mais do que antes. Por sua vez, reduzimos significativamente a quantidade de assinaturas de estado em todo o código do Material Design e vamos afetar o custo de inicialização e execução de casos de uso mais padrão. (f5c48b7).
  • Os componentes do Wear Material e do Wear Material 3 que expõem um MutableInteractionSource na API foram atualizados para expor um MutableInteractionSource anulável que é padrão null. Não há mudanças semânticas aqui: transmitir "null" significa que você não quer elevar o MutableInteractionSource, e ele será criado dentro do componente, se necessário. A mudança para "null" permite que alguns componentes nunca aloquem um MutableInteractionSource e permite que outros componentes criem uma instância de forma lenta apenas quando necessário, o que melhora o desempenho nesses componentes. Se você não estiver usando o MutableInteractionSource que transmite para esses componentes, recomendamos transmitir "null". Também é recomendável fazer mudanças semelhantes nos seus componentes. (f8fa920).
  • Atualizamos rememberExpandableState para salvar o estado expansível. Isso garante que os dados sejam armazenados ao navegar para outra tela e restaurados ao voltar para a tela original. (5c80095).

Correções de bugs

  • Atualizamos a configuração ReduceMotion para usar um listener compatível com o ciclo de vida. (7c6b122).
  • Atualizamos o listener TouchExplorationStateProvider para detectar o ciclo de vida (be28b01).
  • Removemos a camada materialcore para CompactButton para melhorar o desempenho (25db8e9).
  • Tornamos o BasicSwipeToDismissBox mais robusto para deslocamentos de NaN a fim de evitar exceções (b983739).
  • Atualizamos BasicSwipeToDismissBox para garantir que os valores alfa estejam dentro do intervalo 0,1.
  • Correção de um bug em ToggleButton, SplitToggleButton, Checkbox, Switch e RadioButton para que os avisos de acessibilidade não sejam repetidos. Antes, os papéis semânticos eram duplicados (d11eeb7).

Versão 1.3

Versão 1.3.1

3 de abril de 2024

Lançamento de androidx.wear.compose:compose-*:1.3.1. A versão 1.3.1 contém estas confirmações.

Correções de bugs

  • Corrigimos um bug na função de deslizar para revelar, em que era possível interagir com (e cancelar) uma ação confirmada em um item ao começar a deslizar outro item. (Ide059).

Versão 1.3.0

24 de janeiro de 2024

Lançamento de androidx.wear.compose:compose-*:1.3.0. A versão 1.3.0 contém estas confirmações.

Mudanças importantes desde a versão 1.2.0

  • A classe SwipeToDismissBoxState, a enumeração SwipeToDismissValue e a função de extensão Modifier.edgeSwipeToDismiss agora fazem parte do pacote androidx.wear.compose.foundation, em vez do pacote androidx.wear.compose.material. Essa arquitetura atualizada permite implementar o processamento de gestos de forma independente de outras considerações de design. Os fluxos de trabalho do Material Design, como a aplicação de cores de um tema configurado, são processados separadamente.
  • As classes SwipeToRevealCard e SwipeToRevealChip ajudam a implementar o recommended swipe-to-reveal guidance. A classe SwipeToRevealSample demonstra como usar esses componentes.
  • A versão 1.3.0-alpha02 introduziu uma mudança que faz com que os objetos Chip e ToggleChip cresçam em altura para oferecer suporte melhor ao escalonamento de fontes selecionado pelo usuário. Isso pode causar alguns cortes. Para corrigir esse problema, a forma large de MaterialTheme agora usa um raio de canto maior (26 dp em vez de 24 dp). Os objetos Chip e ToggleChip usam esse novo raio de canto para evitar o corte de conteúdo nos cantos do ícone e do ToggleChip.

    • A maioria dos Chips e ToggleChips não mudou, considerando a altura padrão de 52 dp. No entanto, objetos Chip e ToggleChip que contêm várias linhas de texto de rótulo principal ou secundário ou para os quais a altura foi substituída podem causar falhas nos testes de captura de tela.

Outras mudanças

Para conferir um conjunto mais completo das mudanças introduzidas na versão 1.3.0, consulte as notas da versão beta01.

Recomendações para implementação

  • Se o app permitir que os usuários movam o conteúdo da tela, como em um app baseado em mapa, desative o tratamento de deslizar definindo userSwipeEnabled como false no elemento combinável SwipeDismissableNavHost e inclua um botão que permita que os usuários acessem a tela anterior.
  • Para desativar as animações de um indicador de posição durante animações de desfoque e mudança de posição em uma lista de rolagem, use um objeto SnapSpec.
  • Enquanto espera que um app de mídia carregue o conteúdo para reprodução, mostre um elemento combinável Placeholder em branco.
  • Para criar uma coleção de itens expansíveis sob demanda, use a classe experimental ExpandableStateMapping.

Versão 1.3.0-rc01

10 de janeiro de 2024

Lançamento de androidx.wear.compose:compose-*:1.3.0-rc01. A versão 1.3.0-rc01 contém estas confirmações.

Correções de bugs

  • Atualizamos a forma grande MaterialTheme para usar um raio de canto arredondado de 26 dp, que agora será usado pelo ícone e ToggleChip. Essa mudança é necessária para oferecer suporte a ajustes de altura quando o conteúdo precisa de altura extra para acomodar tamanhos de fonte grandes. Caso contrário, a forma de estádio atual corta parte do conteúdo de texto.

    Texto cortado nos cantos
    Figura 1: texto cortado nos cantos.
    Texto não cortado
    Figura 2: texto não cortado.

    Essa mudança pode causar uma falha nos testes de captura de tela. (I2e6ae).

Versão 1.3.0-beta02

13 de dezembro de 2023

Lançamento de androidx.wear.compose:compose-*:1.3.0-beta02. A versão 1.3.0-beta02 contém estas confirmações.

Correções de bugs

  • Restauramos o movimento de deslizar pretendido em BasicSwipeToDismissBox. Isso foi alterado em uma versão anterior, de modo que a parte de deslizamento da transição ocorria enquanto o dedo tocava a tela. (Id8e76).

Versão 1.3.0-beta01

15 de novembro de 2023

Lançamento de androidx.wear.compose:compose-*:1.3.0-beta01. A versão 1.3.0-beta01 contém estas confirmações.

A versão 1.3-beta01 do Compose para Wear OS indica que esta versão da biblioteca tem todos os recursos e a API está bloqueada (exceto quando marcada como experimental). O Wear Compose 1.3 inclui as seguintes novas funcionalidades:

  • SwipeToDismissBoxState, SwipeToDismissValue e Modifier.edgeSwipeToDismiss foram migrados de androidx.wear.compose.material para androidx.wear.compose.foundation, junto com a implementação de deslizar para fechar em BasicSwipeToDismissBox. Isso permite que o processamento de gestos de deslizar para dispensar seja usado independentemente do Material Design, por exemplo, do SwipeDismissableNavHost em androidx.wear.compose.navigation. O SwipeToDismissBox do androidx.wear.compose.material ainda é recomendado para uso com o Material Design, porque ele extrai cores do MaterialTheme e delega a implementação restante ao BasicSwipeToDismissBox.
  • SwipeDismissableNavHost agora oferece suporte a um novo parâmetro userSwipeEnabled para que o processamento de deslize possa ser desativado em telas em que ele não é necessário.
  • O BasicSwipeToDismissBox melhorou o processamento de foco usando HierarchicalFocusCoordinator.
  • O SwipeToReveal tem novos elementos combináveis SwipeToRevealCard e SwipeToRevealChip no Material Design que seguem as orientações de UX recomendadas para Card e Chip. Ele também tem suporte para desfazer a ação secundária.
  • DefaultTextStyle agora desativa o padding da fonte para manter a consistência na Plataforma Android.
  • Chip e ToggleChip agora ajustam a altura para acomodar conteúdo que cresceu devido a fontes grandes para acessibilidade
  • O PositionIndicator agora tem especificações de animação individuais para as animações de desbotamento, desbotamento e mudança de posição. Por motivos de desempenho, recomendamos que você desative o efeito de desfoque e a mudança de posição ao usar listas roláveis.
  • O ExpandableStateMapping oferece uma nova maneira de gerar ExpandableStates quando eles precisam ser criados sob demanda e não necessariamente com um escopo @Composable.
  • O Placeholder agora permite a redefinição se o conteúdo não estiver mais no estado pronto. Além disso, a configuração "Reduzir movimento" agora se aplica ao efeito de tremulação e ao movimento de limpeza em Placeholder.

Problemas conhecidos

  • PositionIndicator não é mostrado inicialmente quando uma tela é exibida pela primeira vez. Planejamos fazer uma mudança em uma versão Alfa inicial da 1.4 para que ela seja mostrada inicialmente, mas sem animação.

Mudanças na API

  • Renomeamos o nível de base SwipeToDismissBox como BasicSwipeToDismissBox. Isso torna a distinção mais clara entre o componente de nível de base e o SwipeToDismissBox de nível do Material Design. O segundo extrai cores do MaterialTheme para serem usadas em telas de carregamento e delega a implementação restante ao BasicSwipeToDismissBox. (Ibecfc).
  • Marcamos rememberExpandableStateMapping como experimental e melhoramos o desempenho de expandableItem. (I5f6bc).
  • Substituímos a classe SwipeToRevealAction nas APIs Material SwipeToReveal Card e Chip por uma API baseada em slot usando elementos combináveis SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction e SwipeToRevealUndoAction. Consulte o código de exemplo para saber como usar a nova API. (Ia8943).
  • Substituímos as flags de animação PositionIndicator pelos parâmetros AnimationSpec. As animações individuais podem ser desativadas transmitindo snap como AnimationSpec. (I6c523).

Correções de bugs

  • Corrigimos um bug causado por texto curvo limitado quando o tamanho é limitado (I50efe).
  • Corrigimos uma possível falha de NaN relacionada a curvedComposable (I970eb).
  • Revertimos a remoção da animação de destaque de mudança de posição em PositionIndicator. (Ieb424).
  • Removemos a camada material-core do ícone material para melhorar o desempenho. (If2dcb).

Versão 1.3.0-alpha08

18 de outubro de 2023

Lançamento de androidx.wear.compose:compose-*:1.3.0-alpha08. A versão 1.3.0-alpha08 contém estas confirmações.

Mudanças na API

  • Adicionamos flags individuais a sobrecargas de PositionIndicator para controlar animações diferentes: showFadeInAnimation, showFadeOutAnimation e showPositionAnimation. A API anterior foi descontinuada e encaminha chamadas para a nova. Por motivos de performance e consistência da UX, quando o PositionIndicator é usado com uma lista rolável, recomendamos desativar as flags showFadeInAnimation e showPositionAnimation. Se PositionIndicator for usado como um indicador independente, por exemplo, para mudança de volume, recomendamos ativar as três animações. (I44294).
  • Descontinuamos o SwipeToDismissBoxState, SwipeToDismissValue e edgeSwipeToDismiss do Material Design após a migração da funcionalidade "Deslizar para fechar" para wear.compose.foundation. Substitua pelos equivalentes de wear.compose.foundation. (Iee8c9).

Correções de bugs

  • Atualizamos os perfis de referência para as bibliotecas de navegação, material e de base do Wear Compose. (Idb060).
  • Revertimos uma mudança de comportamento para PositionIndicator introduzida em uma CL anterior, de modo que a PositionIndicator fosse animada quando uma tela fosse mostrada inicialmente. Planejamos fazer uma mudança semelhante em uma versão Alfa inicial da 1.4 para que o PositionIndicator seja mostrado inicialmente, mas sem animação. (I41843).
  • Resolvemos alguns problemas de desempenho em PositionIndicator. (I1c654, b/302399827).
  • Otimizamos o desempenho da implementação padrão do provedor de estado de análise de toque para depender de State<Boolean> em vez de estado derivado. (Ieec4d).
  • Definimos retângulos systemGestureExclusion para o Android 13 e versões mais recentes. (Ib1f4b).

Versão 1.3.0-alpha07

4 de outubro de 2023

Lançamento de androidx.wear.compose:compose-*:1.3.0-alpha07. A versão 1.3.0-alpha07 contém estas confirmações.

Mudanças na API

  • Adicionamos flags individuais a PositionIndicator para controlar animações diferentes: showFadeInAnimation, showFadeOutAnimation e showPositionAnimation. A API anterior foi descontinuada e encaminha chamadas para a nova. Por motivos de performance e consistência da UX, quando o PositionIndicator é usado com uma lista rolável, recomendamos desativar as flags showFadeInAnimation e showPositionAnimation. Se PositionIndicator for usado como um indicador independente, por exemplo, para mudança de volume, recomendamos ativar as três animações. (Ia2d63).

Correções de bugs

  • Melhoramos o movimento de deslizar para revelar adicionando uma animação de desbotamento ao texto da ação principal e desbotando a ação secundária/mudando a escala do ícone na expansão completa do deslizar. (Ib7223).
  • Recomendamos que as ações de deslizar para revelar sejam acessíveis, e adicionamos ações de acessibilidade personalizadas aos nossos exemplos de deslizar para revelar. (I42224).
  • Melhoramos o desempenho do SwipeToDismissBox, incluindo a refatoração para garantir que a lógica inicial não acione uma recomposição. Agora, a SwipeToDismissBox é desenhada como o tamanho da tela cheia. (Ie0aa2).
  • Correção de um bug em que o PositionIndicator desaparecia incorretamente (I2091a).
  • Melhoria no desempenho de PositionIndicator com a otimização das recomposições. Novas flags para controlar as animações (fadeIn, fadeOut e positionChange) foram adicionadas posteriormente (consulte "Mudanças na API") (Ifac7d).
  • Foram adicionados testes de Microbenchmark para PositionIndicator (Idf875).

Versão 1.3.0-alpha06

20 de setembro de 2023

Lançamento de androidx.wear.compose:compose-*:1.3.0-alpha06. A versão 1.3.0-alpha06 contém estas confirmações.

Correções de bugs

  • Adicionamos suporte a Modifier.edgeSwipeToDismiss com SwipeToReveal. (I95774, b/293444286).
  • Adicionamos exemplos para o Material SwipeToRevealChip e SwipeToRevealCard. (Ieb974).
  • Atualizamos os perfis de referência para as bibliotecas Material e Wear Compose Foundation. (I1dd1f).

Versão 1.3.0-alpha05

6 de setembro de 2023

Lançamento de androidx.wear.compose:compose-*:1.3.0-alpha05. A versão 1.3.0-alpha05 contém essas confirmações.

Correções de bugs

  • Adicionamos o tratamento em "Deslizar para revelar" para que apenas um item por vez possa ser deslizado. (I3cd7a).
  • Melhoramos a documentação de ScalingLazyColumnDefaults para que ela corresponda melhor ao comportamento real. (I886d3).

Versão 1.3.0-alpha04

23 de agosto de 2023

Lançamento de androidx.wear.compose:compose-*:1.3.0-alpha04. A versão 1.3.0-alpha04 contém essas confirmações.

Novos recursos

  • Adicionamos suporte a desfazer a ação secundária de SwipeToReveal. (I7a22d).

Mudanças na API

  • Adição de HorizontalPageIndicator na biblioteca Material3 do Wear. (Ifee99).
  • Atualizamos a ferramenta de visualização do Wear Compose para usar a biblioteca androidx.wear.tooling.preview. (Ib036e).

Correções de bugs

  • Correção de um bug em botões redondos em que os modificadores não eram encadeados corretamente (I5e162).

Versão 1.3.0-alpha03

9 de agosto de 2023

Lançamento de androidx.wear.compose:compose-*:1.3.0-alpha03. A versão 1.3.0-alpha03 contém essas confirmações.

Mudanças na API

  • Adicionamos dois novos elementos combináveis no Material Design para implementar SwipeToReveal com cards e ícones. Esses elementos combináveis seguem as orientações de UX recomendadas para o componente e facilitam a implementação de SwipeToReveal com os componentes existentes no Material Design para Wear. (I7ec65).
  • Ativamos as anotações FloatRange como restrições de API, que foram mencionadas anteriormente nos comentários. (Icb401).

Correções de bugs

  • Movemos a lógica de rolagem inicial de ScalingLazyColumn para dentro de onGloballyPositioned(). (Ic90f1).
  • Agora estamos usando drawWithCache em PositionIndicator, ProgressIndicator e SelectionControls para otimizar as alocações de traço. (I5f225, b/288234617).
  • Corrigimos a visibilidade da marcação de caixa de seleção em estados desativados. (Ib25bf).
  • Atualizamos o Placeholder para permitir que a redefinição mostre o marcador de posição se o conteúdo não estiver mais no estado pronto. (Ibd820).
  • Fizemos algumas correções em testes Placeholder instáveis (Idb560).

Versão 1.3.0-alpha02

26 de julho de 2023

Lançamento de androidx.wear.compose:compose-*:1.3.0-alpha02. A versão 1.3.0-alpha02 contém estas confirmações.

Mudanças na API

  • Fornecemos ExpandableStateMapping, uma nova maneira de gerar ExpandableStates, para casos em que eles precisam ser criados sob demanda, não necessariamente dentro de um escopo @Composable (Iff9e0).
  • SwipeToDismissBox foi migrado de androidx.wear.compose.material para o pacote androidx.wear.compose.foundation. (I275fb).
  • Atualização dos arquivos da API para anotar a supressão de compatibilidade. (I8e87a, b/287516207).
  • As constantes de altura para Chip, CompactChip e ToggleChip foram publicadas (Idbfde).
  • Os paddings horizontais e verticais para Chip e CompactChip foram disponibilizados. (Ieeaf7).
  • Foi adicionada uma funcionalidade para desativar o processamento de deslizamento em SwipeDismissableNavHost usando o novo parâmetro userSwipeEnabled. (Id2a0b, b/230865655).
  • Atualizamos a biblioteca Wear Compose Navigation para usar o novo SwipeToDismissBox da Wear Compose Foundation. (I4ff8e).

Correções de bugs

  • Corrigimos um bug de ordem z em que o expandedItem não mostrava o conteúdo correto após clicar no comportamento de um botão quando eles têm botões (I1899d, b/289991514).
  • Melhoria no processamento de foco de SwipeToDismissBox (e, portanto, SwipeDismissableNavHost) usando HierarchicalFocusCoordinator (I45362, b/277852486).
  • Fizemos uma correção no processamento de gestos em SwipeableV2 . (I89737).
  • Finalizamos os perfis de referência para a versão 1.2. (Id5740).
  • Após a migração de SwipeToDismissBox para o Foundation, a implementação do Material SwipeToDismissBox agora é encaminhada para o Foundation e fornece valores de cor padrão do tema.(If8451)
  • Adicionamos semântica de título a ListHeader. (Ic5420).
  • Chip e ToggleChip agora vão ajustar a altura para acomodar conteúdo que cresceu devido a fontes grandes para acessibilidade, quando necessário. (Iaf302).
  • Correção de um bug na função semântica da área tátil de SplitToggleChip, para acessibilidade (Ieed3a).
  • A configuração "Reduzir movimento" agora desativa o efeito de tremulação e o movimento de apagamento em marcadores de posição. (I91046).
  • Stepper e InlineSlider agora oferecem suporte a cliques repetidos em um toque longo para que você possa aumentar/diminuir rapidamente o valor de Stepper e InlineSlider mantendo os botões + ou -. (I27359).

Versão 1.3.0-alpha01

21 de junho de 2023

Lançamento de androidx.wear.compose:compose-*:1.3.0-alpha01. A versão 1.3.0-alpha01 contém estas confirmações.

Correções de bugs

  • Conforme anunciado em 1.2.0-alpha07 e 1.2.0-alpha10, estamos mudando o DefaultTextStyle para desativar o padding da fonte e manter a consistência na plataforma Android. Isso vai resolver alguns casos de recorte de texto com tamanhos de fonte grandes e também pode afetar layouts de tela. Por isso, os testes de captura de tela precisam ser atualizados. Por exemplo, vemos o corte de texto aqui (Ic6a86).
Texto cortado com tamanho de fonte grande
Figura 1: texto cortado.
  • Ele não aparece mais quando o padding da fonte está desativado:
O texto não é cortado com tamanho de fonte grande
Figura 2: texto não cortado.
  • Atualizamos wear.compose.foundation para ser uma dependência de API de wear.compose.material (I72004, b/285404743).
  • Corrigimos um bug em SwipeToDismissBox. As chaves de plano de fundo e conteúdo agora são transmitidas ao bloco de recordação para que novos modificadores sejam criados quando o conteúdo ou o plano de fundo mudar. (Ib876c, b/280392104).
  • Atualizamos TimeText para usar a localidade ao escolher o formato de 12 ou 24 horas. (If4a3d).
  • Corrigimos uma inconsistência nos parâmetros padrão contentScrimColor SwipeToDismissBox. (I2d70f).
  • Melhoramos o tratamento de movimento em SwipeToReveal. (I28fb7).

Problemas conhecidos

  • Oferecer suporte a tamanhos de fonte configurados pelo usuário é um requisito de acessibilidade. Sabemos que os ícones de várias linhas podem levar ao corte de texto quando exibidos com tamanhos de fonte grandes. Por isso, vamos atualizar o ícone em uma versão inicial da 1.3 Alpha para fazer ajustes de altura nesses casos.

Versão 1.2

Versão 1.2.1

18 de outubro de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.1. A versão 1.2.1 contém estas confirmações.

Correções de bugs

  • Correção de um bug em que o PositionIndicator desaparecia incorretamente (7a167f).

Versão 1.2.0

9 de agosto de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0. A versão 1.2.0 contém estas confirmações.

Mudanças importantes desde a 1.1.0

Versão 1.2.0-rc01

26 de julho de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-rc01. A versão 1.2.0-rc01 contém estas confirmações.

Correções de bugs

  • Finalizamos os perfis de referência para a versão 1.2 (Id5740).

Versão 1.2.0-beta02

7 de junho de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-beta02. A versão 1.2.0-beta02 contém estas confirmações.

Novos recursos

  • Adicionamos a nova variável CompositionLocal LocalReduceMotion experimental, que desativa a escala e o desbotamento no ScalingLazyColumn. (I58024).

Correções de bugs

  • Atualizamos os perfis de referência para a base do Wear Compose e as bibliotecas do Material Design(I4725d).
  • Corrigimos uma inconsistência nos valores padrão dos parâmetros contentScrimColor SwipeToDismissBox (I2d70f).
  • Corrigimos o valor padrão de DefaultTextStyle usado para a configuração IncludeFontPadding (I737ed).

Versão 1.2.0-beta01

24 de maio de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-beta01. A versão 1.2.0-beta01 contém estas confirmações.

Novidades no Compose para Wear OS 1.2

A versão 1.2-beta01 do Compose para Wear OS indica que esta versão da biblioteca está com todos os recursos e a API está bloqueada (exceto quando marcada como experimental). O Wear Compose 1.2 inclui as seguintes novas funcionalidades:

  • expandableItem e expandableItems são dois novos componentes Foundation que oferecem suporte à expansão de itens em um ScalingLazyColumn. Use expandableItem para um único item expansível, como o texto em que o número de linhas. Use expandableItems para um grupo de itens expansíveis e expandableButton para simplificar a criação de um botão que se recolhe após a expansão do conteúdo.
  • HierarchicalFocusCoordinator: esse elemento combinável experimental permite marcar subárvores da composição como foco ativado ou desativado.
  • Picker: a API agora inclui userScrollEnabled para controlar se o seletor está ativo para a rolagem do usuário.
  • PickerGroup: um novo elemento combinável para processar vários seletores. Ele lida com o foco entre os seletores usando a API HierarchicalFocusCoordinator e permite a centralização automática dos itens do seletor.
  • Placeholder: fizemos atualizações nas animações de redução e "Apagar" O efeito de apagamento agora é aplicado imediatamente quando o conteúdo está pronto.
  • ScalingLazyColumn: migramos ScalingLazyColumn e as classes associadas de androidx.wear.compose.material.ScalingLazyColumn para androidx.wear.compose.foundation.lazy.ScalingLazyColumn. Atualize para usar a versão Foundation.Lazy.
  • SwipeToReveal: adicionamos suporte experimental ao gesto de deslizar para revelar como uma forma de acessar ações secundárias, complementando o padrão de "pressionar e manter".
  • Stepper: agora tem uma sobrecarga com um parâmetro enableRangeSemantics extra para facilitar a desativação da semântica de intervalo padrão.
  • Previews: adicionamos as seguintes anotações personalizadas para visualizar elementos combináveis nas telas do Wear: WearPreviewSmallRound mostra o elemento combinável em um dispositivo pequeno e redondo; WearPreviewLargeRound mostra o elemento combinável em um dispositivo grande e redondo; WearPreviewSquare mostra o elemento combinável em um dispositivo quadrado. Além disso, as seguintes anotações de várias visualizações: WearPreviewFontScales exibe uma prévia dos elementos combináveis em um dispositivo Wear com vários tamanhos de fonte, enquanto WearPreviewDevices exibe uma prévia dos elementos combináveis em diferentes dispositivos Wear.
  • Adicionamos um DefaultTextStyle ao Compose para Wear que define a propriedade PlatformTextStyle.includeFontPadding como "true" por padrão (essa é a configuração atual). Isso vai permitir que desativemos o padding de fonte por padrão com as bibliotecas do Compose em uma versão alfa inicial da 1.3. Para mais informações, consulte 1.2.0-alpha10.

Novos recursos

  • Adicionamos suporte experimental à animação de desativação e desativação de dimensionamento quando a configuração "reduce_motion" está ativada. (I58024).

Correções de bugs

  • Melhoria na documentação de angularWidthDp em CurvedSize.kt (Iab75c).
  • Agora, SwipeDismissableNavHost registra um aviso com possíveis causas de backstack vazia. Isso é feito para evitar falhas inesperadas causadas por IllegalArgumentException, que foi gerada quando a backstack estava vazia. (I04a81, b/277700155).

Versão 1.2.0-alpha10

10 de maio de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-alpha10. A versão 1.2.0-alpha10 contém estas confirmações.

Novos recursos

  • Adicionamos suporte ao recurso "Deslize para revelar" como uma forma de acessar ações secundárias. Esse padrão complementa o padrão de "pressionar e segurar", a maneira atual de um usuário revelar (diferentes) ações secundárias. (I60862).

Mudanças na API

  • Adicionamos RevealScope aos elementos combináveis de ação em SwipeToReveal, o que dá acesso ao deslocamento em que outras ações são reveladas. (I3fd56).

Correções de bugs

  • Correção de um problema em que o ScalingLazyColumn ficava preso na API 33 do Wear após o movimento rápido (Ic4599).
  • Fizemos algumas melhorias de desempenho no PositionIndicator para reduzir a instabilidade. (I35e92).
  • Corrigimos um bug no ícone e no CompactChip em que o papel semântico não estava mais sendo definido como Role.Button. (I93f91, b/277326264).

Problemas conhecidos

  • Identificamos um bug no Android Studio que causa falha na renderização da visualização quando anotado com @WearPreviewDevices e @WearPreviewFontScales. Uma correção está prevista para ser lançada em breve. As outras anotações de pré-lançamento do Wear funcionam conforme o esperado no Android Studio Giraffe 2022.3.1 e versões mais recentes.

  • Na versão 1.2.0-alpha07, adicionamos o DefaultTextStyle ao Wear Compose, mantendo o valor atual de PlatformTextStyle.includeFontPadding como verdadeiro. Para saber mais, consulte Corrigir o padding da fonte no Compose. Vamos mudar o DefaultTextStyle para desativar o padding da fonte em uma versão alfa inicial da 1.3, para que seja consistente em toda a plataforma Android. Isso vai resolver alguns casos de recorte de texto com tamanhos de fonte grandes e também pode afetar layouts de tela, então os testes de captura de tela precisam ser atualizados. Por exemplo, com tamanhos de fonte grandes, o texto é cortado aqui:

Texto cortado com tamanho de fonte grande
Figura 1: texto cortado.
  • Ele não aparece mais quando o padding da fonte está desativado:
O texto não é cortado com tamanho de fonte grande
Figura 2: texto não cortado.

A nova configuração pode ser adotada agora substituindo a tipografia no seu tema. Consulte o exemplo de código.

Versão 1.2.0-alpha09

19 de abril de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-alpha09. A versão 1.2.0-alpha09 contém estas confirmações.

Mudanças na API

  • Adição de angularSizeDp à API CurvedModifier para definir a largura angular em DP (I89a52).

Correções de bugs

  • Correção de problemas de acessibilidade nas demonstrações do seletor de horário(Id0eb7).

Versão 1.2.0-alpha08

5 de abril de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-alpha08. A versão 1.2.0-alpha08 contém estas confirmações.

Mudanças na API

  • Renomeamos ExpandableItemsState como ExpandableState (If85ea).
  • Adicionamos expandableButton para simplificar a criação de um botão que é recolhido quando o conteúdo é aberto e também atualizamos os exemplos de itens expansíveis. (Iae309).

Correções de bugs

  • Exemplos expansíveis aprimorados para mostrar mais possibilidades. A animação do expandableItem foi modificada para manter o conteúdo centralizado durante a animação. (I2f637).
  • Atualizamos o ToggleControls para evitar recomposições extras ao animar manualmente as cores usando o estado. (I5d319).

Versão 1.2.0-alpha07

22 de março de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-alpha07. A versão 1.2.0-alpha07 contém estas confirmações.

Mudanças na API

  • Movemos os componentes de itens expansíveis (adicionados na versão 1.2.0-alpha06) de material para base, já que eles não tinham uma referência significativa ao MaterialTheme. (Ib0525).

Correções de bugs

  • Corrigimos uma falha que ocorria em uma tela usando PickerGroup, garantindo que PickerGroup processe o foco corretamente quando nenhum Picker tiver o foco. Também adicionamos suporte à rolagem RSB nas nossas demonstrações do seletor. (If8c19).
  • Melhoramos as transições de caixa de diálogo. A transição de introdução agora é mais suave para combinar com a outra transição. (Ib5af9).
  • Adicionamos um DefaultTextStyle ao Compose para Wear que define a propriedade PlatformTextStyle.includeFontPadding como "true" por padrão (essa é a configuração atual). Isso vai permitir que sincronizemos o desligamento do padding de fonte por padrão com as bibliotecas do Compose no futuro. Confira (Fix font padding in Compose) para saber mais. (I2aee8).
  • Uma dependência de visualização UpsideDownCake foi revertida usando a composição de atividades, o que impedia a publicação de apps na Google Play Store. (I6443d).

Versão 1.2.0-alpha06

8 de março de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-alpha06. A versão 1.2.0-alpha06 contém estas confirmações.

Mudanças na API

  • Adicione o componente CurvedBox, que coloca componentes uns sobre os outros no mundo curvo. (I29200).
  • Foram adicionados itens expansíveis: dois novos componentes para oferecer suporte a um grupo de itens expansíveis em um ScalingLazyColumn ou um item único expansível, como o texto em que o número de linhas se expande. (I95dd5).
  • Adicionamos as seguintes anotações personalizadas para visualizar elementos combináveis nas telas do Wear: WearPreviewSmallRound mostra o elemento combinável em um dispositivo pequeno e redondo; WearPreviewLargeRound mostra o elemento combinável em um dispositivo grande e redondo; WearPreviewSquare mostra o elemento combinável em um dispositivo quadrado. Além disso, as seguintes anotações de visualização múltipla: WearPreviewFontScales mostra uma prévia dos elementos combináveis em um dispositivo Wear com vários tamanhos de fonte, enquanto WearPreviewDevices mostra uma prévia dos elementos combináveis em diferentes dispositivos Wear. Para usar essas prévias, é necessário ter o Android Studio mais recente (Giraffe Canary 6) ou uma versão mais recente. Se essas anotações não atenderem à sua finalidade, a visualização ainda poderá ser usada e oferecerá suporte a outras personalizações por meio de parâmetros. (I397ff).
  • Marcamos HierarchicalFocusCoordinator como experimental enquanto ele é considerado um candidato a ser movido para as bibliotecas principais do Compose, devido à ampla aplicabilidade. (I3a768).

Correções de bugs

  • Correção de um bug no HierarchicalFocusCoordinator. Quando a lambda transmitida para o parâmetro focusEnabled é alterada, agora usamos a nova corretamente. (Icb353).
  • Atualizamos a cor padrão do conteúdo desativado para "Fundo" ao usar cores primárias como plano de fundo em Button, CompactButton, Chip, CompactChip e ToggleButton. Isso melhora o contraste para acessibilidade. (I527cc).

Versão 1.2.0-alpha05

22 de fevereiro de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-alpha05. A versão 1.2.0-alpha05 contém estas confirmações.

Mudanças na API

  • A API PickerGroup foi atualizada para permitir a propagação das restrições mínimas para o elemento combinável, opcionalmente. Quando definido como verdadeiro, as restrições mínimas transmitidas do elemento combinável pai são permitidas no PickerGroup. Se definido como falso, PickerGroup vai redefinir as restrições mínimas. (I3e046).
  • Adicionamos animateScrollToOption à API Picker para oferecer suporte à animação programática em uma opção específica do seletor (I6fe67).

Correções de bugs

  • Atualizamos o HorizontalPageIndicator para oferecer suporte a layouts da direita para a esquerda. (Ia4359).
  • Foram adicionados testes de captura de tela para layout da direita para a esquerda em HorizontalPageIndicator (I6fbb8).
  • Foram adicionados mais testes a SwipeDismissableNavHostTest que usam TestNavHostController (I61d54).

Versão 1.2.0-alpha04

8 de fevereiro de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-alpha04. A versão 1.2.0-alpha04 contém estas confirmações.

Novos recursos

  • Introdução de PickerGroup para gerenciar vários seletores usando a API de foco. Ele lida com o foco entre diferentes seletores, permite a centralização automática deles com base em parâmetros e deixa que os desenvolvedores mudem o foco entre seletores ao mesmo tempo em que lidam com os eventos do grupo. No modo Talkback, o PickerGroup processa o foco movendo-o para o seletor escolhido do grupo (I60840).

Mudanças na API

  • Adicionamos uma sobrecarga ao Stepper com um parâmetro enableRangeSemantics extra para facilitar a desativação da semântica de intervalo padrão (Ia61d4).

Correções de bugs

  • A ScalingLazyColumn agora pode ser aninhada em uma página de rolagem horizontal (Iec3f8, b/266555016).
  • Melhoria na limpeza dos kdocs do Stepper e dos testes StepperTest (Ic118e).
  • A dependência androidx.navigation foi atualizada para a versão 2.5.3 (If58ed).

Versão 1.2.0-alpha03

25 de janeiro de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-alpha03. A versão 1.2.0-alpha03 contém estas confirmações.

Mudanças na API

  • Migramos ScalingLazyColumn (e as classes associadas) de androidx.wear.compose.material.ScalingLazyColumn para andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn. Confira este exemplo de migração. Esse novo local é mais parecido com o de compose.foundation.lazy.LazyColumn e é mais natural, já que não é um componente opinativo do Material Design. A mudança está acontecendo agora em preparação para uma nova biblioteca do Material3, em que vamos trabalhar em paralelo com a biblioteca atual (I060e7).

As mudanças a seguir fazem parte da migração de ScalingLazyColumn do Material para Foundation.Lazy:

  • As APIs PositionIndicator da ScalingLazyColumn do Material Design foram descontinuadas. Atualize para Foundation.Lazy ScalingLazyColumn. Além disso, o campo anchorType foi adicionado a ScalingLazyListLayoutInfo (I29d95).
  • A ScalingLazyColumn foi marcada como descontinuada no pacote do Wear Compose Material (I16d34).
  • Atualizamos o modificador ScrollAway para usar o ScalingLazyListState do Wear Compose Foundation.Lazy e descontinuamos a sobrecarga que ocupou ScalingLazyListState do Wear Compose Material (Ifc42c).
  • Atualizamos as APIs da caixa de diálogo para usar ScalingLazyListState do Foundation.Lazy e descontinuamos as sobrecargas que usavam o ScalingLazyListState do Material Design (Ic8960).
  • Atualizamos as APIs Picker para usar ScalingParams de Foundation.Lazy e descontinuamos as sobrecargas que usavam ScalingParams do Material Design (Idc3d8).

Correções de bugs

  • Corrigimos um bug que causava recomposições desnecessárias no ScalingLazyListState.centerItemIndex garantindo que ele só enviasse atualizações quando o valor realmente mudasse (Ia9f38).
  • Melhoramos o desempenho do SwipeToDismissBox (I3933b).
  • Foram adicionados testes comparativos para ScalingLazyColumn na Wear Compose Foundation (Ie00f9).
  • Atualizamos alguns métodos internos de classes ScalingLazyColumn no Material Design para usar os equivalentes de Foundation.Lazy (I38aab).
  • Corrigimos alguns problemas nos testes do seletor e adicionamos mais testes para verificar a rolagem com deslocamento (I6ac34).
  • Migramos as demonstrações de integração ScalingLazyColumn para depender de Foundation.Lazy em vez de ScalingLazyColumn do Material Design (Ic6caa).
  • Adicionamos parâmetros fromDate/toDate opcionais à demonstração DatePicker (I961cd).

Versão 1.2.0-alpha02

11 de janeiro de 2023

Lançamento de androidx.wear.compose:compose-*:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.

Mudanças na API

  • Os testes de interface do Android Compose agora vão executar transmissões de layout para cada frame ao executar frames para ficar ociosos (por exemplo, com waitForIdle). Isso pode afetar testes que são executados em frames individuais de animações de layout (I8ea08, b/222093277).
  • O parâmetro minLines foi adicionado ao Wear Text para um comportamento consistente com BasicText (I24874).
  • O CompactChipTapTargetPadding foi disponibilizado ao público para que apareça na documentação (If1e70, b/234119038).

Correções de bugs

  • Desativação de builds multiplataforma para pacotes wear.compose (Iad3d7).
  • Correção de kdocs para scrollToOption (I6f9a0).
  • O PlaceholderState.rememberPlaceholderState() foi atualizado para usar rememberUpdatedState, e o estado vai ser atualizado se a lambda onContentReady também for (I02635, b/260343754).
  • Correção de um problema de instabilidade do texto no componente Picker ao aproveitar a nova estratégia de composição adicionada a Modifier.graphicsLayer (I99302).
  • Correção de um bug que causava oscilações na nossa demonstração do DatePicker (I660bd).
  • Melhoramos a acessibilidade das demonstrações do seletor de data e horário de 12 horas (I05e12).
  • Atualizamos as demonstrações dos seletores de data e horário para que eles não sejam afetados por mudanças de RSB quando não selecionados (I4aecb).

Versão 1.2.0-alpha01

7 de dezembro de 2022

Lançamento de androidx.wear.compose:compose-*:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.

Novos recursos

  • Atualizamos a função experimental de marcador de posição para que o efeito "Apagar" seja aplicado imediatamente quando o conteúdo estiver pronto em vez de aguardar o início do próximo loop de animação. Também fizemos algumas atualizações nas animações de redução e apagar (I5a7f4).

Mudanças na API

  • Adicionamos um elemento combinável HierarchicalFocusCoordinator para ativar a marcação de subárvores da composição como foco ativado ou desativado (I827cb).
  • Adicionamos uma nova propriedade para substituir o papel semântico de ToggleButton (I67132).
  • Atualizamos TimeTextDefaults.TimeFormat12Hours para remover AM/PM em TimeText. Isso vai mudar o valor padrão dos parâmetros timeSource na API TimeText (I1eb7f).
  • Estendemos a API Picker para melhorar a acessibilidade de telas com vários seletores. Há uma nova propriedade userScrollEnabled para controlar se o seletor está ativo para a rolagem do usuário (I3c3aa).

Correções de bugs

  • Mudamos a largura da borda padrão de um OutlinedButton/OutlinedCompactButton de 2 dp para 1 dp, de acordo com as especificações finais da UX (Icf84d).
  • Para reduzir o efeito em que o primeiro item adicionado a uma ScalingLazyColumn vazia parece rolar para a tela, adicionamos um autoCentering topPadding estimado quando o conteúdo está vazio. Essa mudança calcula a quantidade de padding superior necessária, presumindo um item inicial de 0.dp de altura. Em ScalingLazyListAnchorType.ItemStart, isso vai calcular o padding superior correto. Em ScalingLazyListAnchorType.ItemCenter, esse cálculo vai ser incorreto, porque a altura dos itens é necessária para dimensionar corretamente o conteúdo, resultando em um pequeno efeito de rolagem com base na altura real dos itens (I239a4).
  • Atualizamos o scrim em segundo plano aplicado à animação SwipeToDismiss para corresponder à plataforma Wear (I9003e).
  • O processamento de LazyListState e ScalingLazyListState foi corrigido no PositionIndicator para itens de lista de tamanho 0 para evitar erros de divisão por zero (Ic28dd).

Versão 1.1

Versão 1.1.2

8 de fevereiro de 2023

Lançamento de androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2 e androidx.wear.compose:compose-navigation:1.1.2. A versão 1.1.2 contém estas confirmações.

Correções de bugs

  • Corrigimos um bug que causava recomposições desnecessárias no ScalingLazyListState.centerItemIndex garantindo que ele só enviasse atualizações quando o valor realmente mudasse (Ia9f38).

Versão 1.1.1

11 de janeiro de 2023

Lançamento de androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1 e androidx.wear.compose:compose-navigation:1.1.1. A versão 1.1.1 contém estas confirmações.

Correções de bugs

  • O PlaceholderState.rememberPlaceholderState() foi atualizado para usar rememberUpdatedState, e o estado vai ser atualizado se a lambda onContentReady também for (I02635, b/260343754).

Versão 1.1.0

7 de dezembro de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0 e androidx.wear.compose:compose-navigation:1.1.0. A versão 1.1.0 contém estas confirmações.

Mudanças importantes desde a versão 1.0.0

Novos recursos

  • Atualizamos a função experimental de marcador de posição para que o efeito "Apagar" seja aplicado imediatamente quando o conteúdo estiver pronto em vez de aguardar o início do próximo loop de animação. Também fizemos algumas atualizações nas animações de redução e apagar (I5a7f4).

Correções de bugs

  • Mudamos a largura da borda padrão de um OutlinedButton/OutlinedCompactButton de 2 dp para 1 dp, de acordo com as especificações finais da UX (Icf84d).
  • Para reduzir o efeito em que o primeiro item adicionado a uma ScalingLazyColumn vazia parece rolar para a tela, adicionamos um autoCentering topPadding estimado quando o conteúdo está vazio. Essa mudança calcula a quantidade de padding superior necessária, presumindo um item inicial de 0.dp de altura. Em ScalingLazyListAnchorType.ItemStart, isso vai calcular o padding superior correto. Em ScalingLazyListAnchorType.ItemCenter, esse cálculo vai ser incorreto, porque a altura dos itens é necessária para dimensionar corretamente o conteúdo, resultando em um pequeno efeito de rolagem com base na altura real dos itens (I239a4).
  • Atualizamos o scrim em segundo plano aplicado à animação SwipeToDismiss para corresponder à plataforma Wear (I9003e).
  • O processamento de LazyListState e ScalingLazyListState foi corrigido no PositionIndicator para itens de lista de tamanho 0 para evitar erros de divisão por zero (Ic28dd).

Versão 1.1.0-rc01

9 de novembro de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01 e androidx.wear.compose:compose-navigation:1.1.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.

Correções de bugs

  • Adicionamos regras de perfil de referência para Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip e OutlinedCompactChip (I8249c).
  • Corrigimos um bug no Modifier.scrollAway para que o TimeText ainda seja mostrado se o itemIndex especificado for inválido, por exemplo, caso o índice de itens esteja fora do intervalo (I2137a).
  • Atualizamos a animação SwipeToDismissBox para corresponder à implementação da plataforma. Após a animação inicial de apertar, a tela desliza para a direita quando a dispensa é acionada (I41d34).
  • Como otimização, atualizamos a Modifier.scrollAway para ler somente o scrollState dentro do bloco de medida para evitar que o modificador seja recomposto após cada nova medida (I4c6f1).
  • Adicionamos documentação e um exemplo aos marcadores de posição para mostrar a ordem correta de Modifier.placeholder e Modifier.placeholderShimmer quando aplicados ao mesmo elemento combinável (Ie96f4, b/256583229).
  • Mudamos a largura da borda padrão de um OutlinedCompactChip/OutlinedChip de 2 dp para 1 dp, de acordo com as especificações finais da UX (Ib3d8e).
  • Corrigimos um bug no rememberPickerState em que as entradas atualizadas não eram salvas, de modo que os elementos combináveis não eram atualizados após mudanças nas entradas (I49ff6, b/255323197).
  • Fizemos algumas atualizações na interface dos marcadores de posição: 1) mudamos o gradiente de brilho para 1,5 vez o tamanho da tela, 2) adicionamos easing (bézier cúbica) da progressão do brilho e 3) aceleramos a animação de deslizamento (250 ms) (Id29c1).
  • Corrigimos um bug na interface no efeito de marcador de posição "WipeOff" em que os planos de fundo dos ícones e cards eram apagados um pouco antes porque a posição do componente na tela não era considerada (I2c7cb).
  • Atualizamos a exibição do plano de fundo dos marcadores de posição para combinar cores em vez de adicioná-los a camadas quando possível. Isso reduz o risco de mistura alfa das diferentes camadas cortadas, impedindo que as cores vazem nas bordas do marcador (I2ea26).
  • Corrigimos o cálculo de ScalingLazyListState.centerItemIndex/centerItemOffset para que, se dois itens ficarem em um dos lados da linha central da janela de visualização, o que estiver mais próximo seja considerado como centerItem (I30709, b/254257769).
  • Corrigimos um bug no ScalingLazyListState.layoutInfo.visibleItemsInfo que informava deslocamentos incorretos durante a inicialização da ScalingLazyColumn. Agora, uma lista vazia será retornada até que todos os itens da lista fiquem visíveis e tenham os deslocamentos corretos. Confira se há ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty(). Se houver, isso confirma que a inicialização do ScalingLazyColumn foi concluída e que os itens estão visíveis (I3a3b8).

Versão 1.1.0-beta01

24 de outubro de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01 e androidx.wear.compose:compose-navigation:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações.

Novidades no Compose para Wear OS 1.1

A versão 1.1.0-beta01 do Compose para Wear OS indicou que esta versão da biblioteca está com todos os recursos e a API está bloqueada.

  • A versão do Wear Compose 1.1 inclui estas novas funcionalidades:
    • Picker: melhorias na acessibilidade do seletor para que as telas de vários seletores sejam navegáveis com os leitores de tela e a descrição do conteúdo seja acessível.
    • O parâmetro contentDescription do seletor agora é usado apenas para a opção selecionada e utiliza uma string anulável. Na confirmação anterior, era necessário transmitir um mapeamento de opção para a descrição do conteúdo, mas apenas a opção selecionada era usada.
    • Os itens do seletor agora estão sempre centralizados, corrigindo um bug que causava a mudança do alinhamento ao definir gradientRatio como zero.
    • Chip/ToggleChip: atualizamos os gradientes padrão de Chip/ToggleChip para alinhamento com a especificação de UX mais recente. ChipDefaults.gradientBackgroundChipColors foi atualizado para começar em 50% do principal em vez de 32,5%.
    • Chip/ToggleChip: foram adicionadas sobrecargas para modificar as formas dos ícones.
    • Chip/Button/ToggleButton: foi adicionado um novo estilo de contorno para ícones e botões, além de novos elementos combináveis OutlinedChip e OutlinedButton que fornecem um Chip/Button transparente com uma borda fina.
    • Card: os gradientes padrão dos cards foram atualizados para ficarem de acordo com a especificação mais recente da UX. CardDefaults.cardBackgroundPainter foi atualizado para começar em 30% do principal e terminar em 20% do onSurfaceVariant (anteriormente, o intervalo era de 20% a 10% do onSurfaceVariant). ToggleChip.toggleChipColors muda de um gradiente linear de 75% de superfície a 32,5% do principal para 0% de superfície a 50% do principal.
    • Button/ToggleButton: foram adicionadas propriedades para modificar formas de botão.
    • Theme: várias cores padrão do MaterialTheme foram atualizadas para melhorar a acessibilidade, já que as cores originais não tinham contraste suficiente, dificultando a diferenciação de ícones, cards e botões da cor de fundo do tema.
    • InlineSlider/Stepper: funções de botão foram adicionadas para que o Talkback possa reconhecê-las como botões.
    • Scaffold: o PositionIndicator agora está posicionado e dimensionado para ocupar apenas o espaço necessário. Isso é útil, por exemplo, quando informações semânticas são adicionadas a ele. O TalkBack agora vai mostrar os limites corretos de PositionIndicator na tela.
    • CurvedText/TimeText: foi adicionado Modifier.scrollAway, que rola um item verticalmente para dentro/fora da visualização com base no estado de rolagem (com sobrecargas para trabalhar com Column, LazyColumn e ScalingLazyColumn). O ScrollAway normalmente é usado para tirar um TimeText da visualização quando o usuário começa a rolar uma lista de itens para cima.
    • CurvedText/TimeText: foi adicionado suporte a fontFamily, fontStyle e fontSynthesis em CurvedTextStyle, utilizável em curvedText e basicCurvedText.
    • CurvedText/TimeText: foi adicionado fontWeight ao construtor e ao método de cópia em CurvedTextStyle.
    • ToggleControls: os controles de alternância animados Checkbox, Switch e RadioButton foram adicionados para uso com ToggleChip e SplitToggleChip. Eles podem ser usados em vez dos ícones estáticos fornecidos por ToggleChipDefaults (switchIcon, checkboxIcon e radioIcon).
    • Placeholder: foi adicionado suporte experimental a marcadores de posição. Três efeitos visuais distintos foram criados para trabalhar em conjunto.
    • O primeiro é um efeito temporário de pincel em segundo plano usado em contêineres, como ícones e cards, para desenhar sobre o plano de fundo normal enquanto o conteúdo é carregado.
    • O segundo é um modificador (Modifier.placeholder()) para mostrar um widget de marcador de posição em forma de estádio sobre o conteúdo que está sendo carregado.
    • E o terceiro é um efeito de gradiente/brilho de modificador (Modifier.placeholderShimmer()) mostrado acima dos outros efeitos para indicar aos usuários que estamos aguardando o carregamento dos dados.
      • Todos esses efeitos são projetados para serem coordenados, brilhar e se apagar de forma orquestrada.
  • As dependências do Core Compose foram atualizadas de 1.2 para 1.3.

Mudanças na API

  • Os parâmetros de fonte (fontFamily, fontWeight, fontStyle e fontSynthesis) agora podem ser especificados diretamente como parâmetros de curvedText (Idc422).

Correções de bugs

  • curveText e basicCurvedText agora vão funcionar corretamente com o TalkBack. Eles têm um nó do Compose bem-dimensionado e posicionado (mas vazio) com a UI associada a eles, usando o texto como descrição do conteúdo (I7af7c, b/210721259).
  • Foi corrigido um bug em Picker quando o PickerState.repeatedItems = false para adicionar uma configuração explícita de parâmetros autoCentering no ScalingLazyColumn interno dos seletores. Isso garante a possibilidade de rolar a opção zero até o centro da visualização (I8a4d7).

Versão 1.1.0-alpha07

5 de outubro de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07 e androidx.wear.compose:compose-navigation:1.1.0-alpha07. A versão 1.1.0-alpha07 contém estas confirmações.

Novos recursos

  • Adicionamos suporte experimental a marcadores de posição. Três efeitos visuais distintos foram criados para trabalhar em conjunto. O primeiro é um efeito temporário de pincel em segundo plano usado em contêineres, como ícones e cards, para desenhar sobre o plano de fundo normal enquanto o conteúdo é carregado. O segundo é um modificador (Modifier.placeholder()) para mostrar um widget de marcador de posição em forma de estádio sobre o conteúdo que está sendo carregado. E o terceiro é um efeito de gradiente/brilho de modificador (Modifier.placeholderShimmer()) mostrado acima dos outros efeitos para indicar aos usuários que estamos aguardando o carregamento dos dados. Todos esses efeitos são projetados para serem coordenados, brilhar e se apagar de forma orquestrada (I3c339).

Mudanças na API

  • Foi adicionado suporte a fontWeight, fontFamily, fontStyle e fontSynthesis em CurvedTextStyle, utilizável em curvedText e basicCurvedText. Esse parâmetro pode ser usado para especificar a fonte e o estilo a serem usados no texto curvo (Iaa1a8, I72759).
  • O parâmetro de deslocamento de Modifier.scrollAway foi atualizado para Dp para consistência com Modifier.offset (antes, era em pixels). Além disso, foi refatorado como um LayoutModifier para aumentar a eficiência (I9f94b).
  • Como parte da nova API de controles de alternância, o elemento RadioButton’s circleColor foi renomeado como ringColor (I28fa9).
  • Adicionamos os controles de alternância animados Checkbox, Switch e RadioButton para uso com ToggleChip e SplitToggleChip. Eles podem ser usados em vez dos ícones estáticos fornecidos por ToggleChipDefaults (switchIcon, checkboxIcon e radioIcon) (I8a8c4).

Versão 1.1.0-alpha06

21 de setembro de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.1.0-alpha06, androidx.wear.compose:compose-material:1.1.0-alpha06 e androidx.wear.compose:compose-navigation:1.1.0-alpha06. A versão 1.1.0-alpha06 contém estas confirmações.

Novos recursos

  • Adicionamos Modifier.scrollAway, que rola um item verticalmente dentro/fora da visualização, com base no estado de rolagem (com sobrecargas para trabalhar com Column, LazyColumn e ScalingLazyColumn). O ScrollAway normalmente é usado para tirar um TimeText da visualização, já que o usuário começa a rolar uma lista de itens para cima (I61766).

Correções de bugs

  • PositionIndicator agora está posicionado e dimensionado para ocupar apenas o espaço necessário. Isso é útil, por exemplo, quando informações semânticas são adicionadas a ele. O TalkBack agora vai mostrar os limites corretos de PositionIndicator na tela. (Ie6106, b/244409133).

Versão 1.1.0-alpha05

7 de setembro de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05 e androidx.wear.compose:compose-navigation:1.1.0-alpha05. A versão 1.1.0-alpha05 contém estas confirmações.

Correções de bugs

  • Papéis de botão foram adicionados a InlineSlider e Stepper para que o TalkBack possa reconhecer essas funções como botões (Icb46c, b/244260275).
  • Corrigimos a ordem z da posição e os indicadores de página no Scaffold. Como os indicadores ficam na parte de cima, eles não ficam ocultos por uma possível vinheta (Ib988f, b/244207528).

Versão 1.1.0-alpha04

24 de agosto de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04 e androidx.wear.compose:compose-navigation:1.1.0-alpha04. A versão 1.1.0-alpha04 contém estas confirmações.

Mudanças na API

  • Atualizamos várias cores padrão do MaterialTheme para melhorar a acessibilidade, porque as cores originais não tinham contraste suficiente, dificultando a diferenciação de ícones, cards e botões da cor de fundo do tema. As cores atualizadas são surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8) e onError(0xFF202124->0xFF000000). Embora a mudança das cores seja relativamente sutil, ela pode afetar os testes de captura de tela atuais (81ab09).

Correções de bugs

  • Correção de um bug de lógica na função ScalingLazyColumn que podia resultar em listas com um número pequeno de itens (geralmente 2) incapazes de concluir a inicialização e que ficavam transparentes (504347).

Versão 1.1.0-alpha03

10 de agosto de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03 e androidx.wear.compose:compose-navigation:1.1.0-alpha03. A versão 1.1.0-alpha03 contém estas confirmações.

Novos recursos

  • Adicionamos um novo estilo delineado para Chips e Buttons, bem como novos elementos combináveis OutlinedChip e OutlinedButton que fornecem um Chip/Button transparente com uma borda fina (Id5972).

Mudanças na API

  • Foram adicionadas sobrecargas para modificar formas de botão (Icccde).

Correções de bugs

  • Corrigimos o tamanho da área de controle de alternância do ToggleChip, porque ela não correspondia à especificação da UX, que exige um espaçador de 4 dp entre o rótulo e uma área de ícone de controle de alternância de 24 x 24 dp, com uma largura total de 28 dp. No entanto, a implementação está fornecendo uma área de controle de alternância incorreta de 36 x 24 dp. Isso resulta na remoção de 8 dp da área útil do rótulo de texto. OBSERVAÇÃO: essa correção de bug dá mais espaço para o texto e, como resultado, pode afetar positivamente o layout do texto em excesso. Se você tem testes de capturas de tela com ToggleChips, talvez eles precisem ser atualizados (I514c8, b/240548670).

Versão 1.1.0-alpha02

27 de julho de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02 e androidx.wear.compose:compose-navigation:1.1.0-alpha02. A versão 1.1.0-alpha02 contém estas confirmações.

Novos recursos

  • Mudamos as dependências do Compose para o Wear OS nas principais bibliotecas do Compose da versão 1.2.0 a 1.3.0-alpha0X.

Mudanças na API

  • Adição de sobrecargas para modificar as formas dos ícones (I02e87).

Correções de bugs

  • Animamos a visibilidade da vinheta ao mostrar/ocultar a caixa de diálogo para que ela seja consistente com a animação de ampliação atual (Ida33e).
  • Corrigimos um bug em que uma divisão por zero podia ocorrer com alguns comportamentos de deslizar rapidamente durante a rolagem (I86cb6).
  • Correção de um bug em ChipDefaults.childChipColor() para garantir que a cor de plano de fundo desativada seja totalmente transparente (I2b3c3, b/238057342).

Versão 1.1.0-alpha01

29 de junho de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01 e androidx.wear.compose:compose-navigation:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Mudanças na API

  • O parâmetro contentDescription do seletor agora é usado apenas para a opção selecionada e utiliza uma string anulável. Antes, era necessário transmitir um mapeamento de opção para a descrição do conteúdo, mas apenas a opção selecionada era usada (Ife6a7).
  • Fizemos melhorias na acessibilidade do seletor para que as telas de vários seletores sejam navegáveis com os leitores de tela e a descrição do conteúdo seja acessível (I64edb).

Correções de bugs

  • Atualizamos as regras de perfil de referência empacotadas com a biblioteca Wear Compose (I9c694).
  • Corrigimos a direção do gradiente para os ícones no modo da direita para a esquerda. Antes era "canto esquerdo de cima para canto direito de baixo", agora é "canto direito de cima para canto esquerdo de baixo" (Ic2e77).
  • Atualizamos os gradientes padrão de Chip/ToggleChip/Card para alinhamento com a especificação de UX mais recente. O ChipDefaults.gradientBackgroundChipColors foi atualizado para começar em 50% do principal, em vez de 32,5%. O CardDefaults.cardBackgroundPainter foi atualizado para começar em 30% do principal e terminar em 20% de onSurfaceVariant. Antes, a variação de onSurfaceVariant era de 20% a 10%. O ToggleChip.toggleChipColors muda de um gradiente linear de 75% a 32,5% de superfície ao principal para 0% a 50% (I43bbd).
  • Adicionamos uma cor de plano de fundo (MaterialTheme.color.surface) atrás dos Chip/ToggleChips que têm planos de fundo gradientes. Isso garante que eles fiquem visíveis corretamente no caso improvável de uma cor clara ser usada atrás deles (Ibe1a4, b/235937657).
  • Os itens do seletor agora estão sempre centralizados, corrigindo um bug que causava a mudança do alinhamento ao definir gradientRatio como zero (I712b8).

Versão 1.0

Versão 1.0.2

7 de setembro de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2 e androidx.wear.compose:compose-navigation:1.0.2. A versão 1.0.2 contém estas confirmações.

Correções de bugs

  • Corrigimos a ordem z da posição e os indicadores de página no Scaffold. Como os indicadores ficam na parte de cima, eles não ficam ocultos por uma possível vinheta (Ib988f, b/244207528).

Versão 1.0.1

24 de agosto de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1 e androidx.wear.compose:compose-navigation:1.0.1. A versão 1.0.1 contém estas confirmações.

Correções de bugs

  • Foi corrigido um bug de lógica na função ScalingLazyColumn que podia resultar em listas com um número pequeno de itens (geralmente 2) incapazes de concluir a inicialização e que ficavam transparentes (076c61).

Versão 1.0.0

27 de julho de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0 e androidx.wear.compose:compose-navigation:1.0.0. A versão 1.0.0 contém estas confirmações.

Principais recursos da versão 1.0.0

  • Esta é a primeira versão estável do Compose para Wear OS. Saiba mais.
  • O Compose para Wear OS tem como base as principais bibliotecas do Compose, fornecendo outros componentes específicos e, quando adequado, implementações alternativas de componentes essenciais personalizados para wearables.
  • Para ver uma lista dos principais componentes do Wear Compose, consulte as notas da versão do Compose para Wear OS Beta01.

Correções de bugs

  • Animamos a visibilidade da vinheta ao mostrar/ocultar a caixa de diálogo para que ela seja consistente com a animação de ampliação atual (Ida33e).
  • Corrigimos um bug em que uma divisão por zero podia ocorrer com alguns comportamentos de deslizar rapidamente durante a rolagem (I86cb6).
  • Correção de um bug em ChipDefaults.childChipColor() para garantir que a cor de plano de fundo desativada seja totalmente transparente (I2b3c3, b/238057342).

Versão 1.0.0-rc02

22 de junho de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02 e androidx.wear.compose:compose-navigation:1.0.0-rc02. A versão 1.0.0-rc02 contém estas confirmações.

Correções de bugs

  • Corrigimos a direção do gradiente para cards no modo da direita para a esquerda (RTL, na sigla em inglês), que antes era do canto esquerdo de cima ao direito de baixo e agora passou a ser do canto direito de cima ao esquerdo de baixo (Ic2e77).
  • Atualizamos os gradientes padrão de Chip/ToggleChip/Card para alinhamento com a especificação de UX mais recente. ChipDefaults.gradientBackgroundChipColors foi atualizado para começar em 50% do principal em vez de 32,5%. CardDefaults.cardBackgroundPainter foi atualizado para começar em 30% do principal e terminar em 20% de onSurfaceVariant (anteriormente a variação de término era de 20% a 10% de onSurfaceVariant). ToggleChip.toggleChipColors, que antes era um gradiente linear que variava de 75% a 32,5% da superfície do principal, agora varia entre 0% e 50% (I43bbd).
  • Adicionamos uma cor de plano de fundo (MaterialTheme.color.surface) atrás dos Chip/ToggleChips que têm planos de fundo gradientes. Isso garante que eles fiquem visíveis corretamente no caso improvável de uma cor clara ser usada atrás deles (Ibe1a4, b/235937657).
  • Atualizamos as regras de perfil de referência empacotadas com a biblioteca Wear Compose (I9c694).

Versão 1.0.0-rc01

15 de junho de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01 e androidx.wear.compose:compose-navigation:1.0.0-rc01. A versão 1.0.0-rc01 contém estas confirmações.

Mudanças na API

  • As interfaces em bibliotecas do Compose agora são criadas usando métodos de interface padrão do jdk8 (I5bcf1).

Correções de bugs

  • Removemos a chamada explícita para fillMaxWidth() no cabeçalho da lista, já que ela não é necessária e pode resultar em problemas se uma ScalinglazyColumn tiver uma combinação de componentes ListHeader() e Chip(), porque a largura tende a aumentar/reduzir à medida que os itens ListHeader são rolados para dentro/fora da área de visualização (I37144, b/235074035)
  • Corrigimos um bug na ScalingLazyColumn que podia fazer com que os itens da lista não fossem exibidos corretamente até que fossem rolados caso o item zero da lista fosse grande demais (considerando a área de padding) (Ic6159, b/234328517).
  • Fizemos um pequeno ajuste no easing da ScalingLazyColumn quando os itens alcançam a borda da tela para atender às atualizações de especificações de UX. Valores antigos: CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f). Novos valores: CubicBezierEasing(0.3f, 0f, 0.7f, 1f). Para manter o comportamento antigo, é possível substituir os scalingParams da ScalingLazyColumn (Ie375c).
  • Adicionamos padding ao CompactChip para garantir que o tamanho da área de toque tenha pelo menos 48 dp de altura a fim de atender às diretrizes de acessibilidade do Material Design. Isso pode afetar os layouts que usam CompactChips, porque eles ocupam mais espaço (I3d57c).

Versão 1.0.0-beta03

1º de junho de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03 e androidx.wear.compose:compose-navigation:1.0.0-beta03. A versão 1.0.0-beta03 contém estas confirmações.

Novos recursos

  • Agora, a ScalingLazyColumn funciona no modo @Preview do Compose (I3b3b6, b/232947354).

Mudanças na API

  • Mudamos o valor padrão da propriedade ScalingLazyColumn.horizontalAlignment de "Start" para CenterHorizontally. O objetivo é garantir que, quando os itens da lista não preencherem a largura inteira da coluna, eles ficarão alinhados e terão o máximo de visibilidade. Para voltar a usar o comportamento anterior, defina horizontalAlignment = Alignment.Start (I9ed4b).

Problemas conhecidos

  • A altura de toque do CompactChip é inferior às diretrizes de acessibilidade do Material Design. Isso será corrigido na próxima versão (lançada em 15 de junho). Se você usa o CompactChip, isso afeta seus layouts, porque esse elemento inclui mais padding nas partes de cima e de baixo. Ajuste e teste seus layouts ou consulte os comentários sobre o bug para encontrar uma solução alternativa (b/234332135).

Correções de bugs

  • Nova demonstração para animar a adição ou remoção de um texto inicial em um TimeText (I16d75).
  • Foram adicionados testes a HorizontalPageIndicator.PagesState (I64ed0).
  • Atualização de TimeText, deixando-o mais próximo das especificações de UX (Ib7ea1).

Versão 1.0.0-beta02

18 de maio de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02 e androidx.wear.compose:compose-navigation:1.0.0-beta02. A versão 1.0.0-beta02 contém estas confirmações.

Novos recursos

  • Agora, o seletor sempre responde a eventos de rolagem, mesmo no modo somente leitura. Isso evita que os usuários precisem escolher um seletor antes de rolar a página. No modo somente leitura, as opções diferentes das selecionadas no momento são ocultadas por um paliativo em gradientColor (I72925).
  • Mudamos o comportamento da UX de Chip/ToggleChip/CompactChip/SplitToggleChip para impedir que fillMaxWidth aconteça por padrão. Em vez disso, ele se ajusta ao conteúdo. Para manter o comportamento anterior, basta adicionar modifier = Modifier.fillMaxWidth() (I60a2c, b/232206371).

Correções de bugs

  • O construtor CurvedTextStyle que usa um TextStyle agora também respeita o fontWeight. Isso pode ser adicionado aos métodos de construção e de cópia em futuras revisões da API (Ieebb9).
  • O recurso "deslizar da borda" foi melhorado. Quando o Modifier.edgeSwipeToDismiss é usado e um gesto de deslizar para a esquerda é acionado da área da borda, ele não aciona mais o recurso "deslizar para dispensar" quando a direção do gesto muda para a direita. Antes, era possível acionar o "deslizar para dispensar" deslizando para a esquerda e, em seguida, para a direita (I916ea).
  • Agora, o HorizontalPageIndicator mostra até seis páginas na tela. Se houver mais de seis páginas no total, ele vai mostrar um indicador com metade do próprio tamanho à esquerda ou à direita, com uma transição suave entre as páginas (I2ac29).
  • O comportamento de ajuste padrão foi melhorado em ScalingLazyColumn e Picker (I49539).
  • O recurso "deslizar da borda" foi melhorado. Quando o Modifier.edgeSwipeToDismiss é usado, o recurso "deslizar para dispensar" só é acionado quando o primeiro toque acontece na borda e é movido para a direita. Antes, era possível acionar o "deslizar para dispensar" deslizando de qualquer parte da tela quando a rolagem chegava ao início (I8ca2a).

Versão 1.0.0-beta01

11 de maio de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01 e androidx.wear.compose:compose-navigation:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.

Novidades no Compose para Wear OS 1.0

A versão 1.0.0-beta01 do Compose para Wear OS é um marco importante porque a biblioteca tem todos os recursos e a API está bloqueada.

Os componentes do Compose Material para Wear na versão 1.0 incluem:

  • Material Theme: usado para substituir o MaterialTheme do Compose para dispositivos móveis. Fornece cores, formas e tipografia para a criação de componentes em wearables que implementam as diretrizes de UX do Material Design por padrão.
  • Button, CompactButton e ToggleButton: botões que oferecem um único slot para usar ícones, imagens ou textos curtos de no máximo três caracteres. De formato circular e em tamanhos recomendados para botões padrão, grandes ou pequenos. CompactButton oferece um único slot para usar qualquer conteúdo (ícone, imagem ou texto) e tem formato circular e com plano de fundo muito pequeno. CompactButton tem um preenchimento transparente opcional ao redor do plano de fundo que aumenta a área clicável. ToggleButton é um botão que oferece um único slot para qualquer conteúdo (texto curto, ícone ou imagem) e tem estados ativado/desativado (marcado/desmarcado) com cores e ícones diferentes para mostrar se está selecionado ou não.
  • Cards: usados para mostrar informações sobre apps, por exemplo, notificações. Design flexível para diferentes casos de uso com AppCard e TitleCard, oferecendo diferentes layouts e suporte para imagens como conteúdo ou plano de fundo do cartão.
  • Chips: componentes em forma de estádio semelhantes a botões, mas com uma área maior e vários slots para rótulos primários e secundários e ícones. Têm tamanhos diferentes e suporte para imagens como planos de fundo.
  • ToggleChips e SplitToggleChips: um ícone com um estado marcado/desmarcado e um slot ToggleControl adicionado para mostrar um ícone, como uma chave ou um botão de opção que exibe o estado marcado do componente. Além disso, o SplitToggleChip tem duas áreas tocáveis, uma clicável e uma alternável.
  • CircularProgressIndicator: indicador de progresso do Wear Material com duas variações. A primeira expressa a proporção de conclusão de uma tarefa em andamento e oferece suporte para uma lacuna na faixa circular entre os ângulos de início e fim. A segunda indica o progresso indeterminado de um tempo de espera não especificado.
  • curvedText: faz parte da DSL para descrever CurvedLayouts, junto com curvedRow e curvedColumn, e mostrar componentes em torno de dispositivos circulares. Confira a Wear Component Foundation abaixo para saber mais detalhes sobre CurvedLayout e CurvedModifier. Ela desempenha um papel semelhante aos modificadores para cenários não curvos e permite a configuração de vários aspectos de layout, padding, gradientes, entre outros.
  • Caixa de diálogo, alerta e confirmação: a caixa de diálogo aparece em tela cheia, sobreposta a qualquer outro conteúdo e oferece suporte ao recurso de deslizar para dispensar. É necessário um único slot que precisa ser um conteúdo específico de caixa de diálogo do Wear Material, como alerta ou confirmação. O alerta é um conteúdo específico de caixa de diálogo com espaços para ícone, título e mensagem. Ele tem sobrecargas para dois botões para aceitar ou recusar, mostrados lado a lado ou um slot para um ou mais chips empilhados verticalmente. A confirmação é um conteúdo específico de caixa de diálogo que mostra uma mensagem por uma determinada duração. Ela tem um espaço para um ícone ou uma imagem, que pode ser animada.
  • HorizontalPageIndicator: mostra a posição horizontal da página de forma adequada ao formato do wearable. Desenvolvido para usar a tela cheia e mostrar um indicador curvo em dispositivos redondos. Pode ser usado com o visualizador de páginas Accompanist.
  • Icon: uma implementação do Wear de "Icon" que usa cores e alfa do Wear Material Theme. Para ver um ícone clicável, consulte "Button" ou "Chip".
  • Picker: mostra uma lista rolável de itens para escolher. Por padrão, os itens são repetidos "infinitamente" nas duas direções. Pode aparecer no modo somente leitura para ocultar opções não selecionadas.
  • PositionIndicator: mostra a posição de rolagem ou outra indicação de posição de maneira adequada ao formato do wearable. Desenvolvido para usar a tela cheia e mostrar um indicador curvo em dispositivos redondos.
  • Scaffold: implementa a estrutura visual básica do layout do Material Design para Wear. Esse componente fornece uma API para reunir vários componentes do Wear Material, como TimeText, PositionIndicator e Vignette, que criam a tela, garantindo a estratégia de layout adequada e coletando os dados necessários para que eles funcionem juntos corretamente.
  • ScalingLazyColumn: um componente de lista de rolagem/olho de peixe que forma uma parte importante da linguagem do Material Design para Wear. Fornece efeitos de escalonamento e transparência aos itens de conteúdo. O componente ScalingLazyColumn foi projetado para processar um grande número de itens de conteúdo, que só são materializados e compostos quando necessário.
  • Slider: permite que os usuários escolham um valor em um intervalo. O intervalo é mostrado como uma barra, que pode ser exibida com separadores.
  • Stepper: um componente de tela cheia que permite aos usuários selecionar um intervalo de valores, usando os botões de aumentar/diminuir nas partes de cima e de baixo da tela, com um slot no meio para "Text" ou "Chip".
  • SwipeToDismissBox: processa o gesto de deslizar para dispensar. Ele usa um único slot para o plano de fundo, que aparece somente durante o gesto de deslizar, e o primeiro plano. Como opção, ele pode ser combinado com a biblioteca de navegação do AndroidX usando SwipeDismissableNavHost. Consulte a biblioteca Wear Compose Navigation abaixo.
  • Text: uma implementação do Wear do componente Compose Material Text, que usa cores e alfa do Wear Material Theme.
  • TimeText: um componente para mostrar o horário e o status do aplicativo na parte de cima da tela. Ajusta o formato da tela usando o texto curvado em telas redondas.
  • Vignette: um tratamento de tela para uso no Scaffold que desfoca as partes de cima e de baixo da tela quando o conteúdo rolável está em uso.

  • Os componentes abaixo também são incluídos na Wear Compose Foundation:

  • CurvedLayout: o CurvedLayout do Wear Foundation é um elemento combinável de layout que posiciona os filhos em um arco, girando-os conforme necessário. Isso é semelhante a um layout de linha curvado em um segmento de uma coroa circular. O conteúdo de um CurvedLayout não é uma lambda de composição, mas é uma linguagem específica do domínio (DSL, na sigla em inglês). Todos os elementos na DSL do CurvedLayout oferecem suporte a um parâmetro modificador opcional, criado de CurvedModifier.

  • basicCurvedText: um elemento da DSL do CurvedLayout, basicCurvedText permite que os desenvolvedores escrevam facilmente texto curvado seguindo a curvatura de um círculo, geralmente na borda de uma tela circular. O basicCurvedText só pode ser criado no CurvedLayout para garantir a melhor experiência, como a capacidade de especificar o posicionamento e usar CurvedModifiers. Na maioria dos casos, curvedText deve ser escolhido, já que usa temas do Material Design.

  • curvedComposable: envolve o conteúdo de composição normal para que possa ser usado com CurvedLayout. Se curvedComposable tiver vários elementos, eles vão ser mostrados uns sobre os outros, como uma caixa. Para colocar vários elementos combináveis em uma curva, envolva cada um com curvedComposable.

  • curvedRow e curvedColumn: semelhantes a Row e Column, curvedRow e curvedColumn podem ser aninhados em um CurvedLayout para dispor os elementos conforme necessário. Para um elemento curvedRow, a direção do layout angular e o alinhamento radial podem ser especificados. Para um elemento curvedColumn, o alinhamento angular e a direção radial podem ser especificados.

  • CurvedModifier: todos os componentes curvos aceitam um parâmetro modificador que pode ser criado usando CurvedModifier. Há suporte para planos de fundo, tamanho, peso e padding.

  • O componente abaixo também está incluído no Wear Compose Navigation.

  • SwipeDismissableNavHost: oferece um lugar na hierarquia do Compose para que a navegação independente ocorra, com a navegação para trás fornecida por um gesto de deslizar. O conteúdo aparece em uma SwipeToDismissBox, mostrando o nível de navegação atual. Durante um gesto de deslizar para dispensar, o nível de navegação anterior, se houver, aparece em segundo plano.

  • Consulte as notas das versões anteriores para ver mais detalhes sobre o que foi lançado.

Mudanças na API

  • Foram adicionadas funções CurvedModifier.padding*. Elas são usadas para especificar mais espaço a ser adicionado ao redor de um componente curvo (I4dbb4).
  • A classe interna CompositionLocal foi removida (I42490).
  • Adicionamos valores constantes para os tamanhos dos ícones Button, CompactButton e ToggleButton, conforme orientação (I57cab).
  • O parâmetro ativado foi adicionado a AppCard e TitleCard. Agora eles têm uma API semelhante a Cards do androidx.compose.material. Quando o parâmetro é definido como "false" (falso), o cartão não é clicável (Idc48d, b/228869805).

Correções de bugs

  • Agora, o Stepper desativa os botões de diminuir e aumentar quando os limites mínimo ou máximo são atingidos. Ele também aplica ContentAlpha.disabled ao iconColor (I4be9f).
  • Adicionamos padding de 1 dp ao conteúdo do Picker quando mostrado com um gradiente para evitar instabilidade no texto que aparece ao deslizar (I0b7b9).
  • Foram adicionados testes de captura de tela para PositionIndicator (I5e8bc).
  • Foram adicionados mais testes para AppCard e TitleCard (I85391, b/228869805).

Versão 1.0.0-alpha21

20 de abril de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21 e androidx.wear.compose:compose-navigation:1.0.0-alpha21. A versão 1.0.0-alpha21 contém estas confirmações.

Novos recursos

  • Adicionados novos modificadores em curva para especificar o segundo plano de um elemento em curva: CurvedModifier.background, .radialGradientBackground e .angularGradientBackground (I8f392).
  • Permissão para que o modo flutuante de texto em curva (clip/reticências/visível) seja especificado (I8e7aa).
  • Adição do modificador CurvedModifier.weight, semelhante ao do Compose. Ele pode ser usado em filhos de curvadRow e CurvedLayout (para largura) e filhos de curvadColumn (para altura) (I8abbd).
  • Adição dos modificadores CurvedModifier.size, .angularSize e .radialSize para especificar o tamanho de um elemento em curva (I623c7).

Mudanças na API

  • Reordenação dos parâmetros para garantir que o segundo plano fique antes da cor de forma consistente em toda a API Wear Compose (I43208).
  • Remoção dos parâmetros insideOut e sentido horário e substituição por constantes mais expressivas em novas classes. A direção do layout em curva agora tem reconhecimento de LayoutDirection e é herdada quando não especificada (If0e6a).
  • Substituímos autoCenter: Boolean por autoCenter: AutoCentringParams para corrigir um problema de API no ScalingLazyColumn (Ia9c90).
  • Renomeamos iconTintColor e toggleControlTintColor como iconColor e toggleControlColor em toda a API (Chip/ToggleChip/Dialog/Slider/Stepper/...) quando a cor é aplicada ao slot icon/toggleControl (Ied238).
  • Reescreva o tipo enumerado PageIndicatorStyle na classe de valor (I2dc72).
  • Adicionamos RowScope/ColumnScope/BoxScope a alguns dos slots dos nossos Composables para indicar aos desenvolvedores quais são as suposições de layouts. Isso permite que os desenvolvedores usem outros modificadores em alguns conteúdos de slot e evita a necessidade de fornecer mais elementos de layout. Além disso, fizemos algumas pequenas atualizações nas cores do AppCard/TitleCard para que timeColor e appColor sejam padronizadas como contentColor. Essas propriedades ainda podem ser substituídas individualmente, se necessário (I26b59).
  • O objeto SwipeToDismissBoxState.Companion foi definido como privado (I39e84).
  • Correção da ordem dos parâmetros para InlineSlider e Stepper. Uma mudança simples para seguir as diretrizes da API (I11fec).
  • Removemos o objeto Saver para SwipeToDismissBoxState, porque ele não foi usado (Ifb54e).
  • Atualizamos CompactChip para alinhamento com a especificação de UX mais recente. O padding foi reduzido na horizontal = 12.dp e na vertical = 0.dp. A fonte do marcador foi alterada de botão para legenda 1. Os tamanhos recomendados de ícones são 20x20 quando o ícone e o rótulo estão presentes e 24x24 para um ícone compacto somente. Para o caso de uso de ícone somente, também garantimos que o ícone esteja alinhado no centro (Iea2be).
  • Adicionamos vários campos novos a ScalingLazyListLayoutInfo para permitir que os desenvolvedores saibam a quantidade de contentPadding e autoCenteringPadding que foi aplicada. Eles podem ser úteis para desenvolvedores ao calcular deslizamento/rolagem (I7577b).
  • Implementamos transições de entrada e saída na caixa de diálogo. Um parâmetro showDialog foi adicionado, e a caixa de diálogo agora controla a própria visibilidade. Isso permite que a caixa de diálogo execute as animações de introdução e conclusão quando estiver sendo mostrada/oculta. A animação "Outro" não é executada quando o usuário sai da caixa de diálogo pelo recurso de deslizar para dispensar. Também adicionamos um valor padrão para o estado na sobrecarga SwipeToDismissBox adicionada recentemente (I682a0).
  • Para oferecer melhor suporte à internacionalização e à acessibilidade, mudamos ToggleChip e SplitToggleChip para que não tenham mais um padrão para o slot toggleControl. Também mudamos ToggleChipDefaults para que os métodos a seguir retornem ImageVector em vez de Icon (como eles não retornam mais @Composables, foram modificados para começar com letra minúscula), SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon() e RadioIcon()->radioIcon(). Isso permite e incentiva os desenvolvedores a criar os próprios Icon() combináveis com um conjunto contentDescription adequado (I5bb5b).
  • Adicionamos um parâmetro SwipeDismissableNavHostState a SwipeDismissableNavHost. Isso oferece suporte ao deslize de borda em telas usadas como destinos de navegação porque SwipeToDismissBoxState agora pode ser suspenso e usado para inicializar SwipeDismissableNavHostState e Modifier.edgeSwipeToDismiss em telas que exigem deslize de borda (I819f5, b/228336555).

Correções de bugs

  • Garanta que os layouts em curva sejam atualizados quando necessário (Ie8bfa, b/229079150).
  • Correção de bug para https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931).
  • Remoção de anotações experimentais desnecessárias (I88d7e).

Versão 1.0.0-alpha20

6 de abril de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20 e androidx.wear.compose:compose-navigation:1.0.0-alpha20. A versão 1.0.0-alpha20 contém estas confirmações.

Novos recursos

  • Foi adicionado o modificador edgeSwipeToDismiss para SwipeToDismiss. Ele permite que swipeToDismiss fique ativo somente na borda esquerda da janela de visualização. Ele é usado quando o centro da tela precisa lidar com paginação horizontal, como rolar um mapa ou deslizar horizontalmente entre as páginas (I3fcec, b/200699800).

Mudanças na API

  • Implementação básica de CurvedModifiers. Isso abre uma forma de apresentar maneiras de personalização de conteúdo em curva. Porém, nenhum CurvedModifiers foi fornecido até agora, e a capacidade de criar modificadores personalizados pode estar disponível mais tarde (I9b8df).
  • A documentação do modificador EdgeSwipe e os valores padrão foram atualizados para melhor compreensão (I6d00d).
  • O slot PageIndicator foi adicionado ao Scaffold. Ao adicionar PageIndicator diretamente ao Scaffold, podemos garantir que ele vai ser mostrado corretamente em dispositivos circulares (Ia6042).
  • Removidos os ícones padrão dos parâmetros InlineSlider e Stepper. Isso ajuda os desenvolvedores a prestar mais atenção aos requisitos de localização e acessibilidade. Os usos de ícones padrão foram mostrados em demonstrações e exemplos (I7e6fd).
  • Os nomes dos parâmetros Trailing and Leading foram substituídos por Start e End em TimeText (Iaac32).
  • Adicionamos uma sobrecarga SwipeToDismissBox com um parâmetro onDismissed para oferecer suporte ao uso comum de acionar um evento de navegação quando o gesto de deslizar for concluído (I50353, b/226565726).
  • Removidas as anotações ExperimentalWearMaterialApi do uso de TimeText (Ide520).
  • Marcamos as interfaces de informações e o escopo ScalingLazyList/Column como selados, porque não se destinam a implementações de desenvolvedores externos. Isso permite que novos membros sejam adicionados no futuro, sem mudanças interruptivas binárias (I7d99f).
  • Adicionamos uma nova propriedade flingBehaviour ao seletor e um método PickerDefaults.flingBehaviour() para ativar a configuração do comportamento de rolagem, por exemplo, adicionar suporte a RSB. PickerState agora implementa a interface ScrollableState (Ib89c7).

Correções de bugs

  • Atualizadas as regras de perfil de valor de referência do Android Runtime (ART) para as bibliotecas do Wear Compose. O ART pode aproveitar as regras de perfil nos dispositivos para compilar um subconjunto específico do aplicativo com antecedência a fim de melhorar o desempenho dele. Isso não vai afetar aplicativos depuráveis (Iaa8ef).
  • Melhoria na documentação (I2c051).

Versão 1.0.0-alpha19

23 de março de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19 e androidx.wear.compose:compose-navigation:1.0.0-alpha19. A versão 1.0.0-alpha19 contém estas confirmações.

Mudanças na API

  • Renomeação de CurvedRow para CurvedLayout e reformulação para ser um escopo com uma DSL. Com essa DSL, é possível especificar layouts curvos mais complexos, usando uma série de curvedRow e curvedColumn aninhadas, que são os equivalentes em layout curvo de Row e Column. Dentro desses elementos de layout, três elementos podem ser usados: curvedComposable, para adicionar qualquer @Composable; basicCurvedText, texto curvado da base; e curvedText, para usar texto curvado com reconhecimento do Material do Wear (Ib776a).
  • Lado do PositionIndicator tornou-se configurável. Agora, a posição básica de PositionIndicator pode ser configurada como End, que reconhece direção do layout; OppositeRsb, que considera a rotação da tela, para se posicionar em frente ao RSB físico; ou como as absolutas para a Left e Right (I2f1f3).
  • Para o SwipeToDismissBox, renomeamos o SwipeDismissTarget original para SwipeToDismissValue.Default e SwipeDismissTarget.Dismissal para SwipeToDismissValue.Dismissed. Também movemos SwipeToDismissBoxDefaults.BackgroundKey e SwipeToDismissBoxDefaults.ContentKey para SwipeToDismissKeys.Background, SwipeToDismissKeys.Content, respectivamente (I47a36).
  • Adicionamos um modo somente leitura ao Picker para telas com vários seletores em que apenas um seletor pode ser editado por vez. Quando o Seletor é somente leitura, ele mostra a opção selecionada e um rótulo, caso tenha sido fornecido (I879de).
  • O SwipeToDismissBoxState foi refatorado para restringir o escopo de ExperimentalWearMaterialApi a Modifier.swipeable e SwipeableState, que agora são usados internamente. SwipeToDismissBoxState agora tem currentValue, targetValue, isAnimationRunning e snapTo para oferecer suporte a casos de uso comuns. Informe caso precise de mais propriedades. Também foi corrigido o comportamento de SwipeableState no caso em que o deslocamento de deslize está dentro de um erro de arredondamento de uma âncora (I58302).

Correções de bugs

  • O código foi corrigido e simplificado para detectar se o conteúdo de uma ScalingLazyColumn pode ser rolado. Isso é usado para decidir se uma barra de rolagem vai ser exibida ou não (I7bce0).
  • Foi corrigido um bug no indicador de posição quando usado com mais de um estado e a alternando entre eles (I320b5).
  • Atualizamos as fontes de tipografia/fontes de tema padrão do Compose para Wear OS, de acordo com nossas orientações mais recentes de UX. Observe que display1 (40.sp) e display2 (34.sp) são menores que os valores anteriores, e várias outras pequenas atualizações na altura e no espaçamento entre linhas foram feitas (Ie3077).
  • Adicionamos resistência a SwipeToDismissBox para que o movimento só aconteça ao deslizar para dispensar e não na direção oposta (Ifdfb9).
  • Mudamos alguns dos valores padrão de parâmetro para que as funções CircularProgressIndicator fiquem de acordo com a orientação de UX do Material Design para Wear. Para a versão com controle Spinner/Indeterminant, o tamanho (40 -> 24 dp), o parâmetro indicatorColor (primary -> onBackground), a transparência trackColor (30% -> 10%) e a largura do traço (4 -> 3 dp) foram atualizados. Para a versão Progress/Determinate, a transparência trackColor (30%-> 10%) foi atualizada (I659cc).
  • Atualizamos os parâmetros de dimensionamento padrão do ScalingLazyColumn de acordo com as especificações de UX do Material Design mais recentes. Visualmente, isso faz com que os itens da lista comecem a ser dimensionados para o centro dela, mas que sejam menos dimensionados na borda do que antes (Ica8f3).
  • Alguns ajustes em ScalingLazyColumnDefaults.snapFlingBehavior para melhorar o final da animação (If3260).

Versão 1.0.0-alpha18

9 de março de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18 e androidx.wear.compose:compose-navigation:1.0.0-alpha18. A versão 1.0.0-alpha18 contém estas confirmações.

Mudanças na API

  • Várias melhorias no PositionIndicator: ShowResult foi renomeado como PositionIndicatorVisibility. Melhorias de desempenho para evitar cálculos quando não são necessários (Iaed9d).
  • Atualização da cor recomendada para o SplitToggleChip. Agora, o SplitToggleChip tem um plano de fundo de cor sólida quando selecionado ou desmarcado. A cor do ToggleControl é a principal indicação de que o componente foi verificado ou não. Adicionamos um novo elemento ToggleDefaults.splitToggleChipColors() para oferecer suporte ao novo esquema de cores. Também simplificamos os métodos toggleChipColors() removendo a splitBackgroundOverlayColor (I7e66e).
  • Adicionamos unadjustedSize ao elemento ScalingLazyListItemInfo, porque não é seguro calcular o tamanho original do item usando o tamanho escalonado e o fator de escalonamento, devido à precisão matemática do ponto flutuante (I54657, b/221079441).
  • HorizontalPageIndicator foi adicionado. Ele representa o número total de páginas e uma página selecionada. O indicador pode ser linear ou curvado, dependendo da forma do dispositivo. Ele também oferece suporte à personalização da forma do indicador, que define como cada indicador é representado visualmente (Iac898).
  • Atualizamos PickerState para que o numberOfOptions possa ser atualizado. Ele oferece suporte a casos de uso, como um DatePicker, em que o número de dias no mês muda dependendo do mês selecionado. O parâmetro construtor do PickerState mudou para o initialNumberOfOptions correspondente (Iad066).
  • O PositionIndicator fica oculto quando ele é uma barra de rolagem que não pode rolar (Id0a7f).
  • Para manter a consistência com o Scaffold, nosso componente da caixa de diálogo em tela cheia agora mostra um PositionIndicator e uma Vignette. Também estamos usando a ScalingLazyColumn em vez da Column, o que significa que o conteúdo da caixa de diálogo agora está no ScalingLazyListScope e geralmente precisa ser incluído pelo item { /* content */ }. A caixa de diálogo oferece suporte ao parâmetro verticalArrangement conforme necessário (Idea13).
  • Mudamos o nome da propriedade toggleIcon de ToggleChip e SplitToggleChip para toggleControl, a fim de seguir melhor o Material Design e ajudar os designers e desenvolvedores a navegar pela API (If5921, b/220129803).
  • Adicionamos uma nova entrada caption3 à Typology.Caption3 do Wear Material Theme, que é uma fonte pequena usada para textos mais longos, como textos jurídicos (I74b13, b/220128356).

Correções de bugs

  • A animação de ajuste para quando chega ao destino (Idb69d).
  • Mudanças no PositionIndicator são animadas agora (I94cb9).
  • Com base no feedback da IU/UX, mudamos a propriedade autoCentering da ScalingLazyColumn para que ela forneça apenas o espaço suficiente de forma que os itens com índice ScalingLazyListState.initialCenterItemIndex ou mais recentes possam ser totalmente rolados até o centro da janela de visualização. Isso permite que os desenvolvedores posicionem no centro da tela um ou dois itens, que não podem ser rolados, sobre o item inicialmente no centro. Isso significa que uma ScalingLazyColumn da autoCentering não vai conseguir rolar acima do initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2).
  • Adicionamos uma demonstração para o seletor de data e corrigimos um bug no PickerState, em que a initialSelectedOption não era aplicada até o seletor ser exibido (Id0d7e).
  • Para reduzir o corte de itens maiores da ScalingLazyColumn em telas redondas, aumentamos o preenchimento de conteúdo horizontal padrão de 8 para 10 dp (I0d609).
  • Confira se o PositionIndicator é exibido ao rolar (Ied9a2).

Versão 1.0.0-alpha17

23 de fevereiro de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17 e androidx.wear.compose:compose-navigation:1.0.0-alpha17. A versão 1.0.0-alpha17 contém estas confirmações.

Novos recursos

  • Adicionamos suporte a ajuste, que pode ser usado com o ScalingLazyColumn. Defina flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) para ativar o suporte ao ajuste (I068d3, b/217377069).
  • Adicionamos demonstrações do seletor usado para selecionar um horário no relógio de 24 horas ou 12 horas (Ie5552).

Mudanças na API

  • Um problema com fontes e estilos personalizados do TimeText em dispositivos quadrados foi corrigido (Iea76e).
  • ScalingLazyListLayoutInfo agora tem reverseLayout, viewportSize e propriedades de orientação correspondentes àquelas de LazyListLayoutInfo (I4f258, b/217917020).
  • ScalingLazyColumn agora tem uma propriedade userScrollEnabled correspondente àquela da LazyList (I164d0, b/217912513).
  • Os seletores agora têm um gradiente na parte de cima e de baixo por padrão (Iab92a).

Correções de bugs

  • Modificamos ScalingLazyColumn para que não preencha mais todo o espaço no pai. Em vez disso, ela vai ficar com o tamanho do conteúdo. Isso a torna consistente com o comportamento da LazyColumn. Se você quiser restabelecer o comportamento antigo, transmita Modifier.fillMaxWidth()/width()/widthIn() para o ScalingLazyColumn (I51bf8).
  • Melhoramos a mensagem de exceção em SwipeDismissableNavHost.kt que era acionada se a backstack de navegação estivesse vazia (I1b1dc).

Versão 1.0.0-alpha16

9 de fevereiro de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16 e androidx.wear.compose:compose-navigation:1.0.0-alpha16. A versão 1.0.0-alpha16 contém estas confirmações.

Novos recursos

  • O CircularProgressIndicator foi adicionado. Os indicadores de progresso exibem a duração de um processo ou um tempo de espera não especificado. Eles oferecem suporte para uma lacuna (corte) para TimeText ou outros componentes, se usados em tela cheia (Iab8da).

Mudanças na API

  • Os seletores agora têm um parâmetro flingBehavior. O valor padrão os ajusta à opção mais próxima ao rolar ou deslizar (I09000).
  • Uma API de números inteiros foi acrescentada a InlineSlider e Stepper (I1b5d6).

Correções de bugs

  • O initialCenterItemIndex padrão foi alterado de ScalingLazyListState de 0 para maior que 1. Isso significa que, a menos que ele seja modificado na construção do estado para ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), o segundo item da lista (índice = 1) vai ser colocado no centro da janela de visualização na inicialização, e o primeiro (índice = 0) vai ser colocado antes dele. Isso permite um melhor efeito visual padrão, já que a maior parte da janela de visualização será preenchida com itens de lista (I0c623, b/217344252).
  • Reduzimos de 10% para 5% o extraPadding padrão de ScalingLazyColumn, que é fornecido para garantir que haja vários itens de lista a serem mostrados, mesmo quando o tamanho de alguns deles é reduzido. Isso evita escrever itens adicionais na lista que podem não aparecer na janela de visualização. Se a função scalingParams não padrão estiver sendo usada (escalonamento mais extremo, por exemplo), o desenvolvedor vai poder ajustar o padding extra usando viewportVerticalOffsetResolver (I76be4).
  • Correção de um problema com TimeText em várias linhas no dispositivo quadrado (Ibd3fb).
  • Modificamos ScalingLazyColumn para que não preencha mais todo o espaço no pai. Em vez disso, ela vai ficar com o tamanho do conteúdo. Isso a torna consistente com o comportamento de LazyColumn. Se você quiser restabelecer o comportamento antigo, transmita Modifier.fillMaxSize() para ScalingLazyColumn. OBSERVAÇÃO: essa mudança está incompleta e vai ser resolvida em uma etapa posterior na próxima versão Alfa (I3cbfa).

Versão 1.0.0-alpha15

26 de janeiro de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15 e androidx.wear.compose:compose-navigation:1.0.0-alpha15. A versão 1.0.0-alpha15 contém estas confirmações.

Mudanças na API

  • Adicionamos uma nova propriedade autoCentering ao componente ScalingLazyColumn. Quando definida como verdadeira (o padrão), isso garante que todos os itens, incluindo o primeiro e o último, possam ser rolados de modo que fiquem visíveis no centro da janela de visualização das listas. Se você usa a centralização automática, é recomendável definir o padding de conteúdo vertical como 0.dp. Se a propriedade autoCentering e o padding de conteúdo vertical forem fornecidos, eles vão fazer com que mais espaço fique disponível antes do primeiro e depois do último item da lista, permitindo que eles sejam rolados ainda mais (I2a282, b/214922490).
  • Adicionamos um componente Dialog, que permite que qualquer elemento combinável acione uma caixa de diálogo em tela cheia sobre outro conteúdo. Quando a caixa é mostrada, é possível deslizar para dispensar e mostrar o conteúdo do pai dela em segundo plano durante o gesto de deslizar. É esperado que o conteúdo da caixa seja Alert ou Confirmation (renomeados dos componentes anteriores AlertDialog e ConfirmationDialog). Alert, Confirmation e Dialog estão todos no pacote androidx.wear.compose.material.dialog. Os alertas e a confirmação podem ser usados como destinos de navegação. Também há a adição de ColumnScope aos parâmetros Alert e Confirmation conforme necessário (Ia9014).
  • Removemos onSurfaceVariant2 do Compose para as cores de tema do Material do WearOS e substituímos os usos na biblioteca por onSurfaceVariant (Icd592).
  • Adição de um método para selecionar programaticamente uma opção no PickerState. A opção selecionada inicialmente agora também pode ser especificada ao criar um PickerState (I92bdf).
  • Adicionamos suporte à personalização do comportamento de deslizar rapidamente do componente ScalingLazyColumn (I1ad2e, b/208842968).
  • Adicionamos NavController.currentBackStackEntryAsState() à biblioteca Wear.Compose.Navigation (If9028, b/212739653).
  • Modifier.onRotaryScrollEvent() e Modifier.onPreRotaryScrollEvent() foram adicionados para dispositivos Wear com um botão lateral giratório (I18bf5, b/210748686).

Versão 1.0.0-alpha14

12 de janeiro de 2022

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14 e androidx.wear.compose:compose-navigation:1.0.0-alpha14. A versão 1.0.0-alpha14 contém estas confirmações.

Novos recursos

  • Adicionamos vários métodos a ScalingLazyListState para permitir que o desenvolvedor controle a rolagem para itens específicos da lista, além de definir o deslocamento e o item inicial dela.

    Como parte dessa mudança, também modificamos o ScalingLazyList para que ele fique orientado próximo ao centro da janela de visualização do ScalingLazyList em vez de estar no início da janela de visualização.

    Uma nova propriedade anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter foi adicionada a ScalingLazyList para controlar se o centro (ScalingLazyListAnchorType.ItemCenter) ou a Edge (ScalingLazyListAnchorType.ItemStart) precisam estar alinhados à linha central da janela de visualização.

    Como resultado, ScalingLazyListItemInfo.offset e ScalingLazyListItemInfo.adjustedOffset mudaram e agora refletem o deslocamento do item em relação à posição dele e ao anchorType da lista. Por exemplo, para uma ScalingLazyColumn com um anchorType do ItemCenter e um item de lista posicionado no meio na linha central da janela de visualização, o deslocamento seria 0.

    Os novos métodos são scrollTo, animatedScrollTo, centerItemIndex e centerItemOffset (I61b61).

  • Adicionamos um gerenciador de botão "Voltar" ao SwipeDismissableNavHost para que, ao pressionar "Voltar", você navegue até o nível anterior na hierarquia de navegação (I5b086, b/210205624).

Versão 1.0.0-alpha13

15 de dezembro de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13 e androidx.wear.compose:compose-navigation:1.0.0-alpha13. A versão 1.0.0-alpha13 contém estas confirmações.

Mudanças na API

  • Tornamos o RangeIcons interno, referenciado internamente por InlineSlider e Stepper (I927ec).

Correções de bugs

  • Foi corrigido um problema em que o SwipeDismissableNavHost adicionava um destino à hierarquia do Compose antes de alcançar o estado de ciclo de vida CREATED (criado), resultando em uma IllegalStateException. Essa correção era um pré-requisito para atualizar a dependência de navigation-compose para 2.4.0-beta02 e muito mais (I40a2b, b/207328687).

  • Foi adicionada uma classe de tipo enumerado Drawables para receber recursos drawable dentro da biblioteca do Wear Compose. Assim, a reflexão não vai mais ser necessária. Isso corrige um bug em que os drawables de biblioteca eram removidos quando minifyEnabled=true ou shrinkResources=true (Ib2a98).

  • Foram adicionados testes para Stepper no Wear Compose (I2d03a).

  • Adição de amostras para SwipeDismissableNavHost na navegação do Wear Compose (I85f06).

Versão 1.0.0-alpha12

1º de dezembro de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12 e androidx.wear.compose:compose-navigation:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estas confirmações.

Novos recursos

  • Adicionamos o componente Stepper, que permite aos usuários fazer uma seleção com base em um intervalo de valores. O Stepper é um controle de tela cheia com botões de aumentar e diminuir na parte de cima e de baixo e um slot no meio para receber ícones ou texto. Os ícones do botão podem ser personalizados, se necessário (I625fe).

  • Adicionamos dois novos elementos combináveis para mostrar caixas de diálogo: AlertDialog aguarda uma resposta do usuário e mostra um título, um ícone, uma mensagem e a) dois botões para opções simples de confirmação/recusa ou b) ícones empilhados verticalmente ou botões de alternância para opções mais flexíveis. O componente ConfirmationDialog mostra uma confirmação com um tempo limite. Essa caixa de diálogo simples tem slots para um título e um ícone (animado) (Ic2cf8).

Mudanças na API

  • Unidades (milissegundos) foram adicionadas aos valores sugeridos de duração da caixa de diálogo (I09b48).

Versão 1.0.0-alpha11

17 de novembro de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11 e androidx.wear.compose:compose-navigation:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.

Novos recursos

  • Adicionamos um componente seletor que permite que o usuário selecione um item em uma lista de rolagem. Por padrão, a lista de itens selecionáveis é repetida "infinitamente" nas duas direções, para dar a impressão de um cilindro giratório visto da lateral. Dois recursos serão adicionados em versões futuras: o ajuste a um valor depois de deslizar e a adição de uma função ao PickerState para definir/rolar até o valor atual (I6461b).

Mudanças na API

  • Foi adicionado um ScalingLazyItemScope e alguns novos modificadores fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight para permitir que os itens da lista sejam dimensionados com base no tamanho do contêiner pai. Os itens podem ser definidos para preencher total ou parcialmente o tamanho do arquivo pai. Isso expõe a funcionalidade já disponível na LazyRow/Column (I4612f).
  • Adição de suporte à ScalingLazyColumn para permitir que os itens tenham uma chave. Também foram adicionados métodos de conveniência para permitir a adição de itens de matrizes e listas (Ic1f89).

Correções de bugs

  • Mais exemplos de TimeText (I8cb64).

Versão 1.0.0-alpha10

3 de novembro de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10 e androidx.wear.compose:compose-navigation:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.

Novos recursos

  • Um InlineSlider foi adicionado para o Wear Compose. O InlineSlider permite que os usuários escolham um valor em um intervalo. O intervalo é mostrado como uma barra entre os valores mínimo e máximo, em que os usuários podem selecionar um único valor (If0148).

  • Confira o novo codelab do Compose para WearOS.

Mudanças na API

  • A minSdkVersion da Macrobenchmark agora é 23 (If2655).

Correções de bugs

  • O processamento de transição em SwipeDismissableNavHost de SideEffect foi atualizado (I04994, b/202863359).
  • O processamento de transição em SwipeDismissableNavHost foi atualizado (I1cbe0, b/202863359).

Versão 1.0.0-alpha09

27 de outubro de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha09, androidx.wear.compose:compose-material:1.0.0-alpha09 e androidx.wear.compose:compose-navigation:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estas confirmações.

Novos recursos

  • Lançamos a Prévia para desenvolvedores do Compose no Wear OS. Confira nossa postagem do blog (link em inglês), que fornece informações sobre os principais elementos combináveis e links para começar a usar outros recursos.

Mudanças na API

  • Adicionamos suporte à personalização de todas as cores no tema de cores do Material Design para Wear (I4759b, b/199754668).

Correções de bugs

  • Foram adicionados exemplos SwipeToDismissBox que mantêm o estado (Ibaffe).
  • Foram adicionados links para os guias do KDocs em developer.android.com para CurvedText, TimeText e SwipeToDismissBox (I399d4).
  • Agora, o SwipeDismissableNavHost é gerado quando não há um destino atual, o que indica que o NavGraph não foi criado usando a função utilitária wear.compose.navigation.composable (I91403).
  • Foram adicionadas mais documentações e exemplos do uso da fonte de tempo em TimeText (I4f6f0).

Versão 1.0.0-alpha08

13 de outubro de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha08, androidx.wear.compose:compose-material:1.0.0-alpha08 e androidx.wear.compose:compose-navigation:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estas confirmações.

Mudanças na API

  • Renomeamos as propriedades body do AppCard e do TitleCard como content e as movemos para o final da lista de propriedades para que elas sejam fornecidas como uma lambda final. Além disso, bodyColor foi renomeado como contentColor para consistência com os novos nomes de slot (I57e78).

Correções de bugs

  • Foram adicionados links para os guias do KDocs em developer.android.com para componentes de botão, cartão, ícone, tema, indicador de posição e escalonamento lento de colunas (I22428).
  • Foi corrigido o SwipeToDismissBox do WearOS, que às vezes não processava ações de deslizar (I9387e).
  • Foram acrescentados exemplos para Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip (Iddc15).
  • Novos testes de desempenho de microbenchmark para Card, Chip, ToggleChip, TimeText e ScalingLazyColumn (If2fe9).

Versão 1.0.0-alpha07

29 de setembro de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha07, androidx.wear.compose:compose-material:1.0.0-alpha07 e androidx.wear.compose:compose-navigation:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.

Novos recursos

  • Acréscimo de um componente CurvedText ao Material Design, que permite aos desenvolvedores escrever facilmente um texto curvado seguindo a curvatura de um círculo, geralmente na borda de uma tela circular (I19593).

Mudanças na API

  • Adicionados testes para TimeText (Idfead).
  • Transforme ArcPaddingValues em uma interface (Iecd4c).
  • Adicionada animação ao SwipeToDismissBox (I9ad1b).
  • Adicionado parâmetro hasBackground à API SwipeToDismissBox para que o gesto de deslizar possa ser desativado quando não houver conteúdo em segundo plano para exibir (I313d8).
  • O método rememberNavController() agora usa um conjunto opcional de instâncias Navigator que vão ser adicionadas ao NavController retornado para oferecer melhor suporte a navegadores opcionais, como os do Material de navegação do Accompanist (link em inglês) (I4619e).
  • Referência do NamedNavArgument do navegação-common e remoção da cópia de wear.compose.navigation (I43af6).

Correções de bugs

  • Correção da inconsistência do teste do CurvedRow em dispositivos menores (If7941).
  • Corrigida possível oscilação na CurvedRow quando o conteúdo é atualizado, garantindo que a linha curva seja medida novamente (Ie4e06).
  • ChipDefaults.gradientBackgroundChipColors() foi atualizado de acordo com as mudanças na especificação da UX. O gradiente agora começa com MaterialTheme.colors.primary com Alfa 32,5% e termina com MaterialTheme.colors.surface com Alfa @ 0% em um plano de fundo do MaterialTheme.colors.surface @ 75% Alfa (Id1548).
  • Atualizamos as cores dos ToggleChips para que, quando estiverem no estado selecionado, correspondam à orientação mais recente de UX do Material Design para Wear. Os ToggleChips selecionados agora têm um plano de fundo gradiente de MaterialTheme.color.surface @ 0% Alfa, na parte superior esquerda, a MaterialTheme.color.primary @ 32% Alfa, na parte inferior direita, sobre um plano de fundo de MaterialTheme.color.surface @ 75% Alfa. Isso resulta em uma diferença mais sutil entre as caixas marcadas e desmarcadas para o ToggleChip (Idd40b).

Versão 1.0.0-alpha06

15 de setembro de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06 e androidx.wear.compose:compose-navigation:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Novos recursos

  • Adicionamos o Scaffold, um elemento combinável para aplicativos de nível superior que oferece uma estrutura para processar a posição de PositionIndicators (como rolagem ou volume), uma área na parte de cima da tela para mostrar o horário e o status do aplicativo, além de também ter suporte a uma vinheta que desfoca a parte de cima e de baixo da tela para conteúdo rolável. A área principal do Scaffold é onde o conteúdo do aplicativo é colocado (I5e0bf).
  • Adição da implementação TimeText para o Wear Compose (I5654c).

Biblioteca Wear Compose Navigation

  • Adicionamos a primeira versão da biblioteca Wear Compose Navigation, que oferece integração entre as bibliotecas Wear Compose e Androidx Navigation. Ela proporciona uma forma simples de navegar entre funções @Composable, como os destinos no seu aplicativo.

  • Esta versão inicial oferece:

    • um elemento combinável SwipeDismissableNavHost, que hospeda um gráfico de navegação e tem navegação para trás com gestos de deslizar;
    • a extensão NavGraphBuilder.composable para ajudar na criação de gráficos de navegação;
    • o rememberSwipeDismissableNavController() para permitir a elevação de estado.
  • Exemplo de uso em que criamos duas telas e navegamos entre elas:

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • O Wear Compose Navigation é um pacote que inclui uma biblioteca separada para que os aplicativos WearCompose simples que implementam a própria navegação manual não precisem depender da biblioteca AndroidX Navigation.

Mudanças na API

  • O componente SwipeDismissableNavHost foi atualizado para oferecer suporte a rememberSaveable, definindo a identidade-chave para o plano de fundo e o conteúdo (I746fd).
  • Adição de um adaptador PositionIndicator que possa lidar com LazyListState (I21b88).
  • Atualizado o componente SwipeToDismissBox para oferecer suporte a rememberSaveable (Ie728b).
  • Adicionamos suporte a reverseLayout para o componente ScalingLazyColumn. Isso permite a inversão da direção de rolagem e do layout (I9e2fc).
  • A função performGesture e a classe GestureScope foram descontinuadas e substituídas por performTouchInput e TouchInjectionScope (Ia5f3f, b/190493367).
  • Renomeação de VignetteValue como VignettePosition e de VignetteValue.Both como VignettePosition.TopAndBottom (I57ad7).
  • ScalingLazyColumnState foi renomeado como ScalingLazyListState, ScalingLazyColumnItemInfo foi renomeado como ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo foi renomeado como ScalingLazyListLayoutInfo e ScalingLazyColumnScope foi renomeado como ScalingLazyListScope para o caso de decidirmos adicionar uma implementação de ScalingLazyRow no futuro (I22734).

Correções de bugs

  • Atualização da documentação do CompactChip para descrever o que acontece quando nenhum ícone ou etiqueta é fornecido (I4ba88).
  • Fizemos alguns ajustes nos componentes do card do Wear (I6b3d0).
    1. O espaçamento de TitleCard entre o título e o corpo foi reduzido de 8 dp para 2 dp.
    2. A fonte do cabeçalho TitleCard mudou de body para title3.
    3. O gradiente do plano de fundo do card foi modificado para parecer mais escuro.

Versão 1.0.0-alpha05

1º de setembro de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha05 e androidx.wear.compose:compose-material:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Mudanças na API

  • O elemento ArcPaddingValues foi marcado como @Stable (I57deb).
  • A classe ScalingLazyColumnState agora implementa a interface ScrollableState, oferecendo aos desenvolvedores acesso programático para rolar o componente (I47dbc).

Correções de bugs

  • Reduzimos o espaçamento entre o ícone e o texto nos elementos Chip e ToggleChip para deixá-los alinhados com as atualizações da especificação da UX (I83802).

Versão 1.0.0-alpha04

18 de agosto de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha04 e androidx.wear.compose:compose-material:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Novos recursos

  • Adicionada uma API SwipeToDismissBox e um modificador deslizante que podem ser usados para oferecer suporte a um gesto de deslizar da esquerda para a direita a fim de dispensar um elemento. Embora sejam independentes dos componentes de navegação, esses elementos podem ser usados para sair de uma tela e navegar para a outra. Foram adicionados testes de integração à demonstração de deslizar para dispensar (I7bbaa).
  • As interfaces ScalingLazyColumnItemInfo e ScalingLazyColumnLayoutInfo foram adicionadas à classe ScalingLazyColumnState para permitir que os desenvolvedores saibam as posições e os tamanhos reais dos itens em ScalingLazyColumn após a aplicação do escalonamento. Também corrigimos um bug na forma como o escalonamento era calculado ao aplicar o preenchimento de conteúdo da parte superior ao componente ScalingLazyColumn (I27c07).

Mudanças na API

  • A classe CurvedTextStyle foi adicionada para especificar opções de estilo de texto curvado. Ela é semelhante a TextStyle, mas agora só oferece suporte aos elementos color, fontSize e background. Mais opções de estilo serão adicionadas no futuro (I96ac3).
  • As interfaces ScalingLazyColumnItemInfo e ScalingLazyColumnLayoutInfo foram adicionadas à classe ScalingLazyColumnState para permitir que os desenvolvedores saibam as posições e os tamanhos reais dos itens em ScalingLazyColumn após a aplicação do escalonamento. Também corrigimos um bug na forma como o escalonamento era calculado ao aplicar o preenchimento de conteúdo da parte superior ao componente ScalingLazyColumn (I27c07).
  • A anotação @ExperimentalWearMaterialApi foi adicionada à enumeração SwipeDismissTarget, parte da API SwipeToDismissBox (I48b5e).

Correções de bugs

  • Adicionado material de teste para a API SwipeToDismissBox (I9febc).

Versão 1.0.0-alpha03

4 de agosto de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha03 e androidx.wear.compose:compose-material:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Mudanças na API

  • Foi adicionado o componente CurvedText, que permite que os desenvolvedores escrevam texto seguindo a curvatura de um círculo, geralmente na borda de uma tela circular (Id1267).
  • Renomeamos CardDefaults.imageBackgroundPainter() como CardDefaults.imageWithScrimBackgroundPainter() para deixar claro que a imagem de plano de fundo tem um scrim desenhado sobre ela (I53206).
  • Foi adicionado o componente ScalingLazyColumn. Com ele, é acrescentado um componente de lista para o Wear Material que oferece uma visualização olho de peixe, com o conteúdo da lista diminuindo de tamanho e ficando transparente à medida que a imagem é escalonada em direção à borda do componente (I7070c).

Correções de bugs

  • Mudamos a cor padrão do conteúdo do appName no AppCard em resposta a uma atualização das especificações de UX. A cor padrão do appName agora é MaterialTheme.colors.onSurfaceVariant. Além disso, adicionamos uma descrição do documento de parâmetro para o espaço do título (Ic4ad1).

Versão 1.0.0-alpha02

21 de julho de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha02 e androidx.wear.compose:compose-material:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Novos recursos

  • Uma nova classe, CurvedRow, foi adicionada para dispor elementos combináveis em um arco (I29941).
  • Um novo tipo de card, TitleCard, foi acrescentado para uso em apps, além de oferecer suporte para imagens, como o plano de fundo em cards para enfatizar o conteúdo deles (I53b0f).

Mudanças na API

  • Adicionado suporte de CurvedRow com o alinhamento radial, semelhante ao alinhamento vertical em uma linha (Id9de5).
  • Adicionada uma nova classe, CurvedRow, para dispor elementos de composição em um arco (I29941).
  • Um novo tipo de card, TitleCard, foi acrescentado para uso em apps, além de oferecer suporte para imagens, como o plano de fundo em cards para enfatizar o conteúdo deles (I53b0f).
  • Adicionados ícones de alternância (caixa de seleção, chave e botões de opção) a ToggleChipDefaults para facilitar a configuração de ToggleChip e SplitToggleChips para os desenvolvedores (I7b639).
  • O padding do conteúdo inicial e final do Chips foi atualizado, para ficar sempre em 14 dp, independente do Chip ter um ícone ou não. Anteriormente, eram 12.dp, se o ícone estivesse presente, e 14.dp, se não estivesse (I34c86).

Correções de bugs

  • Foram adicionados testes à CurvedRow (I93cdb).
  • As dependências do Wear Compose foram vinculadas ao Compose 1.0.0-rc01 (Ie6bc9).
  • O processamento da pintura de imagens de plano de fundo em Cards e Chips mudou para que a imagem fosse cortada, em vez de esticada, para manter as proporções de imagem (I29b41).
  • Mais demonstrações e testes de integração foram acrescentados ao Button e ao SwitchButton (5e27ed2).
  • Mais testes de Chip foram adicionados para cobrir as cores de conteúdo para imageBackgroundChips (Ia9183).

Versão 1.0.0-alpha01

1º de julho de 2021

Lançamento de androidx.wear.compose:compose-foundation:1.0.0-alpha01 e androidx.wear.compose:compose-material:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

O Wear Compose é uma biblioteca baseada em Kotlin, compatível com Compose e com Wear Material Design, uma extensão do Material Design para wearables WearOS. Esta primeira versão alfa contém implementações práticas e funcionais do seguinte:

  • Tema do Material Design: configura as cores, tipografia e formas de forma consistente nos componentes usados nessa biblioteca.
  • Chip, CompactChip: os chips têm forma de estádio e as variantes estão disponíveis para o conteúdo de ícones, rótulos e rótulos secundários.
  • - ToggleChip, SplitToggleChip: um tipo especializado de chip que inclui um slot para um ícone de alternância de dois estados, como um botão de opção ou caixa de seleção. Além disso, o SplitToggleChip tem duas áreas tocáveis, uma clicável e uma alternável.
  • Botão, CompactButton: os botões são circulares em forma, com um único slot de conteúdo para um ícone ou texto mínimo (máximo de três caracteres).
  • ToggleButton: um botão que ativa ou desativa uma ação, com um único slot para ícone ou mínimo de texto (máximo de três caracteres).
  • Card, AppCard: em forma retangular com cantos arredondados, oferecendo espaços para conteúdo como ícone, horário, título e corpo do app.

As versões futuras vão ampliar o conjunto de widgets para adicionar suporte a seletores, controles deslizantes, listas, indicadores de páginas, caixas de diálogo, indicadores de rolagem, avisos e outros componentes do Material Design.

Além disso, vai ser oferecido o suporte a outros recursos específicos de wearable, como layouts e textos curvos, além de scaffolding, para facilitar a criação de apps/sobreposições de desenvolvedores.

O Wear Compose Material foi projetado com os mesmos princípios do Compose Material, embora seja direcionado para wearables. A biblioteca Wear Compose Material deve ser usada no lugar da biblioteca Compose Material para criar um dispositivo wearable.

As duas bibliotecas "Material" precisam ser consideradas mutuamente exclusivas e não podem ser misturadas no mesmo app. Se os desenvolvedores incluem a biblioteca Compose Material nas dependências, isso sugere a) que há componentes ausentes na biblioteca Compose Material (nesse caso, fale para a gente sobre o que você precisa) ou b) o uso de um componente não recomendado para um dispositivo wearable.