我想更改可扩展列表视图的展开和默认图标.
我做了一些研究如何做到这一点,找到了 this question.
我做了一些研究如何做到这一点,找到了 this question.
我想我就是在那里描述的那样做的.
我有2个图标,第一个叫做defaulticon.png,第二个叫expandicon.png.麻烦位于drawable文件夹中(不在drawable-hdpi中).
我的列表视图声明如下所示:
<ExpandableListView android:id="@+id/expandableListView" android:layout_width="match_parent" android:layout_height="wrap_content" android:groupIndicator="@drawable/groupindicator"> </ExpandableListView>
groupindicator是一个xml文件,也位于drawable文件夹中,如下所示:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/defaulticon" android:state_empty="true"/> <item android:drawable="@drawable/expandedicon" android:state_expanded="true"/> </selector>
但是图标不会改变.列表视图中的默认图标消失,而没有图标.
资源是否有任何限制(资源有多大(两者都是160×160),它们必须位于哪里,……).
我在运行Android 4.1.2的S3上测试应用程序.
干杯
解决方法
将您的图标大小更改为32 X 32,将您的图标放在drawable-mdpi中,然后尝试此代码
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/expandedicon" android:state_expanded="true"/> <item android:drawable="@drawable/defaulticon"/> </selector>