我有固定的身高ListView
。它在列表项之间具有分隔符,但在最后一个列表项之后也显示分隔符。
有没有办法在中的最后一项之后不显示分隔线ListView
?
Answers:
只需添加
android:footerDividersEnabled="false"
到您的ListView描述中
layoutHeight="wrap_content"
,底部的分隔线消失了。
就像@ScootrNova所说的那样,这在android 4.4.x中似乎表现出了不同(aka buggy)(我不确切知道何时引入问题)。
这与在4.4.x中使用+ - 的特定情况有关,页脚在视图外部绘制,但是对填充的剪辑显示了它。padding
clipToPadding="false"
我使用的解决方案是将页脚过度滚动(android:overScrollFooter
)设置为透明,以某种方式起作用...
我的最终解决方案(请注意,android:footerDividersEnabled
为了保持向后兼容,请注意以下几点):
<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的HTC One X,运行4.4.4的Nexus 5和运行4.4.2的三星Galaxy S5上进行了测试(感谢@ Dallas187)。似乎也在工作棒棒糖。(感谢评论者!)
android:overScrollFooter
对我有用。在5.0.2和5.1上工作。
android:footerDividersEnabled="false"
进行反兼容性
如果要通过代码执行此操作,则为:
listView.setFooterDividersEnabled(false);
如果您使用的是ListFragment,则可以通过以下方式获取listview:
listFragment.getListView().setFooterDividersEnabled(false);
只发表评论,因为它在Google中排名第一