tv
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
16 de julho de 2025 | 1.0.1 | - | - | 1.1.0-alpha01 |
Declarar dependências
Para adicionar dependências em tv-foundation e tv-material, é preciso adicionar o repositório Maven do Google ao seu projeto. Consulte a seção Repositório Maven do Google para mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle
do
seu app ou módulo:
Groovy
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha12" implementation "androidx.tv:tv-material:1.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha12") implementation("androidx.tv:tv-material:1.1.0-alpha01") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Não há notas de versão para este artefato.
Tv-Material versão 1.1
Versão 1.1.0-alpha01
15 de janeiro de 2025
Lançamento de androidx.tv:tv-material:1.1.0-alpha01
. A versão 1.1.0-alpha01 contém estas confirmações.
Mudanças na API
- Mudança de
FocusEnterExitScope.cancelFocus()
paracancelFocusChange()
(I89959). FocusProperties.enter
eFocusProperties.exit
foram substituídos poronEnter
eonExit
, respectivamente,usando um escopo de receptor em vez do parâmetroFocusDirection
. (I6e667)
Correções de bugs
- Movemos
CompositingStrategy.OffScreen
da superfície para o texto para corrigir o texto instável durante o escalonamento. (I92b15f17) - Correção do gerenciamento de foco corrompido no carrossel (Ie508b721375).
- A superfície (não interativa) tem uma implementação simplificada em comparação com as interativas. (I7ea545150)
Tv-Material versão 1.0
Versão 1.0.1
16 de julho de 2025
Lançamento de androidx.tv:tv-material:1.0.1
. A versão 1.0.1 contém estas confirmações.
Correções de bugs
- Atualizamos a altura do
NavigationDrawerItem
para corresponder às especificações. (cf9a3ce) - A configuração da estratégia de composição foi movida do elemento combinável Surface para o elemento combinável Text. Isso corrige o bug em que o ExoPlayer não era renderizado nos elementos combináveis Surface em versões mais antigas da API do Android. (9858ffb)
Versão 1.0.0
21 de agosto de 2024
Lançamento de androidx.tv:tv-material:1.0.0
. A versão 1.0.0 é a primeira versão estável do androidx.tv:tv-material
.
Versão 1.0.0-rc02
7 de agosto de 2024
Lançamento de androidx.tv:tv-material:1.0.0-rc02
. A versão 1.0.0-rc02 contém estas confirmações.
Correções de bugs
- Corrigimos a animação de texto instável no elemento combinável Surface. (3163319)
Versão 1.0.0-rc01
10 de julho de 2024
Lançamento de androidx.tv:tv-material:1.0.0-rc01
. A versão 1.0.0-rc01 contém estas confirmações.
Versão 1.0.0-beta01
1º de maio de 2024
Lançamento de androidx.tv:tv-material:1.0.0-beta01
. A versão 1.0.0-beta01 contém estas confirmações.
Mudanças na API
- O
ColorScheme
e as funções de utilidade dele agora estão na versão estável. (If34fa). - O
LocalContentColor
agora é estável (I60ee2). - A API
Typography
agora é estável (I088d6). - As APIs Shapes agora estão estáveis (I0f5f4)
- A API Border agora está estável (I69281).
- A API Glow agora está estável (Iea5f1).
- O componente de ícone agora está estável (I62c2d)
- A API
LocalTextStyles
agora é estável (Iaded8). - A API
MaterialTheme
agora é estável (I2f541). - O componente de texto agora está estável (Ib9e31).
- O componente
RadioButton
agora está estável (Ia03c8). - O componente Switch agora está estável (I6cea3).
- Os componentes
Checkbox
agora estão estáveis (I7eafc) - Os componentes de superfície agora estão estáveis (I58758, I04aca).
NonInteractiveSurfaceDefaults
foi renomeado comoSurfaceDefaults
eNonInteractiveSurfaceColors
comoSurfaceColors
(I0812e).- O Selectable Surface agora usa a terminologia "selecionar" em vez de "verificar", porque ambos têm significados semânticos diferentes (I5a206).
NavigationDrawer
eNavigationDrawerScope
agora estão na versão estável (I249c1).- O componente
NavigationDrawerItem
agora é estável (Id6986). - Os componentes Tab e
TabRow
agora estão na versão estável (I92d92). - Os componentes
Button
,OutlinedButton
,IconButton
,OutlinedIconButton
eWideButton
agora são estáveis (Ib4de8) - Os componentes
Card
,ClassicCard
,CompactCard
,WideClassicCard
,StandardCardContainer
eWideCardContainer
agora são estáveis (I34390) StandardCardLayout
foi renomeado comoStandardCardContainer
eWideCardLayout
comoWideCardContainer
(I08883).CardContainerDefaults.ImageCard
foi removido, eCardDefaults.ContainerGradient
foi renomeado comoCardDefaults.ScrimBrush
(I6adfe). Você pode usarCard
em vez deCardContainerDefaults.ImageCard
nos contêineres de card.ListItem
eDenseListItem
agora estão na versão estável (Idebd9).ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
eListItemDefaults.SelectedContainerColorOpacity
agora são particulares (I5d533)- Reorganizamos os parâmetros de
ListItem
e renomeamosListItemDefaults.ListItemElevation
comoListItemDefaults.TonalElevation
(Id6841). O parâmetroheadlineContent
foi movido para a parte de cima do elemento combinável. Antes, era possível usar a sintaxe de lambda final do Kotlin para transmitir oheadlineContent
. Agora, você vai precisar usar a sintaxe de parâmetro nomeado para fornecer oheadlineContent
. LocalAbsoluteTonalElevation
agora é interno (Ibfc65).- O componente
ImmersiveList
foi removido. Confira este exemplo para saber como criar o seu. (Id48da). - Os componentes tv-material que expõem um
MutableInteractionSource
na API foram atualizados para expor umMutableInteractionSource
anulável que tem "null" como padrão. Não há mudanças semânticas aqui: transmitir nulo significa que você não quer elevar oMutableInteractionSource
, e ele será criado dentro do componente, se necessário. A mudança para nulo permite que alguns componentes nunca aloquem umMutableInteractionSource
e que outros componentes só criem uma instância quando necessário, o que melhora o desempenho desses componentes. Se você não estiver usando oMutableInteractionSource
transmitido a esses componentes, recomendamos transmitir "null". Também é recomendável fazer mudanças semelhantes nos seus próprios componentes. (I309b4, b/298048146). - O parâmetro
TextAlign
do componente TV Text agora não é nulo (Ib73b1, b/299490814). - Introduzimos um valor especial "Unspecified" para os campos
TextAlign
,TextDirection
,Hyphens
eLineBreak
doParagraphTextStyle
a ser substituído (I4197e, b/299490814).
Mudanças de comportamento
- O valor padrão do parâmetro
shape
paraSurface
não interativos mudou paraRectangleShape
(I1b859cb) - Alguns recursos do carrossel foram removidos para o lançamento Beta porque as APIs necessárias são experimentais (I0e755d4).
- Mudar
contentColor
emSurface
não anima mais entre estados (I436e794f)
Versão 1.0.0
Versão 1.0.0-alpha12
15 de janeiro de 2025
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha12
. A versão 1.0.0-alpha12 contém estas confirmações.
Mudanças na API
- Limpeza de layouts lentos da tv-foundation. Consulte as notas da versão 1.0.0-alpha11 para migrar dos layouts lentos do tv-foundation. (I2fdd3, b/358913893).
Versão 1.0.0-alpha11
10 de julho de 2024
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha11
. A versão 1.0.0-alpha11 contém estas confirmações.
Mudanças na API
- Os layouts lentos de TV foram descontinuados da biblioteca tv-foundation. Consulte este tíquete para saber como migrar dos layouts lentos da TV. (I0855f, b/332674072).
PlatformImeOptions
agora é uma classe concreta em vez de uma interface. (If40a4).
Versão 1.0.0-alpha10
4 de outubro de 2023
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha10
e androidx.tv:tv-material:1.0.0-alpha10
. A versão 1.0.0-alpha10 contém estas confirmações.
Novos recursos
- Introduzimos
NavigationDrawerItem
para ser usado emNavigationDrawer
eModalNavigationDrawer
. (I4b491). - Adicione o perfil de referência à biblioteca tv-foundation. (2b57fd7)
- Adicione o perfil de referência à biblioteca tv-material. (1711ff5).
Mudanças na API
NavigationDrawerScope.doesTabRowHaveFocus
foi renomeado comoNavigationDrawerScope.hasFocus
(I8286b).TabRowScope.isActivated
foi renomeado comoTabRowScope.hasFocus
(Ic4273).
Correções de bugs
- Corrigir a compatibilidade do carrossel com itens adjacentes que usam APIs de restauração de foco. (7b2a7a4)
- Desativa a indicação de brilho para API_LEVEL abaixo de 28, já que não é compatível com o SO. (6d3616f).
- Correção de uma falha de ANR causada pelo posicionamento inadequado de itens em contêineres lentos ao rolar rapidamente na direção inversa. (642d65c)
- Remoção do padding de segundo plano na gaveta de navegação modal. (69965b2)
- Corrigir o efeito de tela esmaecida na gaveta de navegação para que ele seja mostrado acima do conteúdo em segundo plano, e não atrás dele. (d4bbefb)
Versão 1.0.0-alpha09
6 de setembro de 2023
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha09
e androidx.tv:tv-material:1.0.0-alpha09
. A versão 1.0.0-alpha09 contém estas confirmações.
Mudanças na API
- Adição da interface
ReusableComposition
para gerenciar o ciclo de vida e a reutilização de subcomposições. (I812d1, b/252846775). - Sincronize o fork tv-foundation com o compose-foundation. (I737c3, b/287011882)
- Sobrecarga de
LazyLayout
adicionada. Ela aceita uma lambda deLazyLayoutItemProvider
, não um objeto simples como antes. A sobrecarga anterior foi descontinuada. (I42a5a). - Adicione
TvKeyboardAlignment
para permitir que o desenvolvedor configure a posição do teclado na tela usando oAndroidImeOptions
. (Idb772). - Adicione
rememberCarouselState
para lembrarCarouselState
comSaver
ao TV Compose Material. (Id7275) - Mudança do parâmetro
scrimColor: Color
parascrimBrush:Brush
, permitindo que os usuários adicionem gradientes à tela escura. (I254d4).
Versão 1.0.0-alpha08
26 de julho de 2023
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha08
e androidx.tv:tv-material:1.0.0-alpha08
. A versão 1.0.0-alpha08 contém estas confirmações.
Novos recursos
- Introdução aos componentes de chip para material do Compose para TV. (I86da4).
- Adicione o componente
ListItem
ao TV Compose Material. (I3f0b3) - Adicione o componente
DenseListItem
ao TV Compose Material. (I536bf).
Mudanças na API
- As APIs públicas de material de TV foram marcadas como experimentais. (I632e7).
- Introduzimos
TabRowScope
para compartilhar o estado do elemento combinávelTabRow
com o elemento combinável Tab e renomeamos as propriedadesTabColors
. (Ief587)
Versão 1.0.0-alpha07
7 de junho de 2023
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha07
e androidx.tv:tv-material:1.0.0-alpha07
. A versão 1.0.0-alpha07 contém estas confirmações.
Mudanças na API
- As indicações de escala dos componentes agora incluem "Nenhum" para desativar o escalonamento. (I50df5).
- Adição de suporte para clique longo na superfície de material da TV, em cards e botões. (Id2b89).
CarouselItem
eCarouselScope
foram removidos. A animação de conteúdo em primeiro plano pode ser feita no slide usandoModifier.animateEnterExit
deAnimatedContentScope
. (Ic038e).- Os parâmetros
color
econtentColor
foram mesclados comocolors
para a superfície material da TV. (Ie69eb). - Introdução do elemento combinável
RadioButton
no Material para TV. (I08690) - Introdução do elemento combinável
Switch
no Material para TV. (I45e29). - Introdução do elemento combinável
Checkbox
no Material para TV. (I6a45a). - Introduzimos uma superfície não interativa no Material para TV. (Ic5f85).
- Tornar as indicações internas. (Ibff82).
Versão 1.0.0-alpha06
19 de abril de 2023
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha06
e androidx.tv:tv-material:1.0.0-alpha06
. A versão 1.0.0-alpha06 contém estas confirmações.
Novos recursos
- Adição de implementações de cards do Material 3 otimizadas para TV.
- Adicione implementações de botões do Material 3 otimizadas para TV.
Mudanças na API
CarouselSlide
eslideCount
emCarousel
foram renomeados comoCarouselItem
eitemCount
. (Ie554c).forward
ebackward
ContentTransforms
foram renomeados comoStartToEnd
eEndToStart
. (Ie554c).
Correções de bugs
- Processa o botão Voltar do DPAD quando o foco está em
NavigationDrawer
. (d654f4)
Versão 1.0.0-alpha05
22 de março de 2023
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha05
e androidx.tv:tv-material:1.0.0-alpha05
. A versão 1.0.0-alpha05 contém estas confirmações.
Mudanças na API
- Introdução do elemento combinável da gaveta de navegação lateral em
tv-material
. Para saber como usar esse elemento combinável, consulte os exemplos. (I12c08) - Introdução do elemento combinável Icon no Material 3 para TV (I72db9)
- Apresentação do elemento combinável Surface para
tv-material
com indicações como borda, brilho e escala, que podem ser usadas para criar componentes que destacam claramente o elemento em foco na tela da TV. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Atualização de
CarouselItem
paraCarouselSlide
para corresponder ao nome do parâmetroslideCount
na API "Carrossel" (Ic4299)
Versão 1.0.0-alpha04
8 de fevereiro de 2023
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha04
e androidx.tv:tv-material:1.0.0-alpha04
. A versão 1.0.0-alpha04 contém estas confirmações.
Novos recursos
- Em linhas, colunas e grades lentas, a tabela dinâmica vai ser substituída, se necessário, para que todo o item seja visualizado (11d7e40).
- Foram adicionadas personalização de cores da guia em estados diferentes (21b2925).
- O carrossel agora aceita animações personalizadas com rolagem manual para frente e para trás (431494a).
Mudanças na API
- Renomeação de
androidx.tv.material
comoandroidx.tv.material3
e nivelamento da estrutura do pacote emandroidx.tv.material3
(I6ca52). - O indicador na linha "Carousel Indicator" (Indicador do carrossel) agora é um slot que pode ser personalizado pelo desenvolvedor (268af2a).
focusableItem
foi renomeado comoimmersiveListItem
. Os usuários precisam adicionar manualmente o modificadorfocusable()
ouclickable()
comimmersiveListItem
(5dd5078) (b/263061052).- O
timeToDisplayMillis
foi renomeado comoautoScrollDurationMillis
no componente do carrossel (431494a). - O uso de
CarouselItem
agora é restrito paraCarousel
(431494a). - O componente do carrossel agora aceita
ContentTransforms
como a definição da animação em vez deEnterTransition
eExitTransitions
(431494a). - Introdução da API
PinnableContainer
propagada por listas lentas usando um local de composição que permite fixar o item atual (Ib8881, b/259274257, b/195049010). - A propriedade
mainAxisItemSpacing
foi adicionada aTvLazyListLayoutInfo
eTvLazyGridLayoutInfo
(I37765).
Correções de bugs
- A linha da guia foi atualizada para garantir que ela processe a contagem de guias de 0 ou 1 corretamente (I44009), (1c01525), (b/264018028).
- Foi corrigida a falha na pesquisa de foco quando
TvLazyColumn
contém umaTvLazyRow
vazia (e11b4fe), (b/260299091). - O modificador
clickable
agora funciona comImmersiveList
(5dd5078), (b/263061052). - A tecla "Voltar" agora é processada e usada para sair do carrossel em destaque (84c138c).
- O carrossel não perde o foco após vários pressionamentos de tecla rápidos (799489f).
- O carrossel não perde o foco após pressionamentos de tecla longos (b2cf37e).
- Correção de falhas ocorridas quando a contagem de slides do carrossel mudava (b261247).
Versão 1.0.0-alpha03
7 de dezembro de 2022
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha03
e androidx.tv:tv-material:1.0.0-alpha03
. A versão 1.0.0-alpha03 contém estas confirmações.
Novos recursos
- Agora,
TabRow
está disponível como uma API experimental e permite que os usuários adicionem as principais barras de navegação aos apps. Geralmente, dispositivos de TV esperam que as guias carreguem quando o título delas está focado na linha de guias. - Indicadores específicos de TV, como o sublinhado e o em forma de pílula são oferecidos prontos para uso. Os usos de exemplo podem ser encontrados em exemplos-tv.
Versão 1.0.0-alpha02
9 de novembro de 2022
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha02
e androidx.tv:tv-material:1.0.0-alpha02
. A versão 1.0.0-alpha02 contém estas confirmações.
Correções de bugs
- Melhora no desempenho da rolagem em uma coleção de
TvLazyRows/TvLazyColumns
, reduzindo o espaço de pesquisa de foco (I723a3).
Versão 1.0.0-alpha01
5 de outubro de 2022
Lançamento de androidx.tv:tv-foundation:1.0.0-alpha01
e androidx.tv:tv-material:1.0.0-alpha01
. A versão 1.0.0-alpha01 contém estas confirmações.
Novos recursos
A primeira versão Alfa contém implementações de pré-lançamento de componentes para casos de uso de TV, incluindo:
- Foi adicionado o modificador
scrollableWithPivot
para permitir que contêineres de rolagem não lentos (como Row, Column e Grid) façam com que o contêiner role o conteúdo para que o item em foco permaneça na mesma posição na tela da TV. - Os elementos combináveis
TvLazyRow
,TvLazyColumn
,TvLazyHorizontalGrid
eTvLazyVerticalGrid
foram adicionados. Dessa forma, o contêiner vai rolar o conteúdo para que o item em foco permaneça na mesma posição na tela da TV. - Foi adicionado um elemento combinável de carrossel em destaque para TV que permite ao usuário criar um carrossel de banner com rolagem automática.
- Foi adicionado um elemento combinável de lista imersiva para TV que permite ao usuário criar uma linha/coluna/grade imersiva que muda o plano de fundo com base no item da lista em foco.
Problemas conhecidos
- Por padrão, quando o contêiner de rolagem ganha foco, o primeiro elemento não ganha.
- O foco em um
TextField
nem sempre abre o teclado ou pode inibir a seleção de outros campos. - A rolagem vertical em uma
LazyColumn
contendoLazyRows
tem um desempenho ruim.