9

所以我试图设置一个自定义 ExpandableListView 指示器图标,但它不起作用。我创建了一个图标并将其保存到可绘制文件夹。以下是图标:

在此处输入图像描述 在此处输入图像描述

这是选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/arrow_up" android:state_empty="true"/>
    <item android:drawable="@drawable/arrow_down" android:state_activated="true"/>
</selector>

可扩展列表视图 xml:

<ExpandableListView
    android:id="@+id/lvExp"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:groupIndicator="@drawable/custom_arrow" />

但是,当我启动应用程序时,根本没有指示器。知道我做错了什么吗?

4

2 回答 2

21

这应该可以解决问题

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_expanded="true" android:drawable="@drawable/arrow_up" />
    <item android:drawable="@drawable/arrow_down" />
</selector>

当行扩展时,您想要state_expandedfor ,然后除了扩展之外的任何其他状态只是正常的向下箭头。但是,您应该处理state_empty没有什么可扩展的情况

于 2013-09-19T20:40:40.197 回答
-1

我认为您只需将这一行添加到您的选择器并更改向下箭头条件:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/arrow_up" android:state_empty="true"/>
    <item android:drawable="@drawable/arrow_down" android:state_expanded="true"/>
    <item android:drawable="@drawable/arrow_up" />
</selector>
于 2013-09-19T20:41:39.203 回答