Подтвердить что ты не робот

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

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

Спасибо,

Мур

4b9b3361

Ответ 1

Вы всегда можете установить свойство dividerHeight. Android-документы

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

Если это не то, что вы хотите сделать, в элементе listview вы можете обернуть 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>

Ответ 2

Я обнаружил, что разделитель 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>

Ответ 3

Используйте дополнение или маржу или сам ListView.

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

Ответ 4

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

android:dividerHeight="xxdpi"

В

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

Regarts, Marco