5

使用 ScaleDrawable 缩放对我不起作用。
可绘制对象保持相同大小。

LayerDrawable layerDrawable = new LayerDrawable(layers);        
Drawable d = layerDrawable.getCurrent();
ScaleDrawable sd = new ScaleDrawable(d, 0, 0.01f, 0.01f); 
return sd.getDrawable();

我需要做什么来修复它?
谢谢。

4

2 回答 2

6

您需要设置级别

LayerDrawable layerDrawable = new LayerDrawable(layers);        
Drawable d = layerDrawable.getCurrent();
ScaleDrawable sd = new ScaleDrawable(d, 0, 0.01f, 0.01f); 
sd.setLevel(8000);
return sd;

级别范围从 0 到 10000:在 10000 时为全尺寸,在 0 时根本不出现。

于 2012-09-11T09:41:53.043 回答
2

如果您检查参考ScaleDrawable您将看到该getDrawable方法返回基本可绘制对象。也就是说,它会d在您的情况下返回。您应该返回sd,因为它已经是一个Drawable.

于 2012-06-09T21:04:50.303 回答