Это не будет увеличивать изображение, если оно меньше, чем изображение, поэтому другие решения не так просты.

я естьImageView который отображает PNG, который имеет большее соотношение сторон, чем у устройства (если говорить вертикально, то есть его длиннее) Я хочу отобразить это, сохраняя соотношение сторон, сопоставляя ширину родительского элемента и закрепляя изображение в верхней части экрана.

Проблема у меня с использованиемCENTER_CROP поскольку тип масштаба таков, что он (понятно) будет центрировать масштабированное изображение вместо выравнивания верхнего края с верхним краем для вида изображения.

Проблема сFIT_START является то, что изображение будет соответствовать высоте экрана, а не заполнить ширину.

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

Любые идеи / предложения / решения приветствуются :)

Спасибо

постскриптум я подумал, что решение может состоять в том, чтобы использовать матричный масштабный тип и сделать это самому, но это похоже на ту же или большую работу, чем мое текущее решение!

Ответы на вопрос(11)

Ваш ответ на вопрос