可扩展列表视图底部分隔线

时间:2014-03-11 18:19:27

标签: android android-layout android-listview expandablelistview android-xml

我在图片中有一个像这样的可扩展列表视图:

enter image description here

当我扩大一个孩子时,我想要保持底部分隔物, 遗失了。最简单的方法是什么? 儿童分频器颜色是透明的,因为我不想要 顶部分隔线也是最底层的。

这是我的布局:

展开式列表视图

<ExpandableListView
    android:id="@+id/expandable_list_test"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:childDivider="@android:color/transparent">
</ExpandableListView>

可扩展组行:

<ImageView
    android:id="@+id/imageview_test"
    android:layout_width="20dp"
    android:layout_height="20dp"
    android:layout_centerVertical="true"
    android:layout_marginRight="10dp"
    android:contentDescription="@string/test" >
</ImageView>

<TextView
    android:id="@+id/textview_description_group"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_marginLeft="10dp"
    android:layout_toRightOf="@id/imageview_test"
    android:textSize="16sp" >
</TextView>

可扩展行:

<TextView
    android:id="@+id/textview_description_child"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="50dp"
    android:layout_marginRight="20dp"
    android:textSize="14sp" >
</TextView>

非常感谢提前。

1 个答案:

答案 0 :(得分:2)

您可以通过在子视图项中添加页脚然后按照自定义适配器中调用的getChildView()方法中的方式处理它来实现此功能。

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >
    <TextView
        android:id="@+id/textview_description_child"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="20dp"
        android:textSize="14sp" >
    </TextView>
    <View
       android:id="@+id/divider_description_child"
       android:layout_width="match_parent"
       android:layout_height="1dp"
       android:background="#FF0000" />
    </LinearLayout>

然后在你的getChildView()

@Override
public View getChildView(int groupPosition, int childPosition,
        boolean isLastChild, View convertView, ViewGroup parent) {
    ....

    if(childPosition == (childrenItems.size() - 1))
    {
        // set your divider visibility as VISIBLIE
    }else
    {
        // set your divider visibility as GONE
    }
    ....

}