如何从 ExpandableListView 的子项中删除分隔符?

Posted

技术标签:

【中文标题】如何从 ExpandableListView 的子项中删除分隔符?【英文标题】:How to remove the divider from the children of an ExpandableListView? 【发布时间】:2018-06-06 19:25:52 【问题描述】:

我在 android 中做多项选择题。为此,我正在使用可扩展列表视图。我不想在子视图之间以及子视图和父视图之间显示空格(分隔符)。但我想要不同的可扩展列表视图之间的分隔线。我进行了很多搜索,但我发现在子视图之间添加了透明颜色,但它仍然显示子视图之间的空间。那么有什么方法可以删除子视图之间的空间。这是我的可扩展列表视图的 xml 代码。

<ExpandableListView
 android:id="@+id/list_single_choice_questions"
 android:layout_
 android:layout_
 android:dividerHeight="5dp"
 android:layout_marginLeft="8dp"
 android:layout_marginRight="8dp"
 android:divider="#ffffff"
 android:childDivider="#00000000"/>

【问题讨论】:

【参考方案1】:

android:divider 选择父可绘制对象或android:footerDividersEnabled / android:headerDividersEnabled 可能是您正在寻找的父视图。这些都是继承自 ListView 父级。

至于子视图,我们可以查看 Java 方法以编程方式对其进行设置,请参阅 Android docs on Expandable List。例如 setChildDivider() :

设置将在相邻的每个孩子附近绘制的可绘制对象 列表。这将使用与正常分隔线相同的高度绘制 (setDivider(Drawable)) 或者如果它没有固有高度,则 高度由 setDividerHeight(int) 设置。

因此使用的高度由setDividerHeight() 或固有高度设置。

除此之外,您可以更改子视图的 xml 布局以使每个视图之间的空间更小。

<LinearLayout
     android:id="@+id/child_list_item"
     android:layout_
     android:layout_
     <!--no padding or margin-->/>

编辑:

您可以尝试像这样创建childDividerShape 可绘制对象:

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <size android:/>
</shape>

然后将其设置为android:childDivider 属性。

...
android:childDivider="@drawable/childDividerShape"
...

【讨论】:

没有任何效果...当我添加 android:divider=0dp 时,它将从孩子、父母和多个可扩展视图中删除空间。我只想从子视图中删除空间。我尝试以编程方式进行,但这也没有用。 抱歉,我更新了答案并进行了编辑,看看是否有帮助! 感谢您的回复。我之前也尝试过,但没有成功。要从子视图中删除空间,我必须将分隔符设置为 0dp。这也会从不同的可展开视图中删除空间。【参考方案2】:

在 xml 文件中的 ExpandableListView 中添加以下两行

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

【讨论】:

以上是关于如何从 ExpandableListView 的子项中删除分隔符?的主要内容,如果未能解决你的问题,请参考以下文章

如何在expandablelistview中折叠组视图上方和下方的所有子视图?

Android - 如何在 Android 的 Expandable ListView 的子视图下添加另一个视图?

如何从 ExpandableListView 的子项中删除分隔符?

如何为自定义 ExpandableListView 调用 notifyDataSetChanged?

如何自定义 ExpandableListView 目前仅显示一项“已扩展”

如何更改expandableListView的箭头颜色? [关闭]