如果想自定义展开箭头,先把默认的屏蔽掉,然后在 adapter 中的 getGroupView 中引用的那个布局里写自己的布局就行
局部效果图
工程目录
说明:
1、对象A是组对象,对象B,是一个组中一个子元素的对象
代码:
布局:
activity_main
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/group_num_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="10dp"
android:textSize="20sp"
/>
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="#ff0000"/>
<!--去掉默认箭头-->
<!--android:groupIndicator="@null"-->
<!--父item分割线-->
<!--android:divider="@null"-->
<!--子item分割线-->
<!--android:childDivider="@null"-->
<com.chen.demo.view.MyExpandableListView
android:id="@+id/expandablelistview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:childDivider="@null"
android:divider="@null"
android:groupIndicator="@null"/>
</LinearLayout>
parent
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/parent_textview"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_marginLeft="15dp"
android:gravity="center_vertical"/>
<TextView
android:id="@+id/child_num_textview"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_marginRight="15dp"
android:gravity="center_vertical"/>
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_below="@id/parent_textview"
android:background="#00ff00"/>
</RelativeLayout>
child
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/child_textview"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="center"
android:gravity="center"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#0000ff"/>
</LinearLayout>
header
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom">
<RelativeLayout
android:id="@+id/header_content"
android:layout_width="match_parent"
android:layout_height="60dp"
tools:ignore="UselessParent">
<LinearLayout
android:id="@+id/header_text_ll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/header_hint_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下拉刷新"
android:textColor="#333333"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最近更新时间:"
android:textColor="#333333"
android:textSize="12sp"/>
<TextView
android:id="@+id/header_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#333333"
android:textSize="12sp"/>
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/header_arrow"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/header_text_ll"
android:src="@mipmap/arrow"/>
<ProgressBar
android:id="@+id/header_progressbar"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignLeft="@id/header_text_ll"
android:layout_centerVertical="true"
android:layout_marginLeft="-40dp"
android:visibility="invisible"/>
</RelativeLayout>
</LinearLayout>
footer
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=