Ich benutze RecyclerView
innen NestedScrollView
und es funktioniert. Aber wenn ich RecyclerView
drinnen LinearLayout
oder so benutze , wird je nach Geste mit unterschiedlicher Geschwindigkeit gescrollt. Die Schriftrolle hört auf eine Geste und wenn ich nur ein wenig nach oben rutsche, dann scrollt sie ein wenig, während wenn ich sehr schnell nach oben rutsche, dann sehr schnell. Jetzt ist mein Problem, dass RecyclerView
innen NestedScrollView
sicherlich scrollen, aber schnelles Scrollen nicht funktioniert. Allerdings schieben ich auf schnell oder langsam, RecyclerView
oder NestedScrollView
nur bewegen ein wenig.
Wie kann ich meine NestedScrollView
oder RecyclerView
innerhalb dieser Bildlaufansicht mit unterschiedlicher Geschwindigkeit scrollen lassen?
quelle
Antworten:
Versuchen
quelle
Standardmäßig
setNestedScrollingEnabled
funktioniert nur nach API-21.Sie können das
ViewCompat.setNestedScrollingEnabled(recyclerView, false);
verschachtelte Scrollen vor und nach API-21 (Lollipop) deaktivieren. Link zur Dokumentation .Ich hoffe das hilft!
quelle
Ich habe an Android 16 gearbeitet, wo dies nicht möglich war, die setNestedSCrollEnabled-Methode zu verwenden.
Was ich am Ende tue, um RecyclerView daran zu hindern, Schriftrollen zu verarbeiten.
Wie in LinerLayoutManager habe ich canScrollHorizontally, canScrollVertically gemacht, um standardmäßig false zurückzugeben.
quelle
Nach mehreren Iterationen fand ich eine Lösung.
Wenn Sie RecyclerView verwenden, gilt Folgendes:
Wenn Sie LinearLayout in NestedScrollingView verwenden, nehmen Sie das LinearLayout in eine normale ScrollView und setzen Sie den Bildlauf auf
quelle
android: overScrollMode = "nie
quelle
Sie können ScrollView mit der ExtendRecyclerView-Klasse verwenden, die die onMeasure-Methode überschreibt. Das ist für mich in Ordnung!
quelle
Wird manchmal nützlich sein. Aber es ist nicht immer ratsam. Weil es die Ansichtsrecyclingfunktion in der Recylcer-Ansicht deaktiviert.
Alternativen:
Probieren Sie CollapsiveToolbarLayout mit Recycler-Ansicht aus. Fügen Sie andere Ansichten in das CollapseiveTollbar-Layout ein.
quelle
Ich habe auch dieses Problem getroffen. Und aktualisieren Sie,
26.1.0
um es zu beheben.quelle
In meinem Fall habe ich alle Bilder in einem Zeichenordner abgelegt, der im Ordner drawable-xxxhdpi installiert ist. Deshalb ist meine Bildschirm-Benutzeroberfläche verzögert.
quelle
Sie sollten die Recycler-Ansicht in ein beliebiges Layout wie LinearLayout einbinden und die RecyclerView-Größe auf konstant einstellen, z. B. 800 dp. Dies ermöglicht einen reibungslosen Bildlauf und die Recycler-Ansicht wird während des Bildlaufs weiterhin recycelt.
quelle
Das ist WAI. Das NestedScrollView misst seine untergeordneten Elemente mit der Spezifikation "Nicht angegeben". Das Kind kann so viel wachsen, wie es will.
Dies entspricht im Wesentlichen der Höhe von NSV und RV. Was das Wohnmobil betrifft, glaubt es, dass es vollständig angezeigt wird.
Wickeln Sie Ihr Wohnmobil mit einem LL ein und geben Sie Ihrem Wohnmobil eine Höhe. Das LL würde die Kennzahlspezifikation nicht auf NICHT SPEZIFIZIERT setzen, sodass das Wohnmobil korrekt innerhalb seiner festgelegten Höhe von den von Ihnen bereitgestellten DPs scrollen würde.
Der einzige Nachteil dieser Methode ist, dass Sie auf Ihrem Wohnmobil kein Match-Elternteil erstellen können.
quelle