在咱们平时的开发过程当中,能够说图片展现是每一个App必备的,因此咱们会用到ImageView图片控件,对于每一个Android开发者来讲,这已经很是熟悉了,那有童鞋就会问了:这还有什么好讲的呢?事实确实是这样吗?android
那我问问你,你肯定对ImageView控件的每一个属性都了如指掌了吗?,记得以前面试的时候,不少面试官很喜欢问ScaleType属性的使用,这就考察你是否真的理解了。以前我也并无在乎这个属性的使用,觉得只会在面试的时候才须要用到,事实是我错了,在最近的开发过程当中,使用了大量的图片展现商品的图片,并且不一样的模块,图片的展现还须要不同,那么这个时候ScaleType属性就发挥做用了,但是这个时候忽然发现本身的理解也有点模糊,因此仍是有必要从新理解一下这个属性的用法的,下面咱们来看看详解吧。面试
当咱们设置ImageView的ScaleType属性时,开发工具中会弹出如下的选项让你选择: bash
首先咱们设置ImageView控件填充整个屏幕:
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00c6a6"/>
复制代码
这个是尚未设置ScaleType属性的效果图: ide
再来看看咱们须要加载的图片的原图,准备了两张不一样尺寸的原图: 大图:
小图:
那咱们来看看每一个选项的效果:
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时,清晰度看起来比较清晰。
到这里就所有解析完了。
如下是我的公众号(longxuanzhigu),以后发布的文章会同步到该公众号,方便交流学习Android知识及分享我的爱好的文章,有问题能够留言哦: 开发工具