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.padding
clipToPadding="false"
Kullandığım çözüm, altbilgi over-scroll ( android:overScrollFooter
) öğesini bir şekilde çalışan şeffaf olarak ayarlamaktı ...
Son çözümüm ( android:footerDividersEnabled
geriye 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:overScrollFooter
benim 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));