ImageView类及其子类以及ImageView.ScaleType

本文详细解析了Android中ImageView的使用及其属性src和background的区别,深入探讨了ImageView.ScaleType的各种类型,包括fitXY、centerCrop等,并解释了它们在保持纵横比、填充视图等方面的不同表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类图:

关于src和background

1.background是背景,会充满整个ImageView,相当于src的fitXY缩放类型。

2.src会覆盖background。

3.scaleType只作用于src,不影响background。

关于ImageView.ScaleType

将图片显示的效果分为以下四种:

A.保持纵横比(长宽比)

B.一定充满整个ImageView

C.可能会缩放

D.可能会截图

注:以上四种效果会有逻辑关系。

matrix:A、D。保持原图不变,当ImageView的长度或者宽度比图片小时,截取图片的左上部分,显示在ImageView的左上角。(~C --> A && ~B && D)

fitXY:B、C。当ImageView与图片的纵横比不相等时,就会改变图片的纵横比,以完全适应并充满整个ImageView。(B && ~D --> ~A && C)

fitStart:A、C。要么充满ImageView的左边,要么充满ImageView的上边。

fitCenter:A、C。要么横向充满ImageView,要么纵向充满ImageView。

fitEnd:A、C。要么充满ImageView的右边,要么充满ImageView的下边。

center:A、D。保持原图不变,当ImageView的长度或者宽度比图片小时,截取图片的中间部分,显示在ImageView的中间。(~C --> A && ~B && D)

centerCrop:A、B、C、D。图片充满整个ImageView并且保持纵横比不变,所以,只要ImageView与图片的大小不相等,就会缩放和截图,并且截取中间部分。

centerInside:A、C。图片完全显示在ImageView的中间,并且保持纵横比不变,所以一定会缩放。

以上八种类型中:

1.唯一一个会改变纵横比的是fitXY;

2.一定充满整个ImageView的是fitXY和centerCrop;

3.一定不会缩放的是matrix和center;

4.可能会截图的是matrix、center和centerCrop;

5.fitCenter与centerInside的区别是,centerInside只会缩,不会放。


注:ImageView默认的scaleType是fitCenter。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值