1

我正在设置 childView 的分隔符。但是当我展开并看到 childRows 分隔线在子行和父行中的颜色变化时。为什么会这样?

我的可扩展列表视图的 xml:

<?xml version="1.0" encoding="utf-8"?>
<ExpandableListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:childDivider="@color/dark_orange"
android:indicatorLeft="?android:attr/expandableListPreferredItemIndicatorLeft"
android:indicatorRight="?android:attr/expandableListPreferredItemIndicatorRight"
android:groupIndicator="@drawable/group_indicator">
 </ExpandableListView>
4

2 回答 2

2

将您的 ExpandableListView 更改为

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

<ExpandableListView 
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/list"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:layout_alignParentLeft="true"
  android:dividerHeight="2dp"<!--===========> problem is here-->
  android:divider="@drawable/yellow"
  android:childDivider="@color/dark_orange"
  android:indicatorLeft="?android:attr/expandableListPreferredItemIndicatorLeft"
  android:indicatorRight="?android:attr/expandableListPreferredItemIndicatorRight"
  android:groupIndicator="@drawable/group_indicator"
/>

我认为问题在于设置子分隔器的高度。所以请纠正它。

于 2012-07-23T13:08:47.890 回答
0

我通过这样的代码设置了分隔线颜色:

int[] colors = {0, 0xFFFF0000, 0}; // red for the example 
lv.setChildDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors)); 
lv.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));

请注意,这会将中间的分隔线设置为全色,在 bth 边缘逐渐消失,但它应该传达在代码中设置 ExpandableListView 分隔线的方法。将颜色设置为单一纯色同样容易。

于 2012-07-26T14:47:15.800 回答