2011-05-12 60 views
17

Para plataforma Android:¿Cómo establecer el margen para la barra de desplazamiento vertical desde el borde derecho en ListView?

Necesito poner el margen en el lado derecho de la barra de desplazamiento vertical en la vista de lista (es personalizado). Por favor, vea la imagen adjunta. La barra de desplazamiento predeterminada se adhiere al extremo derecho de la vista de lista. Image

Necesite su mano. Gracias.

+0

¿Qué marco plataforma/GUI es esto? Muchos de ellos tienen barras de desplazamiento verticales y ListViews. –

+0

Esto es para Android Platform para 2.1 y superior. –

Respuesta

13

Consulte documentation en android:scrollbarStyle, atributo de View. El estilo que probablemente desee utilizar es insideOverlay (junto con android:paddingRight).

Algo así como

<LinearLayout android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center_horizontal" 
    android:paddingRight="50dip"> 
    <ListView 
     android:id="@+id/scrollable_table" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:scrollbarStyle="insideOverlay"> 
    . 
    . 
    . 
+2

¿Por qué no el relleno directamente en ListView sin usar el contenedor? –

+0

No funciona al declarar global scrollBarStyles – Michael

+1

@ La respuesta de Michael es mucho mejor. Por favor, revíselo y considere cambiar la respuesta aceptada. – aaaidan

18

Si se preocupan por su diseño y desea aplicar el estilo de uso a nivel mundial esto.


res/valores/styles.xml

<item name="android:scrollbarThumbVertical">@drawable/scrollbar</item> 

res/estirable/scrollbar.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:right="4dp"> <!-- Your Margin --> 
     <shape> 
      <solid android:color="@color/red500" /> <!-- Your Color --> 
      <corners android:radius="2dp" /> <!-- Your Radius --> 
      <size android:width="4dp" /> <!-- Your Width --> 
     </shape> 
    </item> 
</layer-list> 

Todas las otras respuestas fueron creadas por los desarrolladores , no diseñadores como yo.

Resultado

Good ScrollBar

+0

Esta respuesta es muy buena. –

+0

¡Esto es lo que estaba buscando! Tnx Michael! – Michael

+0

Lo siento, no pude dar más de un voto positivo. Esta respuesta merece 100. – X09

0

Intente habilitar desplazamiento rápido, que hace el trabajo la mayor parte del tiempo:

<ListView 
    android:id="@+id/chapter_list" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:fastScrollEnabled="true"/> 
Cuestiones relacionadas