android:scaleType centerCrop和centerInside的小小区别

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

ImageVIew中 android:scaleType 属性设置了解:


android:scaleType 设置所显示的图片如何缩放或移动,以适应ImageView的大小。可选项:fitCenter、fitStart 、 fitEnd、fitXY 、 enter、nterCrop

、centerInside、matrix:

一般最常用的是前面的两个,第一个更常用:

1、centerCrop :以原图的几何中心点和ImagView的几何中心点为基准,按比例扩大(图片小于View的宽时)图片的size。意思是当图片小于       

ImageView的大小时,居中显示,不缩放,如果大于 ImageView时则按比例扩大然后截取中间的图片显示

2、centerInside :将图片的内容完整居中显示, 通过按比例缩小原来的size使得图片长(宽)等于或小于ImageView的长(宽)。注意:是完整显示

,意思是图片小于ImageView的大小时,直接显示在中间不做任何操作,图片多大就显示多大;如果图片大于 ImageView时,将会把图片缩小

到ImageView的大小,也不会对图片做任截取的操作

3、Center : 以原图的几何中心点和ImagView的几何中心点为基准,按图片的原来size居中显示,不缩放, 当图片长/宽超过View的长/宽,则    

  截取图片的居中部分显示ImageView的size. 当图片小于View 的长宽时,只显示图片的size,不剪裁。 CENTER 不做任何拉伸,以居中的方式     

 显示图片。如果是一个100*100的ImageView,它的src是10*10的小图,则图显示在的中央,如果src是200*200的大图,截取中间的100*100      

用来显示。

4、matrix :保持原图大小、从左上角的点开始,以矩阵形式绘图。 MATRIX 用图片的矩阵从左边开始来画,不做任何拉伸。如果一个100*100  

    的ImageView,它的src是10*10的小图,则图显示在左上角,如果scr是200*200的大图,则截取它左上的100*100做显示

5、fitXY :把图片按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满View. FIT_XY 不保持图片横宽比,把图片的宽和高分别  

   拉伸或缩放至ImageView的大小。如果是一个100*100的ImageView,它的src是20*10,则直接把它拉伸为100*100后显示,如果src是         

200*100,则把它缩放为100*100后显示,此种方法容易导致图片变形。

6、fitStart :把图片按比例扩大(缩小)到View的宽度,显示在View的上部分位置 。FIT_START 与 FIT_CENTER 缩放拉伸原则一样,区别是处    

  理过的图片居左显示。

7、fitCenter :把图片按比例扩大(缩小)到View的宽度,居中显示 。FIT_CENTER 保持横宽比,对图片进行拉伸或缩放,原则是:
     1)图片能完整显示;
     2)图片宽或高至少有一样与ImageView的相同;
     3)处理过的图片居中显示。
     如果是一个100*100的ImageView,它的src是20*10,先把图片等比放大到100*50,然后再居中显示。它的src是100*200,会先把图片等比    

 缩放到50*100,然后再居中显示。

8、fitEnd :把图片按比例扩大(缩小)到View的宽度,显示在View的下部分位置 。FIT_END 与 FIT_CENTER缩放拉伸原则一样,区别是处理过   

   的图片居右显示。


转载于:https://my.oschina.net/u/2541146/blog/603536

你可能感兴趣的:(android:scaleType centerCrop和centerInside的小小区别)