Ich möchte, dass die Kopfzeile reduziert wird, wenn ich durch die Elemente von recyclerview scrolle. Damit bleibt die Ansicht „Artikel auswählen“ und Recycleransicht auf dem Bildschirm.
Ich habe Beispiele gesehen, in denen die Symbolleiste reduziert wurde, aber ich muss die Symbolleiste immer vorhanden sein.
Welche Layouts/Verhalten sollte ich verwenden, um diese Arbeit zu erhalten?
Konstantin Loginow
Sie können es erreichen, indem Sie dieses Layout haben:
<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.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<!-- HEADER -->
<RelativeLayout
...
app:layout_collapseMode="parallax">
.....
</RelativeLayout>
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
<!-- IF YOU WANT TO KEEP "Choose Item" always on top of the RecyclerView, put this TextView here
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="choose item" />
-->
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
Sie heften Ihre Symbolleiste an, indem Sie die haben app:layout_collapseMode="pin" Eigenschaftssatz. Du machst RecyclerView richtig scrollbar durch Einstellung app:layout_behavior="@string/appbar_scrolling_view_behavior" und das ist so ziemlich alles.
ACHTUNG! Position von “Artikel auswählen” TextView hängt von dem bestimmten Verhalten ab, das Sie erreichen möchten:
Sie können es als erstes Element Ihrer hinzufügen RecyclerView‘s Adapter um es wegzuscrollen, sobald der Benutzer beginnt, durch die zu scrollen RecyclerView;
Sie können es hinzufügen AppBarLayout So bleibt es immer oben auf dem RecyclerViewwann immer Sie es scrollen oder nicht;
Funktioniert es immer noch, wenn wir unten ein Scrollview oder NestedScrollView statt Recyclerview hinzufügen. Ich denke auch darüber nach, mehrere Recyclerviews in der Scrollview mit klebrigen Headern zu haben. Wird es funktionieren?
– VeeyaaR
15. Juli 2021 um 7:30 Uhr
Ich wünschte, ich hätte diese Lösung früh gefunden, sie funktioniert perfekt. Sie sparen immer noch meine Zeit. Vielen Dank 🙂
– Rucha Bhatt Joshi
27. Juli um 9:55 Uhr
Mani
Der folgende Code funktioniert, aber kein reibungsloser Bildlauf im Vergleich zu reqular recyclerview, dachte ich.