2012-02-09 5 views
21

Speriamo che sia semplice. v4.0.3ListView scrollbarStyle con margine/riempimento

Ho un ListView e voglio lasciare un margine di 10dip a destra e a sinistra. Naturalmente il contenuto è facile, ma voglio che la linea del divisore abbia un margine di 10dip a destra e a sinistra.

Se aggiungo android:PaddingRight o android:layout_marginRight al ListView o LinearLayout che contiene il ListView allora questo funziona, naturalmente, ma la barra di scorrimento lista che appare lungo il lato destro come si scorre l'elenco si muove anche a cura del padding/margine di distanza.

Desidero mantenere l'indicatore della barra di scorrimento. Ho provato tutte le impostazioni android:scrollbarStyle.

+0

Puoi usa anche: android: scrollbarStyle = "outsideOverlay". outsideInset mette la barra di scorrimento al di fuori del padding definito. "outsideOverlay" lo inserisce all'interno del padding, ad esempio sembra più come l'app di Google Play. Funziona anche su gridview btw. – Karl

+0

è possibile aggiungere una risposta alla propria domanda e contrassegnarla come corretta –

risposta

10

può fare facilmente

<ListView 
    android:id="@+id/lvDonorDetails" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:divider="@drawable/list_divider" 
    android:dividerHeight="1dp" 
    android:paddingLeft="10dp" 
    android:paddingRight="10dp" 
    android:scrollbarStyle="outsideInset"/> 

O

<ListView 
    android:id="@+id/lvDonorDetails" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:dividerHeight="1dp" 
    android:padding="10dp" 
    android:scrollbarStyle="outsideInset"/> 
0

Ho avuto lo stesso problema di scorrere la visualizzazione elenco. mettendo all'interno di una vista di scorrimento sta limitando la visualizzazione elenco per caricare solo una riga quando vogliamo caricare l'elenco in modo dinamico, ma alla fine ha ottenuto la soluzione: includono

android:scrollbarAlwaysDrawVerticalTrack= "true" 

e

android:fadeScrollbars="false" 

proprietà all'interno il tag ListView.

0

È possibile creare un nuovo pollice della barra di scorrimento estraibile che cosa si desidera del margine e del riempimento del bordo scorrevole.

Usa questi attr

android:scrollbarThumbHorizontal="@drawable/your_drawable" 
android:scrollbarThumbVertical="@drawable/your_drawable" 
0

ha un eguale margini (intorno e tra) gli elementi ListView senza avere la barra di scorrimento sovrapponendo gli elementi ListView, è possibile utilizzare il seguente codice:

<ListView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/listView" 
    android:layout_gravity="center_horizontal|top" 
    android:dividerHeight="10dp" 
    android:divider="@android:color/transparent" 
    android:padding="10dp" 
    android:scrollbarStyle="outsideOverlay"/>