Mettre une durée indéterminée progressbar que le pied de page dans un RecyclerView grille
Comment faire pour obtenir une période indéterminée indicateur circulaire pour "faire Défiler jusqu'à la charge plus" dans une grille RecycleView?
Le modèle est décrit là: http://www.google.com/design/spec/components/progress-activity.html#progress-activity-behavior en "Deux étapes de charges" et "Exemple 2: faites Défiler vers le haut pour charger plus" exemple des vidéos.
Je suis en train de le faire à l'aide de la nouvelle RecyclerView, mais je ne peux pas trouver un "pas-trop-hackish" façon de le faire, d'abord parce qu'il n'est pas un moyen pour ajouter un pied de page qui couvrent toute la ligne dans la grille. Des suggestions?
- Je suis également du mal à obtenir que cela fonctionne. Il est facile pour seule colonne, les lignes, mais ce n'est pas beau quand vous avez plusieurs colonnes(comme dans un
GridView
). Aussi, devons-nous utiliserRecyclerView
ou peut-il être accompli avecGridView
? - Pour la "nous devons utiliser RecyclerView ou peut-il être accompli avec GridView?" question je pense que je peux répondre à presque sûrement: dans cette vidéo, Chris Banes à 7:36, dit que le RecyclerView ", destiné à remplacer le ListView et GridView", donc, définitivement oui, nous devons mettre à jour nos applications pour utiliser ce point de vue, parce que "officiellement" remplace d'autres vues anciennes. Le problème est que, pratiquement, on ne peut pas ajouter un pied de page et/ou un en-tête, sans la réécriture de ce point de Vue. Je demande à Chris ou tout autre Google employeur pour répondre à cette question :/
- *réécriture = extension
- github.com/pnikosis/materialish-progress cette bibliothèque peut vous aider à
- peut-être que vous avez mal compris le problème: n'Est pas la barre de progression (ou un compteur, dans ce cas), mais le pied de page dans la RecyclerView. Merci pour le commentaire, de toute façon 🙂
- découvrez ce post pour ajouter des en-tête et pied de page stackoverflow.com/a/33274861/5439549
InformationsquelleAutor Alex Facciorusso | 2014-11-20
Vous devez vous connecter pour publier un commentaire.
Il est très simple de le faire.
La solution est d'utiliser la même approche de la
LinearLayoutManager
avec unGridLayoutManager
et ensuite utiliser la méthodesetSpanSizeLookup
sur leLayoutManager
comme ceci:Cela va automatiquement faire le point couvrent toute la ligne de la grille (si la ligne n'est pas totalement vide, ce point va à la ligne suivante).
StaggeredGridLayoutManager
: stackoverflow.com/a/27491819/2334509Remarque solution ci-dessous a quelques problèmes potentiels et de la limitation, pour la révision des solution merci de vérifier celui-ci Ajout d'éléments à l'Infini Défilement RecyclerView avec Barre de progression en bas
Ici est solution je suis venu récemment:
l'idée est d'avoir RecyclerView avec 2 type d'éléments que l'on est notre habitude, les éléments de la deuxième est la barre de progression, puis nous avons besoin d'écouter de défilement de l'événement et de décider allons nous charger plus et de montrer progressbar ou pas.
Donc, à partir de l'idée à l'exemple de code
progress_item.xml
activity_main.xml
EndlessRecyclerOnScrollListener.java
MyAdapter.java
et enfin MainActivity.java
Voici une petite modification à @Vilen Melkumyan de réponse sur le
RecyclerView.Adapter
qui a mieux fonctionné pour moi. Et vous pouvez utiliser votreEndlessRecyclerOnScrollListener
de la manière que vous voulez pour le chargement des données, également activer ou désactiver le pied de page à tout moment.PS: Il a travaillé avec
GridLayoutManager
.Mes 2 cents, la paix!!
Découvrez ma solution dans https://github.com/ramirodo/endless-recycler-view-adapter
ou https://bintray.com/ramiro/android/endless-recycler-view-adapter. Il est un exemple là et aussi les étapes de configuration de la bibliothèque dans votre projet.
Vous avez juste besoin d'étendre votre recycleur de vue de l'adaptateur en mettant en œuvre les méthodes requises. Aussi, vous pouvez définir la mise en page de la progression de pied de page.
Vous pouvez simplifier Bronx la réponse de l'insertion du code dans un adaptateur.