Leanback

Crie apps para dispositivos Android TV usando widgets compatíveis com dpad e fragmentos de modelo.
Atualização mais recente Versão estável atual Próximo candidato a lançamento Versão Beta Versão Alfa
17 de novembro de 2021 - 1.1.0-rc02 - 1.2.0-alpha02

Declarar dependências

Para adicionar uma dependência a Leanback, 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 no arquivo build.gradle para seu app ou módulo:

Groovy

dependencies {
    def leanback_version = "1.2.0-alpha02"

    implementation "androidx.leanback:leanback:$leanback_version"

    // leanback-preference is an add-on that provides a settings UI for TV apps.
    implementation "androidx.leanback:leanback-preference:$leanback_version"

    // leanback-paging is an add-on that simplifies adding paging support to a RecyclerView Adapter.
    implementation "androidx.leanback:leanback-paging:1.1.0-alpha09"

    // leanback-tab is an add-on that provides customized TabLayout to be used as the top navigation bar.
    implementation "androidx.leanback:leanback-tab:1.1.0-beta01"
}

Kotlin

dependencies {
    val leanback_version = "1.2.0-alpha02"

    implementation("androidx.leanback:leanback:$leanback_version")

    // leanback-preference is an add-on that provides a settings UI for TV apps.
    implementation("androidx.leanback:leanback-preference:$leanback_version")

    // leanback-paging is an add-on that simplifies adding paging support to a RecyclerView Adapter.
    implementation("androidx.leanback:leanback-paging:1.1.0-alpha09")

    // leanback-tab is an add-on that provides customized TabLayout to be used as the top navigation bar.
    implementation("androidx.leanback:leanback-tab:1.1.0-beta01")
}

Para ver 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 existente clicando no botão de estrela.

Criar novo problema

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

Leanback-Grid: versão 1.0.0

Versão 1.0.0-alpha01

17 de novembro de 2021

androidx.leanback:leanback-grid:1.0.0-alpha01 é lançado. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

  • As seguintes classes/interfaces foram movidas de leanback para a nova biblioteca leanback-grid: BaseGridView, FacetProvider, FacetProviderAdapter, GridLayoutManager, HorizontalGridView, ItemAlignmentFacet, OnChildLaidOutListener, OnChildSelectedListener, OnChildViewHolderSelectedListener, VerticalGridView, ViewHolderTask, Visibility. Essa mudança preserva a compatibilidade binária. Qualquer pessoa que queira usar apenas os componentes de visualização em grade do leanback pode usar leanback-grid diretamente como uma dependência (If1e49).

Leanback Leanback-Preference: versão 1.2.0

Versão 1.2.0-alpha02

17 de novembro de 2021

Lançamento de androidx.leanback:leanback:1.2.0-alpha02 e androidx.leanback:leanback-preference:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.

Novos recursos

  • As seguintes classes/interfaces foram movidas de leanback para a nova biblioteca leanback-grid: BaseGridView, FacetProvider, FacetProviderAdapter, GridLayoutManager, HorizontalGridView, ItemAlignmentFacet, OnChildLaidOutListener, OnChildSelectedListener, OnChildViewHolderSelectedListener, VerticalGridView, ViewHolderTask, Visibility. Essa mudança preserva a compatibilidade binária. Qualquer pessoa que queira usar apenas os componentes de visualização em grade do leanback pode usar leanback-grid diretamente como uma dependência (If1e49).

Versão 1.2.0-alpha01

21 de julho de 2021

Lançamento de androidx.leanback:leanback:1.2.0-alpha01 e androidx.leanback:leanback-preference:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.

Novos recursos

  • O leanback GridLayoutManager se tornou público e pode ser trocado na BaseGridView (f316b5).

Mudanças na API

  • O leanback GridLayoutManager se tornou público e pode ser trocado na BaseGridView (f316b5).

Versão 1.1.0

Leanback: versão 1.1.0-rc02

21 de julho de 2021

Lançamento de androidx.leanback:leanback:1.1.0-rc02. A versão 1.1.0-rc02 contém essas confirmações (link em inglês).

Correções de bugs

  • Correção do bug em segundo plano do fragmento de detalhes (40d8e3).

Leanback Leanback-Preference: versão 1.1.0-rc01

7 de abril de 2021

Lançamento de androidx.leanback:leanback:1.1.0-rc01 e androidx.leanback:leanback-preference:1.1.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.

  • Correção dos vazamentos de visualizações em SearchSupportFragment() (6c47a1, b/171909417).
  • O reconhecedor de fala se tornou opcional para SearchSupportFragment (4ff949,b/169936953).

Leanback-Paging: versão 1.1.0-alpha09

17 de novembro de 2021

androidx.leanback:leanback-paging:1.1.0-alpha09 é lançado. A versão 1.1.0-alpha09 contém estas confirmações.

Correções de bugs

  • Atualização para usar as APIs de paginação mais recentes.

Leanback-Paging: versão 1.1.0-alpha08

21 de julho de 2021

Lançamento de androidx.leanback:leanback-paging:1.1.0-alpha08. A versão 1.1.0-alpha08 contém estas confirmações.

Mudanças na API

  • Adicionadas as APIs .peek() e .snapshot() ao PagingDataAdapter, permitindo a inspeção dos dados apresentados sem acionar a busca da página (Ic8917).

Leanback-Paging: versão 1.1.0-alpha07

13 de janeiro de 2021

Lançamento de androidx.leanback:leanback-paging:1.1.0-alpha07. A versão 1.1.0-alpha07 contém estas confirmações

Mudanças na API

  • As propriedades de conveniência, CombinedLoadStates.refresh, CombinedLoadStates.prepend, CombinedLoadStates.append foram atualizadas para fazer a transição de Loading para NotLoading somente depois que os estados de carregamento do mediador e da origem forem NotLoading para garantir que a atualização remota tenha sido aplicada (I65619).

Leanback Leanback-Preference Leanback-Tab versão 1.1.0-beta01

2 de dezembro de 2020

Lançamento de androidx.leanback:leanback:1.1.0-beta01, androidx.leanback:leanback-preference:1.1.0-beta01 e androidx.leanback:leanback-tab:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações.

Correções de bugs

  • Correção de vazamento da visualização ao enviar VerticalGridSupportFragment para a pilha de retorno (Iaac69, b/171909417).
  • Correção de vazamento da visualização ao enviar BrowseSupportFragment para a pilha de retorno (I34483, b/171909417).
  • Correção de vazamento da visualização ao enviar DetailsSupportFragment para a pilha de retorno (Ifec9e, b/171909417).
  • Correção de vazamento da visualização ao enviar RowsSupportFragment para a pilha de retorno (I985d4, b/171909417).
  • Correção da animação de transição em segundo plano GuidedStepSupportFragment (I86d15, b/173647688).
  • Correção da IllegalArgumentException ao restaurar GuidedStepSupportFragment (Ic829f, b/172000115).
  • Correção de GridLayoutManager NullPointerException em findContaingItemView() quando clearFocus() (Id0e42)

Leanback-Paging versão 1.1.0-alpha06

2 de dezembro de 2020

Lançamento de androidx.leanback:leanback-paging:1.1.0-alpha06. A versão 1.1.0-alpha06 contém estas confirmações.

Mudanças na API

  • As APIs dataRefreshFlow / dataRefreshListener foram removidas porque são redundantes com relação às atualizações loadStateFlow / Listener. Para aqueles que estão migrando, o equivalente de loadStateFlow é:

    loadStateFlow.distinctUntilChangedBy { it.refresh }
        .filter { it.refresh is NotLoading }
    

    (Ib5570, b/173530908).

  • Suspensão total dos métodos dataRefreshFlow / Listener com uma cláusula replaceWith (I6e2dd).

Versão 1.1.0-alpha05

1º de outubro de 2020

androidx.leanback:leanback-*:1.1.0-alpha05 é lançado. A versão 1.1.0-alpha05 contém estas confirmações.

Novos recursos

  • Permita que a navegação A11Y respeite os atributos GridLayoutManager, focusOutFront e focusOutEnd (b/161390258).

Correções de bugs

  • Correção do vazamento da visualização em GuidanceStylist.onDestroyView() (b/164841457).
  • Correção do ConcatAdapter no GridLayoutManager (b/165694295).
  • leanback-tab: melhorias no Javadoc e pequena refatoração de código (aosp/1393383).
  • Remoção do método setRecyclerView da API, que foi adicionado quando o mesmo método se tornou obsoleto no RecyclerView. Atualização do leanback lib para usar o novo método da API addRecyclerListener do RecyclerView (I14798).

Versão 1.1.0-alpha04

11 de agosto de 2020

Lançamento de androidx.leanback:leanback:1.1.0-alpha04, androidx.leanback:leanback-paging:1.1.0-alpha04, androidx.leanback:leanback-preference:1.1.0-alpha04 e androidx.leanback:leanback-tab:1.1.0-alpha04. A versão 1.0.0-alpha04 contém essas confirmações.

Novos recursos

  • O LeanbackTabLayout oferece a navegação superior, normalmente exibida horizontalmente na parte superior do app, na experiência de navegação.
  • A Paging para Leanback simplifica a adição de compatibilidade com a paginação para um RecyclerView.Adapter.
  • Adição de temas appcompat para leanback que simplificarão a criação de uma base de código única entre dispositivos móveis e TVs.

Mudanças na API

  • Adição de adaptador baseado em asyncpagingdatadiffer para widgets de Leanback (If0dfe).
  • Adição de um TabLayout personalizado para ser usado como barra de navegação superior no Leanback (I1e304)

Versão 1.1.0-alpha03

18 de dezembro de 2019

Lançamento de androidx.leanback:leanback:1.1.0-alpha03 e androidx.leanback:leanback-preference:1.1.0-alpha03. O Leanback Versão 1.1.0-alpha03 contém essas confirmações e o Leanback-Preference Versão 1.1.0-alpha03 contém essas confirmações (links em inglês).

Novos recursos

  • A BaseGridView agora é compatível com velocidades de rolagem personalizadas (aosp/952718).
  • O toque em itens com etapas guiadas está mais fácil de usar (aosp/1167964).
  • A BaseGridView OnLayoutCompleteListener foi exposta para que os apps possam realizar transformações de View após a passagem do layout (aosp/1164409, link em inglês)

Mudanças na API

  • Adição de uma nova API para permitir velocidades de rolagem personalizadas na BaseGridView (aosp/952718).
  • Adição de uma nova API para adicionar OnLayoutCompleteListener a BaseGridView (aosp/1164409).

Correções de bugs

  • Correção de um bug em que a passagem rápida de layout não atualiza o alinhamento de um filho (aosp/1122745).
  • Correção de uma falha de pilha excedente no widget Picker durante a mudança de foco (aosp/1168473).

Mudanças na dependência

  • Leanback-preference: a dependência de androidx.preference foi fixada a 1.1.0 (aosp/1181902).

Versão 1.1.0-alpha02

7 de maio de 2019

Lançamento de androidx.leanback:leanback:1.1.0-alpha02 e androidx.leanback:leanback-preference:1.1.0-alpha02. As confirmações incluídas nessa versão podem ser encontradas em leanback commits e leanback-preference commits (links em inglês).

Novos recursos

  • RowsSupportFragment agora tem permissão para compartilhar ViewHolders com outros RowsSupportFragments, o que pode melhorar o desempenho de uma IU com várias guias.

Mudanças na API

  • Adicionado PlaybackSupportFragment.setShowOrHideControlsOverlayOnUserInteraction() para permitir que o app desative os controles automáticos para ocultar/mostrar a reprodução quando o DPAD é pressionado.

Correções de bugs

  • Correção do tema de Fragments de leanback-preference corrompido devido a uma alteração na biblioteca de preferências.
  • Correção do bug de navegação quando a tecla BACK é pressionada em SearchEditText

Versão 1.1.0-alpha01

30 de janeiro de 2019

Lançamento do androidx.leanback:leanback 1.1.0-alpha01.

Novos recursos

  • Adição do widget PinPicker.
  • O recorte de contorno agora está desativado por padrão em dispositivos com pouca memória RAM.
  • Permissão para PlaybackSupportFragment personalizado, exibindo/ocultando o comportamento dos controles. (b/122918400)

Mudanças na API

  • O uso dos fragmentos de framework foi suspenso.
  • Nova classe PinPicker.

Correções de bugs

  • Corrigida uma falha na transação de fragmento após a interrupção de BrowseSupportFragment.
  • GuidedStepSupportFragment não pode cortar itens em VerticalGridView (aosp/787396).
  • onCreateActionsStylist() e onCreateGuidanceStylist() foram movidos do construtor para GuidedSupportFragment.onCreate() (aosp/787397).
  • Corrigido um bug em que SearchSupportFragment não conseguia se concentrar no fragmento de resultados (aosp/798833).
  • Corrigido um bug de rolagem em VerticalGridView e HorizontalGridView (aosp/858809).

Lançamento do androidx.leanback-preference 1.1.0-alpha01.

Novos recursos

  • Adição de classes de fragmento do AndroidX. Suspensão do uso de classes de fragmento do framework.
  • Agora, cores e fontes são baseadas nos atributos do tema do framework.

Mudanças na API

  • Novas classes de fragmento do AndroidX. Suspensão do uso de classes de fragmento do framework.