Como sempre mostrar a barra de rolagem

256

A barra de rolagem na minha visualização de rolagem só é visível quando eu começo a rolagem. Como posso sempre mostrar isso?

jul
fonte

Respostas:

543

A partir de agora, a melhor maneira é usar android:fadeScrollbars="false"no xml que é equivalente ao ScrollView.setScrollbarFadingEnabled(false);código java.

Rejinderi
fonte
para o ListView não funcionou, mas funcionou:view.setScrollBarFadeDuration(0);
user924
3
por isso a resposta certa e aceite deve ser @Tanmay Mandal resposta ( setScrollBarFadeDuration(0)), porque setScrollbarFadingEnabled(false)não funciona em todos os lugares
user924
ou pára obras, por exemplo, por causa de como descrito aqui stackoverflow.com/a/6673848/7767664 (onStop, onStart novamente e faield), por isso setScrollBarFadeDuration(0);é mais confiável
user924
55

Definir a android:scrollbarFadeDuration="0"vontade fará o truque.

Tanmay Mandal
fonte
4
disponível no SDK 16 como um método java
larham1
42

Existem 2 maneiras:

  • do código Java: ScrollView.setScrollbarFadingEnabled(false);
  • do código XML: android:fadeScrollbars="false"

Simples assim!

Tudor Luca
fonte
11

Tente isso, pois as sugestões acima não funcionaram para mim quando eu quis fazer isso em um TextView:

TextView.setScrollbarFadingEnabled(false);

Boa sorte.

Camille Sévigny
fonte
@ user924 claro, mas essa resposta foi postada 10 dias após o meu comentário
sXe
10

Não se esqueça de adicionar android:scrollbars="vertical"junto android:fadeScrollbars="false"ou ele não será exibido em alguns casos.

Sir Codesalot
fonte
9

Tente android:scrollbarAlwaysDrawVerticalTrack="true"na vertical. e tente android:scrollbarAlwaysDrawHorizontalTrack="true"para horizontal

Saurabh Pareek
fonte
8

Como nenhuma das opções acima funcionou para mim, eis o que fez: android:scrollbarDefaultDelayBeforeFade="500000"

Emir Kuljanin
fonte
8

android:scrollbarFadeDuration="0"às vezes não funciona depois que eu saio dos aplicativos e inicio novamente. Então eu adiciono gallery.setScrollbarFadingEnabled(false);à atividade e ela funciona!

icegee
fonte
6

Estes dois juntos trabalharam para mim:

android:scrollbarFadeDuration="0"
android:scrollbarAlwaysDrawVerticalTrack="true"
sealskej
fonte
6

Estilize sua barra de rolagem Visibilidade, Cor e Espessura da seguinte maneira:

<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"/>

Espero que ajude a economizar algum tempo.

Hitesh Sahu
fonte
5

Eu tive o mesmo problema. A barra tinha a mesma cor de fundo. Experimentar:

android:scrollbarThumbVertical="@android:color/black"
Boris Karloff
fonte
4

Simples e fácil. Adicione este atributo ao ScrollBar:

android:fadeScrollbars="false"

Ou você pode fazer isso em :

scrollView.setScrollbarFadingEnabled(false);

Ou em :

scrollView.isScrollbarFadingEnabled = false
Gourav
fonte
3

setVertical * ajudou a tornar a barra de rolagem vertical sempre visível programaticamente

scrollView.setScrollbarFadingEnabled(false);
scrollView.setVerticalScrollBarEnabled(true);
scrollView.setVerticalFadingEdgeEnabled(false);
Dmitry Bryliuk
fonte
2

Definir isso fará o truque. Mude o @drwable para seu próprio estilo.

android:scrollbars="vertical"
            android:scrollbarAlwaysDrawVerticalTrack="true"
            android:fadeScrollbars="false"
            android:scrollbarThumbVertical="@drawable/scroll"`
Muthu Krishnan
fonte