Android中ImageView控件的ScaleType属性使用详解

在我们平时的开发过程中,可以说图片展示是每个App必备的,所以我们会用到ImageView图片控件,对于每个Android开发者来说,这已经非常熟悉了,那有童鞋就会问了:这还有什么好讲的呢?事实确实是这样吗?

那我问问你,你确定对ImageView控件的每个属性都了如指掌了吗?,记得之前面试的时候,很多面试官很喜欢问ScaleType属性的使用,这就考察你是否真的理解了。之前我也并没有在意这个属性的使用,以为只会在面试的时候才需要用到,事实是我错了,在最近的开发过程中,使用了大量的图片展示商品的图片,而且不同的模块,图片的展示还需要不一样,那么这个时候ScaleType属性就发挥作用了,可是这个时候突然发现自己的理解也有点模糊,所以还是有必要重新理解一下这个属性的用法的,下面我们来看看详解吧。

当我们设置ImageView的ScaleType属性时,开发工具中会弹出以下的选项让你选择:

 

首先我们设置ImageView控件填充整个屏幕:

<ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#00c6a6"/>

这个是还没有设置ScaleType属性的效果图:

 

再来看看我们需要加载的图片的原图,准备了两张不同尺寸的原图:
大图:


小图:

  

那我们来看看每个选项的效果:

1.android:scaleType=“center”
(1).当原图的size小于ImageView的size时,保持原图的大小,显示在ImageView的中心。

 

(2).当原图的size大于ImageView的size时,多出来的部分被截掉。

 

2.android:scaleType=“center_inside”
以原图正常显示为目的
(1).当原图的size小于ImageView的size时,不做处理居中显示图片.

 

(2).当原图的size大于ImageView的size时,就按照比例缩小原图的宽高,居中显示在ImageView中.

 

3.android:scaleType=“center_crop”
以原图填满ImageView为目的
(1).当原图的size小于ImageView的size时,则按比例拉升原图的宽和高,填充ImageView居中显示。

 

(2).如果原图size大于ImageView的size,则与center_inside一样,按比例缩小,居中显示在ImageView上。

 

4.android:scaleType=“matrix”
不改变原图的大小,从ImageView的左上角开始绘制,超出部分做剪切处理。
(1).当原图的size小于ImageView的size时

 

(2).当原图的size大于ImageView的size时

 

5.androd:scaleType=“fit_xy”
把图片按照指定的大小在ImageView中显示,拉伸显示图片,不保持原比例,填满ImageView.
(1).当原图的size小于ImageView的size时,清晰度看起来比较模糊。

 

(2).当原图的size大于ImageView的size时,清晰度看起来比较清晰。

 

6.android:scaleType=“fit_start”
把原图按照比例放大缩小到ImageView的高度,显示在ImageView的start(前部/上部)。
(1).当原图的size小于ImageView的size时,清晰度看起来比较模糊。

 

(2).当原图的size大于ImageView的size时,清晰度看起来比较清晰。


7.android:sacleType=“fit_center”
把原图按照比例放大缩小到ImageView的高度,显示在ImageView的center(中部/居中显示)。
(1).当原图的size小于ImageView的size时,清晰度看起来比较模糊。

  

(2).当原图的size大于ImageView的size时,清晰度看起来比较清晰。

 

8.android:scaleType=“fit_end”
把原图按照比例放大缩小到ImageView的高度,显示在ImageVIew的end(后部/尾部/底部)
(1).当原图的size小于ImageView的size时,清晰度看起来比较模糊。

 

(2).当原图的size大于ImageView的size时,清晰度看起来比较清晰。

 

到这里就全部解析完了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值