天天看点

ExpandableListView的箭头问题

通过布局文件修改

如果你不想使用默认的箭头指示标志,可以通过修改ExpandableListView的groupIndicator图片实现你自己的效果。

通常,我们使用selector来定义这组图片

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <!-- 下拉狀態 -->
    <item android:state_expanded="false"
          android:drawingCacheQuality="auto"
        android:drawable="@drawable/xiala"/>
    <!-- 收起狀態 -->
    <item android:state_expanded="true"
        android:drawingCacheQuality="auto"
     android:drawable="@drawable/shouqi"/>
</selector>
           

android:drawingCacheQuality

设置绘图时半透明质量。有以下值可设置:auto(默认,由框架决定)/high(高质量,使用较高的颜色深度,消耗更多的内存/low(低质量,使用较低的颜色深度,但是用更少的内存)。

通过代码修改(推荐,比较灵活)

先设置xml中的箭头android:groupIndicator=”@null”

在groupitem中定义imageview

再通过baseexpandableviewadapter中的

public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent)方法通过isExpanded的值来确定使用那张图片

if(isExpanded){
            mIndicator.setImageResource(R.mipmap.bottom_arrow);
        }else{
            mIndicator.setImageResource(R.mipmap.right_arrow);
        }