J'essaie d'afficher des éléments de recyclage horizontal et des éléments de recyclage vertical dans un ScrollView
Scrollview n'a pas fonctionné même si j'utilise Android: fillViewport = "true"
<ScrollView
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical">
//Horizontal Recyclerview items
<RecyclerView
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
</RecyclerView>
//vertical Recyclerview items
<RecyclerView
Android:layout_width="match_parent"
Android:layout_height="match_parent"></RecyclerView>
</LinearLayout>
</ScrollView>
Vous devez utiliser NestedScrollView à la place. Cependant, vous devrez peut-être écrire votre propre LayoutManager. Découvrez ceci Réponse SO pour plus de détails
Vous devez utiliser un gestionnaire de mise en page personnalisé pour utiliser recyclerview dans une vue déroulante.
Vous pouvez supprimer la vue de défilement et créer un élément d'en-tête dans la vue de recyclage verticale qui contient la vue de recyclage horizontale.
Vous ne devez pas non plus utiliser une vue de recyclage dans une vue de défilement. Alors pensez que la deuxième approche sera meilleure.
Vous pouvez également utiliser Snap-RecyclerView-Utils . Il possède un gestionnaire de disposition linéaire pour la vue de recyclage dans une vue de défilement et un adaptateur qui peut vous aider à créer un en-tête contenant votre vue de recyclage horizontale.
ScrollView
ne peut avoir qu'un seul enfant.
Supprimez votre RelativeLayout
et réessayez.
Mis à part cela Android:layout_height
dans ScrollView
doit être défini sur wrap_content
De plus, je ne suis pas sûr, si cela fonctionne, car dans le Docs il est indiqué que
Vous ne devez jamais utiliser un ScrollView avec un ListView, car ListView s'occupe de son propre défilement vertical. Plus important encore, cela annule toutes les optimisations importantes de ListView pour traiter les grandes listes, car elle oblige effectivement ListView à afficher l'intégralité de sa liste d'éléments pour remplir le conteneur infini fourni par ScrollView.
Peut-être qu'un NestedScrollView
fonctionne puisque c'est pour
NestedScrollView est comme ScrollView, mais il prend en charge le rôle de parent et d'enfant de défilement imbriqué sur les nouvelles et anciennes versions d'Android. Le défilement imbriqué est activé par défaut.