2011-01-14 4 views
16

У меня есть ListView в моем макете.Расстояние между элементами в 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, но безуспешно.

Кто-нибудь знает, как изменить расстояние между элементами в списке.

Спасибо,

Стена

+0

Расстояние между каждой строкой? или между каждым элементом, который появляется в строке? –

+0

между каждой строкой = элемент списка – Tima

ответ

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

+3

Это сработало для меня, за исключением того, что мой список черный, а разделитель серый. Обязательно измените разделитель на тот же цвет, что и ваш список! android: divider = "# 00000" в моем случае. – NPike

+1

@NPike, или сделать разделитель прозрачным с # 00000000 – softarn

0

Используйте отступы или отступа или сам ListView.

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

нет, это не помогает – Tima

0

за счет расширения расстояния между элементы их замкнутыми вы можете использовать

android:dividerHeight="xxdpi" 

В

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

Regarts, Marco

+0

Вы видели принятый ответ? – Tima

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> 
Смежные вопросы