1.android:scaleType=“center”
保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size时,多出来的部分被截掉。
2.android:scaleType=“center_inside”
以原图正常显示为目的,如果原图大小大于ImageView的size,就按照比例缩小原图的宽高,居中显示在ImageView中。如果原图size小于ImageView的size,则不做处理居中显示图片。
3.android:scaleType=“center_crop”
以原图填满ImageView为目的,如果原图size大于ImageView的size,则与center_inside一样,按比例缩小,居中显示在ImageView上。如果原图size小于ImageView的size,则按比例拉升原图的宽和高,填充ImageView居中显示。
4.android:scaleType=“matrix”
不改变原图的大小,从ImageView的左上角开始绘制,超出部分做剪切处理。
5.androd:scaleType=“fit_xy”
把图片按照指定的大小在ImageView中显示,拉伸显示图片,不保持原比例,填满ImageView.
6.android:scaleType=“fit_start”
把原图按照比例放大缩小到ImageView的高度,显示在ImageView的start(前部/上部)。
7.android:sacleType=“fit_center”
把原图按照比例放大缩小到ImageView的高度,显示在ImageView的center(中部/居中显示)。
8.android:scaleType=“fit_end”
把原图按照比例放大缩小到ImageView的高度,显示在ImageVIew的end(后部/尾部/底部)
scaleType的详细解释带图解
https://blog.csdn.net/wolfking0608/article/details/79655082
glide图片加载框架非常好用,但是图片显示可能会出现各种显示问题
问题一;
明明图片加载成功,但是界面就是不显示
可能原因:ImageView 没有设置固定的宽高比例, Glide不会默认按照原图加载.
解决办法;
设置固定的宽高.
问题二:
ImageView 中设置了android:scaleType="centerInside" 在Vivo手机上加载图片,不会失真, 但是在华为和魅族手机上, 第一次加载正常,但是再次加载,图片变得很小,不是你想要显示的大小.给人感觉很不好.
可能原因:因为有时候,后台传给的图片不一定都是按照UI切图切的,有些很大有些很小,如果很小,显示的时候会有问题.
最好的解决办法,设置属性fitXY. 这样相当于图片作为了背景色,与传过来的图片大小没有关系了, 但是这个时候,加载出来的图片就会感觉失真,不好看, 这就产生了一个新的问题,如何解决,不让后台传的图片和界面显示的图片效果大小不一致,造成前台显示问题呢?
看看原始图片大小尺寸,是多少(减去白色背景部分的宽高:因为Android加载的时候,白色的部分是忽略过去了) xml或者代码中写死这个宽高, 属性设置fitXY.
加载出来的图片就不会一加载几次,就会变大或者变小的问题.
建议;Android 网络加载的图片,尽量都采用fitXY缩放.