Это не будет увеличивать изображение, если оно меньше, чем изображение, поэтому другие решения не так просты.
я естьImageView
который отображает PNG, который имеет большее соотношение сторон, чем у устройства (если говорить вертикально, то есть его длиннее) Я хочу отобразить это, сохраняя соотношение сторон, сопоставляя ширину родительского элемента и закрепляя изображение в верхней части экрана.
Проблема у меня с использованиемCENTER_CROP
поскольку тип масштаба таков, что он (понятно) будет центрировать масштабированное изображение вместо выравнивания верхнего края с верхним краем для вида изображения.
Проблема сFIT_START
является то, что изображение будет соответствовать высоте экрана, а не заполнить ширину.
Я решил эту проблему с помощью пользовательского ImageView и переопределенияonDraw(Canvas)
и обрабатывать это вручную, используя холст; проблема с этим подходом заключается в том, что 1) я беспокоюсь, что может быть более простое решение, 2) я получаю исключение VM mem при вызовеsuper(AttributeSet)
в конструкторе при попытке установить src img в 330 КБ, когда в куче свободно 3 МБ (с размером кучи 6 МБ), и не могу понять, почему.
Любые идеи / предложения / решения приветствуются :)
Спасибо
постскриптум я подумал, что решение может состоять в том, чтобы использовать матричный масштабный тип и сделать это самому, но это похоже на ту же или большую работу, чем мое текущее решение!