2012-07-23 66 views
1

我正在设置childView的分隔符。但是当我扩展并查看childRows分隔符在子行和父行中的颜色更改时。为什么这样?ExpandableListView中的Android分隔符

我expandableListView的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> 

回答

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" 
/> 

我认为问题是在设置儿童分频器的高度。所以请纠正它。

+0

没有帮助。它只是将devider的高度设置为2 dp。 – Stas 2012-07-23 13:18:38

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您的代码中的分隔符。将颜色设置为单一的纯色一样简单。