Я хотел бы реализовать экран, на котором у меня есть представление карты, содержащее RecyclerView.
CardView должен иметь ту же высоту, что и содержимое представления ресайклера, это означает, что если в RecyclerView мало элементов, я должен видеть нижние углы и нижнюю тень карты, но если в RecyclerView много элементов, представление карты должно «прокрутите» с помощью RecyclerView, чтобы нижние углы и тень карты были внизу RecylerView.
Вот как это должно выглядеть, когда RecyclerView находится сверху:
Когда пользователь начинает прокручивать, верхние углы исчезают при прокрутке RecyclerView:
И, наконец, когда пользователь достигает нижней части RecyclerView, появляются нижние углы и тень CardView:
С этого момента мне удалось получить рабочую реализацию, поместив RecyclerView внутри CardView и CardView внутри NestedScrollView, но это нарушает жест броска...
<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:clipChildren="false"
android:id="@+id/containerLayout"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
tools:ignore="MissingPrefix">
<android.support.v4.widget.NestedScrollView
android:clipToPadding="false"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="85dp"
android:paddingRight="85dp"
android:paddingTop="16dp">
<android.support.v7.widget.CardView
android:layout_height="wrap_content"
android:layout_width="match_parent"
app:cardBackgroundColor="?android:attr/windowBackground">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_height="wrap_content"
android:layout_width="match_parent"/>
</android.support.v7.widget.CardView>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
Есть ли у вас какие-либо намеки или идеи о том, как я мог бы реализовать такой дизайн? Я думаю, что CoordinatorLayout мог бы мне помочь, но я ничего не нашел...
Спасибо
android:nestedScrollingEnabled="false"
исправляет жест броска, но интерфейс сильно тормозит, если ваш RecyclerView достаточно велик. Есть ли у вас прогресс в этом? - person vyndor   schedule 02.12.2016RecyclerView
. При прокрутке снизу вверх значокCardView
уходит с экрана; когда вы дойдете до конца ваших предметов, будет показано дно. Этого можно добиться, используяcardView.animate().y(theNewPosition).setDuration(0).start()
. Это просто идея, я не проверял ее на коде. - person JJ86   schedule 30.11.2017RecyclerView
внутриNestedScrollView
похоже на использованиеLinearLayout
внутриScrollView
. Переработки не будет,RecyclerView
будет иметь высоту itemHeight*itemCount. Если вас это не беспокоит, заменитеNestedScrollView
наScrollView
, и вы получите жест броска. - person Oknesif   schedule 01.12.2017