2014-02-19 48 views
3

我在我的應用程序中有一個自定義可展開的,我希望divider高度對header(5dp)和child(1dp)是不同的。我該怎麼辦?這是我的代碼:Android:在ExpandableListview中的不同divider高度

bus_info.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<ExpandableListView 
    android:id="@+id/expandableBus" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_marginTop="3dp" 
    android:divider="@drawable/expandable_borde_padre" 
    android:childDivider="@drawable/expandable_borde_hijo" 
    android:groupIndicator="@drawable/expandable" 
    android:scrollbars="none"/> 

</LinearLayout> 

expandable.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:drawable="@drawable/expandable_abajo" android:state_empty="true"/> 
     <item android:drawable="@drawable/expandable_arriba" android:state_expanded="true"/> 
     <item android:drawable="@drawable/expandable_abajo" /> 
</selector> 

expandable_borde_padre.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
    <solid android:color="@color/negro"/> 
    <size android:height="1dp"/> 
</shape> 

expandable_borde_hijo.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="@color/blanco"/> 
    <size android:height="1dp"/> 
</shape> 

如果我改變在expandable_borde_padre到5DP也改變了孩子

expandable_hijo.java

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="55dip" 
android:orientation="vertical" 
android:background="#000000"> 

<TextView 
    android:id="@+id/lblListItem" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textSize="14sp" 
    android:paddingTop="5dp" 
    android:paddingBottom="5dp" 
    android:textColor="#FFFFFF"/> 

</LinearLayout> 

expandable_padre.java

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/fondoExpandablePadre" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:padding="8dp" 
android:background="#000000"> 


<TextView 
    android:id="@+id/lblListHeader" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:paddingLeft="1dp" 
    android:textSize="15sp" 
    android:textColor="#000000" /> 

</LinearLayout> 

回答

7

同時設置分配器和childdivider爲null。 使用自定義標題和子視圖與自定義分隔符。

例如:

對於標題:

< TextView> 

< /TextView> 

< View android:height:"5dp"> 
< /View> 

兒童:

< TextView> 

< /TextView> 

< View android:height:"1dp"> 
< /View> 
+0

我已經編輯我的代碼。我忘了把我的自定義的孩子和頭 – Charlie

相關問題