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 .
- Agregue al oyente táctil para Firebase RecyclerView
- RecyclerView BackgroundColor
- La lista de arreglos de Android RecyclerView cambia dinámicamente
- RecyclerView vs. ListView
- La vista de Recycler no se desplaza correctamente después de implementar el desplazamiento para actualizar el diseño.
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:
- Android: Desplazamiento de problemas con recyclerview dentro de un viewpager
- Causa de NullPointerException android.support.v7.widget.RecyclerView.onMeasure
- Android RecyclerView - animar la elevación del elemento al tocar
- Deslizar hacia abajo para actualizar el diseño del material
- Optimización de RecyclerView / ListView
- RecyclerView desplazamiento laggy
- Navegación (Siguiente) con EditText en un ListView / RecyclerView
- ¿Hay alguna forma de habilitar las barras de desplazamiento para RecyclerView en código?
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
- Retrofit: agrega un parámetro de lista de cadenas a la solicitud de múltiples partes
- GCM 3.0 – gcm no muestra automáticamente la notificación con el parámetro de notificación