Câu trả lời:
Chỉ cần thêm
android:footerDividersEnabled="false"
vào mô tả ListView của bạn
layoutHeight="wrap_content"
, dải phân cách dưới cùng sẽ biến mất.
Như @ScootrNova đã nói, điều này dường như đang hoạt động khác (còn gọi là lỗi) trong Android 4.4.x (Tôi không biết chính xác khi nào vấn đề được đưa ra)
Điều này liên quan đến trường hợp cụ thể của việc sử dụng bằng cách sử dụng padding
+ clipToPadding="false"
- trong 4.4.x, chân trang được vẽ bên ngoài chế độ xem nhưng clip vào phần đệm cho thấy nó.
Giải pháp tôi đã sử dụng là đặt over-scroll ( android:overScrollFooter
) của chân trang thành trong suốt, cách nào đó hoạt động ...
Giải pháp cuối cùng của tôi (lưu ý android:footerDividersEnabled
được giữ lại để tương thích ngược):
<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"
/>
đã thử nghiệm trên HTC One X chạy 4.1.1, Nexus 5 chạy 4.4.4 và Samsung Galaxy S5 chạy 4.4.2 (nhờ @ Dallas187). Có vẻ như Lollipop cũng đang hoạt động. (cảm ơn những người bình luận!)
android:overScrollFooter
đã làm thủ thuật cho tôi. Làm việc trên 5.0.2 và 5.1.
android:footerDividersEnabled="false"
cho compat lại
Nếu bạn muốn làm điều này bằng mã, đó là:
listView.setFooterDividersEnabled(false);
và nếu bạn đang sử dụng ListFragment, bạn có thể xem listview bằng cách:
listFragment.getListView().setFooterDividersEnabled(false);
Chỉ được nhận xét vì điều này xuất hiện ở vị trí số 1 trên google
Có vẻ như dòng dưới đây không hoạt động trên thiết bị lollypop.
listView.setFooterDividersEnabled(false);
Vì vậy, cần sử dụng mã bên dưới này để loại bỏ dải phân cách sau mục cuối cùng trong danh sách.
listView.setOverscrollFooter(new ColorDrawable(Color.TRANSPARENT));