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