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?

Respostas:


543

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


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.


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!


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.


@ 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.


9

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


8

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


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!


6

Estes dois juntos trabalharam para mim:

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

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.


5

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

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

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

3

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

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

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"`
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.