Saya memiliki tinggi yang tetap ListView. Ini memiliki pemisah antara item daftar, tetapi juga menampilkan pemisah setelah item daftar terakhir.
Apakah ada cara untuk tidak menampilkan pembatas setelah item terakhir masuk ListView?
Jawaban:
Cukup tambahkan
android:footerDividersEnabled="false"
ke deskripsi ListView Anda
layoutHeight="wrap_content", pembatas bawah menghilang.
Seperti yang dikatakan @ScootrNova, ini tampaknya berperilaku berbeda (alias buggy) di android 4.4.x (saya tidak tahu persis kapan masalah muncul)
Ini terkait dengan kasus khusus penggunaan padding+ clipToPadding="false"- di 4.4.x footer digambar di luar tampilan tetapi klip ke padding mengungkapkannya.
Solusi yang saya gunakan adalah mengatur footer over-scroll ( android:overScrollFooter) menjadi transparan yang entah bagaimana berfungsi ...
Solusi terakhir saya (catatan yang android:footerDividersEnableddisimpan untuk kompatibilitas kembali):
<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"
/>
diuji pada HTC One X menjalankan 4.1.1, Nexus 5 menjalankan 4.4.4 dan Samsung Galaxy S5 menjalankan 4.4.2 (terima kasih kepada @ Dallas187). Sepertinya Lollipop juga berfungsi. (terima kasih kepada pemberi komentar!)
android:overScrollFootermelakukan trik untuk saya. Bekerja pada 5.0.2 dan 5.1.
android:footerDividersEnabled="false"kompat belakang
Jika Anda ingin melakukan ini dengan kode itu:
listView.setFooterDividersEnabled(false);
dan jika Anda menggunakan ListFragment, Anda bisa mendapatkan listview dengan:
listFragment.getListView().setFooterDividersEnabled(false);
Hanya dikomentari karena ini muncul sebagai # 1 di google
Tampaknya baris di bawah ini tidak berfungsi pada perangkat lollypop.
listView.setFooterDividersEnabled(false);
Jadi perlu menggunakan kode di bawah ini untuk menghapus pembagi setelah item terakhir dalam daftar.
listView.setOverscrollFooter(new ColorDrawable(Color.TRANSPARENT));