Recyclerview

Mostre grandes conjuntos de dados na IU enquanto minimiza o uso de memória.

Esta tabela lista todos os artefatos no grupo androidx.recyclerview.

Artefato Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
recyclerview 1.3.2 - 1.4.0-beta01 -
recyclerview-selection 1.1.0 - - 1.2.0-alpha01
Esta biblioteca foi atualizada pela última vez em 21 de agosto de 2024

Declarar dependências

Para adicionar uma dependência ao RecyclerView, é preciso adicionar 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.recyclerview:recyclerview:1.3.2"
    // For control over item selection of both touch and mouse driven selection
    implementation "androidx.recyclerview:recyclerview-selection:1.1.0"
}

Kotlin

dependencies {
    implementation("androidx.recyclerview:recyclerview:1.3.2")
    // For control over item selection of both touch and mouse driven selection
    implementation("androidx.recyclerview:recyclerview-selection:1.1.0")
}

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

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

Versão 1.4

Versão 1.4.0-beta01

21 de agosto de 2024

Lançamento do androidx.recyclerview:recyclerview:1.4.0-beta01, sem mudanças desde a versão 1.4.0-alpha02. A versão 1.4.0-beta01 contém estas confirmações.

Observação de compatibilidade: essa versão vai ser compilada apenas no SDK da API 35 (Vanilla Ice Cream) ou mais recente. Se você receber avisos do AGP (Plug-in do Android para Gradle) ao fazer upgrade, eles poderão ser suprimidos.

Versão 1.4.0-alpha02

7 de agosto de 2024

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

Observação de compatibilidade: essa versão vai ser compilada apenas no SDK da API 35 (Vanilla Ice Cream) ou mais recente. Se você receber avisos do AGP (Plug-in do Android para Gradle) ao fazer upgrade, eles poderão ser suprimidos.

Novos recursos

  • Suporte à taxa de atualização variável: a RecyclerView agora chama setFrameContentVelocity quando está rolando com o Overscroller (como a determinação de uma rolagem rápida ou suave). (I8f8a4).

Mudanças na API

  • Descontinuação das APIs ViewCompat.LAYOUT_DIRECTION_ (I51710, b/317055535).
  • A API RecyclerView$LayoutManager#isLayoutReversed foi adicionada. (I4970e).

Outras mudanças

  • Remoção da descrição manual do acesso às novas APIs da plataforma, já que isso acontece automaticamente pela modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, o R8 versão 3.3) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, o D8 versão 8.1). Os clientes que não usam o AGP são aconselhados a atualizar para o D8 versão 8.1 ou mais recente. Veja mais detalhes neste artigo. (Ia60e0, b/345472586).
  • O tipo de visualização do item foi adicionado às seções de rastreamento/vinculação de RecyclerView e rotular as pré-buscas de RV como "forçado - próximo frame necessário" se eles devem ser usados no próximo frame e, portanto, devem começar a trabalhar o mais rápido possível. (I8ec3e, b/309523615).
  • Atualize o compileSdk para 35. Consulte a "Nota de compatibilidade" acima para ver mais detalhes. 5dc41be (link em inglês)

Contribuição externa

  • O uso de GestureDetectorCompat foi descontinuado, já que GestureDetector está disponível no minSdk. (Icc4cd).

Versão 1.4.0-alpha01

18 de outubro de 2023

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

Mudanças na API

  • A API RecyclerView$LayoutManager#isLayoutReversed foi adicionada. (I4970e).

Correções de bugs

  • Correção de um bug que causava falhas esporádicas durante animações (I42f22b), também incluído na versão 1.3.2.

Versão 1.3.2

Versão 1.3.2

18 de outubro de 2023

Lançamento de androidx.recyclerview:recyclerview:1.3.2. A versão 1.3.2 contém estas confirmações.

Correções de bugs

  • Correção de um bug que causava falhas esporádicas durante animações. (I42f22b).

Versão 1.3.1

Versão 1.3.1

26 de julho de 2023

androidx.recyclerview:recyclerview:1.3.1 é lançado, sem mudanças desde a versão 1.3.1-rc01. A versão 1.3.1 contém estas confirmações.

Para acessar as notas de versões anteriores, consulte nossa página de notas da versão.

Versão 1.3.1-rc01

24 de maio de 2023

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

Os usuários do ViewPager2 precisam atualizar para pelo menos a versão 1.1.0-beta02 ao atualizar para esta versão do RecyclerView para evitar falhas.

Mudanças na API

  • Adicione os novos métodos setDebugAssertionsEnabled e setVerboseLoggingEnabled, que podem ajudar na depuração de problemas relacionados a RecyclerView em apps. (I514b9).

Correções de bugs

  • As falhas para usuários de ViewTreeLifecycleOwner (incluindo ComposeView) foram corrigidas anexando temporariamente as visualizações removidas temporariamente ao chamar onBind. (I7244f2c, b/265347515, b/283288295).

Versão 1.3.0

Versão 1.3.0

8 de março de 2023

androidx.recyclerview:recyclerview:1.3.0 é lançado, sem mudanças desde a versão 1.3.0-rc01. A versão 1.3.0 contém estas confirmações.

Mudanças importantes desde a versão 1.2.0

  • Esta versão contém melhorias de desempenho (anteriormente incluídas em 1.3.0-alpha02 e 1.3.0-beta01) quando usada com o Jetpack Compose. Se você estiver usando a 1.2.0-beta02 do Compose ou versões mais recentes e os ViewCompositionStrategy MyComposeAdapter e DisposeOnViewTreeLifecycleDestroyed descritos nas diretrizes de interoperabilidade anteriores, remova-os, já que eles não são mais uma melhoria em relação ao estado padrão.
  • O novo método ConcatAdapter.getWrappedAdapterAndPosition foi adicionado para permitir a recuperação de informações do adaptador encapsulado em situações em que você não tem um ViewHolder, como um SpanSizeLookup (I2bd4c, b/191543920).

Versão 1.3.0-rc01

21 de setembro de 2022

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

  • Nenhuma mudança desde a última versão

Versão 1.3.0-beta02

10 de agosto de 2022

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

Mudanças na API

  • Remoção de anotações de nulidade adicionadas na versão 1.3.0-beta01 devido ao fato de representarem uma mudança significativa de incompatibilidade com origem para usuários do Kotlin (I7a258,I1557e6,I8db76).

Versão 1.3.0-beta01

29 de junho de 2022

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

Novos recursos

  • Esta versão Beta contém melhorias de desempenho, incluídas anteriormente na versão 1.3.0-alpha02 quando usada com o Jetpack Compose. Se você estiver usando a 1.2.0-beta02 do Compose ou versões mais recentes e os ViewCompositionStrategy MyComposeAdapter e DisposeOnViewTreeLifecycleDestroyed descritos nas diretrizes de interoperabilidade anteriores, remova-os, já que eles não são mais uma melhoria em relação ao estado padrão.

Mudanças na API

  • Foram adicionadas anotações de nulidade para vários métodos e parâmetros com o objetivo de melhorar os avisos de lint para usuários do Java e a interoperabilidade para os usuários do Kotlin. Essa pode ser uma mudança interruptiva para alguns usuários do Kotlin e resultar em outros avisos/erros de lint para alguns usuários do Java. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210).

Correções de bugs

  • Garanta que as grades sejam tratadas como grades por serviços de acessibilidade definindo um nome de classe de informações do nó de acessibilidade. (I12812).

Versão 1.3.0-alpha02

6 de abril de 2022

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

Mudanças na API

  • Adição de métodos BuildCompat experimentais para SDKs futuros (Iafd82, b/207528937).
  • O novo método ConcatAdapter.getWrappedAdapterAndPosition foi adicionado para permitir a recuperação de informações do adaptador encapsulado em situações em que você não tem um ViewHolder, como um SpanSizeLookup (I2bd4c, b/191543920).

Correções de bugs

  • Integração com a nova biblioteca PoolingContainer do AndroidX (Ib89d2).
  • A distância de rolagem da ação de acessibilidade foi ajustada (If74ae).

Versão 1.3.0-alpha01

15 de setembro de 2021

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

Novos recursos

  • O suporte a RecyclerViews de extensão de rolagem foi adicionado (Iab877).

RecyclerView-Selection versão 1.2.0

Versão 1.2.0-alpha01

5 de maio de 2021

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

Correções de bugs

  • Correção de um problema em que o mapeamento de chave/posição no KeyProvider era perdido enquanto a entrada não estivesse reciclada (b/145767095).

Versão 1.2.1

Versão 1.2.1

2 de junho de 2021

Lançamento de androidx.recyclerview:recyclerview:1.2.1. A versão 1.2.1 contém estas confirmações.

Correções de bugs

  • ViewHolders dentro de um ConcatAdapter agora retornam a posição correta do adaptador quando consultados no callback onViewRecycled (b/187339376).

Versão 1.2.0

Versão 1.2.0

7 de abril de 2021

Lançamento de androidx.recyclerview:recyclerview:1.2.0. A versão 1.2.0 contém estas confirmações.

Principais mudanças desde a versão 1.1.0

ConcatAdapter: este novo adaptador possibilita uma concatenação mais fácil de vários adaptadores no mesmo RecyclerView. Consulte a postagem do blog para mais informações.

Restauração de estado lento: agora, o adaptador RecyclerView pode atrasar a restauração de estado até que o conteúdo seja carregado. Consulte a documentação para saber mais.

Versão 1.2.0-rc01

24 de março de 2021

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

Correções de bugs

  • O ConcatAdapter.Config.Builder agora tem valores padrão que correspondem a Config.DEFAULT (b/157169835).

Versão 1.2.0-beta02

24 de fevereiro de 2021

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

Correções de bugs

  • Corrigimos o problema em que o preenchimento superior fazia com que o brilho de rolagem à direita fosse movido para cima até a área preenchida, em vez de para baixo de modo que respeitasse o preenchimento (I6b61d, b/118399122).

Versão 1.2.0-beta01

2 de dezembro de 2020

Lançamento de androidx.recyclerview:recyclerview:1.2.0-beta01 sem mudanças desde 1.2.0-alpha06. A versão 1.2.0-beta01 contém estas confirmações.

Versão 1.2.0-alpha06

1º de outubro de 2020

Lançamento do androidx.recyclerview:recyclerview:1.2.0-alpha06. A versão 1.2.0-alpha06 contém estas confirmações.

Novos recursos

  • Adição da compatibilidade para adicionar vários RecyclerListeners (I70ad8, b/145767095).

Mudanças na API

  • Suspensão do uso de RecyclerView.setRecyclerListener(RecyclerListener) (I70ad8, b/145767095).

Versão 1.2.0-alpha05

22 de julho de 2020

Lançamento do androidx.recyclerview:recyclerview:1.2.0-alpha05. A versão 1.2.0-alpha05 contém estas confirmações.

Correções de bugs

  • Corrigimos o problema em que, se um RecyclerView tem apenas um item e ele está em foco, colocar o foco para frente ou para trás não funciona (6f36b3, link em inglês).
  • Correção de um ArrayIndexOutOfBoundsException em StaggeredGridLayoutManager (49b601, b/122303625, b/74877618, b/160193663, b/37086625).
  • Correção de um bug de medição em que, em circunstâncias específicas, o RecyclerView acaba não mostrando os filhos (89040c, b/138734786).

Contribuições externas

  • Agradecemos a Kol Krewinkel em nome do Facebook pela contribuição!

Versão 1.2.0-alpha04

24 de junho de 2020

androidx.recyclerview:recyclerview:1.2.0-alpha04 é lançado. A versão 1.2.0-alpha04 contém estas confirmações.

Mudanças na API

  • O MergeAdapter foi renomeado para ConcatAdapter para evitar confusão com diferentes comportamentos de mesclagem de dados (c0540c, b/158019211, links em inglês).

Correções de bugs

  • Melhorias na rolagem automática quando todos os itens visíveis são removidos (fe8670, b/15044848, links em inglês).

Versão 1.2.0-alpha03

29 de abril de 2020

Lançamento do androidx.recyclerview:recyclerview:1.2.0-alpha03. A versão 1.2.0-alpha03 contém estas confirmações.

Novos recursos

  • O RecyclerView agora tem um método nestedScrollBy que permite a rolagem programática que colabora com a rolagem aninhada: (Ibaa58, link em inglês)

Versão 1.2.0-alpha02

1º de abril de 2020

Lançamento do androidx.recyclerview:recyclerview:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.

Esta versão e as versões mais recentes do RecyclerView não são compatíveis com versões anteriores do ViewPager2. Se você estiver usando androidx.viewpager2:viewpager2:1.0.0 ou inferior, atualize para androidx.viewpager2:viewpager2:1.1.0-alpha01.

Novos recursos

  • MergeAdapter

    • MergeAdapter: um novo adaptador do RecyclerView que pode combinar vários adaptadores de forma linear.
    MyAdapter adapter1 = ...;
    AnotherAdapter adapter2 = ...;
    MergeAdapter merged = new MergeAdapter(adapter1, adapter2);
    recyclerView.setAdapter(mergedAdapter);
    

    Para o exemplo acima, o MergeAdapter apresentará itens de adapter1 seguidos por adapter2.

  • Restauração de estado lento de RecyclerView.Adapter:

    • Adicionada uma nova API à classe RecyclerView.Adapter, que permite ao adaptador controlar quando o estado do layout será restaurado.

    • Por exemplo, você pode chamar:

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

    para que o RecyclerView aguarde até que o adaptador não esteja vazio antes de restaurar a posição de rolagem.

  • CollectionInfo e CollectionItemInfo não serão mais preenchidos por padrão.

    • Se você quiser que os serviços de acessibilidade (Talkback, por exemplo) continuem indicando a contagem e o índice de itens para o usuário, preencha CollectionInfo e CollectionItemInfo manualmente.

    • Esses objetos não são mais preenchidos no framework, que não pode determinar a contagem de itens conforme percebida pelo usuário (como separadores, cabeçalhos ou itens RecyclerView que representam vários itens percebidos).

Correções de bugs

  • O RecyclerView agora evita se fixar em visualizações fora da janela de visualização quando o tamanho dela é modificado.
  • Correção de um bug no DiffUtil em que ele podia calcular a diferença incorretamente quando um item original na primeira lista fosse duplicado várias vezes na segunda lista. (b/123376278, link em inglês).

Versão 1.2.0-alpha01

18 de dezembro de 2019

androidx.recyclerview:recyclerview:1.2.0-alpha01 é lançado. A versão 1.2.0-alpha01 contém essas confirmações (link em inglês).

Correções de bugs

  • Correção de pequenos problemas relacionados ao desenho da direita para a esquerda (RTL, na sigla em inglês) e à precisão do toque no FastScroller (b/143789932, aosp/1130438, links em inglês)
  • Correção de uma falha no ItemTouchHelper durante a remoção do RecyclerView enquanto animações do ItemTouchHelper estavam em execução (b/140447176, aosp/1167575, links em inglês)

Versão 1.1.0

Versão 1.1.0

20 de novembro de 2019

androidx.recyclerview:recyclerview:1.1.0 é lançado. A versão 1.1.0 contém estas confirmações.

Mudanças importantes desde a versão 1.0.0

  • PagerSnapHelper e LinearSnapHelper agora consideram o padding do RecyclerView, independentemente do valor de clipToPadding (b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728, links em inglês)
  • O uso de RecyclerView.setLayoutTransition(LayoutTransition) foi formalmente suspenso e gerará uma IllegalArgumentException quando chamado com um valor não nulo. Use RecyclerView.setItemAnimator(ItemAnimator). (aosp/839414, link em inglês)
  • aosp/723649 (link em inglês): o RecyclerView agora implementa o NestedScrollingChild3, permitindo que ele seja informado quando todos os pais de rolagem aninhados correspondentes pararem de consumir distâncias de rolagem aninhadas. Se o código do desenvolvedor atualmente modificar RecyclerView.onNestedScroll(View, int, int, int, int, int), ele provavelmente não será mais chamado e RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]) precisará ser substituído.
  • O RecyclerView agora tem um atributo de estilo padrão, recyclerViewStyle, que permite a configuração do estilo padrão no seu tema.
  • A API de ações de acessibilidade do ViewCompat não interrompe mais o RecyclerView ItemDelegate.
  • LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) pode ser modificado para personalizar a quantidade de espaço extra de layout que precisa ser adicionada a cada lado da RecyclerView associada. (aosp/931259, link em inglês)
  • Adição de uma nova sobrecarga de smoothScrollBy: RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration), que permite especificar uma duração em milésimos de segundo, determinando quanto tempo terá a animação (aosp/952807, link em inglês)

Versão 1.1.0-rc01

23 de outubro de 2019

androidx.recyclerview:recyclerview:1.1.0-rc01 é lançado. A versão 1.0.0-rc01 contém essas confirmações (link em inglês).

Correções de bugs

  • Correção de um erro "O app não está respondendo" ao modificar RecyclerViewAccessibilityDelegate.ItemDelegate (aosp/1138057, aosp/1133434, links em inglês)

Versão 1.1.0-beta01

9 de outubro de 2019

Lançamento do androidx.recyclerview:recyclerview:1.1.0-beta05. Versão 1.0.0-beta05 contém essas confirmações (link em inglês).

Mudanças na API

  • Acompanhando aosp/1106715 e aosp/1103182 (links em inglês), agora LinearSnapHelper e PagerSnapHelper retornarão a visualização que está no centro dos limites do RecyclerView, sem contar o padding, independentemente do valor de clipToPadding. (aosp/1130728, link em inglês)

Correções de bugs

  • Correção de um problema em que o RecyclerView gerava nós de acessibilidade duplicados para filhos do RecyclerView. (aosp/1130618, link em inglês)
  • Correção de um problema em que as hierarquias de acessibilidade virtual em RecyclerViews não funcionavam.
  • Correção de um problema em que os ItemDelegates personalizados não eram usados.

Versão 1.1.0-beta01

5 de setembro de 2019

Lançamento de androidx.recyclerview:recyclerview:1.1.0-beta04. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Correções de bugs

  • PagerSnapHelper e LinearSnapHelper agora consideram o padding do RecyclerView, independentemente do valor de clipToPadding (b/139452422, b/139012032, aosp/1103182, aosp/1106715, links em inglês)
  • Correção de um bug em que o RecyclerView não cancelava a permissão da interceptação de toque ao rolar, quando a pré-rolagem aninhada fazia com que um NestedScrollingParent rolasse. (b/138668210, aosp/1105373, links em inglês). Isso beneficia bibliotecas como ViewPager2.
  • O RecyclerView agora vai consistentemente para SCROLL_STATE_DRAGGING antes que as rolagens prévias aninhadas sejam despachadas (aosp/1105373, link em inglês)
  • A rolagem prévia aninhada não é mais executada antes que o gesto exceda a tolerância de toque (b/139530818, aosp/1105373, links em inglês)
  • Os argumentos dx e dy enviados para rolagens prévias aninhadas são zerados quando o RecyclerView não pode rolar nessa direção (aosp/1105373, link em inglês)

Versão 1.1.0-beta03

15 de agosto de 2019

androidx.recyclerview:recyclerview:1.1.0-beta03 é lançado. As confirmações incluídas nessa versão podem ser encontradas neste link.

Mudanças na API

  • O RecyclerView agora envia distâncias de rolagem por View.onScrollChanged(int l, int t, int oldl, int oldt) de modo que os serviços de acessibilidade sejam notificados com precisão sobre as alterações de rolagem. (aosp/1007823, link em inglês)

Correções de bugs

  • Correção de um bug importante de stack overflow relacionado ao RecyclerView e à acessibilidade. (aosp/1099577)

Versão 1.1.0-beta02

7 de agosto de 2019

androidx.recyclerview:recyclerview:1.1.0-beta02 é lançado. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • O RecyclerView agora tem um atributo de estilo padrão, recyclerViewStyle, que permite a configuração do estilo padrão no seu tema.

Correções de bugs

  • Correção de um bug em que o RecyclerView não cancelava a permissão da interceptação de toque ao rolar, fazendo com que um NestedScrollingParent rolasse. (b/131115697, aosp/1055911, links em inglês)

Versão 1.1.0-beta01

2 de julho de 2019

Lançamento de androidx.recyclerview:recyclerview:1.1.0-beta01. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • O RecyclerView agora participa da rolagem aninhada quando uma rolagem é iniciada por meio de eventos de acessibilidade. (aosp/973584, link em inglês)

Versão 1.1.0-alpha06

5 de junho de 2019

Lançamento de androidx.recyclerview:recyclerview:1.1.0-alpha06 e androidx.recyclerview:recyclerview-selection:1.1.0-alpha06. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • Adição de uma nova sobrecarga de smoothScrollBy: RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration), que permite especificar uma duração em milésimos de segundo, determinando quanto tempo terá a animação (aosp/952807, link em inglês)

Mudanças na API

  • GridLayoutManager e StaggeredGridLayoutManager não rotulam mais automaticamente os itens de abrangência completa, como cabeçalhos para fins de acessibilidade (aosp/969703, link em inglês)
  • Preservação da ordem de seleção (por hora de criação) em recyclerview-selection (aosp/937279, link em inglês)

Correções de bugs

  • Correção de um bug em que RecyclerView era lançado com velocidades incorretas durante uma situação de rolagem aninhada. (aosp/961642, link em inglês)
  • Adição de melhorias de estabilidade em recyclerview-selection (aosp/960213, aosp/926296, links em inglês)

Versão 1.1.0-alpha05

7 de maio de 2019

Lançamento de androidx.recyclerview:recyclerview:1.1.0-alpha05 e androidx.recyclerview:recyclerview-selection:1.1.0-alpha05. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) pode ser modificado para personalizar a quantidade de espaço extra de layout que precisa ser adicionada a cada lado da RecyclerView associada. (aosp/931259, link em inglês)

Mudanças na API

  • Adicionar API para recuperar o drawable DividerItemDecoration (aosp/937282, link em inglês)
  • Suspender o uso de LinearLayout.getExtraLayoutSpace(RecyclerVew.State) em favor de um novo mecanismo que permite ter mais espaço de layout personalizado nos dois lados. O novo método é LinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[]) (aosp/931259, link em inglês)

Correções de bugs

  • Limpeza na seleção Gesture. (aosp/940781)
  • A ordem de seleção (por hora de criação) foi preservada. (b/128455535)

Versão 1.1.0-alpha04

3 de abril de 2019

androidx.recyclerview:recyclerview:1.1.0-alpha04 é lançado. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Correções de bugs

  • Anteriormente, RV OnItemTouchListener não podia interceptar em ACTION_UP, impedindo que OnItemTouchListener bloqueasse a resposta de outro código a ACTION_UP. Esse problema foi corrigido. (aosp/916137)

Versão 1.1.0-alpha03

13 de março de 2019

Lançamento do androidx.recyclerview:recyclerview:1.1.0-alpha03. A lista completa de confirmações incluídas nessa versão pode ser encontrada neste link.

Novos recursos

  • GridLayoutManager: estimativa de dimensões da barra de rolagem do GridLayoutManager de resolução mais alta para ativação (aosp/838836, link em inglês):
    • Usa informações de abrangência para estimar as dimensões da barra de rolagem de um GridLayoutManager.
    • Para ativar, chame GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) transmitindo em "true".
    • Consulte a documentação sobre GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) para ter mais informações.

Correções de bugs

  • Accessibility: ocorreu um bug em que, quando um ViewHolder era reciclado e recuperado, o ItemDelegate associado ao RecyclerViewAccessibilityDelegate do RecyclerView não era associado ao itemView do ViewHolder, interrompendo Accessibility. Esse problema foi corrigido. (aosp/917740, link em inglês).

Versão 1.1.0-alpha02

30 de janeiro de 2019

Lançamento de androidx.recyclerview:recyclerview 1.1.0-alpha02.

Mudanças na API

  • Suspensão do uso de RecyclerView.setLayoutFrozen(boolean) e RecyclerView.isLayoutFrozen() em favor de RecyclerView.suppressLayout(boolean) e RecyclerView.isLayoutSuppressed(). (aosp/839414, link em inglês)
  • O uso de RecyclerView.setLayoutTransition(LayoutTransition) foi formalmente suspenso e gerará uma IllegalArgumentException quando chamado com um valor não nulo. (aosp/839414, link em inglês)

Correções de bugs

  • Correção de bug no RV em que o SmoothScroller nunca era interrompido (aosp/843741, link em inglês)
  • Correção do bug em que SCROLL_STATE_IDLE não podia ser chamado no fim de uma animação de rolagem. (aosp/812576, link em inglês)

Versão 1.1.0-alpha01

3 de dezembro de 2018

Lançamento de androidx.recyclerview 1.1.0-alpha01 e androidx.recyclerview-selection 1.1.0-alpha01.

androidx.recyclerview 1.1.0-alpha01

Mudanças na API

  • aosp/723649 (link em inglês): o RecyclerView agora implementa o NestedScrollingChild3, permitindo que ele seja informado quando todos os pais de rolagem aninhados correspondentes pararem de consumir distâncias de rolagem aninhadas. Se o código do desenvolvedor atualmente modificar RecyclerView.onNestedScroll(View, int, int, int, int, int), ele provavelmente não será mais chamado e RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]) precisará ser substituído.

Correções de bugs

  • Corrigida uma falha ao usar TransitionManager para recolher/expandir um item em RecyclerView ( b/37129527).
  • Correção do bug em que o comportamento de RecyclerView.OnItemTouchListener era inconsistente com o comportamento de onInterceptTouchEvent e onTouchEvent (aosp/721235, link em inglês)
  • Correção de alguns bugs de caso de borda relacionados à rolagem suave. (aosp/729718, aosp/747168, aosp/812576, links em inglês)
  • Estratégia de ajuste corrigida no PagerSnapHelper para lidar com visualizações secundárias não típicas (aosp/795752, link em inglês)

androidx.recyclerview-selection 1.1.0-alpha01

Correções de bugs

  • Correção de ConcurrentModificationException quando o conjunto de dados mudava com a remoção da seleção.

RecyclerView-Selection versão 1.1.0

RecyclerView-Selection versão 1.1.0

27 de janeiro de 2021

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

Principais mudanças desde a versão 1.0.0

  • Várias melhorias de estabilidade.
  • Os métodos withGestureTooltypes e withPointerTooltypes foram suspensos em SelectionTracker.Builder. Esses métodos serão removidos em uma versão futura.

RecyclerView-Selection versão 1.1.0-rc03

1º de outubro de 2020

Lançamento do androidx.recyclerview:recyclerview-selection:1.1.0-rc03. A versão 1.1.0-rc03 contém estas confirmações.

Correções de bugs

Agradecemos a Stefan Kiesler por testar as correções e pelo feedback.

  • Correção do problema em que a visualização filha de OnClickListeners era chamada inesperadamente durante a seleção ativa.
  • Gerenciador do mouse (seleção de banda) > Processa rolagens inesperadas da maneira correta (b/167821507).

RecyclerView-Selection versão 1.1.0-rc02

2 de setembro de 2020

Lançamento do androidx.recyclerview:recyclerview-selection:1.1.0-rc02. A versão 1.0.0-rc02 contém essas confirmações.

Destaques

  • Resolvidas várias regressões da 1.0 no processamento de entrada.
  • Biblioteca atualizada para respeitar onRequestDisallowInterceptTouchEvent, permitindo que funcione bem com o ItemTouchHelper, bastando deslizar para fora da tela.

Correções de bugs

  • Correção do problema em que a biblioteca de seleção interpretava incorretamente eventos GestureDetector, resultando na perda de toques durante a seleção ativa (b/165030422).
  • Correção do problema em que a seleção não era atualizada para refletir os itens removidos do adaptador (b/138932671).
  • Corrigido o problema em que os itens do RecyclerView disparavam eventos onClick enquanto o SelectionTracker tinha seleção ativa (b/161162268).
  • Agora onRequestDisallowInterceptTouchEvent é processado corretamente.
  • Corrigido o problema em que a mensagem ”Cannot call this method in a scroll callback” era vista durante a rolagem do mouse no Android Q.
  • Documentos atualizados, especialmente em StableIdKeyProvider, para declarar claramente os requisitos da instância de RecyclerView.

Recyclerview-Selection versão 1.1.0-rc01

5 de fevereiro de 2020

Lançamento do androidx.recyclerview:recyclerview-selection:1.1.0-rc01. A versão 1.0.0-rc01 contém essas confirmações (link em inglês).

Correções de bugs

  • Correção de um problema em que o RecyclerView apresenta rolagem difícil quando interage com um AppBarLayout rolável (aosp/1193934, link em inglês).

RecyclerView-Selection Versão 1.1.0-beta01

4 de dezembro de 2019

Lançamento do androidx.recyclerview:recyclerview-selection:1.1.0-beta01. A versão 1.1.0-beta01 contém essas confirmações (link em inglês).

Melhorias gerais na estabilidade das verificações defensivas e do gerenciamento do estado interno.

Correções de bugs

  • Melhor gerenciamento do estado da biblioteca e da interpretação de eventos CANCEL, resultando em melhorias na estabilidade.

Mudanças na API

  • Adição de um parâmetro de tipo de chave de seleção ausente em classes e métodos.
  • Métodos obsoletos:
    • SelectionTracker.Builder#withPointerTooltype
    • SelectionTracker.Builder#withGestureTooltype
    • Esses métodos existiam para que desenvolvedores pudessem mapear comportamentos de ponteiro ou gesto em tipos de ferramentas diferentes do padrão*. A intenção era boa, mas o uso mostrou que as expectativas do usuário para o comportamento de entrada são muito específicas em relação ao tipo de ferramenta. Além disso, as stylus "passivas" são do tipo FINGER no que diz respeito ao sistema de entrada do Android.
    • Os tipos de ferramentas padrão são FINGER para Gesto e MOUSE para Ponteiro.