2011-01-14 16 views
16

Tengo un ListView en mi diseño.Distancia entre elementos en una vista de lista

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

Cada lista Diseño de elemento se parece a:

<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> 

Quiero tener una distancia entre todo el artículo. Por eso jugué con android: margin property, pero sin éxito.

¿Alguien sabe cómo cambiar la distancia entre los elementos en una vista de lista?

Gracias,

Mur

+0

¿Distancia entre cada fila? o entre cada elemento que aparece en una fila? –

+0

entre cada fila = elemento de la lista – Tima

Respuesta

29

Siempre puede establecer la propiedad dividerHeight. Android Docs

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

Si eso no es lo que quiere hacer es, en su artículo vista de lista se podría envolver su LinearLayout en un RelativeLayout y añadir un margen a la 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

Tuve la misma idea que tu segunda sugerencia, pero tu primera me ayuda y es más agradable :) Muchas gracias – Tima

+3

Esto funcionó para mí, excepto que mi lista es negro y el divisor era gris. ¡Asegúrate de cambiar el divisor al mismo color que tu lista! android: divider = "# 00000" en mi caso. – NPike

+1

@NPike, o haga que el divisor sea transparente con # 00000000 – softarn

0

utilizar el relleno o el margen o el propio ListView.

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

no, eso no ayuda – Tima

0

Para encrease la distancia entre los puntos que les auto puede utilizar

android:dividerHeight="xxdpi" 

En

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

Regarts, Marco

+0

¿ha visto la respuesta aceptada? – Tima

1

he encontrado que el divisor ListView tiene problemas de fragmentación. En los dispositivos 2.3, se implementa una línea gris por defecto que no aparece en los dispositivos 4.x. Esto se puede solucionar configurando manualmente android:divider="some_value". Tiendo a manejar todos los problemas de diseño de elementos de ListView dentro de los diseños de los elementos. Es un pequeño truco sucio, pero resuelve problemas de versiones cruzadas. Tenga en cuenta la adición de una vista "oculta" a continuación. Esto no solo soluciona el problema entre los elementos, sino que también proporciona el mismo relleno después del último elemento de la lista.

<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> 
Cuestiones relacionadas