在 Android 中是否可以为 LevelListDrawable 提供一个空案例?“空”就像“没有图像”。例如,看看下面的 LevelListDrawable:
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/face_1"
android:maxLevel="1" />
<item
android:drawable="@drawable/face_2"
android:maxLevel="2" />
<item
android:drawable="@drawable/face_3"
android:maxLevel="3" />
<item
android:drawable="@drawable/face_4"
android:maxLevel="4" />
<item
android:drawable="@drawable/face_5"
android:maxLevel="5" />
<item
android:drawable="@drawable/face_6"
android:maxLevel="6" />
</level-list>
它是一个有 6 个面的骰子。我也想要一张空的脸。一个 NULL 案例,或类似的东西。
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable=""
android:maxLevel="0" />
<item
android:drawable="@drawable/face_1"
android:maxLevel="1" />
<item
android:drawable="@drawable/face_2"
android:maxLevel="2" />
<item
android:drawable="@drawable/face_3"
android:maxLevel="3" />
<item
android:drawable="@drawable/face_4"
android:maxLevel="4" />
<item
android:drawable="@drawable/face_5"
android:maxLevel="5" />
<item
android:drawable="@drawable/face_6"
android:maxLevel="6" />
</level-list>
目前我模拟这种行为是这样的:
ImageView image = new ImageView(context);
image.setImageDrawable(getResources().getDrawable(R.drawable.dice));
image.setImageLevel(3);
if(somethingHappened){
image.setImageDrawable(null);
}
但在那之后我必须再打电话image.setImageDrawable(getResources().getDrawable(R.drawable.dice));
而不是改变图像级别。谢谢你。