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

时间:2017-12-25 16:28:43

标签: android expandablelistview divider

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

ORDER BY (customer_id IS NULL) ASC

2 个答案:

答案 0 :(得分:0)

android:divider选择父级drawable或android:footerDividersEnabled / android:headerDividersEnabled可能就是您要查找的父级视图。这些都是从ListView父级继承的。

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

  

设置将在每个子项旁边绘制的drawable   名单。这将使用与普通分隔符相同的高度绘制   (setDivider(Drawable))或者如果它没有固有的高度,那么   高度由setDividerHeight(int)设置。

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

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

<LinearLayout
     android:id="@+id/child_list_item"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     <!--no padding or margin-->/>

修改

您可以尝试创建一个childDividerShape drawable,如下所示:

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

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

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

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

答案 1 :(得分:0)

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

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