开发者

How to Change the color of child divider of ExpanableListView by layout xml file?

开发者 https://www.devze.com 2023-03-09 21:11 出处:网络
I want to change the color of child divider of ExpandableListView by writing: android:childDivider=\"@drawable/yellow\"

I want to change the color of child divider of ExpandableListView by writing:

 android:childDivider="@drawable/yellow"

in layout file. However, when I collapse the item, I found the background of the ExpandableListView turn yellow (@drawable/yellow) , but I just want to change the color of child divider. Who can tell me why? To my surprise, if I change it by java code like

expandableListView.setChildDivider(this.getResources().getDrawable(R.drawable.yellow));

it works normally. It is very weird, who can tell me the reason?

<!-- if I set childDivider in Layout xml, it can't work normally. 
     However, if set childDivider in java code, it work normally -->

<ExpandableListView android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    androi开发者_运维知识库d:layout_alignParentLeft="true"
    android:dividerHeight="2dp"
    android:divider="@drawable/yellow"
    android:childDivider="@drawable/yellow"
    />


create a drawable with small height and set it to childDivider property

"child_separator.xml":

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">
    <solid android:color="@color/child_separator_color"/>
    <size android:height="1dp"/>
</shape>

expandable list view:

android:childDivider="@drawable/child_separator"


Simply set child divider as the color of your choice.

<ExpandableListView
        android:id="@+id/list_shopping"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:childDivider="@color/LightGrey"
        android:dividerHeight="1dp" />


You just need to remove android:divider="@drawable/yellow" from your layout. This should resolve your problem if I understood it correctly.

Here is what I mean:

How to Change the color of child divider of ExpanableListView by layout xml file?

0

精彩评论

暂无评论...
验证码 换一张
取 消