Mam stałą wysokość ListView
. Ma separator między elementami listy, ale wyświetla również separatory po ostatnim elemencie listy.
Czy istnieje sposób, aby nie wyświetlać separatora po ostatniej pozycji w ListView
?
Po prostu dodaj
android:footerDividersEnabled="false"
do opisu ListView
layoutHeight="wrap_content"
, dolny separator znika.Jak powiedział @ScootrNova, wydaje się, że zachowuje się inaczej (inaczej buggy) w Androidzie 4.4.x (nie wiem dokładnie, kiedy problem jest wprowadzany)
Jest to związane z konkretnym przypadkiem użycia
padding
+clipToPadding="false"
- w 4.4.x stopka jest rysowana poza widokiem, ale klipsy do wypełnienia ujawniają to.Rozwiązaniem, które zastosowałem, było ustawienie stopki over-scroll (
android:overScrollFooter
) na przezroczystą, co jakoś działa ...Moje ostateczne rozwiązanie (uwaga, które
android:footerDividersEnabled
jest zachowane ze względu na wsteczną kompatybilność):przetestowano na HTC One X z systemem 4.1.1, Nexusie 5 z systemem 4.4.4 i Samsung Galaxy S5 z systemem 4.4.2 (dzięki @ Dallas187). Wydaje się, że działa też Lollipop. (dzięki komentatorom!)
źródło
android:overScrollFooter
załatwiło mi sprawę. Pracuję nad wersją 5.0.2 i 5.1.android:footerDividersEnabled="false"
wstecznej kompatybilnościJeśli chcesz to zrobić kodem, to:
a jeśli używasz ListFragment, możesz uzyskać widok listy przez:
Skomentował tylko, ponieważ pojawia się jako nr 1 w Google
źródło
Wygląda na to, że poniższa linia nie działa na urządzeniu Lollypop.
Więc musisz użyć poniższego kodu, aby usunąć separator po ostatniej pozycji na liście.
źródło
Użyj background = @android: color / transparent. Działa świetnie. Nadal możesz używać tła układu wierszy
źródło