8

我想更改可扩展列表视图的扩展和默认图标。我做了一些研究如何做到这一点,发现了这个问题

我想我是按照那里描述的那样做的。我有 2 个图标,第一个名为 defaulticon.png,第二个名为 expandicon.png。打扰位于可绘制文件夹中(不在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>

但是图标不会改变。列表视图中的默认图标消失,取而代之的是没有图标。资源是否有任何限制(我可以使用多大的资源(两者都是 160x160),它们必须位于哪里,......)。我正在运行 Android 4.1.2 的 S3 上测试该应用程序。

干杯

4

2 回答 2

6

将您的图标大小更改为 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>
于 2013-10-19T06:22:34.720 回答
-1

首先,将您的图像调整为 24*24,然后将其复制到drawable-mdpiAndroid 中的文件夹中。之后,复制并粘贴以下代码:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
  <item android:drawable="@drawable/abc"android:state_empty="true"></item>
  <item android:drawable="@drawable/downarrow" ></item>
</selector>
于 2014-01-24T21:12:13.093 回答