gpt4 book ai didi

android - 带空壳的 LevelListDrawable

转载 作者:行者123 更新时间:2023-11-29 01:34:48 24 4
gpt4 key购买 nike

在 Android 中是否可以给 LevelListDrawable 一个空的 case? “空”就像“无图像”。例如,看看下面的 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)); 而不是更改图像级别。谢谢。

最佳答案

minLevel 默认为 0,因此如果您希望 face_1 不显示 level=0明确添加

<item
android:drawable="@drawable/face_1"
android:minLevel="1"
android:maxLevel="1" />

问题是现在 face_2 将被显示(因为它匹配 [0, 2]),但是如果你添加 minmax 对于所有具有相同值的面孔,它们会很好地播放。

有关更多信息,请参阅 android.graphics.drawable.LevelListDrawable.LevelListState#indexOfLevel

或者我在某处看到了一个魔法值:

<item
android:drawable="@null"
android:maxLevel="0" />

但这可能会从 LevelListDrawable#inflate 中抛出 NPE 或异常:

<item> tag requires a 'drawable' attribute or child tag defining a drawable

关于android - 带空壳的 LevelListDrawable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28988519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com