在开发中很常用,可是总是搞不明白,网上讲的也是乱七八糟
ImageView的scaleType详解
这篇文章讲的可以,可是,还是有些属性值解释的有问题。
center、centerCrop和centerInside解释的没问题,fixCenter、fixStart和fixEnd解释的就有问题,也可能是英文本身就有问题。不过,例子展示的没问题。
比如:
FIT_CENTER
Scale the image using CENTER.
CENTER: Compute a scale that will maintain the original src aspect ratio, but will also ensure that src fits entirely inside dst. At least one axis (X or Y) will fit exactly. The result is centered inside dst.
1.保持图片的宽高比
2.将图片放置到ImagetView的中心,然后进行向外按比例放大或者缩小,直到一个方向已经适应
在英文解释中,用了"at least" 至少,会让人误解,如果图片比ImageView大的时候,在等比例缩小的时候,只要有一个方向和ImageView一样大就可以了,另一个方向不用关心了。其实实际测试不是这样,得把图片缩到ImageView里面才行。 其实,如果图片大于ImageView,fitCenter的效果和centerInside是一样的。
有个结论:fit的属性值,最终结果图片都是在ImageView中可以看到的
Android中ImageView centerInside与fitCenter区别
这篇文章说明白了centerInside和fitCenter的区别
在实际开发中,如果我们想让图片能在View中完全展示出来,可以选择centerInside或者fitCenter,这两者在图片大于View的时候是一样的,如果图片小于View,那么centerInside,会让图片保持不动,fitCenter会放大图片直到一边和view一样大。