Как всегда показывать полосу прокрутки


256

Полоса прокрутки в моем окне прокрутки видна только когда я начинаю прокрутку. Как я всегда могу показать это?

Ответы:


543

На данный момент лучшим способом является использование android:fadeScrollbars="false"в XML, что эквивалентно ScrollView.setScrollbarFadingEnabled(false);Java-коду.


для ListView не работает, но это работает:view.setScrollBarFadeDuration(0);
user924

3
поэтому правильным и принятым ответом должен быть @Tanmay Mandal answer ( setScrollBarFadeDuration(0)), потому setScrollbarFadingEnabled(false)что не везде работает
user924

или он перестает работать, например, из-за того, как описано здесь stackoverflow.com/a/6673848/7767664 (onStop, onStart снова и faield), поэтому setScrollBarFadeDuration(0);более надежен
user924

55

Установка android:scrollbarFadeDuration="0"сделает свое дело.


4
доступно в SDK 16 в качестве метода Java
larham1

42

Есть 2 способа:

  • из кода Java: ScrollView.setScrollbarFadingEnabled(false);
  • из XML-кода: android:fadeScrollbars="false"

Просто как тот!


11

Попробуйте это, так как вышеупомянутые предложения не работали для меня, когда я хотел сделать это для TextView:

TextView.setScrollbarFadingEnabled(false);

Удачи.


@ user924 уверен, но ответ был отправлен через 10 дней после того, как мой комментарий
SXE

10

Не забудьте добавить android:scrollbars="vertical"вместе с, android:fadeScrollbars="false"или это не будет отображаться вообще в некоторых случаях.


9

Попробуйте android:scrollbarAlwaysDrawVerticalTrack="true"по вертикали. и попробуйте android:scrollbarAlwaysDrawHorizontalTrack="true"для горизонтального


8

Поскольку ни один из вышеперечисленных не работал для меня, вот что сделал: android:scrollbarDefaultDelayBeforeFade="500000"


8

android:scrollbarFadeDuration="0"иногда не работает после выхода из приложений и запуска заново. Так что я добавляю gallery.setScrollbarFadingEnabled(false);в активность, и это работает!


6

Эти двое вместе работали на меня:

android:scrollbarFadeDuration="0"
android:scrollbarAlwaysDrawVerticalTrack="true"

6

Стиль вашей полосы прокрутки Видимость, цвет и толщина, как это:

<ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/recycler_bg"

        <!--Show Scroll Bar-->
        android:fadeScrollbars="false"
        android:scrollbarAlwaysDrawVerticalTrack="true"
        android:scrollbarFadeDuration="50000"

        <!--Scroll Bar thickness-->
        android:scrollbarSize="4dp"

        <!--Scroll Bar Color-->
        android:scrollbarThumbVertical="@color/colorSecondaryText"/>

Надеюсь, это поможет сэкономить время.


5

У меня такая же проблема. Бар был одинакового цвета фона. Пытаться:

android:scrollbarThumbVertical="@android:color/black"

4

Просто и легко. Добавьте этот атрибут в ScrollBar:

android:fadeScrollbars="false"

Или вы можете сделать это в :

scrollView.setScrollbarFadingEnabled(false);

Или в :

scrollView.isScrollbarFadingEnabled = false

3

setVertical * помог сделать программную вертикальную полосу прокрутки всегда видимой

scrollView.setScrollbarFadingEnabled(false);
scrollView.setVerticalScrollBarEnabled(true);
scrollView.setVerticalFadingEdgeEnabled(false);

2

Установка этого сделает свое дело. Измените @drwable для собственного стиля.

android:scrollbars="vertical"
            android:scrollbarAlwaysDrawVerticalTrack="true"
            android:fadeScrollbars="false"
            android:scrollbarThumbVertical="@drawable/scroll"`
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.