Cara selalu menampilkan scrollbar

256

Bilah gulir di scrollview saya hanya terlihat ketika saya mulai menggulir. Bagaimana saya bisa selalu menunjukkannya?

jul
sumber

Jawaban:

543

Sampai sekarang cara terbaik adalah menggunakan android:fadeScrollbars="false"dalam xml yang setara dengan ScrollView.setScrollbarFadingEnabled(false);dalam kode java.

Rejinderi
sumber
untuk ListView tidak berfungsi, tetapi ini berhasil:view.setScrollBarFadeDuration(0);
user924
3
jadi jawaban yang benar dan diterima adalah @Tanmay Mandal answer ( setScrollBarFadeDuration(0)), karena setScrollbarFadingEnabled(false)tidak berfungsi di mana
user924
atau berhenti berfungsi misalnya karena seperti dijelaskan di sini stackoverflow.com/a/6673848/7767664 (onStop, onStart lagi dan faield), jadi setScrollBarFadeDuration(0);lebih dapat diandalkan
user924
55

Pengaturan android:scrollbarFadeDuration="0"akan melakukan trik.

Tanmay Mandal
sumber
4
tersedia dalam SDK 16 sebagai metode java
larham1
42

Ada 2 cara:

  • dari kode Java: ScrollView.setScrollbarFadingEnabled(false);
  • dari kode XML: android:fadeScrollbars="false"

Sederhana seperti itu!

Tudor Luca
sumber
11

Coba ini karena saran di atas tidak berfungsi untuk saya ketika saya ingin melakukan ini untuk TextView:

TextView.setScrollbarFadingEnabled(false);

Semoga berhasil.

Camille Sévigny
sumber
@ user924 yakin, tapi jawaban itu diposting 10 hari setelah komentar saya
sXe
10

Jangan lupa untuk menambahkan android:scrollbars="vertical"bersama android:fadeScrollbars="false"atau itu tidak akan muncul sama sekali dalam beberapa kasus.

Tuan Codesalot
sumber
9

Coba android:scrollbarAlwaysDrawVerticalTrack="true"vertikal. dan Coba android:scrollbarAlwaysDrawHorizontalTrack="true"untuk horizontal

Saurabh Pareek
sumber
8

Karena tak satu pun di atas bekerja untuk saya, inilah yang berhasil: android:scrollbarDefaultDelayBeforeFade="500000"

Emir Kuljanin
sumber
8

android:scrollbarFadeDuration="0"terkadang tidak berfungsi setelah saya keluar dari aplikasi dan mulai lagi. Jadi saya menambah gallery.setScrollbarFadingEnabled(false);aktivitas dan berhasil!

icegee
sumber
6

Keduanya bersama-sama bekerja untuk saya:

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

Gaya bilah gulir Anda Visibilitas, Warna dan Ketebalan seperti ini:

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

Semoga ini membantu menghemat waktu.

Hitesh Sahu
sumber
5

Saya memiliki masalah yang sama. Bilah memiliki warna latar belakang yang sama. Mencoba:

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

Sederhana dan mudah. Tambahkan atribut ini ke ScrollBar:

android:fadeScrollbars="false"

Atau Anda dapat melakukannya di :

scrollView.setScrollbarFadingEnabled(false);

Atau di :

scrollView.isScrollbarFadingEnabled = false
Gourav
sumber
3

setVertical * membantu membuat scrollbar vertikal selalu terlihat secara terprogram

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

Pengaturan ini akan melakukan triknya. Ubah @drwable untuk gaya Anda sendiri.

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