2012-06-09 39 views
5

使用ScaleDrawable進行縮放不適用於我。
drawable保持相同的大小。無法使用ScaleDrawable縮放Drawible

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

我需要做些什麼來解決它?
謝謝。

回答

2

如果您檢查referenceScaleDrawable,您會看到getDrawable方法返回基本繪圖。也就是說,在您的情況下,它會返回d。您應該返回sd,因爲它已經是Drawable

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它不會出現在所有。