Ответ 1
использовать imgview.setScaleType(ScaleType.FIT_XY);
У меня есть 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);
Любые другие идеи?
использовать imgview.setScaleType(ScaleType.FIT_XY);
Дайте в xml файле вашего макета android:scaleType="fitXY"
P.S: это относится к тому, когда изображение задано с помощью android:src="..."
, а не android:background="..."
, поскольку фон по умолчанию устанавливается для растягивания и подгонки к представлению.
используйте это:
ImageView.setAdjustViewBounds(true);
если вы используете android:scaleType="fitXY"
, тогда вы должны указать
android:layout_width="75dp"
и android:layout_height="75dp"
если use 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"/>
Принятый ответ совершенен, однако, если вы хотите сделать это из xml, вы можете использовать android:scaleType="fitXY"
Я использовал этот android:scaleType="fitXY"
код в файле Xml.
просто измените высоту и ширину ImageView на wrap_content и используйте
exampleImage.setScaleType(ImageView.ScaleType.FIT_XY);
в вашем коде.
Попытка использования:
imageview.setFitToScreen(true);
imageview.setScaleType(ScaleType.FIT_CENTER);
Это будет соответствовать вашему изображению на экране с правильным соотношением.