2011-01-14 6 views
16

Ho un controllo ListView nel mio layout.Distanza tra gli elementi in una Listview

<ListView 
     android:id="@+id/list_infoitems" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 

Ogni lista di layout voce assomiglia:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:background="@drawable/selector_custombutton" 
    android:padding="10dp" 
    android:layout_gravity="center"> 
    <TextView 
     android:id="@+id/text_history_station_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center_vertical|left" 
     android:textColor="@color/rnv_blue_540c"/> 
    <TextView 
     android:id="@+id/text_history_line_id" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center_vertical|left" 
     android:textColor="@color/rnv_blue_540c"/>  
</LinearLayout> 

voglio avere una distanza tra tutto l'articolo. Per questo ho giocato con Android: proprietà del margine, ma senza successo.

Qualcuno sa, come modificare la distanza tra l'elemento in un listview.

Grazie,

Mur

+0

Distanza tra ogni riga? o tra ogni elemento che appare in una riga? –

+0

tra ogni riga = elenco articolo – Tima

risposta

29

È sempre possibile impostare la proprietà dividerHeight. Android Docs

<ListView 
    android:id="@+id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:dividerHeight="5dp" 
/> 

Se questo non ciò che si vuole fare è, nel vostro articolo ListView si potrebbe avvolgere il vostro LinearLayout in un RelativeLayout e aggiungere un margine al LinearLayout

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <LinearLayout 
     android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_marginTop="5dp" 
     android:layout_marginBottom="5dp" 
    /> 
</RelativeLayout> 
+0

Ho avuto la stessa idea del tuo secondo suggerimento, ma il tuo primo mi aiuta ed è più bello :) Grazie mille – Tima

+3

Questo ha funzionato per me, tranne che il mio elenco è nero e il divisore era grigio. Assicurati di cambiare il divisore con lo stesso colore del tuo elenco! android: divider = "# 00000" nel mio caso. – NPike

+1

@NPike o rendere trasparente il divisore con # 00000000 – softarn

0

Usa imbottitura o Margine o ListView stesso.

<ListView 
     android:id="@+id/list_infoitems" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:padding="5px" 
/> 
+0

no, che non aiuta – Tima

0

per rendere più piccante la distanza tra i punti che li auto è possibile utilizzare

android:dividerHeight="xxdpi" 

In

<ListView 
    android:id="@+id/list_infoitems" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:dividerHeight="xxdpi"/> 

Regarts, Marco

+0

hai visto la risposta accettata? – Tima

1

ho trovato che il divisore ListView ha problemi di frammentazione. In 2.3 dispositivi, per impostazione predefinita viene implementata una linea grigia che non viene visualizzata sui dispositivi 4.x. Questo può essere risolto impostando manualmente android:divider="some_value". Tendo a gestire tutti i problemi di layout degli articoli di ListView all'interno degli stessi layout degli articoli. È un piccolo trucco sporco, ma risolve i problemi di versione incrociata. Nota l'aggiunta di una vista "nascosta" qui sotto. Questo non solo risolve il problema tra gli oggetti, ma ti dà lo stesso riempimento dopo l'ultimo elemento nel tuo elenco.

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <LinearLayout 
     android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_marginTop="5dp" /> 

    <View 
     android:below="@id/list" 
     android:layout_height="0dp" 
     android:layout_width="0dp" 
     android:margin_top="5dp" /> 
</RelativeLayout>