从XML布局文件中移除ListView分隔线

146

如何在ListView中删除行分隔符(如果可能的话,在描述它的XML布局文件中)?

6个回答

341

在xml中这样将dividerHeight设置为零并将divider设置为null:

android:dividerHeight="0dp"
android:divider="@null"

或者在Java中:

getListView().setDividerHeight(0);
getListView().setDivider(null);

那个在ListView属性中的工作,谢谢 :-) - RRTW
36
设为 null 就足够了,设置高度是多余的。 - X.Y.
1
@Neon - 当你将你的Activity扩展自ListActivity时,就会出现这种情况。请参见此处 - http://developer.android.com/reference/android/app/ListActivity.html - Thahzan
谢谢,它对我有帮助 :) - Satyavrat
1
如果您使用StickyListHeadersListView,则需要两者,仅将其设置为空不足够。 - Quentin G.
显示剩余2条评论

79

简单来说:

android:divider="@null"

44
在ListView标签中(在xml文件中),添加以下属性到列表视图中:
android:divider="@null"

19
你可以在“ListView”属性中将分隔符高度和颜色设置为透明来移除分隔符,如下所示:
android:divider="#00000000"  
android:dividerHeight="0dp" 

1
这是我的第一个尝试,但后来我应用了上面的答案,将除数置为空。 - Sotti

16

有不同的方法来实现这个,但我不确定哪一个是最好的(我甚至不知道是否有最好的方法)。我至少知道在ListView中有两种不同的方法来做到这一点:

1. 将分隔符设置为null:

1.1. 编程方式

yourListView.setDivider(null);

1.2. XML

android:divider="@null" (this goes inside your ListView element)

2. 将分隔线设置为透明,并将其高度设置为 0,以避免在列表视图元素之间添加空格:

2.1. 编程方式:

yourListView.setDivider(new ColorDrawable(android.R.color.transparent));
yourListView.setDividerHeight(0);

2.2. XML

android:divider="@android:color/transparent"
android:dividerHeight="0dp"

将分隔符设置为null显然是最好的选择,因为它可以防止系统进行任何计算。另一种方法只是一个解决方法。 - xeruf

6

-1dp是唯一可以用来移除分割线的值(而不是0、0.0、@null或相同的代码)

Android Studio,SDK L,Android 4.2


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接