Android:ExpandableListview中的不同分隔符高度

时间:2014-02-19 11:02:43

标签: android height parent-child expandablelistview

我在我的应用程序中有一个自定义扩展,我希望标题(5dp)和子(1dp)的分隔符高度不同。我怎么办?这是我的代码:

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>

1 个答案:

答案 0 :(得分:7)

将divider和childdivider都设置为null。 使用带有自定义分隔符的自定义标题和子视图。

例如:

标题:

< TextView>

< /TextView>

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

for child:

< TextView>

< /TextView>

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