J'utilise à l' RecyclerView
intérieur NestedScrollView
et ça marche. Mais lorsque j'utilise à l' RecyclerView
intérieur LinearLayout
ou quelque chose du genre, il défile à différentes vitesses en fonction du geste. Le parchemin écoute le geste et si je glisse un peu vers le haut, il défile un peu tandis que si je glisse très vite vers le haut, alors il défile très vite. Maintenant, mon problème est que le défilement RecyclerView
intérieur est NestedScrollView
certainement mais le défilement rapide ne fonctionne pas. Cependant, je glisse rapidement ou lentement, RecyclerView
ou je ne fais NestedScrollView
que défiler un peu.
Comment puis-je faire défiler mon NestedScrollView
ou l' RecyclerView
intérieur de cette vue de défilement à différentes vitesses?
la source
Réponses:
essayer
la source
Par défaut,
setNestedScrollingEnabled
fonctionne uniquement après l'API-21.Vous pouvez utiliser
ViewCompat.setNestedScrollingEnabled(recyclerView, false);
pour désactiver le défilement imbriqué avant et après l'API-21 (Lollipop). Lien vers la documentation .J'espère que cette aide!
la source
Je travaillais sur Android 16 où il n'était pas possible d'utiliser la méthode setNestedSCrollEnabled,
Ce que je finis par faire pour empêcher RecyclerView de gérer les parchemins.
Comme dans LinerLayoutManager, j'ai créé canScrollHorizontally, canScrollVertically pour retourner false par défaut.
la source
Après plusieurs itérations, j'ai trouvé une solution.
Si vous utilisez RecyclerView, alors:
Si vous utilisez LinearLayout dans NestedScrollingView, prenez le LinearLayout dans un ScrollView normal, puis définissez son défilement sur
la source
android: overScrollMode = "jamais
la source
Vous pouvez utiliser ScrollView avec la classe ExtendRecyclerView qui remplace la méthode onMeasure. Ça marche pour moi!
la source
Cela sera parfois utile, mais ce n'est pas toujours conseillé, car il désactive la fonction de recyclage de la vue dans la vue du recycleur.
Alternatives:
Essayez CollapsiveToolbarLayout avec la vue Recycler. mettre d'autres vues dans la disposition collapsiveTollbar.
la source
J'ai également rencontré ce problème. Et mettez à niveau pour le
26.1.0
réparer.la source
Dans mon cas, j'ai placé toutes les images dans un dossier drawable insted du dossier drawable-xxxhdpi c'est pourquoi mon interface utilisateur d'écran est à la traîne.
la source
Vous devez encapsuler la vue du recycleur dans n'importe quelle mise en page telle que LinearLayout et définir la taille de RecyclerView sur constante, comme 800dp. Cela permettra un défilement fluide et la vue du recycleur restera les vues du recycleur pendant le défilement.
la source
C'est WAI. Le NestedScrollView mesure ses enfants avec la spécification «Unspecified». L'enfant peut aussi grandir autant qu'il le souhaite.
Cela équivaut essentiellement à la hauteur de NSV et RV. Donc, en ce qui concerne le VR, il estime qu'il est complètement affiché.
Enveloppez votre VR avec un LL et donnez à votre RV une hauteur. Le LL ne définirait pas la spécification de mesure comme NON SPÉCIFIÉE afin que le RV défile correctement dans sa hauteur définie, quel que soit le DP que vous fournissez.
Le seul inconvénient de cette méthode est que vous ne pourrez pas faire de correspondance parent sur votre VR.
la source