scrolling recyclerview not inside ejemplo android layout android-recyclerview nestedscrollview

android - not - Problemas de NestedScrollView y RecyclerView, ¿cómo separarlos?



scroll recyclerview (1)

No estoy seguro de cómo implementar esto .. Quiero usar:

  1. Collapse de la barra de herramientas
  2. diseño "normal" (NestedScrollView)
  3. RecyclerView
  4. y navegue por NavigationDrawer (para que los diseños se unan en mi activity_main.xml)

Los problemas surgen cuando intento usar RecyclerView, debido a NestedScrollView (sí, la regla "no coloque varios scrollables juntos" es verdad) ...

Pero, ¿cómo lograr esto? ¿Existe la posibilidad de mantener los diseños separados de alguna manera?

Información : estoy reemplazando el contenido de la aplicación en FrameLayout (ver la sección central).

¿Sería una solución adecuada insertar múltiples NestedScrollViews (en cada Fragmento uno, que debería ser desplazable)?

Aquí está mi diseño principal:

<?xml version="1.0" encoding="utf-8"?>

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="false" android:background="@color/main_frame" > <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="192dp" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" > <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="@color/colorPrimary" app:expandedTitleMarginBottom="32dp" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:layout_scrollFlags="scroll|exitUntilCollapsed" > <ImageView android:id="@+id/header" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorPrimary" android:fitsSystemWindows="true" android:scaleType="centerCrop" app:layout_collapseMode="parallax" /> <include android:id="@+id/toolbar" layout="@layout/toolbar_overlay" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:id="@+id/nestedScrollView" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" app:layout_behavior="@string/appbar_scrolling_view_behavior" > <FrameLayout android:id="@+id/main_frame" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/toolbar" > </FrameLayout> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.CoordinatorLayout> <android.support.design.widget.NavigationView android:id="@+id/navigation_view" android:layout_height="match_parent" android:layout_width="wrap_content" android:layout_gravity="start" android:background="@color/colorPrimaryNavDrawer" app:headerLayout="@layout/nav_drawer_header" app:menu="@menu/nav_drawer_items" />

Gracias por adelantado.


La mejor forma de lograr esto es usar solo un RecyclerView con un adaptador que maneje diferentes tipos de vistas. Para la primera posición del adaptador, el elemento de la lista será su contenido fijo una vez en NestedScrollView , y para otras posiciones lo que quiere usar es los elementos de RecyclerView de su solución actual.