Невозможно масштабировать 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
,