2016-03-20 14 views
1

erstellen ich die nächste Logik in Android implementieren muß:Richtiger Weg Vordergrund Blick auf RecyclerView

enter image description here

Wir haben RecyclerView mit Stunden von Tagen (8.00-17.00, nach 17.00 Uhr wir 8.00 der nächsten sehen Tag, also die Liste ist unendlich) und sollte Ereignisse entsprechend ihrer Zeit hinzufügen. Ich habe es mit LineareLayoutManager implementiert und der Ansichtshalter ist ein Tag, an dem ich Ereignisse zur absoluten Position der Ansicht hinzufüge). Aber ich mag diesen Weg nicht, weil jede Gegenstandsansicht ein bisschen havy ist und die Liste nicht blättert, wenn neue Gegenstände gezeichnet werden. Bitte helfen Sie mir, den richtigen Weg zur Implementierung zu finden.

+1

Wenn ich dies implementieren müsste, würde ich eine benutzerdefinierte "View" machen und Canvas-Zeichnen * -Methoden verwenden, um die Benutzeroberfläche zu rendern. Es ist mehr Code und Sie müssen Ihre eigene Touch-Bedienung machen, aber auch eine Menge Probleme lösen, wie z. B. Scroll-Leistung. Es ist eine Option, die in Betracht gezogen werden sollte. –

+0

Sie könnten nach einer Bibliothek suchen, die Ihre Anforderungen erfüllt (oder durchsehen Sie ihren Code, um zu sehen, wie sie es gemacht und angepasst haben). Sie haben eine Bibliothek mit Screenshots gefunden, die Ihrem bereitgestellten Bild ähneln. https://github.com/alamkanak/Android-Week-View – user4989692

Antwort

0

Wenn das Scrollen nicht glatt ist, dann ist wahrscheinlich Ihre onBindViewHolder zu schwer. In dieser Situation gibt es keinen generischen Ratschlag. Sie müssen Android Studio->Android Monitor->CPU->Start Method Tracing ausführen und analysieren, was die Erstellung der Tagesansicht verlangsamt. Dann optimieren Sie diesen Teil.

Überprüfen Sie außerdem sorgfältig, ob im Benutzeroberflächenthread kein Datenträger- oder Datenbankzugriffscode ausgeführt wird. Verschiebe es in einen separaten Thread.

Verwandte Themen