Uso de RecyclerView con tarjeta
Tengo algunos RecyclerView con artículos de la tarjeta. Y en dispositivos preLollipop se ve bien. Pero en Lollipop parece sin ningún espacio entre las tarjetas de niño. Intenté usar margen y relleno, pero no me ayudó. Cuando uso margen en lollipop se ve bien, pero con el mismo margen en prelollipop espaciamiento es muy grande. Una vez más: ¿por qué hay diferentes espaciamientos? ¿Qué propiedad debo utilizar para solucionarlo?
- Vista colapsada / expansible coordinada con RecyclerView deslizante
- ¿Cómo auto desplazarse hasta Recycler ver en Android?
- Clic en el elemento programáticamente en RecyclerView
- Recyclerview en un fragmento no muestra nada
- Horizontal RecyclerView dentro de ListView sin desplazamiento muy suave
- Android: Desplazamiento de problemas con recyclerview dentro de un viewpager
- RecyclerView IndexOutOfBoundsException
- StaggeredGridLayout desordena al desplazarse hacia arriba
- RecyclerView 23.2.x height = 0dp hace que onBind llame a todos los elementos y scrollToPosition no funciona
- ¿Qué es alertcontroller.recyclelistview
- La creación de clase Pojo desde el cursor Sqlite está tomando demasiado tiempo
- Lista de vídeos de Android ListView
- CardView dentro de RecyclerView tiene márgenes adicionales
Esto ocurre porque en L, las sombras están fuera de los límites View pero pre-L, están dentro de la Vista (desafortunadamente no hay soporte de sombra real pre-L).
Si desea que CardView tenga el mismo espaciado en L, establezca cardUseCompatPadding en true.
La respuesta de yigit fue útil, pero no tenía mucho detalle por lo que estoy añadiendo algunos aquí para futuros espectadores de este post.
Aquí está un ejemplo de cómo conseguí este funcionamiento (no obvio del sitio androide vinculado en la respuesta del yigit).
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_height="wrap_content" android:layout_width="match_parent" android:layout_marginLeft="@dimen/activity_vertical_margin" android:layout_marginRight="@dimen/activity_vertical_margin" android:layout_marginTop="2dip" android:layout_marginBottom="2dip" card_view:cardUseCompatPadding="true"> // Other layouts and views here </android.support.v7.widget.CardView>
El card_view que necesitaba un guión bajo y usar el esquema res-auto no era obvio.
Hay un buen ejemplo de esto en el Material Design Training .
Yo tuve el mismo problema. Tuve que crear una carpeta de layout-v21, que será utilizada por los dispositivos lollipop, y duplicar el diseño añadiendo el margen / relleno que necesitaba para espacio fuera correctamente.
De esta forma, cuando su aplicación se lance en lollipop, se leerá el diseño desde la carpeta layout-v21 con el espacio correcto añadido y cualquier otro dispositivo irá a su archivo de diseño estándar, donde el espacio no es necesario que se establezca explícitamente.
Espero que esto ayude.