1.添加依赖:
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
annotationProcessor 'androidx.annotation:annotation:1.0.0'
implementation 'jp.wasabeef:glide-transformations:3.0.1'
2.完整请求需要三个参数
urls,imagView,context
Glide.with(this)
.load(urls)
.into(imageView);
3.加载慢或无法加载情况
String url = "http://img1.dzwww.com:8080/tupian_pl/20150813/16/7858995348613407436.jpg";
ImageView imageView = (ImageView) findViewById(R.id.imageView);
Glide.with(context)
.load(url)
.placeholder(R.drawable.place_image)//图片加载出来前,显示的图片
.error(R.drawable.error_image)//图片加载失败后,显示的图片
.into(imageView);
4.加载缩略图方法1:thumbnail()方法,参数是float类型。传入0.2f,会将图片显示为原始图片的20%.
方法2:
DrawableRequestBuilder<String> thumbnailRequest = Glide.with( context ).load( url );
// pass the request as a a parameter to the thumbnail request
Glide.with( context )
.load( url )
.thumbnail( thumbnailRequest )
.into( imageView );
5.可以利用动画效果让图片加载更加平滑
crossFade() 强制开启Glide默认的图片淡出淡入效果,crossFade(int duration) 可以控制动画的时间;dontAnimation() 可以关闭动画效果
真正使用中首先要导入包
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
//然后使用,3000代表可以控制出现的时间
.transition(withCrossFade(3000))
6.skipMemoryCatche(true) 跳过内存缓存,这样便不会把图片放到缓存中去,默认是放到缓存里的。diskCatcheStrategy(DiskCacheStrategy.NONE) 关闭磁盘缓存
7.priority(Priority.HIGH) 设置高优先级
8.Glide可以实现动图gif的展示
Glide.with( context )
.load( gifUrl )
.asGif()
.error( R.drawable.error )
.into( imageView );