android:在imageview中拉伸图像以适应屏幕

Joh*_*han 123 android imageview

我有一个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);
Run Code Online (Sandbox Code Playgroud)

还有其他想法吗?

Pin*_*nki 305

使用 imgview.setScaleType(ScaleType.FIT_XY);

  • 我知道这就是你想要的,但是对于你关心宽高比的图像,这将会延伸出来. (26认同)
  • 同样可以在布局xml中定义,android:scaleType ="fitXY" (10认同)
  • 要使图像填充所有区域并保持良好的宽高比,请使用`v.setAdjustViewBounds(true); v.setScaleType(ImageView.ScaleType.CENTER_CROP);` (9认同)

Sen*_*Sen 118

在布局android:scaleType="fitXY"
PS 的xml文件中给出:这适用于设置图像时,android:src="..."而不是android:background="..."默认情况下设置的背景拉伸并适合视图.


Lal*_*mar 21

用这个:

ImageView.setAdjustViewBounds(true);
Run Code Online (Sandbox Code Playgroud)

  • 这与`android:scaleType ="fitXY"`结合起来是有效的.谢谢 (4认同)

小智 8

如果你使用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"/>
Run Code Online (Sandbox Code Playgroud)


Bib*_*yay 7

接受的答案是完美的,但是如果你想从xml中做到这一点,你可以使用 android:scaleType="fitXY"