ImageView的八种ScaleType

ImageView 可以通过ScaleType属性调整图片在控件上的缩放显示方式

ScaleType一共有八种

属性描述
MATRIX绘制时使用图像矩阵进行缩放
FIT_XY不按照比例缩放图片,将图片塞满整个View
FIX_START按比例缩放图片,顶部显示
FIT_CENTER按比例缩放图片,居中显示
FIT_END按比例缩放图片,底部显示
CENTER不缩放,居中显示
CENTER_CROP按比例缩放图片,居中显示
CENTER_INSIDE按比例缩放,将图片完全显示在View内

MARIX

通过图像矩阵进行设置,操作十分灵活

java代码

Matrix matrix = new Matrix();
matrix.setScale(1.0f, 1.0f);
mImageView.setImageMatrix(matrix);

xml代码

android:scaleType="matrix"

FIT_XY

不按照比例缩放图片,将图片塞满整个View

使用Matrix.ScaleToFit#FILL进行缩放,在X和Y方向上独立缩放,以便src与dst精确匹配。这可能会改变src的纵横比。

java代码

mImageView.setScaleType(ImageView.ScaleType.FIT_XY);

xml代码

android:scaleType="fitXY"

FIT_START

按比例缩放图片,将图片完全显示,缩放某一边匹配View。在上边或左边显示

使用Matrix.ScaleToFit#START缩放,计算将保持原始src纵横比的比例,但也将确保src完全适合dst。至少有一个轴(X或Y)将精确匹配。开始将结果与dst的左边缘和上边缘对齐。

java代码

mImageView.setScaleType(ImageView.ScaleType.FIT_START);

xml代码

android:scaleType="fitStart"

FIT_CENTER

按比例缩放图片,将图片完全显示,缩放某一边匹配View。居中显示

使用Matrix.ScaleToFit#CENTER缩放图像,计算将保持原始src纵横比的比例,但也将确保src完全适合dst。至少有一个轴(X或Y)将精确匹配。结果集中在dst内。

java代码

mImageView.setScaleType(ImageView.ScaleType.FIT_CENTER);

xml代码

android:scaleType="fitCenter"

FIT_END

按比例缩放图片,见图片完全显示,缩放某一边匹配View。在下边或右侧显示

使用Matrix.ScaleToFit#END缩放图像。计算将保持原始src纵横比的比例,但也将确保src完全符合dst。至少有一个轴(X或Y)将精确匹配。END将结果与dst的右边缘和下边缘对齐。

java代码

mImageView.setScaleType(ImageView.ScaleType.FIT_END);

xml代码

android:scaleType="fitEnd"

CENTER

不缩放,居中显示

java代码

mImageView.setScaleType(ImageView.ScaleType.CENTER);

xml代码

android:scaleType="center"

CENTER_CROP

按比例缩放图片,缩放到短边匹配View视图。居中显示

均匀缩放图像(保持图像的纵横比),以便图像的两个维度(宽度和高度)都等于或大于视图的相应维度(减去填充)。然后,图像在视图中居中。

java代码

mImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

xml代码

android:scaleType="centerCrop"

CENTER_INSIDE

按比例缩小,不会拉伸,将图片的长边完全显示在View内。居中显示

均匀缩放图像(保持图像的纵横比),以便图像的两个维度(宽度和高度)都等于或小于视图的相应维度(减去填充)。然后,图像在视图中居中。

java代码

mImageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);

xml代码

android:scaleType="centerInside"

整体效果图
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值