Невозможно масштабировать Drawable с помощью ScaleDrawable

Масштабирование с помощью ScaleDrawable не работает для меня.
Drawable остается в том же размере.

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

Что мне нужно сделать, чтобы это исправить?
Благодарю.

2 ответа

Вам нужно установить уровень:

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 он вообще не отображается.

Если вы проверите ссылку на ScaleDrawable, вы увидите, что getDrawable Метод возвращает базовый объект. То есть возвращается d в твоем случае. Вы должны просто вернуться sd как это уже Drawable,

Другие вопросы по тегам