Мне нужно изменить размер ImageView таким образом, чтобы он соответствовал экрану, поддерживал одинаковое соотношение сторон. Имеют место следующие условия:
- Изображения представляют собой фиксированную ширину (размер ширины экрана).
- Изображения загружаются из Интернета, т.е. размер может быть определен позднее
- Соотношение сторон для каждого изображения будет варьироваться; некоторые из них высокие, некоторые из них квадратные, некоторые из них плоские.
- Высота ImageView должна изменяться, больше или меньше, в зависимости от соотношения сторон
- Избыточная высота обрезана, не может иметь много пустого пространства, как это по умолчанию.
Например, небольшое изображение размером 50 × 50 на экране ширины 400 пикселей масштабирует изображение до 400x400 px. Изображение 800x200 будет масштабироваться до 400x100.
Я рассмотрел большинство других потоков, и многие предлагаемые решения, такие как простое изменение adjustViewBounds
и scaleType
, уменьшат только изображение, а не масштабируют его.