So zeigen Sie immer die Bildlaufleiste an

256

Die Bildlaufleiste in meiner Bildlaufansicht ist nur sichtbar, wenn ich mit dem Bildlauf beginne. Wie kann ich es immer zeigen?

jul
quelle

Antworten:

543

Ab sofort ist die beste Möglichkeit, android:fadeScrollbars="false"XML zu verwenden, was ScrollView.setScrollbarFadingEnabled(false);Java-Code entspricht.

Rejinderi
quelle
für ListView hat nicht funktioniert, aber das hat funktioniert:view.setScrollBarFadeDuration(0);
user924
3
Die richtige und akzeptierte Antwort sollte also @Tanmay Mandal answer ( setScrollBarFadeDuration(0)) sein, da setScrollbarFadingEnabled(false)sie nicht überall funktioniert
user924
oder es stoppt funktioniert zum Beispiel wegen wie hier beschrieben stackoverflow.com/a/6673848/7767664 (onStop, onStart erneut und faield), setScrollBarFadeDuration(0);ist also zuverlässiger
user924
55

Das Einstellen des android:scrollbarFadeDuration="0"Willens reicht aus.

Tanmay Mandal
quelle
4
verfügbar in SDK 16 als Java-Methode
Larham1
42

Es gibt zwei Möglichkeiten:

  • aus Java-Code: ScrollView.setScrollbarFadingEnabled(false);
  • aus XML-Code: android:fadeScrollbars="false"

So einfach ist das!

Tudor Luca
quelle
11

Versuchen Sie dies, da die obigen Vorschläge bei mir nicht funktionierten, als ich dies für eine Textansicht tun wollte:

TextView.setScrollbarFadingEnabled(false);

Viel Glück.

Camille Sévigny
quelle
@ user924 sicher, aber diese Antwort wurde 10 Tage nach meinem Kommentar veröffentlicht
sXe
10

Vergessen Sie nicht , hinzuzufügen , android:scrollbars="vertical"mit zusammen android:fadeScrollbars="false"oder es wird gar nicht in einigen Fällen zeigen.

Sir Codesalot
quelle
9

Versuchen Sie es android:scrollbarAlwaysDrawVerticalTrack="true"mit vertikal. und versuchen Sie es android:scrollbarAlwaysDrawHorizontalTrack="true"horizontal

Saurabh Pareek
quelle
8

Da keines der oben genannten Verfahren für mich funktioniert hat, hat Folgendes Folgendes bewirkt: android:scrollbarDefaultDelayBeforeFade="500000"

Emir Kuljanin
quelle
8

android:scrollbarFadeDuration="0"funktioniert manchmal nicht, nachdem ich die Apps verlassen und erneut gestartet habe. Also füge ich gallery.setScrollbarFadingEnabled(false);der Aktivität hinzu und es funktioniert!

Eisgee
quelle
6

Diese beiden zusammen arbeiteten für mich:

android:scrollbarFadeDuration="0"
android:scrollbarAlwaysDrawVerticalTrack="true"
Sealskej
quelle
6

Gestalten Sie Ihre Bildlaufleiste wie folgt: Sichtbarkeit, Farbe und Dicke:

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

Hoffe es hilft etwas Zeit zu sparen.

Hitesh Sahu
quelle
5

Ich hatte das gleiche Problem. Der Balken hatte die gleiche Hintergrundfarbe. Versuchen:

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

Simpel und einfach. Fügen Sie dieses Attribut hinzu zu ScrollBar:

android:fadeScrollbars="false"

Oder Sie können dies in tun ::

scrollView.setScrollbarFadingEnabled(false);

Oder in ::

scrollView.isScrollbarFadingEnabled = false
Gourav
quelle
3

Mit setVertical * wurde die vertikale Bildlaufleiste immer programmgesteuert sichtbar gemacht

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

Das Einstellen reicht aus. Ändern Sie die @drwable für den eigenen Stil.

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