Comment toujours afficher la barre de défilement

256

La barre de défilement dans ma vue de défilement n'est visible que lorsque je commence à faire défiler. Comment puis-je toujours le montrer?

juil
la source

Réponses:

543

Pour l'instant, le meilleur moyen est d'utiliser android:fadeScrollbars="false"en xml qui est équivalent au ScrollView.setScrollbarFadingEnabled(false);code java.

Rejinderi
la source
pour ListView n'a pas fonctionné, mais cela a fonctionné:view.setScrollBarFadeDuration(0);
user924
3
la réponse correcte et acceptée doit donc être @Tanmay Mandal answer ( setScrollBarFadeDuration(0)), car setScrollbarFadingEnabled(false)cela ne fonctionne pas partout
user924
ou il arrête les travaux par exemple à cause de ce qui est décrit ici stackoverflow.com/a/6673848/7767664 (onStop, onStart again et faield), setScrollBarFadeDuration(0);est donc plus fiable
user924
55

Le réglage android:scrollbarFadeDuration="0"fera l'affaire.

Tanmay Mandal
la source
4
disponible dans sdk 16 comme méthode java
larham1
42

Il y a 2 façons:

  • à partir du code Java: ScrollView.setScrollbarFadingEnabled(false);
  • à partir du code XML: android:fadeScrollbars="false"

Aussi simple que cela!

Tudor Luca
la source
11

Essayez ceci car les suggestions ci-dessus ne fonctionnaient pas pour moi lorsque je voulais le faire pour un TextView:

TextView.setScrollbarFadingEnabled(false);

Bonne chance.

Camille Sévigny
la source
@ user924 bien sûr, mais cette réponse a été publiée 10 jours après mon commentaire
sXe
10

N'oubliez pas d'ajouter android:scrollbars="vertical"avec android:fadeScrollbars="false"ou il ne s'affichera pas du tout dans certains cas.

Sir Codesalot
la source
9

Essayez android:scrollbarAlwaysDrawVerticalTrack="true"vertical. et essayez android:scrollbarAlwaysDrawHorizontalTrack="true"horizontal

Saurabh Pareek
la source
8

Étant donné qu'aucun des éléments ci-dessus n'a fonctionné pour moi, voici ce qui s'est passé: android:scrollbarDefaultDelayBeforeFade="500000"

Emir Kuljanin
la source
8

android:scrollbarFadeDuration="0"parfois ne fonctionne pas après avoir quitté les applications et recommencer. J'ajoute donc gallery.setScrollbarFadingEnabled(false);à l'activité et ça marche!

icegee
la source
6

Ces deux ensemble ont travaillé pour moi:

android:scrollbarFadeDuration="0"
android:scrollbarAlwaysDrawVerticalTrack="true"
sealskej
la source
6

Donnez un style à votre barre de défilement Visibilité, couleur et épaisseur comme ceci:

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

J'espère que cela vous fera gagner du temps.

Hitesh Sahu
la source
5

J'ai eu le même problème. La barre avait la même couleur de fond. Essayer:

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

Simple et facile. Ajoutez cet attribut à ScrollBar:

android:fadeScrollbars="false"

Ou vous pouvez le faire en :

scrollView.setScrollbarFadingEnabled(false);

Ou dans :

scrollView.isScrollbarFadingEnabled = false
Gourav
la source
3

setVertical * a aidé à rendre la barre de défilement verticale toujours visible par programmation

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

Le réglage fera l'affaire. Modifiez @drwable pour votre propre style.

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