Sabit bir boyum var ListView. Liste öğeleri arasında bölücü vardır, ancak son liste öğesinden sonra ayırıcıları da görüntüler.
İçindeki son öğeden sonra bir bölücü görüntülememenin bir yolu var mı ListView?
Yanıtlar:
android:footerDividersEnabled="false"
ListView açıklamanıza eklemeniz
yeterli
layoutHeight="wrap_content"alt bölücü kayboluyor.
@ScootrNova'nın dediği gibi, bu, android 4.4.x'te farklı davranıyor gibi görünüyor (aka buggy) (sorunun ne zaman ortaya çıktığını tam olarak bilmiyorum)
Bu, 4.4.x'te + - kullanımının özel durumuyla ilgilidir, altbilgi görünümün dışında çizilir, ancak dolguya klipler onu gösterir.paddingclipToPadding="false"
Kullandığım çözüm, altbilgi over-scroll ( android:overScrollFooter) öğesini bir şekilde çalışan şeffaf olarak ayarlamaktı ...
Son çözümüm ( android:footerDividersEnabledgeriye uyumluluk için saklanan not ):
<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"
/>
4.1.1 çalıştıran bir HTC One X, 4.4.4 çalıştıran bir Nexus 5 ve 4.4.2 çalıştıran bir Samsung Galaxy S5 üzerinde test edilmiştir (@ Dallas187 sayesinde). Lollipop'ta çalışıyor gibi görünüyor. (yorumculara teşekkürler!)
android:overScrollFooterbenim için hile yaptı. 5.0.2 ve 5.1 üzerinde çalışmak.
android:footerDividersEnabled="false"tekrar uyumluluğa ihtiyacınız olduğuna inanıyorum
Bunu kodla yapmak istiyorsanız:
listView.setFooterDividersEnabled(false);
ve bir ListFragment kullanıyorsanız, liste görünümünü şu şekilde alabilirsiniz:
listFragment.getListView().setFooterDividersEnabled(false);
Yalnızca bu, google'da 1 numara olduğu için yorum yapıldı
Aşağıdaki satır lolipop cihazında çalışmıyor gibi görünüyor.
listView.setFooterDividersEnabled(false);
Bu nedenle, listedeki son öğeden sonra ayırıcıyı kaldırmak için aşağıdaki kodu kullanmanız gerekir.
listView.setOverscrollFooter(new ColorDrawable(Color.TRANSPARENT));