Предположим, что размер изображения этого прекрасного гриба, который я взял на днях, неизвестен. Это может быть 350x500 пикселей или 1080x1920 или 1920x1080 или 1x1. Любое изображение должно быть в состоянии использовать здесь.Как растянуть изображение в правильном направлении?
То, что я пытаюсь выполнить это: Мне нужно растянуть изображение на всем пути в направлениях, где она отвечала бы край родительского вида рано, но не занимать какой-либо области, в двух других направлениях ,
Итак, вот пример: у меня есть вертикальное изображение, и мне нужно отобразить его на планшете. В этом случае он должен быть растянут (а также поддерживать соотношение сторон) вверх и вниз, но не влево и вправо. Важно, чтобы черная область слева и справа была незанятой. Он должен выглядеть следующим образом:
То же изображение нужно будет растягиваться влево и вправо, но не вверх и вниз, если она шире, чем родительское представление:
Вот что я пробовал:
Настройка XML
layout_width
иlayout_height
атрибуты для различных комбинацийmatch_parent
иwrap_content
. Это не сработало, потому что мы не можем быть уверены, как растянуть изображение во время компиляции, потому что у нас нет размеров изображения или размеров контейнера.Пробовал программно растягивать растровое изображение как this, но это только растягивает ширину и немного неэффективно.
Было бы хорошо, если бы был способ сделать это путем регулировки LayoutParams из ImageView программно, основываясь на том, как отношение изображения можно сравнить с отношением родительского контейнера. Кто-нибудь знает, как это сделать?
Пробовали ли вы масштаб типа CENTER_INSIDE? См. Http://developer.android.com/reference/android/widget/ImageView.ScaleType.html – Henry
Итак, вы говорите, что 'imageView.setScaleType (ScaleType.CENTER_INSIDE)' или 'ScaleType.CROP' для представления не будет достаточно, потому что вы пытаетесь сделать несколько сложных решений в этом процессе? –
@Henry 'center_inside' не растягивает изображение вообще, если изображение слишком мало. Если я использую 'wrap_content', он сохранит исходный размер изображения. Если я использую 'match_parent', он все равно сохранит исходный размер изображения, даже если вид занимает весь родитель. – Oleksiy