Wie wir gesehen haben, ist RecyclerView effektiver als ListView, daher bevorzuge ich es, es in meinem Projekt zu verwenden. Aber vor kurzem habe ich Probleme, wenn ich es in meine benutzerdefinierte ViewGroup lege. RecyclerView ist einfach, Bildlaufleisten in XML wie folgt festzulegen:
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Aber ich kann wirklich keine Methode finden, um die Bildlaufleisten im Code für RecyclerView festzulegen. Ich habe Folgendes versucht:
mRecyclerView.setVerticalScrollBarEnabled(true);
und dann habe ich das in Android's Dokument gesehen.
Also habe ich versucht, meinen eigenen LayoutManager zu erstellen und die Funktionen zu überschreiben, die ich für nötig hielt. Aber schließlich habe ich versagt. Kann mir jemand sagen, wie ich meinen eigenen LayoutManager erstellen oder mir einfach eine andere Lösung zeigen soll? Danke dir!
quelle
Stellen Sie die vertikale Bildlaufleiste im XML-Layout ein
quelle
android:scrollbarStyle="outsideOverlay"
?android:fadeScrollbars="true"
Nur in XML-Eigenschaften
quelle
Ich würde es vorziehen, dafür zu verwenden
ContextThemeWrapper
.Definieren Sie zuerst in Style.xml:
Und wann immer Sie Ihre RecyclerView initialisieren, verwenden Sie
ContextThemeWrapper
:quelle
Sie können dies tun, ohne ein XML-Layout aufzublasen, müssen jedoch ein benutzerdefiniertes Designattribut und einen Stil deklarieren:
Stellen Sie dann den Wert des Attributs auf den Stil in Ihrem Thema ein:
Jetzt können Sie die RecyclerView programmgesteuert mit einer vertikalen Bildlaufleiste erstellen:
quelle
Verwenden Sie einen Code wie:
quelle