Ich muss eine horizontale Listenansicht in meiner Android-Anwendung implementieren. Ich habe ein bisschen recherchiert und bin auf Wie kann ich eine horizontale ListView in Android erstellen? und horizontale ListView in Android?Diese Fragen wurden jedoch gestellt, bevor Recyclerview veröffentlicht wurde. Gibt es eine bessere Möglichkeit, dies jetzt mit Recyclerview zu implementieren?
android
android-layout
android-recyclerview
Andre Perkins
quelle
quelle
LinearLayoutManager
mit Ausrichtung aufHORIZONTAL
.Antworten:
Ja.
Wenn Sie a verwenden
RecyclerView
, müssen Sie a angebenLayoutManager
, das für das Layout jedes Elements in der Ansicht verantwortlich ist. MitLinearLayoutManager
können Sie eine Ausrichtung festlegen, wie dies bei einem normalenLinearLayout
Gerät der Fall wäre.Um eine horizontale Liste mit zu erstellen
RecyclerView
, können Sie Folgendes tun:quelle
RelativeLayout
hat kein Konzept von horizontal gegen vertikal, daher verstehe ich die Frage nicht wirklich.quelle
app:layoutManager="android.support.v7.widget.LinearLayoutManager"
funktioniert nicht für Release Build. Ich habe dieses Problem Release Build konfrontiert.Vollständiges Beispiel
Der einzige wirkliche Unterschied zwischen einem vertikalen
RecyclerView
und einem horizontalen besteht darin, wie Sie das einrichtenLinearLayoutManager
. Hier ist das Code-Snippet. Das vollständige Beispiel finden Sie unten.Dieses ausführlichere Beispiel ist meiner vertikalen
RecyclerView
Antwort nachempfunden .Aktualisieren Sie Gradle-Abhängigkeiten
Stellen Sie sicher, dass die folgenden Abhängigkeiten in Ihrer App-
gradle.build
Datei enthalten sind:Sie können die Versionsnummern auf die aktuellsten aktualisieren .
Aktivitätslayout erstellen
Fügen Sie das
RecyclerView
Ihrem XML-Layout hinzu.activity_main.xml
Elementlayout erstellen
Jeder Artikel in unserem
RecyclerView
wird ein einzelnes ein farbigesView
über ein habenTextView
. Erstellen Sie eine neue Layoutressourcendatei.recyclerview_item.xml
Erstellen Sie den Adapter
Sie
RecyclerView
benötigen einen Adapter, um die Ansichten in jeder Zeile (horizontales Element) mit Ihren Daten zu füllen. Erstellen Sie eine neue Java-Datei.MyRecyclerViewAdapter.java
Anmerkungen
ListViews
und ist ein allgemeines Bedürfnis. Sie können diesen Code entfernen, wenn Sie ihn nicht benötigen.Initialisieren Sie RecyclerView in Aktivität
Fügen Sie Ihrer Hauptaktivität den folgenden Code hinzu.
MainActivity.java
Anmerkungen
ItemClickListener
, was wir in unserem Adapter definiert haben. Auf diese Weise können wir Artikelklickereignisse in verarbeitenonItemClick
.Fertig
Das ist es. Sie sollten jetzt in der Lage sein, Ihr Projekt auszuführen und etwas Ähnliches wie das Bild oben zu erhalten.
Anmerkungen
quelle
Wenn Sie a
RecyclerView
mit dem verwenden möchten, können Sie aufGridLayoutManager
diese Weise einen horizontalen Bildlauf durchführen.quelle
Der Versuch, eine horizontale ListView zu erstellen, nimmt zu viel Zeit in Anspruch. Ich habe es auf zwei Arten gelöst.
1.Mit einem ViewPager, dessen Adapter von PagerAdapter ausgeht.
2. Verwenden Sie RecyclerView wie oben. Sie müssen LayoutManager wie im folgenden Code anwenden:
quelle
Wenn Sie die horizontale Recycler-Ansicht als ViewPager verwenden möchten, ist dies jetzt mit Hilfe von möglich
LinearSnapHelper
die Support Library Version 24.2.0 hinzugefügt wird.Fügen Sie zunächst RecyclerView zu Ihrer Aktivität / Ihrem Fragment hinzu
In meinem Fall habe ich ein
CardView
Inside the verwendetRecyclerView
blog_row.xml
In Ihrer Aktivität / Fragment
Der letzte Schritt besteht darin, den Adapter auf RecyclerView einzustellen
quelle
Mit der Veröffentlichung der RecyclerView-Bibliothek können Sie jetzt eine Liste von Bildern, die mit Text verbunden sind, einfach ausrichten. Mit LinearLayoutManager können Sie die Richtung angeben, in der Sie Ihre Liste entweder vertikal oder horizontal ausrichten möchten, wie unten gezeigt.
Sie können eine voll funktionsfähige Demo von diesem Beitrag herunterladen
quelle
quelle
Es gibt eine RecyclerView-Unterklasse mit dem Namen HorizontalGridView , mit der Sie die horizontale Richtung festlegen können. VerticalGridView für die vertikale Richtung
quelle
quelle
Recycler-Ansicht in horizontaler Dynamik.
Implementierung der Recycler-Ansicht
Adapterklasse für die Recycler-Ansicht, in der sich ein Ansichtshalter für die Ansicht dieses Recyclers befindet
quelle
quelle
Versuche dies:
Nur für den Fall, dass Sie eine Recycler-Ansicht mit einigen Fragmenten haben.
quelle