Cambiar la posición de la barra de desplazamiento de ListView con relleno

2 minutos de lectura

tengo un ListView con relleno a la derecha (y a la izquierda).

Actualmente la lista se parece a esto:

-----------------  |
| ROW         | |  |
|-------------| |  |
| ROW         | |  |
|-------------|#|  |
| ROW         |#|  |
|-------------| |  |
| ROW         | |  |
-----------------  |

Donde la línea más a la derecha es el borde de la pantalla, con el #s siendo la barra de desplazamiento y el espacio en blanco a la derecha de ella siendo el ListView‘s relleno a la derecha.

Lo que quiero es que la barra de desplazamiento esté a la derecha del relleno de esta manera:

                    _
-----------------  | |
| ROW           |  | |
|---------------|  | |
| ROW           |  |#|
|---------------|  |#|
| ROW           |  |#|
|---------------|  | |
| ROW           |  | |  
-----------------  |_|

¿Es posible mover la barra de desplazamiento de esa manera o tendré que cambiar los diseños de cada fila para tener un borde invisible del tamaño correcto?

Tenga en cuenta que actualmente cada fila tiene un fondo separado establecido por el adaptador, ya que estoy creando una ventana flotante para mi ListView y, lamentablemente, una de mis pantallas requiere que haga esto para que se vea como yo quiero.

  • para aclarar a los futuros lectores: outsideOverlay no cambia la posición horizontal de los elementos de la lista; outsideInset agrega algo de relleno, moviendo un poco el borde derecho de los elementos.

    –Richard Le Mesurier

    18 de junio de 2014 a las 16:27

avatar de usuario
Haisea

Prueba esto:

<ListView
    ...
    android:scrollbarStyle="outsideOverlay" />

  • Si uso esto, mi barra de desplazamiento ya no se muestra. simplemente desaparece

    – Janusz

    16 de febrero de 2012 a las 13:10

  • Utilicé android:scrollbarStyle=”outsideInset”, funciona bien en HTC Desire pero no en Galaxy S. Por favor, ayúdenme a solucionar este problema.

    – Nuráiz

    24 de abril de 2012 a las 13:16


  • +1. Y si no funcionó contigo, asegúrate de NO estar usando ningún margin attributes en el ListView.

    – iTurki

    1 de agosto de 2015 a las 12:54

  • funciona bien con relleno, en lugar de margen en TextView.

    – Parth Patel

    5 de noviembre de 2018 a las 8:01

avatar de usuario
Abu-Emish

agrega esto a tu vista de lista

android:scrollbarStyle="outsideInset"

agregará un pequeño relleno y la barra de desplazamiento estará afuera

  • Quiero tener relleno en el lado derecho. Esta solucion no me funciona

    – Conejito

    28 de julio de 2015 a las 7:11

¿Ha sido útil esta solución?