Android: RecyclerView dentro de un ScrollView (o paralaje)

Tengo un fragmento con 2 cardviews con múltiples controles dentro.

Debajo del segundo cardview Tengo un recyclerview , esto trabaja perfecto .

El problema es que el reciclerview comienza muy abajo de la pantalla , y el desplazamiento del recylcerview es muy pequeño .

Previamente utilizado un listview, y esto me mantuvo en forma su contenido y por lo tanto hacer desplazarse a través de la pantalla a la vez, pero con recylclerview no puede.

¿Cómo hacer cuando me desplazo en el recyclerview, los controles suben como efecto de paralaje?

EDIT: más claro, imagina 2 cardviews en un fragmento, estos ocupan el 80% de la pantalla, por encima de estos, una recyclerview con una lista de 100 elementos, pero el scroll es tan pequeño … el listview me permite adaptarme a la " Contenido "y desplaza la pantalla completa a la vez.

Este es mi diseño XML:

<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/svScroll" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="true" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <include android:id="@+id/cvCampos1" layout="@layout/ctlcabeceralibreta" /> <include android:id="@+id/cvCampos2" layout="@layout/ctlcabeceralibreta2" /> <android.support.v7.widget.RecyclerView android:id="@+id/rvRegistros" android:layout_width="fill_parent" android:layout_height="1000dp" android:layout_below="@id/cvCampos2" android:scrollbars="vertical" /> </RelativeLayout> </ScrollView> 

Este es el screenshoot:

Introduzca aquí la descripción de la imagen

En el caso anterior, lo que debe hacer es utilizar varios ViewHolders en la misma vista de recyclerview .

Veo que usted tiene tres tipos de diseños allí. Las dos primeras tarjetas y otros diseños en su recyclerview .

RecyclerView con varios tipos de vista le da un ejemplo de cómo utilizar múltiples tipos de vista en una simple reciclarvista.

Poner una altura fija funciona! Pero necesito calcular la altura del número de artículos en la lista

Esto funciona para listviews (no lo he probado con recyclerview)

 public static void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { // pre-condition return; } int totalHeight = listView.getPaddingTop() + listView.getPaddingBottom(); for (int i = 0; i < listAdapter.getCount(); i++) { View listItem = listAdapter.getView(i, null, listView); if (listItem instanceof ViewGroup) { listItem.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); } listItem.measure(0, 0); totalHeight += listItem.getMeasuredHeight(); } ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); listView.setLayoutParams(params); } 

Src:

Ejemplo completo

  • Recuperando onBindViewHolder al desplazarse por la vista Recycler
  • StaggaredGridLayoutManager no funciona correctamente
  • RecyclerView se bloquea al actualizar en la parte superior
  • SwipeRefreshLayout obstruye el desplazamiento de recycleview en el momento de desplazarse hacia arriba
  • Horizontal RecyclerView interior vertical ScrollView
  • RecyclerView refresca los elementos sólo cuando se desplaza hacia abajo y hacia arriba
  • Error al inflar la clase y android.support.v7.widget.CardView
  • Comportamiento parecido a un buscador en RecyclerView
  • ¿Cuál es la mejora de RecyclerView sobre ListView?
  • Android: Actualización de recyclerview con nuevos datos
  • ¿Cómo animar las transiciones de actividad cuando se usan listas / cuadrículas / vistas de reciclador?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.