ImageView的scaleType的属性和Glide加载框架图片显示问题结合解决

 ImageView的scaleType的属性

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的详细解释带图解

 

Glide图片加载框架可能遇到的显示问题

https://blog.csdn.net/wolfking0608/article/details/79655082

glide图片加载框架非常好用,但是图片显示可能会出现各种显示问题

问题一;

    明明图片加载成功,但是界面就是不显示

   可能原因:ImageView 没有设置固定的宽高比例, Glide不会默认按照原图加载.

解决办法;

   设置固定的宽高.

 问题二:

       ImageView 中设置了android:scaleType="centerInside" 在Vivo手机上加载图片,不会失真, 但是在华为和魅族手机上, 第一次加载正常,但是再次加载,图片变得很小,不是你想要显示的大小.给人感觉很不好.

   可能原因:因为有时候,后台传给的图片不一定都是按照UI切图切的,有些很大有些很小,如果很小,显示的时候会有问题.

最好的解决办法,设置属性fitXY. 这样相当于图片作为了背景色,与传过来的图片大小没有关系了, 但是这个时候,加载出来的图片就会感觉失真,不好看, 这就产生了一个新的问题,如何解决,不让后台传的图片和界面显示的图片效果大小不一致,造成前台显示问题呢?  

  看看原始图片大小尺寸,是多少(减去白色背景部分的宽高:因为Android加载的时候,白色的部分是忽略过去了) xml或者代码中写死这个宽高, 属性设置fitXY.

  加载出来的图片就不会一加载几次,就会变大或者变小的问题.

  建议;Android 网络加载的图片,尽量都采用fitXY缩放.

 

你可能感兴趣的:(Android,studio,solve)