RecyclerView contenu de la hauteur
Est-il un bon moyen de gagner de la hauteur du contenu à l'intérieur de RecyclerView? Compte tenu de tous les éléments peuvent avoir des hauteurs différentes.
Dans mon scénario, je suis en utilisant un LinearLayoutManager.
J'ai cherché et trouvé étonnamment peu de résultats pour ce problème.
OriginalL'auteur Kenneth | 2015-02-07
Vous devez vous connecter pour publier un commentaire.
RecyclerView est un
ViewGroup
. Vous pouvez utilisergetChildAt
/getChildCount
pour obtenir des points de vue. Puis, à partir de la vue, vous pouvez appelergetWidth
/getHeight
.Si vous avez ItemDecorators et la nécessité d'obtenir la taille, y compris entre eux, vous pouvez utiliser
LayoutManager
'sgetDecorated<xxx>
méthodes.Si vous essayez d'avoir de la hauteur des éléments qui ne sont pas mis, vous ne pouvez pas parce qu'ils ne sont pas mis. Il ne peut pas être une solution pour cela en plus de la pose de chaque élément, qui va à l'encontre de l'objectif de l'aide de RecyclerView.
Mais le RecylerView sait assez à la disposition de l'barres de défilement correctement, il doit savoir quelque chose au sujet du contenu de la hauteur?
Il se rapproche de la taille totale de tous les éléments en prenant la moyenne de la taille des points de vue actuels multiplié par le nombre d'éléments dans la carte.
Aha. Cool. Je vous remercie.
OriginalL'auteur yigit
RecyclerView.computeVerticalScrollRange
donnera une estimation - il des moyennes de la hauteur des lignes actuellement à l'affiche et se multiplie que par le résultat degetItemCount
computeHorizontalScrollRange
pour la largeur si vous êtes l'orientation est horizontale.OriginalL'auteur mdd-sbo