无法使用ScaleDrawable缩放Drawable

时间:2012-06-09 11:01:12

标签: java android drawable

使用ScaleDrawable缩放对我不起作用。
可拉图保持相同的尺寸。

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

我需要做些什么来解决它? 感谢。

2 个答案:

答案 0 :(得分:6)

您需要设置level

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时根本不显示。

答案 1 :(得分:2)

如果您检查ScaleDrawable的{​​{3}},您会看到getDrawable方法返回基础drawable。也就是说,它会在您的情况下返回d。您应该返回sd,因为它已经是Drawable