2012-07-23 34 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您的代碼中的分隔符。將顏色設置爲單一的純色一樣簡單。