wrap_content
当ImageView的宽高属性设置为wrap_content时,glide由于不知道ImageView的实际宽高,所以加载的图片不会做压缩处理,完全按照图片实际大小加载,并且IamgeView的宽高为实际图片的宽高像素值,此时,ImageView控件显示很可能异常。
解决方案:
1、如果知道ImageView的宽高,直接把wrap_content改成实际大小,如60dp
2、加载图片时调用一下override(int width,int height)
3、先使用 Glide 把图片的原图请求加载过来,然后再按原图来显示图片。
Glide.with(mcontext)
.load(url)
.asBitmap()
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
imageview.setImageBitmap(resource);
}
});
弊端:这种方式由于Glide加载图片时是以全分辨率加载的,当加载图片过大且图片很多时,可能造成 OOM。同时使用在列表上复用时会造成条目错乱错位。
相关阅读
Android布局基础知识:wrap_content,match_parent,layou
wrap_content:是layout_width和layout_height的属性值之一,表示和自身内容一样的长度。match_parent:是layout_width和layout_heig