Верхние и нижние разделители не отображаются в списке Android
Как я понимаю, делитель, определенный для списка, должен также отображаться в верхней и нижней части списка, то есть над первым элементом и под последним элементом.
По какой-то причине они не отображаются в моем списке:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background">
<ImageView
android:id="@+id/home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="3dp"
android:paddingTop="3dp"
android:paddingBottom="3dp"
android:src="@drawable/homeicon"/>
<TextView
android:id="@+id/titleBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Page Title"
android:layout_marginLeft="10dp"
android:paddingTop="3dp"
android:textSize="18sp"
android:textStyle="bold"
android:typeface="serif"
android:textColor="#FFFFFF"
android:layout_centerHorizontal="true"/>
<ImageView
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="8dp"
android:paddingTop="8dp"
android:src="@drawable/backicon"
android:layout_alignParentRight="true"/>
<ImageView
android:id="@+id/separator1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/home"
android:scaleType="fitXY"
android:src="@drawable/separatorimg" />
<ListView
android:id="@android:id/android:list"
android:layout_below="@+id/separator1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cacheColorHint="#00000000"
android:divider="@drawable/separatorimg">
</ListView>
</RelativeLayout>
Настройка android: footerDividersEnabled to true (что является ответом, данным в других вопросах, относящихся к этому вопросу) ничего не меняет. Кроме того, у меня нет отключенных элементов, если не будет какой-то нижний колонтитул по умолчанию, который будет отключен.
Любые идеи?
Изменить: Кажется, что разделитель в верхнем и нижнем разделителях отображается в течение секунды секунды, когда я просматриваю первый/последний элемент, а затем исчезает. Похоже, что интерфейс будет продолжаться, только позже, чтобы понять, что это последний элемент, а затем отключить разделитель.
Ответы
Ответ 1
Я решил эту проблему с помощью справки по следующей ссылке: Divider исчезает из последнего элемента в списке, если добавлен footerview
То, что я сделал, это добавить
android:footerDividersEnabled="true"
атрибут ListView в XML. Затем, программно, я добавил пустое представление нижнего колонтитула, которое можно было выбрать с помощью
listView.addFooterView(new View(context), null, true);
Я не пробовал заголовок, но я ожидаю, что он будет работать одинаково.
Ответ 2
У меня была та же проблема. Вот как я это решил:
<ListView
android:id="@+id/my_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@color/transparent"
android:dividerHeight="@dimen/padding_default"
android:footerDividersEnabled="false"
android:headerDividersEnabled="false" >
</ListView>
Затем в методе onCreate() у меня есть:
View v = new View(this);
v.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 1));
mList.addFooterView(v);
Ответ 3
Думаю, вам нужно установить нижний колонтитул, используя представление под списком. У меня была та же проблема, и я получаю как решение:
Показать разделитель после последнего элемента в списке
Ответ 4
Пожалуйста, найдите измененный код ниже:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background" >
<LinearLayout
android:id="@+id/llAppBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:orientation="horizontal"
android:weightSum="10" >
<ImageView
android:id="@+id/home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:paddingBottom="3dp"
android:paddingLeft="3dp"
android:paddingTop="3dp"
android:scaleType="fitXY"
android:src="@drawable/homeicon" />
<TextView
android:id="@+id/titleBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="6"
android:paddingTop="3dp"
android:text="Page Title"
android:textColor="#FFFFFF"
android:textSize="18sp"
android:textStyle="bold"
android:typeface="serif" />
<ImageView
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:paddingRight="8dp"
android:paddingTop="8dp"
android:scaleType="fitXY"
android:src="@drawable/backicon" />
</LinearLayout>
<ImageView
android:id="@+id/separator1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/llAppBar"
android:scaleType="fitXY"
android:src="@drawable/separatorimg" />
<ListView
android:id="@android:id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/separator1"
android:cacheColorHint="#00000000"
android:divider="@drawable/separatorimg" >
</ListView>
</RelativeLayout>
Ответ 5
У меня была такая же проблема, и настройка отступов и цвета фона решила ее.
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/gray_background"
android:paddingTop="1dp"
android:paddingBottom="1dp"
/>
Здесь цвет фона должен быть таким же, как и с разделителем с списком.