如何让图片填满整个imageView
时间: 2023-07-26 16:18:18 浏览: 88
Android中ImageView.src设置图片拉伸、填满控件的方法
可以通过以下两种方式来实现:
1. 使用 `ImageView` 的 `setScaleType()` 方法设置缩放类型为 `FIT_XY`,即拉伸图片使其填满整个 `ImageView`:
```
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
```
2. 自定义 `ImageView`,重写 `onMeasure()` 方法,使其在测量时将宽高比例与 `ImageView` 的宽高比例保持一致:
```
public class FullScreenImageView extends ImageView {
public FullScreenImageView(Context context) {
super(context);
}
public FullScreenImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public FullScreenImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
Drawable d = getDrawable();
if (d != null) {
// 获取图片的宽度和高度
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = MeasureSpec.getSize(heightMeasureSpec);
// 获取图片的宽高比例
float ratio = (float) d.getIntrinsicWidth() / (float) d.getIntrinsicHeight();
// 根据宽高比例和ImageView的宽度计算ImageView的高度
if (width > 0) {
height = (int) (width / ratio);
}
// 重新设置ImageView的宽高
setMeasuredDimension(width, height);
} else {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
}
```
阅读全文