У меня есть изображение, которое меньше контейнера, в который я бы хотел поместить его. Я бы хотел, чтобы изображение растягивалось, сохраняя соотношение сторон до максимально возможного размера.
Чтобы проиллюстрировать эту проблему:
<ImageView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/thumbnail"
android:scaleType="fitXY"
android:adjustViewBounds="true"/>
ImageView
выше будет растянут, чтобы заполнить ширину контейнера. Содержимое @drawable
также будет вытягиваться вдоль оси x, чтобы соответствовать ширине ImageView
, что идеально. Проблема, однако, заключается в том, что размер, помеченный wrap_content
, в данном случае высота, остается таким же размером, что и начальная высота @drawable
s.
Я прочитал документацию по ScaleType здесь и не могу найти ответ там.
На следующем рисунке приведен код выше:
Current behaviour Desired Behaviour
Редактировать
ImageView
с учетом scaleType="fitCenter"
будет точно расширять / сжимать @drawable
внутри него, увеличиваясь до максимально возможного размера, сохраняя его соотношение сторон.
Размеры ImageView
определяются до того, как @drawable
масштабируется любым способом. Размеры ImageView
не зависят от масштабирования содержимого @drawable
.