天天看點

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);
        }