2011-01-14 79 views
16

我的布局中有一个ListView。列表视图中项目之间的距离

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

每个列表项的布局看起来像:

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

我想将所有项目之间的距离。为此,我玩过android:margin属性,但没有成功。

有谁知道,如何改变listview中项目之间的距离。

谢谢

穆尔

+0

每行之间的距离?或每行之间出现的每个项目之间? – 2011-01-14 13:31:41

+0

每行之间=列表项目 – Tima 2011-01-14 14:04:37

回答

29

您可以随时设置dividerHeight属性。 Android Docs

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

如果这不是你想要做什么,在你的列表视图项,你可以换你的LinearLayout中的RelativeLayout和一个空白添加到的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

我有同样的想法,喜欢你的第二个建议,但你的第一个帮助我,它更好:)非常感谢你 – Tima 2011-01-14 14:09:27

0

使用填充或保证金或ListView控件本身。

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

不,这并没有帮助 – Tima 2011-01-14 14:10:00

0

要encrease之间的距离项目自他们可以使用

android:dividerHeight="xxdpi" 

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

Regarts, 马尔科

1

我发现ListView的分隔器具有碎片问题。在2.3设备中,默认情况下会实现一条灰线,但不会在4.x设备上显示。这可以通过手动设置android:divider="some_value"来解决。我倾向于处理项目布局本身内的所有ListView项目布局问题。它是一个肮脏的小技巧,但解决了跨版本问题。注意下面添加一个“隐藏”视图。这不仅可以修复项目之间的问题,而且可以在列表中的最后一项之后为您提供相同的填充。

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