Подтвердить что ты не робот

Android ImageView ScaleType и высота элемента

Сначала все выглядело довольно просто, но в итоге результат был неудачным. У меня есть изображение, ширина которого больше ширины экрана. Поэтому мне нужно масштабировать его в моем изображении. Я просмотрел параметры ScaleType и попробовал их все, но ни один из них не был в порядке. Первый "center" отображает только изображение с центром в макете, без масштабирования. "fitCenter" масштабирует изображение в соответствии с моим макетом, но имеет большой недостаток: высота элемента остается такой же, как у него будет большое изображение. Взгляните на второй экран в прикрепленном изображении. Как я могу заставить элемент списка уменьшить его высоту, чтобы обернуть как текст, так и изображение?

enter image description here

4b9b3361

Ответ 1

Используйте тип сканера, который кажется вам лучше (я думаю, вам нравится то, что вы видите с fitCenter). Дополнительная вещь, которую вы должны сделать, это

Android: adjustViewBounds = "истинный"

в вашем ImageView.

или вы можете пойти с FitXY, но иногда результат не совсем то, что вы хотите.

Ответ 2

использовать android:scaleType="fitXY"

Ответ 3

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

Ответ 4

Вам либо нужно установить android: height = "wrap_content" на внешний контейнер, либо установить статическую высоту TextBox и предоставить ImageView android: weight = "1", чтобы ImageView занимал оставшееся место в контейнере.