Dos RecyclerViews uno bajo el otro en un diseño

¿Cómo puedo obtener dos RecyclerViews uno bajo el otro en un solo diseño? No quiero tener un solo RecyclerView para todos los artículos. Mi código:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="@color/main__item_background" android:layout_height="match_parent" android:layout_width="match_parent"> <TextView android:text="@string/find_friends__already_playing" android:background="@color/header" android:gravity="center" android:layout_width="match_parent" android:layout_height="@dimen/list_header" android:visibility="visible"/> <android.support.v7.widget.RecyclerView android:id="@+id/in_app_friends" android:layout_height="wrap_content" android:layout_width="wrap_content"/> <TextView android:text="@string/find_friends__invite_friends" android:background="@color/find_friends__header" android:gravity="center" android:layout_width="match_parent" android:layout_height="@dimen/list_header" /> <android.support.v7.widget.RecyclerView android:id="@+id/friends_to_invite" android:layout_height="wrap_content" android:layout_width="wrap_content" /> </LinearLayout> 

He encontrado la respuesta yo mismo.

Necesita poner el LinearLayout en ScrollView y usar wrap_content como el layout_height de RecyclerView.

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:fillViewport="true"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="@dimen/list_header" android:background="@color/header" android:gravity="center" android:text="@string/find_friends__already_playing" android:visibility="visible" /> <android.support.v7.widget.RecyclerView android:id="@+id/in_app_friends" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="5dp" android:background="@color/white"/> <TextView android:layout_width="match_parent" android:layout_height="@dimen/list_header" android:background="@color/find_friends__header" android:gravity="center" android:text="@string/find_friends__invite_friends" /> <android.support.v7.widget.RecyclerView android:id="@+id/friends_to_invite" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white"/> </LinearLayout> </ScrollView> 

También hay un error con RecyclerView y wrap_content por lo que tiene que utilizar un gestor de diseño personalizado . Echa un vistazo a este post: ¿Cómo puedo hacer que WRAP_CONTENT funcione en un RecyclerView

También tuve el mismo problema y escribí una biblioteca que ayuda a lograr esto uniendo adaptadores y diseños.

Gradle dependencia para probarlo (necesita repo jcenter):

 compile 'su.j2e:rv-joiner:1.0.3'//latest version by now 

Thea cambia xml para usar un único RecyclerView que coincida con el padre:

 <android.support.v7.widget.RecyclerView android:id="@+id/joined_friends_rv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="5dp" android:background="@color/white"/> 

A continuación, init RecyclerView en código como este:

  //init your RecyclerView as usual RecyclerView rv = (RecyclerView) findViewById(R.id.joined_friends_rv); rv.setLayoutManager(new LinearLayoutManager(this)); //construct a joiner RvJoiner rvJoiner = new RvJoiner(); rvJoiner.add(new JoinableLayout(R.layout.your_title_for_in_app)); rvJoiner.add(new JoinableAdapter(new YourInAppRvAdapter())); rvJoiner.add(new JoinableLayout(R.layout.your_title_for_invite)); rvJoiner.add(new JoinableAdapter(new YourInviteRvAdapter())); //set join adapter to your RecyclerView rv.setAdapter(rvJoiner.getAdapter()); 

Puede consultar este enlace para obtener más detalles y explicaciones de la biblioteca. Espero eso ayude.

Puede dar a cada altura de RecycleView igual a 0dp y un peso igual a 1:

 android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" 

Solo usa:

 <android.support.v7.widget.RecyclerView android:id="@+id/card_recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:scrollbars="vertical" android:layout_below="@+id/your_first_recycler"/> 

Última línea es para su problem.use él.

El diseño de los padres debe tener

 android:weightSum="2" 

y dar

 android:layout_weight="1" 

A cada RecyclerView de los tuyos. Se debe desplazar uno tras otro.

  • ¿Cómo agregar un botón al final de RecyclerView?
  • Deslizar para descartar para RecyclerView
  • RecyclerVista la lista con los artículos con los límites en un ángulo, no horizontal
  • Coloque el elemento de la lista del titular como facebook para cargar contenido
  • Recyclerview Sin adaptador conectado; Saltar el diseño
  • Cómo crear elementos de lista inclinada
  • StaggeredGridLayoutManager cambiar spanCount dinámicamente RecylerView
  • RecyclerView muestra los datos eliminados en la lista
  • Actualización de un ProgressBar en un RecyclerView
  • RecyclerView ItemDecoration Espaciado y Span
  • Android selectableItemBackground ningún efecto de resplandor en la prensa larga
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.