Recyclerview
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-alpha02 |
recyclerview-selection | 1.1.0 | - | - | 1.2.0-alpha01 |
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.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.4
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.
Mudanças na API
- Descontinuação das APIs
ViewCompat.LAYOUT_DIRECTION_
(I51710, b/317055535).
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).
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á queGestureDetector
está disponível nominSdk
. (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
esetVerboseLoggingEnabled
, que podem ajudar na depuração de problemas relacionados aRecyclerView
em apps. (I514b9).
Correções de bugs
- As falhas para usuários de
ViewTreeLifecycleOwner
(incluindoComposeView
) foram corrigidas anexando temporariamente as visualizações removidas temporariamente ao chamaronBind
. (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 osViewCompositionStrategy
MyComposeAdapter
eDisposeOnViewTreeLifecycleDestroyed
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 umViewHolder
, como umSpanSizeLookup
(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 osViewCompositionStrategy
MyComposeAdapter
eDisposeOnViewTreeLifecycleDestroyed
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 umSpanSizeLookup
(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
ViewHolder
s dentro de umConcatAdapter
agora retornam a posição correta do adaptador quando consultados no callbackonViewRecycled
(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.
- Como parte dessa mudança, o
ViewHolder.getAdapterPosition
foi suspenso e substituído por dois novos métodos:- getBindingAdapterPosition retorna a posição relativa ao adaptador que vinculou o item.
- getAbsoluteAdapterPosition retorna a posição relativa ao RecyclerView inteiro.
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 aConfig.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
emStaggeredGridLayoutManager
(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 paraConcatAdapter
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 poradapter2
.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
eLinearSnapHelper
agora consideram o padding do RecyclerView, independentemente do valor declipToPadding
(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á umaIllegalArgumentException
quando chamado com um valor não nulo. UseRecyclerView.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 modificarRecyclerView.onNestedScroll(View, int, int, int, int, int)
, ele provavelmente não será mais chamado eRecyclerView.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
eLinearSnapHelper
agora consideram o padding do RecyclerView, independentemente do valor declipToPadding
(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
edy
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
eStaggeredGridLayoutManager
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 doGridLayoutManager
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.
- Usa informações de abrangência para estimar as dimensões da barra de rolagem de um
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)
eRecyclerView.isLayoutFrozen()
em favor deRecyclerView.suppressLayout(boolean)
eRecyclerView.isLayoutSuppressed()
. (aosp/839414, link em inglês) - O uso de
RecyclerView.setLayoutTransition(LayoutTransition)
foi formalmente suspenso e gerará umaIllegalArgumentException
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 modificarRecyclerView.onNestedScroll(View, int, int, int, int, int)
, ele provavelmente não será mais chamado eRecyclerView.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 emRecyclerView
( b/37129527). - Correção do bug em que o comportamento de
RecyclerView.OnItemTouchListener
era inconsistente com o comportamento deonInterceptTouchEvent
eonTouchEvent
(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
ewithPointerTooltypes
foram suspensos emSelectionTracker.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.
- b/128054552 (link em inglês)
- b/130707991 (link em inglês)
- b/137460699 (link em inglês)
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.