ImageView的ScaleType属性详解

ImageView的ScaleType属性是用来设置图片在View上如何显示,按照何种比例缩放,显示部分还是显示整体等等。 可以在XML文件中设置,也可以在代码中设置 在XML文件中设置:
<ImageView
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:scaleType="center"
/>
在代码中设置:
mImageView.setScaleType(ImageView.ScleType.CENTER)
ScaleType的属性值有以下几种: center, centerCrop, centerInside, fitXY, fitStart, fitEnd, fitCenter, matrix 下面对这几种属性值进行详解:

测试的原始图片:
test1.jpg(100*100)

test2.jpg(950*633)

(1)center
按图片的原来size居中显示,当图片宽高超过ImageView的宽高,则截 取图片的居中部分显示

两张图片的显示效果:

(2)centerCrop
当图片的宽高小于ImageView的宽高时,则按比例扩大图片的宽高到ImageView的宽高。当图片的宽高大于ImageView的宽高,则截取图片的居中部分显示(只放大不缩小)。
两张图片的显示效果如下:

(3)centerInside
显示完整图片,当图片的宽高大于ImageView的宽高时,则按比例缩小图片的宽高,并居中显示图片。当图片的宽高小于ImageView的宽高,则居中显示显示(只缩小不放大)。

(4)fixXY
不按比例缩放图片,目标是把图片塞满整个ImageView

(5)fitStart
把图片按比例扩大或者缩小到ImageView的宽度(注意是宽度,不管高度),显示在ImageView的上方位置。

(6)fitEnd
把图片按比例扩大或者缩小到ImageView的宽度(注意是宽度,不管高度),显示在ImageView的下方位置。

(6)fitCenter
把图片按比例扩大或者缩小到ImageView的宽度(注意是宽度,不管高度),显示在ImageView的中间位置。

(8)matrix
不对图片做任何缩放,显示在ImageView上,当图片大于ImageView时,
则截取图片左上方部分显示在ImageView上。


以上就是几种ScaleType属性值的详解,并且要注意的是ImageView默认的ScaleType属性值是fitCenter

版权声明:本文为mq2856992713原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。