2012-06-09 4 views
5

ScaleDrawableでスケーリングが動作しません。
ドロアブルは同じサイズのままです。ScaleDrawableで描画可能にすることができません

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を返します。すでにDrawableであるので、sdを返してください。

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でそれがまったく表示されません。

関連する問題