一、添加方法:
导入Glide4.4的依赖:
implementation 'com.github.bumptech.glide:glide:4.4.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.4.0'
需要获取网络权限:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
导入之后运行程序可能会报java.lang.NoSuchMethodError这样的错误:
这是因为你的appcompat-v7包版本和项目的版本不一致导致的,Glide4.4带的appcompat-v7包版本是27.0.2,将你的v7包版本变为27.0.2即可:
扫描二维码关注公众号,回复:
2888074 查看本文章
implementation 'com.android.support:appcompat-v7:27.0.2'
同时,记得把compileSdkVersion改成27即可(这一步不是必须)
二、使用方法:
1、基本使用方法:
Glide的经典3步走:with -> load -> into:
public void click(View v){
Glide.with(this).load(url).into(imageView);
}
}
这样,你的图片就可以显示在ImageView里面了。
2、加载图片过程中,放一张loading的图片:
(1)这里引出一个RequestOptions类,这个类替换了Glide在4.0之前的流式引用,我们需要做的额外操作基本上都放在这个类里面了:
放加载时的图片:
RequestOptions options = new RequestOptions().placeholder(R.mipmap.loading);
(2)Glide有很强大的缓存机制,加载过的图片会缓存起来,这样可能看不到loading图片,需要先把缓存设置为不缓存:
RequestOptions options = new RequestOptions().placeholder(R.mipmap.loading);
options.diskCacheStrategy(DiskCacheStrategy.NONE);
(3)然后Glide调用apply方法传入RequestOptions:
Glide.with(this).load(url).apply(options).into(imageView);
3、 加载图片出错,放一张error图片:
RequestOptions options = new RequestOptions().placeholder(R.mipmap.loading);
options.diskCacheStrategy(DiskCacheStrategy.NONE);
options.error(R.mipmap.error);
Glide.with(this).load(url).apply(options).into(imageView);
4、指定图片大小:
options.override(200,100);
会将图片大小显示为宽200像素,高100像素,而不会考虑ImageView的大小。
如果你不知道图片大小是多少,则可以加载它的原始大小,不过有OOM的风险:
options.override(Target.SIZE_ORIGINAL);
5、