2011-01-14 24 views
16

Ich habe eine ListView in meinem Layout.Entfernung zwischen den Elementen in einem Listview

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

Jedes Listenelement Layout wie folgt aussieht:

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

ich einen Abstand zwischen jedem Punkt haben will. Dafür habe ich mit Android gespielt: margin property, aber ohne Erfolg.

Weiß jemand, wie man den Abstand zwischen den Elementen in einer Listenansicht ändert.

Danke,

Mur

+0

Abstand zwischen jeder Reihe? oder zwischen jedem Element, das in einer Reihe erscheint? –

+0

zwischen jeder Zeile = Listenelement – Tima

Antwort

29

Sie könnten immer die Eigenschaft dividerHeight festlegen. Android Docs

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

Wenn das nicht das, was Sie in Ihrem Listview-Elemente tun mögen, könnten Sie Ihr Linearlayout in einer RelativeLayout wickeln und eine Marge auf das 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

Ich hatte die gleiche Idee wie Ihre zweite Vorschlag, aber Ihre erste hilft mir, und es ist schöner :) Vielen Dank – Tima

+3

Das funktionierte für mich, außer dass meine Liste ist schwarz und der Trenner war grau. Stellen Sie sicher, dass Sie den Teiler in die gleiche Farbe wie Ihre Liste ändern! Android: Teiler = "# 00000" in meinem Fall. – NPike

+1

@NPike, oder machen Sie den Teiler transparent mit # 00000000 – softarn

0

Verwenden Polsterung oder Margin oder das Listview selbst.

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

nein, das hilft nicht – Tima

0

fügen Sie den Abstand zwischen zwei encrease die Elemente, um sie selbst Sie

android:dividerHeight="xxdpi" 

In

verwenden können

Regarts, Marco

+0

haben Sie die akzeptierte Antwort gesehen? – Tima

1

Ich habe festgestellt, dass die Listview-Teiler Fragmentierungsprobleme haben. In 2.3-Geräten ist standardmäßig eine graue Linie implementiert, die auf 4.x-Geräten nicht angezeigt wird. Dies kann durch manuelle Einstellung android:divider="some_value" behoben werden. Ich tendiere dazu, alle ListView-Artikel-Layout-Probleme innerhalb der Artikel Layouts selbst zu behandeln. Es ist ein dreckiger kleiner Trick, aber löst Probleme mit der Cross-Version. Beachten Sie das Hinzufügen einer "versteckten" Ansicht unten. Dies behebt nicht nur das Problem zwischen den Elementen, sondern gibt Ihnen nach dem letzten Eintrag in Ihrer Liste die gleiche Auffüllung.

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