Android ImageView ScaleType и высота элемента
Сначала все выглядело довольно просто, но в итоге результат был неудачным.
У меня есть изображение, ширина которого больше ширины экрана. Поэтому мне нужно масштабировать его в моем изображении. Я просмотрел параметры ScaleType и попробовал их все, но ни один из них не был в порядке. Первый "center"
отображает только изображение с центром в макете, без масштабирования. "fitCenter"
масштабирует изображение в соответствии с моим макетом, но имеет большой недостаток: высота элемента остается такой же, как у него будет большое изображение. Взгляните на второй экран в прикрепленном изображении. Как я могу заставить элемент списка уменьшить его высоту, чтобы обернуть как текст, так и изображение?
![enter image description here]()
Ответы
Ответ 1
Используйте тип сканера, который кажется вам лучше (я думаю, вам нравится то, что вы видите с fitCenter). Дополнительная вещь, которую вы должны сделать, это
Android: adjustViewBounds = "истинный"
в вашем ImageView.
или вы можете пойти с FitXY, но иногда результат не совсем то, что вы хотите.
Ответ 2
использовать android:scaleType="fitXY"
Ответ 3
Не могли бы вы использовать FitXY?
Это будет работать, если вы знаете размер области, в которую вы помещали изображение.
CentreInside также может работать, я использовал это для масштабирования изображений, но я думаю, что это зависит, если вы контролируете размер элемента ограничивающего макета.
Ответ 4
Вам либо нужно установить android: height = "wrap_content" на внешний контейнер, либо установить статическую высоту TextBox и предоставить ImageView android: weight = "1", чтобы ImageView занимал оставшееся место в контейнере.