Comme nous l'avons vu, RecyclerView est plus efficace que ListView, je préfère donc l'utiliser dans mon projet. Mais récemment, j'ai un problème lorsque je le mets dans mon ViewGroup personnalisé. RecyclerView est facile à définir des barres de défilement en XML comme ceci:
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Mais je ne trouve vraiment aucune méthode pour définir les barres de défilement dans le code de RecyclerView, ce que j'ai essayé est:
mRecyclerView.setVerticalScrollBarEnabled(true);
et puis j'ai vu cela dans le document d'Android.
J'ai donc essayé de créer mon propre LayoutManager et de remplacer les fonctions dont je pensais avoir besoin. Mais finalement j'ai échoué. Quelqu'un peut-il donc me dire comment créer mon propre LayoutManager ou simplement me montrer une autre solution. Je vous remercie!
la source
Définir la barre de défilement verticale dans la mise en page XML
la source
android:scrollbarStyle="outsideOverlay"
?android:fadeScrollbars="true"
Juste dans les propriétés xml
la source
Je préférerais utiliser
ContextThemeWrapper
pour cela.Définissez d'abord dans Style.xml:
Et puis chaque fois que vous initialisez votre utilisation RecyclerView
ContextThemeWrapper
:la source
Vous pouvez le faire sans gonfler une mise en page XML, mais vous devrez déclarer un attribut de thème personnalisé et un style:
Ensuite, définissez la valeur de l'attribut sur le style de votre thème:
Vous pouvez maintenant créer le RecyclerView par programme avec une barre de défilement verticale:
la source
Utilisez un code comme:
la source