Как создать ScrollView с несколькими списками (RecyclerView) внутри, как в YAZIO? - PullRequest
0 голосов
/ 14 апреля 2019

Мне нужно составить список за неделю (7 записей), каждая запись должна содержать список других записей, как в YAZIO, как мне этого добиться?

Screenshot

Я пытался установить 7 RecyclerView с высотой для переноса содержимого, но возникает проблема: только первые отображаются в полном объемерост.Использование нескольких ViewTypes не подходит, так как я хочу использовать MaterialCardView для каждого дня.

В конце концов, я хочу достичь такого результата, в каждом ряду может быть или не включен список:

Screenshot

Пока я достиг этого, используя ListView в RecyclerView и пересчитывая высоту ListView в методе onBindViewHolder().Это, кажется, не правильно, хотя это как-то работает

1 Ответ

0 голосов
/ 14 апреля 2019

Вы должны использовать для этого nestedscrollview .

Вот пример XML-кода, который может отображать 2 различных рецикла в полном объеме.

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".com.example.thomas.EasyCount.BalanceFragment">




<LinearLayout
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:background="#FFFFFF"
    android:layout_height="wrap_content">



    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">




    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycle_depenses1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>



        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycle_pay_back"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/txt_to_do"
            android:layout_alignParentStart="true"
            android:layout_marginTop="5dp"
            android:background="?android:attr/selectableItemBackground"
            />

    </RelativeLayout>


</LinearLayout>

</android.support.v4.widget.NestedScrollView>

Так что вы должны использовать nestedscrollview так:

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">




<LinearLayout
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:background="#FFFFFF"
    android:layout_height="wrap_content">

//ALL OF YOUR CONTENT MUST BE IN THE LINEALAYOUT => Nested scroll must only have one child

</LinearLayout>

</android.support.v4.widget.NestedScrollView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...