4

我找不到在不隐藏子分隔符的情况下隐藏 ExpandableListView 上的分隔符的方法。

这是我的代码。

<ExpandableListView 
            android:id="@+id/activities_list"
            android:background="@android:color/transparent"
            android:fadingEdge="none"           
            android:groupIndicator="@android:color/transparent"
            android:divider="@android:color/transparent"
            android:childDivider="@drawable/list_divider"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

使用此代码,我在组上没有分隔线,但也没有子分隔线。如果我设置android:divider"@drawable/list_divider"我得到组和子分隔符。

提前致谢!

4

5 回答 5

1

我找到的唯一解决方案是将子分隔符直接放入子 XML 中,这样:

<TextView
    android:id="@+id/name"
    android:layout_centerVertical="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<ImageView android:id="@+id/divider"        
    android:layout_alignParentBottom="true"
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="@drawable/list_divider" />        

这是非常非常难看但有效。

但是,仍然应该有一种方法可以正确地做到这一点。

于 2012-01-24T11:00:34.140 回答
1
expListView.setDivider(null);
expListView.setDividerHeight(2);

这会起作用

于 2014-11-03T07:43:47.387 回答
0

在 xml 布局中将 dividerHeight 参数添加到 ExpandableListView 应该可以解决问题

于 2012-09-10T15:35:44.820 回答
0

添加一行怎么样:

安卓:dividerHeight="0dp"

实际上,我面临着类似的问题。PD询问分隔符和childDivider既存在又不同,这让我很困扰。我也在寻找答案。

于 2013-04-15T08:30:30.510 回答
0

在我看来:-删除 XML 中的分隔符:

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

- 在视图中绘制分隔线 getGroupView(..,..,..,..) :

            View divider = new View(_context);
            View dividerIDU = new View(_context);
            RelativeLayout.LayoutParams rldivider = new RelativeLayout.LayoutParams(
                    RelativeLayout.LayoutParams.MATCH_PARENT, 1);
            RelativeLayout.LayoutParams rldividerShort = new RelativeLayout.LayoutParams(
                    150, 3);

            rldividerShort.setMargins(5, -1, 0, 0);
            dividerIDU.setBackgroundColor(Color.RED);


            divider.setLayoutParams(rldivider);
            dividerIDU.setLayoutParams(rldividerShort);

            divider.setBackgroundColor(Color.rgb(200, 200, 200));

            ((RelativeLayout) convertView).addView(divider);
            ((RelativeLayout) convertView).addView(dividerIDU);

- 之后您可以设置分隔符以下组位置。

于 2013-12-11T09:18:37.763 回答