1

我想知道 Android 中是否有任何方法ImageView可以通过使用tag.

理想情况下应该是这样的:

// image_view_style.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:tag="1"
        android:drawable="@drawable/image_for_tag_1"/>
  <item android:tag="2"
        android:drawable="@drawable/image_for_tag_2"/>
  <item android:tag="3"
        android:drawable="@drawable/image_for_tag_3"/>
</selector>

只需使用我想要的值调用ImageView'方法。setTag()

我试过这个,但它不起作用。是否有任何干净的方法可以在资源文件中进行图像选择(对于 , 等以外的其他内容state_selectedstate_pressed

4

1 回答 1

7

我认为您可以使用它LevelListDrawable来实现您想要的:

https://developer.android.com/reference/android/graphics/drawable/LevelListDrawable.html

从文档中:

<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="0" android:drawable="@drawable/ic_wifi_signal_1" />
<item android:maxLevel="1" android:drawable="@drawable/ic_wifi_signal_2" />
<item android:maxLevel="2" android:drawable="@drawable/ic_wifi_signal_3" />
<item android:maxLevel="3" android:drawable="@drawable/ic_wifi_signal_4" />
</level-list>

然后setLevel(...)在代码中使用来设置一个级别。

于 2013-04-22T10:37:33.870 回答