Cómo mostrar siempre la barra de desplazamiento


256

La barra de desplazamiento en mi vista de desplazamiento solo es visible cuando comienzo a desplazarme. ¿Cómo puedo mostrarlo siempre?

Respuestas:


543

A partir de ahora, la mejor manera es usar android:fadeScrollbars="false"en xml, que es equivalente a ScrollView.setScrollbarFadingEnabled(false);en código java.


para ListView no funcionó, pero esto funcionó:view.setScrollBarFadeDuration(0);
user924

3
así que la respuesta correcta y aceptada debería ser @Tanmay Mandal answer ( setScrollBarFadeDuration(0)), porque setScrollbarFadingEnabled(false)no funciona en todas partes
user924

o deja de funcionar, por ejemplo, debido a lo descrito aquí stackoverflow.com/a/6673848/7767664 (onStop, onStart again y faield), por lo que setScrollBarFadeDuration(0);es más confiable
user924


42

Hay 2 formas:

  • del código de Java: ScrollView.setScrollbarFadingEnabled(false);
  • del código XML: android:fadeScrollbars="false"

¡Simple como eso!


11

Intente esto ya que las sugerencias anteriores no me funcionaron cuando quería hacer esto para un TextView:

TextView.setScrollbarFadingEnabled(false);

Buena suerte.


@ user924 seguro, pero esa respuesta fue publicada 10 días después de mi comentario
sXe

10

No olvide agregar android:scrollbars="vertical"junto con android:fadeScrollbars="false"o no se mostrará en absoluto en algunos casos.


9

Prueba android:scrollbarAlwaysDrawVerticalTrack="true"vertical. y prueba android:scrollbarAlwaysDrawHorizontalTrack="true"horizontal


8

Como ninguno de los anteriores funcionó para mí, esto es lo que hizo: android:scrollbarDefaultDelayBeforeFade="500000"


8

android:scrollbarFadeDuration="0"a veces no funciona después de salir de las aplicaciones y comenzar de nuevo. ¡Entonces agrego gallery.setScrollbarFadingEnabled(false);a la actividad y funciona!


6

Estos dos juntos trabajaron para mí:

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

6

Dale estilo a la barra de desplazamiento Visibilidad, color y grosor de esta manera:

<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 ayude a ahorrar algo de tiempo.


5

Yo tuve el mismo problema. La barra tenía el mismo color de fondo. Tratar:

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

4

Simple y fácil. Agregue este atributo a ScrollBar:

android:fadeScrollbars="false"

O puedes hacer esto en :

scrollView.setScrollbarFadingEnabled(false);

O en :

scrollView.isScrollbarFadingEnabled = false

3

setVertical * ayudó a hacer que la barra de desplazamiento vertical siempre sea visible mediante programación

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

2

Establecer esto hará el truco. Cambia el @drwable por estilo propio.

android:scrollbars="vertical"
            android:scrollbarAlwaysDrawVerticalTrack="true"
            android:fadeScrollbars="false"
            android:scrollbarThumbVertical="@drawable/scroll"`
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.