Я хочу разместить два RecyclerViews внутри NestedScrollView, где должны быть отображены все элементы каждого RecyclerView:RecyclerViews внутри NestesScrollView
Desired: Current:
--------------------- ---------------------
Fixed Header content Fixed Header content
--------------------- ---------------------
<NestedScrollView> <NestedScrollView>
EditText EditText
EditText EditText
... ...
<RecyclerView> <RecyclerView> (scrollable>
Item 1 Item 1
Item 2 </RecyclerView>
... <RecyclerView> (scrollable>
Item N Item 2
</RecyclerView> </RecyclerView>
<RecyclerView> </NestedScrollView>
Item 1 --------------------
Item 2
...
Item M
</RecyclerView>
</NestedScrollView>
----------------------
В настоящее время отображается только первый элемент каждого RecyclerView, и вы можете прокручивать вниз к другие предметы в этом ограниченном пространстве.
Я попытался установить RecyclerView.setNestedScrollingEnabled(false);
с тем, что пока отображается только первый элемент RecyclerView, а RecyclerView больше не прокручивается.
Это все содержится в Фрагменте, который включен в действие, в котором размещен снимок BottomNavigationView.
макета активность:
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/coordinatorLayoutMain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".gui.activity.MainActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
app:elevation="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.AppBarLayout>-->
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/white"
app:itemTextColor="@color/bottom_navigation_item_color"
app:itemIconTint="@color/bottom_navigation_item_color"
app:menu="@menu/menu_bottom_main_activity" />
</android.support.design.widget.CoordinatorLayout>
Фрагмент макета:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:background="@color/white">
... fixed header content ...
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/header"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:isScrollContainer="true"
>
<android.support.design.widget.TextInputLayout
...
/>
<TextView
android:id="@+id/catHeader1"
style="@style/Me.CatHeader"
android:layout_below="@id/dummy1"
android:text="@string/textCat1" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/catHeader1"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<TextView
android:id="@+id/action1"
style="@style/Me.AddText"
android:layout_below="@id/recyclerView1"
android:text="@string/action1"
android:visibility="gone" />
<TextView
android:id="@+id/catHeader2"
style="@style/Me.CatHeader"
android:layout_below="@id/action1"
android:text="@string/textCat2" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/catHeader2"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<TextView
android:id="@+id/action2"
style="@style/Me.AddText"
android:layout_below="@id/recyclerView2"
android:text="@string/action2"
android:visibility="gone" />
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
</RelativeLayout>
Оба RecyclerViews используют вертикальную LinearLayoutManager.
Использование match_parent
на высоте RecyclerViews ничего не меняет.
версия AppCompat: 25.1.0
Что я упускаю, что я делаю неправильно?
Почему вы используете 2 RecyclerView? –
Оба RecyclerViews отображают очень разные контенты/элементы, где проще переносить их на два адаптера вместо того, чтобы обрабатывать их в одном. –
Неправильная практика создания отдельных RecyclerView или ListView, есть ли у вас одинаковые типы данных или нет. –