所以我正在尝试设置自定义的ExpandableListView指示器图标,但它无法正常工作。我创建了一个图标并将其保存到drawable文件夹中。以下是图标:
这是选择器:
<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>
ExpandableListView xml:
<ExpandableListView
android:id="@+id/lvExp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:groupIndicator="@drawable/custom_arrow" />
然而,当我启动应用程序时,根本没有指示器。知道我做错了吗?
答案 0 :(得分: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_expanded
来扩展行,然后除了扩展之外的任何其他状态只是正常的向下箭头。但是,当没有任何内容可以扩展到
state_empty
答案 1 :(得分:-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>