Android: растянуть изображение в режиме просмотра изображения, чтобы соответствовать экрану - PullRequest
121 голосов
/ 12 января 2011

У меня есть imageview, высота и ширина которого установлены на fill_parent, а linearlayout имеет те же значения. Поэтому я полагаю, что это должно привести мои изображения в соответствие с экраном. Но он подходит только как 80% (поля сверху и снизу в ландшафтном режиме).

Я безуспешно пробовал следующий код:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

imgView.setMinimumWidth(width);
imgView.setMinimumHeight(height);

imgView.setMaxWidth(width);
imgView.setMaxHeight(height);

Есть еще идеи?

Ответы [ 8 ]

301 голосов
/ 12 января 2011

использование imgview.setScaleType(ScaleType.FIT_XY);

116 голосов
/ 12 января 2011

Отдайте в xml-файл вашего макета android:scaleType="fitXY"
PS: это применимо к случаю, когда для изображения установлено значение android:src="...", а не android:background="...", поскольку фоновые изображения по умолчанию настроены на растяжение и подгонку к представлению.

21 голосов
/ 13 марта 2015

используйте это:

ImageView.setAdjustViewBounds(true);
8 голосов
/ 17 июня 2016

если вы используете android:scaleType="fitXY", то вы должны указать

android:layout_width="75dp" и android:layout_height="75dp"

, если вы используете wrap_content, он не будет растягиваться до того, что вам нужно

<ImageView
android:layout_width="75dp"
android:layout_height="75dp"
android:id="@+id/listItemNoteImage"
android:src="@drawable/MyImage"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_marginStart="12dp"
android:scaleType="fitXY"/>
7 голосов
/ 11 ноября 2015

Принятый ответ является идеальным, однако, если вы хотите сделать это из XML, вы можете использовать android:scaleType="fitXY"

2 голосов
/ 01 апреля 2016

Я использовал этот android:scaleType="fitXY" код в XML-файле.

0 голосов
/ 11 июня 2016

просто измените высоту и ширину вашего ImageView на wrap_content и используйте

exampleImage.setScaleType (ImageView.ScaleType.FIT_XY);

в вашем коде.

0 голосов
/ 06 марта 2013

Попытка использования:

imageview.setFitToScreen(true);
imageview.setScaleType(ScaleType.FIT_CENTER);

Это позволит подогнать изображение к экрану с правильным соотношением.

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