Android LevelListDrawable具有空的案例
在Android中,是否可以给LevelListDrawable一个空的案例?“空”就像“没有图像”。例如,看看下面的LevelListDrawable:Android LevelListDrawable具有空的案例,android,xml,android-drawable,xml-drawable,Android,Xml,Android Drawable,Xml Drawable,在Android中,是否可以给LevelListDrawable一个空的案例?“空”就像“没有图像”。例如,看看下面的LevelListDrawable: <?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@
<?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>
但在此之后,我必须调用
image.setImageDrawable(getResources().getDrawable(R.drawable.dice))代码>另一次,而不是更改图像级别。谢谢。minLevel
默认为0
,因此,如果要将face\u 1
排除在level=0
的显示之外,请明确添加它
<item
android:drawable="@drawable/face_1"
android:minLevel="1"
android:maxLevel="1" />
但这可能会从LevelListDrawable#充气引发NPE或异常:
标记需要一个“drawable”属性或定义drawable的子标记
你应该为空的情况使用一个drawable,也许可以添加一个透明的drawable,而不是让drawable字段为空。是的,也许我会这样做。。。
ImageView image = new ImageView(context);
image.setImageDrawable(getResources().getDrawable(R.drawable.dice));
image.setImageLevel(3);
if(somethingHappened){
image.setImageDrawable(null);
}
<item
android:drawable="@drawable/face_1"
android:minLevel="1"
android:maxLevel="1" />
<item
android:drawable="@null"
android:maxLevel="0" />