Antworten:
Fügen Sie einfach
android:footerDividersEnabled="false"
auf Ihre Listview Beschreibung
layoutHeight="wrap_content"
, verschwindet der untere Teiler.
Wie @ScootrNova sagte, scheint sich dies in Android 4.4.x anders zu verhalten (auch bekannt als Buggy) (ich weiß nicht genau, wann das Problem auftritt)
Dies hängt mit dem speziellen Fall der Verwendung von padding
+ clipToPadding="false"
- in 4.4.x zusammen. Die Fußzeile wird außerhalb der Ansicht gezeichnet, aber Clips zum Auffüllen zeigen dies.
Die Lösung, die ich verwendet habe, war, die Fußzeile over-scroll ( android:overScrollFooter
) auf transparent zu setzen, was irgendwie funktioniert ...
Meine endgültige Lösung (Hinweis android:footerDividersEnabled
zur Rückkompatibilität):
<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"
/>
getestet auf einem HTC One X mit 4.1.1, einem Nexus 5 mit 4.4.4 und einem Samsung Galaxy S5 mit 4.4.2 (dank @ Dallas187). Scheint auch Lollipop zu arbeiten. (Danke an die Kommentatoren!)
android:overScrollFooter
hat den Trick für mich getan. Arbeiten an 5.0.2 und 5.1.
android:footerDividersEnabled="false"
für Rückenkompatibilität brauchen
Wenn Sie dies per Code tun möchten, ist es:
listView.setFooterDividersEnabled(false);
und wenn Sie ein ListFragment verwenden, können Sie die Listenansicht erhalten, indem Sie:
listFragment.getListView().setFooterDividersEnabled(false);
Nur kommentiert, da dies in Google die Nummer 1 ist
Es scheint, dass die folgende Zeile auf einem Lollypop-Gerät nicht funktioniert.
listView.setFooterDividersEnabled(false);
Verwenden Sie daher den folgenden Code, um den Teiler nach dem letzten Element in der Liste zu entfernen.
listView.setOverscrollFooter(new ColorDrawable(Color.TRANSPARENT));