Jak widzieliśmy, RecyclerView jest bardziej efektywny niż ListView, więc wolę używać go w moim projekcie. Ale ostatnio mam problem z umieszczeniem go w mojej niestandardowej grupie ViewGroup. RecyclerView jest łatwy do ustawienia pasków przewijania w XML w następujący sposób:
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Ale naprawdę nie mogę znaleźć żadnej metody ustawiania pasków przewijania w kodzie dla RecyclerView, próbowałem:
mRecyclerView.setVerticalScrollBarEnabled(true);
a potem zobaczyłem to w dokumencie Androida.
Próbowałem więc stworzyć własnego LayoutManagera i zastąpić funkcje, które uważałem za potrzebne. Ale w końcu zawiodłem. Czy ktoś może mi powiedzieć, jak mam stworzyć własny LayoutManager lub po prostu pokazać inne rozwiązanie. Dziękuję Ci!
źródło
Ustaw pionowy pasek przewijania w układzie XML
źródło
android:scrollbarStyle="outsideOverlay"
?android:fadeScrollbars="true"
Tylko we właściwościach XML
źródło
Wolałbym do tego użyć
ContextThemeWrapper
.Najpierw zdefiniuj w Style.xml:
A potem za każdym razem, gdy zainicjujesz swój RecyclerView, użyj
ContextThemeWrapper
:źródło
Możesz to zrobić bez zawyżania układu XML, ale musisz zadeklarować niestandardowy atrybut motywu i styl:
Następnie ustaw wartość atrybutu na styl w swoim motywie:
Teraz możesz programowo utworzyć RecyclerView za pomocą pionowego paska przewijania:
źródło
Użyj kodu takiego jak:
źródło