我正在尝试扩展drawable但失败。然而,在这种情况下,这不是问题,但它似乎与setLevel()方法有关。
我非常难以弄清楚这是做什么的,当我应该使用它时,从文档中说明:
指定drawable的级别。这允许drawable改变它 基于连续控制器的图像,例如显示进度 或音量水平。
如果您提供的新级别导致外观 可以改变,然后它负责调用 invalidateSelf()以便自己重绘,而true将是 从这个函数返回。
参数级别新级别,从0(最小)到10000(最大)。 返回如果级别中的此更改导致外观,则返回true 改变Drawable(因此要求无效),否则 返回false。
例如控制器是什么?何时以及如何使用?
答案 0 :(得分:4)
Drawable's level基本上是整数。它对不同类型的Drawable
子类有不同的含义。例如:
GradientDrawable
中,它指定应绘制渐变的哪个部分。RotateDrawable
中,它指定旋转角度。ScaleDrawable
中,它会更改另一个Drawable
的大小,因此ScaleDrawable
就像是另一个Drawable
的包装器,并根据当前级别进行裁剪。例如,控制器可以是ProgressBar
。这正是确定进度条的绘制方式。您可以查看this question了解详情