Estou tentando adicionar Padding / Margin Bottom na última linha e Padding / Margin Top na primeira linha. Não posso fazer isso no item xml, pois isso afetaria todos os meus filhos.
Tenho cabeçalhos e filhos no meu adaptador RecyclerView, portanto não posso usar o
android:padding="4dp"
android:clipToPadding="false"
Eu preciso usá-lo individualmente na última primeira linha de cada cabeçalho
android
android-recyclerview
padding
RedEagle
fonte
fonte
Respostas:
Eu uso isso no kotlin
fonte
Esse problema é ainda mais fácil de resolver. Você pode aplicar o preenchimento necessário ao
RecylerView
próprio e definirclipToPadding
como false, caso contrário, o preenchimento cortará sua área de rolagem. Aqui está um exemploVeja o preenchimento adicionará 4dp em todos os lados, incluindo superior e inferior. Em seguida, o parâmetro clipToPadding garante que os itens filhos não sejam cortados. Agora, adicione
4dp
estofamento em todos os lados para os itens do seu filho, e você estará pronto. No total, você obtém um acolchoamento de 8dp nas laterais e entre itens.fonte
Em vez de adicionar estofo para a parte superior e itens de fundo, você pode simplesmente adicionar o estofo para a parte superior e inferior do seu RecyclerView e definir o
clipToPadding
atributo parafalse
.fonte
use
ItemDecoration
:e
fonte
notifyItemInserted
/Removed
irá desenhar apenas um item / remover item e limpá-lo,View
deixando todos os outros filhos intocados. por exemplo, quando algum item é o primeiro da lista (desenhado com preenchimento superior) e estamos adicionando um novo ao topo, o item anteriormente primeiro-segundo-atual ainda será preenchido no topo ... a correção fácil é chamarnotifyDataSetChanged
(forçar redesenho todos ...), mais complexos precisam de alguma lógica para reconhecer esse item, que estava na primeira e / ou na última posição, movido e depois chamarnotifyItemChanged(newPositionOfOldFirstAndOrLastItem)
Adicione
android:clipToPadding="false"
eandroid:paddingBottom="100dp"
na sua reciclagem.fonte
Adicione android: clipToPadding = "false" e android: paddingBottom = "65dp" na sua reciclagem. Se você estiver usando o botão de menu fabuloso e ações na célula de exibição do reciclador.
fonte
Por alguma razão, a
clipToPadding=false
solução antiga não está funcionando para mim. Então eu adicionei um ItemDecorationhttps://gist.github.com/kassim/582888fa5960791264fc92bc41fb6bcf
fonte
Modifiquei a resposta incrível @snachmsm answer para melhor e lhe dou uma ideia de como usar corretamente
fonte