Je dois implémenter une liste horizontale dans mon application Android. J'ai fait un peu de recherche et suis tombé sur Comment puis-je faire un ListView horizontal dans Android? et liste horizontale dans Android? cependant, ces questions ont été posées avant la sortie de Recyclerview. Existe-t-il une meilleure façon de mettre en œuvre cela maintenant avec Recyclerview?
android
android-layout
android-recyclerview
Andre Perkins
la source
la source
LinearLayoutManager
avec l'orientation définie surHORIZONTAL
.Réponses:
Oui.
Lorsque vous utilisez un
RecyclerView
, vous devez spécifier unLayoutManager
responsable de la présentation de chaque élément dans la vue. LeLinearLayoutManager
vous permet de spécifier une orientation, comme leLinearLayout
ferait normalement .Pour créer une liste horizontale avec
RecyclerView
, vous pouvez faire quelque chose comme ceci:la source
RelativeLayout
n'a pas de concept horizontal vs vertical, donc je ne comprends pas vraiment la question.la source
app:layoutManager="android.support.v7.widget.LinearLayoutManager"
ne fonctionnera pas pour la build de la version. J'ai rencontré ce problème avec la version Release.Exemple complet
La seule vraie différence entre une verticale
RecyclerView
et une horizontale est la façon dont vous configurez leLinearLayoutManager
. Voici l'extrait de code. L'exemple complet est ci-dessous.Cet exemple plus complet est calqué sur ma
RecyclerView
réponse verticale .Mettre à jour les dépendances Gradle
Assurez-vous que les dépendances suivantes figurent dans votre
gradle.build
fichier d' application :Vous pouvez mettre à jour les numéros de version vers la version la plus récente .
Créer une disposition d'activité
Ajoutez le
RecyclerView
à votre mise en page XML.activity_main.xml
Créer une disposition d'élément
Chaque élément de notre
RecyclerView
va avoir un seul de couleurView
sur unTextView
. Créez un nouveau fichier de ressources de mise en page.recyclerview_item.xml
Créer l'adaptateur
Il a
RecyclerView
besoin d'un adaptateur pour remplir les vues de chaque ligne (élément horizontal) avec vos données. Créez un nouveau fichier java.MyRecyclerViewAdapter.java
Remarques
ListViews
et c'est un besoin commun. Vous pouvez supprimer ce code si vous n'en avez pas besoin.Initialiser RecyclerView en activité
Ajoutez le code suivant à votre activité principale.
MainActivity.java
Remarques
ItemClickListener
que nous avons définie dans notre adaptateur. Cela nous permet de gérer les événements de clic d'élément dansonItemClick
.Fini
C'est tout. Vous devriez pouvoir exécuter votre projet maintenant et obtenir quelque chose de similaire à l'image en haut.
Remarques
la source
Si vous souhaitez utiliser un
RecyclerView
avec leGridLayoutManager
, c'est le moyen d'obtenir un défilement horizontal.la source
Essayer de créer un ListView horizontal prend trop de temps. Je l'ai résolu de deux manières.
En utilisant un ViewPager dont l'adaptateur s'étend de PagerAdapter.
2.En utilisant RecyclerView comme ci-dessus. Vous devez appliquer LayoutManager comme dans le code suivant:
la source
Si vous souhaitez utiliser la vue horizontale du recycleur pour agir en tant que ViewPager, il est maintenant possible à l'aide de
LinearSnapHelper
ce qui est ajouté dans la bibliothèque de support version 24.2.0.Ajoutez d'abord RecyclerView à votre activité / fragment
Dans mon cas, j'ai utilisé un
CardView
intérieurRecyclerView
blog_row.xml
Dans votre activité / fragment
La dernière étape consiste à définir l'adaptateur sur RecyclerView
la source
Avec la sortie de la bibliothèque RecyclerView, vous pouvez désormais aligner facilement une liste d'images liées au texte. Vous pouvez utiliser LinearLayoutManager pour spécifier la direction dans laquelle vous souhaitez orienter votre liste, verticalement ou horizontalement comme indiqué ci-dessous.
Vous pouvez télécharger une démonstration complète de ce poste
la source
la source
Il existe une sous-classe RecyclerView nommée HorizontalGridView que vous pouvez utiliser pour avoir une direction horizontale. VerticalGridView pour la direction verticale
la source
la source
Vue du recycleur en dynamique horizontale.
Mise en œuvre de la vue Recycleur
Classe d'adaptateur pour la vue du recycleur, dans laquelle il y a un support de vue pour maintenir la vue de ce recycleur
la source
la source
Essaye ça:
seulement si vous avez une vue recycleur avec des fragments dessus.
la source