android imageview显示不全或者gilde加载不全

Imageview显示图片无非一是加载本地图片,而是加载网络图片
一,加载本地图片
1.是否设置图片或者父布局大小导致无法完全显示
2.是否设置圆角
3.是否设置padding或者margin
*

4.使用android:scaleType时,要设置src,设置background不起做用.一般情况下如果是网络加载图片,默认的是src,所以在设置android:scaleType时,如果要全屏显示,请对应自己需要的类型
CENTER /center按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)**
FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示
FIT_END / fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
FIT_START / fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
FIT_XY / fitXY 把图片不按比例扩大/缩小到View的大小显示 MATRIX / matrix 用矩阵来绘制,动态缩小放大图片来显示。


如果是网络请求图片,不设置android:scaleType也可以。只需要在glide中设置即可。
二,加载网络图片
这个需求我做的比较蛋疼,我现在使用的是Gilde加载图片。当我按照Imageview设置android:scaleType后,要么图片被裁减后显示全部,要么显示全部但是不填充全部局。之后我在想如果不是布局问题会不会是gilde的使用问题。

 Glide.with(getActivity())
                    .load(GlobalParam.IP + data.getImage())
                    .centerCrop()//会裁减图片填充布局
                    .crossFade()
                    .diskCacheStrategy(DiskCacheStrategy.ALL)
                    .placeholder(R.mipmap.upload_image_side)
                    .error(R.mipmap.upload_image_side)
                    .into(imageView);

之后我有发现了 .fitCenter()这个方法,与本地设置图片大小效果是一样的。完美解决图片显示不全问题,
特此记录一下。。。。。。

你可能感兴趣的:(android)