Как мы видели, RecyclerView более эффективен, чем ListView, поэтому я предпочитаю использовать его в своем проекте. Но недавно у меня возникла проблема, когда я поместил его в свою пользовательскую ViewGroup. RecyclerView легко установить полосы прокрутки в xml следующим образом:
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Но я действительно не могу найти никакого метода для установки полос прокрутки в коде для RecyclerView, что я пробовал:
mRecyclerView.setVerticalScrollBarEnabled(true);
а потом я увидел это в документе Android.
Поэтому я попытался создать свой собственный LayoutManager и переопределить функции, которые, как мне казалось, мне нужны. Но в конце концов я потерпел неудачу. Так может ли кто-нибудь сказать мне, как мне создать свой собственный LayoutManager, или просто показать мне другое решение. Спасибо!
источник
Установите вертикальную полосу прокрутки в макете xml
источник
android:scrollbarStyle="outsideOverlay"
?android:fadeScrollbars="true"
Просто в свойствах xml
источник
Я бы предпочел использовать
ContextThemeWrapper
для этого.Сначала определите в Style.xml:
И затем всякий раз, когда вы инициализируете свой RecyclerView, используйте
ContextThemeWrapper
:источник
Вы можете сделать это, не раздувая XML-макет, но вам нужно будет объявить настраиваемый атрибут темы и стиль:
Затем установите значение атрибута для стиля в вашей теме:
Теперь вы можете программно создать RecyclerView с вертикальной полосой прокрутки:
источник
Используйте такой код:
источник