Черная линия под некоторыми элементами ListView - PullRequest
19 голосов
/ 27 ноября 2010

Интересная проблема у меня с ListView. Он использует стандартный ArrayAdapter с пользовательским макетом XML для элементов внутри. Простой XML:

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:background="@drawable/list_bg_blue"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingTop="20dp"
    android:paddingBottom="20dp"
    android:typeface="serif"
    android:textSize="20px"
    android:textStyle="bold|italic" 
    android:textColor="#FF1e5a82"
    android:shadowColor="#FFFFFFFF"
    android:shadowDx="1"
    android:shadowDy="1"
    android:shadowRadius="1"
/>

Я не думаю, что там есть что-то, что является проблемой, но у меня появляются странные черные линии, от которых я не могу избавиться (вы можете увидеть это на рисунке ниже). Я попытался установить android:dividerHeight="0px" в ListView, но они все еще появляются. Вы можете видеть между Новыми Эпизодами и Шоу, что нет никакой линии, но по какой-то причине есть после первого и последнего.

Есть идеи?

РЕДАКТИРОВАТЬ: немного подумал, кажется, только первый и последний, поэтому я нашел:

android:headerDividersEnabled и android:footerDividersEnabled

Установка нижних колонтитулов на false зафиксировала последний, но, как ни странно, установка разделителей заголовков на false не имела никакого эффекта. : /

ДАЖЕ БОЛЬШЕ РЕДАКТИРУЕТСЯ! Хорошо, я добавил еще несколько элементов в список (это должно было быть сделано в первую очередь), и, похоже, это будет любой другой элемент (например, элемент 1, элемент 3, элемент 5 и т. Д.) ) который имеет разделитель, появляющийся под ним.

Lines on ListView

Ответы [ 3 ]

42 голосов
/ 27 ноября 2010

Можно сказать

<ListView
    ...
    android:divider="@null"
    ...
/>

Разделитель должен быть вставлен после каждой записи по умолчанию.

2 голосов
/ 27 ноября 2010

Я ненавижу отвечать на свой вопрос, но я нашел решение:

ListView lv = getListView();
lv.setDivider(null);

Это решило проблему. Однако я все же хотел бы узнать, как это сделать с XML, и понять, почему он вставляет их только в каждый другой элемент.

0 голосов
/ 06 августа 2013

Вы можете установить его в XML с помощью: android: divider = "@ null"

...