在ExpandableListView上如何在组项之间产生差距,而在组和子组之间没有差距?

时间:2015-03-08 02:33:30

标签: android expandablelistview

我几乎遇到与How to remove specific space between parent and child in an ExpandableListView相同的问题。

我有一个ExpandableListView,我希望在群组和第一个孩子扩展时没有差距的情况下分离我的群组。

我尝试删除分隔符,但它使我的组项目靠近在一起,它们之间根本没有空格。

我还尝试在孩子的群体和负边距上使用下边距,但孩子与父群体分开。

这是我的代码:

<ExpandableListView android:id="@android:id/list" android:layout_width="match_parent"
    android:layout_height="match_parent" android:groupIndicator="@null"
    android:layout_gravity="center_horizontal|top"
    android:divider="@android:color/transparent"
    android:dividerHeight="8dp"
    android:childDivider="#00000000"
    android:layout_marginTop="10dp"/>

就像我的团队之间有一个很好的差距但是当我扩展它们时,第一个孩子与父母分开了相同的8dp高度。

1 个答案:

答案 0 :(得分:3)

到目前为止,我找到的最佳解决方案是将dividerHeight放到&#34; 0dp&#34;并将paddingTop添加到xml中的groupItem。这样做你没有在Group和它之间进行分割,但你会在组之间进行分割。也许它不是历史的最佳解决方案,但是,你知道,ExpandableListView不是历史上最好的设计视图......

内幕代码:

你有ExpandableListView:

<ExpandableListView
    [...]
    android:divider="@android:color/transparent"
    android:dividerHeight="0dp"/>

在父视图中有组项xml的地方:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="10dp">

在这个例子中,我放了一个&#34;分隔符&#34;组之间的10dp但不是组之间的10dp。