如何在Android ListView中移除底部分隔符

15

就是这么简单。当然,在这种情况下,使用android:footerDividersEnabled="false"不起作用,因为它会同时移除上部和底部的分割线。

我昨天问了这个问题,不记得是谁试图回答它,但我不得不删除它,因为一名恶意评论者开始将问题评为“不清楚”(如果你不知道什么是分割线、页脚、底部或android,那确实可能会不清楚...)

无论如何,如果情况是这样的,让我们来看一个有两个项的列表视图,我想用页脚留出一些空间,但没有页脚显示对应于底部分隔线的底部线条,但保留其他分隔线,另外要注意的是,只是如何删除它,我可以使用两个视图的 hack 并使用偶数作为被建议的分隔符,但对我来说这没有意义,更有效的方法是添加额外的空视图 + 1px 的页脚 + footerDividersEnabled,就像我现在正在做的那样,但那只是一个简单的 hack,已经变得难以管理。另外,在页脚的布局顶部添加一行不起作用,因为当listView项包含颜色或类似的背景时,您将看到背景颜色在分隔符应该存在的位置。

有没有办法指定android不显示页脚的底部分隔线?

请尝试理解这不是同一个问题:

移除android ListView的底部分割线

在看之前先要了解问题,不要无视内容乱评。

@Kor假设页脚通常看起来像这样:
CASE 1:


ListItemN


Footer




使用android:footerDividersEnabled="false"会变成这样:
CASE 2:


ListItemN

Footer


而我想要的效果是这样的:


案例 3:


ListItemN


页脚



但只发现了上述的一些不太正规的方法。希望这有所帮助,如果还需要其他内容,请告诉我。


4
请注意,我们在这里是来帮助您的,前提是您愿意合作。我认为,这些视觉技巧往往可以通过几张图片来自我解释,展示您正在尝试实现什么以及目前正在做什么。它们不需要画得非常好,只需要足够清晰地理解正在发生什么即可。您可以查看我在我发布的一个问题中添加的一张图片。它相当简单,但易于理解。附注:粗鲁或感到紧张对我们任何人都没有帮助。 - Sergi Juanola
@Kor我修改了问题并包含了你的建议。 - desgraci
1
好知道。这真正澄清了(至少)我对你的目标的理解。我不习惯在列表视图中使用页脚或页眉,但也许一个简单的样式化页脚可以解决问题。设置android:footerDividersEnabled="false",然后为您的自定义页脚视图添加顶部边框样式。但是嘿,我只是在胡言乱语,并不是答案,因为我现在无法尝试检查它是否起作用。 - Sergi Juanola
是的,那可能会奏效,但这将是另一种hack方法,这正是我不想要的,不确定这将来会带来什么问题。当然,这样做可以解决问题,而且比我现在使用的方法好得多... 但再问一遍,“有没有办法指定Android不显示页脚底部分隔符?或者在Android ListView中删除页脚底部分隔符?”必须通过hack来完成吗? - desgraci
@dnkoutso "同时,在页脚布局顶部添加一行也不起作用,因为当listView项包含颜色或类似背景时,您将在分隔符应该存在的位置看到背景颜色,因此会留下空白。" 请仔细阅读问题以及这种方法无法解决问题的原因。我并不是要求一个神奇的标志,而是要求一个真正的问题解决方案,因为这些技巧并不能在所有情况下都奏效。请不要粗鲁。 - desgraci
2个回答

10

只需使用此代码来避免列表视图的分隔线 android:footerDividersEnabled="false"

  <ListView
                android:id="@+id/listHomeListViewController"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_below="@+id/ImageView01"
                android:cacheColorHint="@android:color/transparent"
                android:footerDividersEnabled="false" >
            </ListView>

2
非常晚了,但这是错误的。这将同时移除页脚前的分隔线。 - Tariq
2
而不是在其他地方使用android:height="wrap_content",请在您的ListView上使用。 - Tariq
4
真*的,android:height="wrap_content" 居然生效了...但是为什么?!?!?天哪 - BoD

2

你需要使用一个hack。你试图实现的是违反正常行为的。

最简单的解决方案已经由@Kor描述过了。只需用一个顶部标题来制作行布局。


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