Відповіді:
Просто додайте
android:footerDividersEnabled="false"
до свого опису ListView
layoutHeight="wrap_content"
, нижній дільник зникає.
Як сказав @ScootrNova, здається, це поводиться по-іншому (він же глючний) в android 4.4.x (я не знаю точно, коли проблема введена)
Це пов’язано з конкретним випадком використання за допомогою padding
+ clipToPadding="false"
- у 4.4.x нижній колонтитул намальований за межами подання, але кліпи для заповнення виявляють це.
Рішенням, яке я використовував, було встановити нижній колонтитул над прокруткою ( android:overScrollFooter
) на прозорий, який так чи інакше працює ...
Моє остаточне рішення (примітка, яке android:footerDividersEnabled
зберігається для зворотної сумісності):
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/activity_horizontal_margin"
android:divider="@color/divider"
android:dividerHeight="1px"
android:clipToPadding="false"
android:scrollbarStyle="outsideInset"
android:overScrollFooter="@android:color/transparent"
android:footerDividersEnabled="false"
/>
протестовано на HTC One X з версією 4.1.1, Nexus 5 з операційною системою 4.4.4 та Samsung Galaxy S5 з операційною системою 4.4.2 (завдяки @ Dallas187). Здається, теж працює Lollipop. (спасибі коментаторам!)
android:overScrollFooter
зробило для мене фокус. Робота над версіями 5.0.2 та 5.1.
android:footerDividersEnabled="false"
задній компарт
Якщо ви хочете зробити це за допомогою коду, це:
listView.setFooterDividersEnabled(false);
і якщо ви використовуєте ListFragment, ви можете отримати listview за допомогою:
listFragment.getListView().setFooterDividersEnabled(false);
Коментується лише тому, що це стає першим у Google
Здається, під рядком не працює на пристрої льодяник.
listView.setFooterDividersEnabled(false);
Тому потрібно використовувати цей наведений нижче код, щоб видалити дільник після останнього елемента у списку.
listView.setOverscrollFooter(new ColorDrawable(Color.TRANSPARENT));