Estoy tratando de agregar Padding / Margin Bottom en la última fila y Padding / Margin Top en la primera fila. No puedo hacerlo en el elemento xml, ya que afectaría a todos mis hijos.
Tengo encabezados y elementos secundarios en mi adaptador RecyclerView, por lo que no puedo usar el
android:padding="4dp"
android:clipToPadding="false"
Necesito usarlo individualmente en la última primera fila de cada encabezado
android
android-recyclerview
padding
Aguila Roja
fuente
fuente
Respuestas:
Yo uso esto en kotlin
fuente
Este problema es aún más fácil de resolver. Puede aplicar el relleno necesario en
RecylerView
sí mismo y establecerloclipToPadding
en falso, de lo contrario, el relleno cortará su área de desplazamiento. Aquí hay un ejemploVer el relleno agregará 4dp en todos los lados, incluida la parte superior e inferior. Luego, el parámetro clipToPadding asegura que sus elementos secundarios no se corten. Ahora, agregue
4dp
relleno a todos los lados para los artículos de su hijo, y listo. En total, obtienes un relleno de 8dp en los lados y entre los artículos.fuente
En lugar de agregar relleno a los elementos superior e inferior, puede agregar el relleno a la parte superior e inferior de su RecyclerView y establecer el
clipToPadding
atributo enfalse
.fuente
uso
ItemDecoration
:y
fuente
notifyItemInserted
/Removed
dibujará solo un elemento / eliminará un elemento y lo limpiará,View
dejando intactos a todos los demás niños. por ejemplo, cuando algún elemento está primero en la lista (dibujado con el relleno superior) y estamos agregando uno nuevo al principio, entonces el elemento anterior-primero-actualmente-segundo todavía se rellenará en la parte superior ... la solución fácil es llamarnotifyDataSetChanged
(forzar redibujado todos ...), más complejos necesitan algo de lógica para reconocer ese elemento, que estaba en la primera y / o última posición, se movió y luego llamónotifyItemChanged(newPositionOfOldFirstAndOrLastItem)
Agregue
android:clipToPadding="false"
yandroid:paddingBottom="100dp"
en su vista de reciclaje.fuente
Agregue android: clipToPadding = "false" y android: paddingBottom = "65dp" en su vista de reciclaje. Si está utilizando un botón de menú fabuloso y acciones en la celda de vista del reciclador.
fuente
Por alguna razón, la
clipToPadding=false
solución anterior no me funciona. Entonces agregué un ItemDecorationhttps://gist.github.com/kassim/582888fa5960791264fc92bc41fb6bcf
fuente
He modificado la respuesta increíble @snachmsm para mejor y te doy una idea de cómo usarla correctamente
fuente