ImageView.ScaleType属性分析

ImageView的Scaletype决定了图片在View上显示时的样子,包括是否进行缩放、等比缩放、缩放后展示位置及显示图片的整体还是部分等。Android 提供了八种scaleType的属性值。
分为三个类型:
(1) 以FIT_开头的4种,它们的共同点是都会对图片进行缩放;
(2) 以CENTER_开头的3种,它们的共同点是居中显示,图片的中心点会与ImageView的中心点重叠;
(3) ScaleType.MATRIX

  1. android:scaleType=“center”

(1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按照图片的原大小居中显示,不缩放,用ImageView的大小截取图片的居中部分。

(2)当图片小于ImageView的宽高:直接居中显示该图片。

2 android:scaleType=“centerCrop”

(1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按比例缩小图片,直到图片的宽高有一边等于ImageView的宽高,则对于另一边,图片的长度大于或等于ImageView的长度,最后用ImageView的大小居中截取该图片。

(2)当图片小于ImageView的宽高:以图片的中心店和ImageView的中心点为基准,按比例扩大图片,直到图片的宽高大于或等于ImageView的宽高,并按ImageView的大小居中截取该图片。

3 android:scaleType=“centerInside”

(1)当图片大于ImageView的宽高:以图片的中心和ImageView的中心点为基准,按比例缩小图片,使图片宽高等于或者小于ImagevView的宽高,直到将图片的内容完整居中显示。
(2)当图片小于ImageView的宽高:直接居中显示该图片。

4 android:scaleType=“fitCenter”

表示把图片按比例扩大(缩小)到ImageView的宽度,居中显示。
5 android:scaleType=“fitStart”

表示把图片按比例扩大(缩小)到ImageView的宽度,在ImageView的上方显示。

6 android:scaleType=“fitEnd”

表示把图片按比例扩大(缩小)到ImageView的宽度,在ImageView的下方显示。

7 android:scaleType=“fitXY”

表示把图片按指定的大小在ImageView中显示,拉伸或收缩图片,不保持原比例,填满ImageView。
8.android:scaleType=“matrix”
表示不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理。 用矩阵来绘制,动态缩小放大图片来显示。

scaletype的种类分为三类matrix(默认)、fit-X类、和center类。fit-X类中,fitStart、fitCenter和fitEnd之间的都是根据需要使原图改变对ImgView进行适应,按matrix进行绘制,但它们的区别在于基准不同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橘子先生z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值