Come mostrare sempre la barra di scorrimento


256

La barra di scorrimento nella mia vista di scorrimento è visibile solo quando inizio lo scorrimento. Come posso mostrarlo sempre?

Risposte:


543

A partire da ora il modo migliore è usare android:fadeScrollbars="false"in xml che è equivalente a ScrollView.setScrollbarFadingEnabled(false);nel codice java.


per ListView non ha funzionato, ma ha funzionato:view.setScrollBarFadeDuration(0);
user924

3
quindi la risposta giusta e accettata dovrebbe essere @Tanmay Mandal answer ( setScrollBarFadeDuration(0)), perché setScrollbarFadingEnabled(false)non funziona ovunque
user924

oppure si arresta lavori per esempio a causa di come descritto qui stackoverflow.com/a/6673848/7767664 (onStop, onStart ancora e faield), quindi setScrollBarFadeDuration(0);è più affidabile
user924

55

L'impostazione della android:scrollbarFadeDuration="0"volontà farà il trucco.


4
disponibile in sdk 16 come metodo java
larham1

42

Ci sono 2 modi:

  • dal codice Java: ScrollView.setScrollbarFadingEnabled(false);
  • dal codice XML: android:fadeScrollbars="false"

Semplice come quella!


11

Prova questo perché i suggerimenti sopra non hanno funzionato per me quando volevo farlo per un TextView:

TextView.setScrollbarFadingEnabled(false);

In bocca al lupo.


@ user924 certo, ma quella risposta è stata pubblicata 10 giorni dopo il mio commento
sXe

10

Non dimenticare di aggiungere android:scrollbars="vertical"insieme android:fadeScrollbars="false"o in alcuni casi non verrà visualizzato affatto.


9

Prova android:scrollbarAlwaysDrawVerticalTrack="true"per verticale. e prova android:scrollbarAlwaysDrawHorizontalTrack="true"per orizzontale


8

Poiché nessuno dei precedenti ha funzionato per me, ecco cosa ha fatto: android:scrollbarDefaultDelayBeforeFade="500000"


8

android:scrollbarFadeDuration="0"a volte non funziona dopo che esco dalle app e ricomincio. Quindi aggiungo gallery.setScrollbarFadingEnabled(false);all'attività e funziona!


6

Questi due hanno lavorato insieme per me:

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

6

Dai uno stile alla barra di scorrimento Visibilità, Colore e Spessore in questo modo:

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

Spero che ti aiuti a risparmiare un po 'di tempo.


5

Ho avuto lo stesso problema. Il bar aveva lo stesso colore di sfondo. Provare:

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

4

Semplice e facile. Aggiungi questo attributo a ScrollBar:

android:fadeScrollbars="false"

Oppure puoi farlo in :

scrollView.setScrollbarFadingEnabled(false);

O dentro :

scrollView.isScrollbarFadingEnabled = false

3

setVertical * ha contribuito a rendere la barra di scorrimento verticale sempre visibile a livello di programmazione

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

2

L'impostazione di questo farà il trucco. Cambia @drwable per il tuo stile.

android:scrollbars="vertical"
            android:scrollbarAlwaysDrawVerticalTrack="true"
            android:fadeScrollbars="false"
            android:scrollbarThumbVertical="@drawable/scroll"`
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.